diff options
Diffstat (limited to 'chapter24b')
| -rw-r--r-- | chapter24b/README.ja.md | 8 | ||||
| -rw-r--r-- | chapter24b/README.md | 16 | ||||
| -rw-r--r-- | chapter24b/pom.xml | 2 |
3 files changed, 13 insertions, 13 deletions
diff --git a/chapter24b/README.ja.md b/chapter24b/README.ja.md index e9e57c6d..108732e7 100644 --- a/chapter24b/README.ja.md +++ b/chapter24b/README.ja.md @@ -1,9 +1,9 @@ -# 関数間の SCCP +# 第24b章: 関数間の SCCP [English](README.md) | 日本語 -[前: 関数内の SCCP](../chapter-sccp/README.ja.md) | -[次: 型が確定する前の SSA 構築](../chapter-incomplete-types/README.ja.md) | +[Previous: Chapter 24a](../chapter24a/README.ja.md) | +[Next: Chapter 25](../chapter25/README.ja.md) [章の分割案](../docs/chapter-split.md) 前の章では関数ごとに保守的な呼び出し境界で解析しました。この章では @@ -31,4 +31,4 @@ このディレクトリで最初に `make lib`、続いて `make tests` を実行してください。 リポジトリのルートでは -`make tests CHAPTERS=chapter-interprocedural-sccp` を使えます。 +`make tests CHAPTERS=chapter24b` を使えます。 diff --git a/chapter24b/README.md b/chapter24b/README.md index d17f937c..41692f3d 100644 --- a/chapter24b/README.md +++ b/chapter24b/README.md @@ -1,9 +1,9 @@ -# SCCP Across Functions +# Chapter 24b: SCCP Across Functions English | [日本語](README.ja.md) -[Previous: SCCP Within a Function](../chapter-sccp/README.md) | -[Next: SSA Before Types Are Known](../chapter-incomplete-types/README.md) +[Previous: Chapter 24a](../chapter24a/README.md) | +[Next: Chapter 25](../chapter25/README.md) The previous chapter runs SCCP within each function, and assumes very conservative typing across calls. This chapter lets the same worklist @@ -43,7 +43,7 @@ e.g. not-null) on all calling paths. ## Recursion is a loop in disguise We use *widening* of integer ranges at loop heads, as described in the -[previous chapter](../chapter-sccp/README.md#convergence-and-calls). +[previous chapter](../chapter24a/README.md#convergence-and-calls). This allows us to have a sharper notion of integers over `BOTTOM` without also allowing the range to grow one integer at a time. The same issue arises during recursive calls: an argument can flow from a Parm through arithmetic into a @@ -79,9 +79,9 @@ analysis is introduced later to improve this. Run `make lib` once for Java test dependencies, then `make tests` in this directory. From the repository root, use -`make tests CHAPTERS=chapter-interprocedural-sccp`. +`make tests CHAPTERS=chapter24b`. The inherited tests retain their historical class names. -The [grammar](docs/24-grammar.md) includes chained comparisons inherited from -the extraction baseline. Their planned teaching home is with short-circuit -expressions. Allocator tuning is covered separately by the planned appendix. +The [grammar](docs/24-grammar.md) includes chained comparisons introduced in +Chapter 23 beside short-circuit expressions. Allocator tuning is covered in +the [appendix](../docs/appendices/optimizer-tuning.md). diff --git a/chapter24b/pom.xml b/chapter24b/pom.xml index a1d179df..7688ce5b 100644 --- a/chapter24b/pom.xml +++ b/chapter24b/pom.xml @@ -8,7 +8,7 @@ <artifactId>simple</artifactId> <version>1.0</version> </parent> - <artifactId>chapter-interprocedural-sccp</artifactId> + <artifactId>chapter24b</artifactId> <packaging>jar</packaging> <name>SCCP Across Functions</name> <properties> |
