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

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

[Previous: Chapter 26](../chapter26/README.ja.md) |
[Next: Chapter 28a](../chapter28a/README.ja.md)

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

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

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