summaryrefslogtreecommitdiff
path: root/chapter10/README.md
diff options
context:
space:
mode:
Diffstat (limited to 'chapter10/README.md')
-rw-r--r--chapter10/README.md8
1 files changed, 8 insertions, 0 deletions
diff --git a/chapter10/README.md b/chapter10/README.md
index e55d1057..db72c4cb 100644
--- a/chapter10/README.md
+++ b/chapter10/README.md
@@ -385,6 +385,14 @@ The single memory chain is correct but conservative. A store to `y` can
prevent forwarding an earlier store to `x`, even when the objects are
identical. This is a missed optimization and it motivates the next chapter.
+## Checking the optimized graph
+
+Memory accesses can expose type errors only after their pointer types settle.
+The post-parse pipeline therefore adds `TypeCheck` after iterative peepholes.
+It walks the surviving graph and reports node errors; dead control has already
+been removed. Here `StopNode.iterate()` runs both steps. Chapter 18 introduces
+the `CodeGen` driver and explicit phase entry points.
+
## Executing the graph
The evaluator includes a small late scheduler. A load must execute before a