dbo:abstract
|
- In compiler optimization, escape analysis is a method for determining the dynamic scope of pointers – where in the program a pointer can be accessed. It is related to pointer analysis and shape analysis. When a variable (or an object) is allocated in a subroutine, a pointer to the variable can escape to other threads of execution, or to calling subroutines. If an implementation uses tail call optimization (usually required for functional languages), objects may also be seen as escaping to called subroutines. If a language supports first-class continuations (as do Scheme and Standard ML of New Jersey), portions of the call stack may also escape. If a subroutine allocates an object and returns a pointer to it, the object can be accessed from undetermined places in the program – the pointer has "escaped". Pointers can also escape if they are stored in global variables or other data structures that, in turn, escape the current procedure. Escape analysis determines all the places where a pointer can be stored and whether the lifetime of the pointer can be proven to be restricted only to the current procedure and/or thread. (en)
- エスケープ解析(英: Escape analysis)とは、コンパイラ最適化理論において、ポインタの動的なスコープを特定するための方法である。エスケープ解析は、ポインタ解析やシェープ解析と関連している。 サブルーチンにおいて変数やオブジェクトが割り当てられるとき、変数へのポインタが、別の実行スレッドや呼び出し元のルーチンに「エスケープ」してしまうことがある。サブルーチンがオブジェクトを割り当て、これに対するポインタを返却すると、オブジェクトはプログラム内の不定の場所からアクセスすることができる。ポインタがグローバル変数やその他のデータ構造に格納された場合にも、現在の処理からエスケープしたと考えることができる。 エスケープ解析は、ポインタが格納されうるすべての場所を特定し、ポインタの生存区間を現在の関数やスレッド内のみに限定してよいかどうかを判断する。 (ja)
- 在编译程序优化理论中,逃逸分析是一种确定指针动态范围的方法——分析在程序的哪些地方可以访问到指针。它涉及到指针分析和形状分析。 当一个变量(或对象)在子程序中被分配时,一个指向变量的指针可能逃逸到其它执行线程中,或是返回到调用者子程序。如果使用(通常在函数编程语言中是需要的),对象也可以看作逃逸到被调用的子程序中。如果一种语言支持第一类型的计算续体在Scheme和新泽西Standard ML中同样如此),部分调用栈也可能发生逃逸。 如果一个子程序分配一个对象并返回一个该对象的指针,该对象可能在程序中被访问到的地方无法确定——这样指针就成功“逃逸”了。如果指针存储在全局变量或者其它数据结构中,因为全局变量是可以在当前子程序之外访问的,此时指针也发生了逃逸。 逃逸分析确定某个指针可以存储的所有地方,以及确定能否保证指针的生命周期只在当前进程或线程中。 (zh)
|
dbo:wikiPageID
| |
dbo:wikiPageLength
|
- 7967 (xsd:nonNegativeInteger)
|
dbo:wikiPageRevisionID
| |
dbo:wikiPageWikiLink
| |
dbp:date
| |
dbp:wikiPageUsesTemplate
| |
dcterms:subject
| |
rdfs:comment
|
- エスケープ解析(英: Escape analysis)とは、コンパイラ最適化理論において、ポインタの動的なスコープを特定するための方法である。エスケープ解析は、ポインタ解析やシェープ解析と関連している。 サブルーチンにおいて変数やオブジェクトが割り当てられるとき、変数へのポインタが、別の実行スレッドや呼び出し元のルーチンに「エスケープ」してしまうことがある。サブルーチンがオブジェクトを割り当て、これに対するポインタを返却すると、オブジェクトはプログラム内の不定の場所からアクセスすることができる。ポインタがグローバル変数やその他のデータ構造に格納された場合にも、現在の処理からエスケープしたと考えることができる。 エスケープ解析は、ポインタが格納されうるすべての場所を特定し、ポインタの生存区間を現在の関数やスレッド内のみに限定してよいかどうかを判断する。 (ja)
- 在编译程序优化理论中,逃逸分析是一种确定指针动态范围的方法——分析在程序的哪些地方可以访问到指针。它涉及到指针分析和形状分析。 当一个变量(或对象)在子程序中被分配时,一个指向变量的指针可能逃逸到其它执行线程中,或是返回到调用者子程序。如果使用(通常在函数编程语言中是需要的),对象也可以看作逃逸到被调用的子程序中。如果一种语言支持第一类型的计算续体在Scheme和新泽西Standard ML中同样如此),部分调用栈也可能发生逃逸。 如果一个子程序分配一个对象并返回一个该对象的指针,该对象可能在程序中被访问到的地方无法确定——这样指针就成功“逃逸”了。如果指针存储在全局变量或者其它数据结构中,因为全局变量是可以在当前子程序之外访问的,此时指针也发生了逃逸。 逃逸分析确定某个指针可以存储的所有地方,以及确定能否保证指针的生命周期只在当前进程或线程中。 (zh)
- In compiler optimization, escape analysis is a method for determining the dynamic scope of pointers – where in the program a pointer can be accessed. It is related to pointer analysis and shape analysis. If a subroutine allocates an object and returns a pointer to it, the object can be accessed from undetermined places in the program – the pointer has "escaped". Pointers can also escape if they are stored in global variables or other data structures that, in turn, escape the current procedure. (en)
|
rdfs:label
|
- Escape analysis (en)
- エスケープ解析 (ja)
- 逃逸分析 (zh)
|
owl:sameAs
| |
prov:wasDerivedFrom
| |
foaf:isPrimaryTopicOf
| |
is dbo:wikiPageWikiLink
of | |
is foaf:primaryTopic
of | |