summaryrefslogtreecommitdiff
path: root/chapter-escape/README.ja.md
blob: 43bb4411aa5c7f255819ad5df545a40eac14ca1e (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
# エスケープ解析と未知の呼び出し元

[English](README.md) | 日本語

[前章: オブジェクトの構築と非公開メモリ](../chapter-construction/README.ja.md)

この章では、オブジェクトや関数のアドレスが、解析できない外部コードに届くかを追跡します。
関数のアドレスを既知の関数に渡すだけでは、未知の呼び出し元を残す必要はありません。
戻り値、メモリ内の参照、ネイティブ呼び出しを通じて公開される場合は、保守的な呼び出し元を残します。

メモリの型に関数とフィールド別名の集合を加え、Stop から Start への情報の循環を
SCCP のワークリストで解きます。再帰するコールバックの例では、呼び出しを残したまま
引数の定数を推論できます。構築中のフィールドは、前章と同じローカルな SSA 値です。

詳しい説明と実行例は [英語版](README.md) を参照してください。
このディレクトリで `make lib tests CTAGS=` を実行できます。