summaryrefslogtreecommitdiff
path: root/chapter18/README.ja.md
diff options
context:
space:
mode:
Diffstat (limited to 'chapter18/README.ja.md')
-rw-r--r--chapter18/README.ja.md4
1 files changed, 2 insertions, 2 deletions
diff --git a/chapter18/README.ja.md b/chapter18/README.ja.md
index 6c0396b4..e8025c92 100644
--- a/chapter18/README.ja.md
+++ b/chapter18/README.ja.md
@@ -86,7 +86,7 @@ val fact = { int n ->
return fact(arg);
```
-パーサーは、本体をパースする前に関数の入口を登録します。`fact` への前方参照は、宣言がその関数値を受け取ると解決されます。それによって再帰呼び出しも、外からの呼び出しと同じ入口を見つけられます。この章では戻り値の型推論はまだ悲観的です。相互再帰する定義には、[第24章](../chapter24/README.ja.md)の SCCP で導入する、より強力な解析が必要なことがあります。
+パーサーは、本体をパースする前に関数の入口を登録します。`fact` への前方参照は、宣言がその関数値を受け取ると解決されます。それによって再帰呼び出しも、外からの呼び出しと同じ入口を見つけられます。この章では戻り値の型推論はまだ悲観的です。相互再帰する定義には、[第24章](../chapter24b/README.ja.md)の SCCP で導入する、より強力な解析が必要なことがあります。
## グラフ内の関数
@@ -214,7 +214,7 @@ Add は残りますが、今度は `arg` を直接消費します。引数が `3
```java
CodeGen code = new CodeGen("val sq = { int x -> x*x; }; return sq(arg);");
-code.parse().opto().typeCheck().GCM().localSched();
+code.driver(CodeGen.Phase.LocalSched);
```
大域的コード移動は、[第13章](../chapter13/README.ja.md)の処理を複数の関数に拡張します。関数本体を別々に保ち、共有される定数式には、それを使う各関数内に局所的なコピーを与え、呼び出しをまたぐメモリへの作用を尊重します。