|
===================================== 〔語彙分解〕的な部分一致の検索結果は以下の通りです。 ・ ー : [ちょうおん] (n) long vowel mark (usually only used in katakana) ・ 解析 : [かいせき] 1. (n,vs) (1) analysis 2. (2) parsing
エスケープ解析(英: Escape analysis)とは、コンパイラ最適化理論において、ポインタの動的なスコープを特定するための方法である。エスケープ解析は、ポインタ解析やシェープ解析と関連している。 サブルーチンにおいて変数やオブジェクトが割り当てられるとき、変数へのポインタが、別の実行スレッドや呼び出し元のルーチンに「エスケープ」してしまうことがある。サブルーチンがオブジェクトを割り当て、これに対するポインタを返却すると、オブジェクトはプログラム内の不定の場所からアクセスすることができる。ポインタがグローバル変数やその他のデータ構造に格納された場合にも、現在の処理からエスケープしたと考えることができる。 エスケープ解析は、ポインタが格納されうるすべての場所を特定し、ポインタの生存区間を現在の関数やスレッド内のみに限定してよいかどうかを判断する。 ==最適化== コンパイラはエスケープ解析の結果を、最適化のための土台として用いる。 * ヒープの割り当てのスタックの割り当て''への置き換え: オブジェクトがサブルーチン内で割り当てられ、オブジェクトへのポインタがエスケープしなければ、そのオブジェクトはヒープの代わりにスタックに割り当てる候補になる。 * ''同期処理の省略'': オブジェクトが1スレッド内でのみアクセスされることがわかれば、オブジェクトに対する処理は同期処理を実施せずに行うことができる。 * ''オブジェクトの分割''あるいは''スカラー変数への置換'': オブジェクトへのアクセス方法により、オブジェクトがメモリ構造上連続して存在する必要がないことが判明した場合、オブジェクトの一部をメモリではなく CPU のレジスタに格納できる場合がある。 抄文引用元・出典: フリー百科事典『 ウィキペディア(Wikipedia)』 ■ウィキペディアで「エスケープ解析」の詳細全文を読む スポンサード リンク
|