summaryrefslogtreecommitdiff
path: root/chapter25/README.md
diff options
context:
space:
mode:
authorCliff Click <cliffc@acm.org>2026-10-24 09:38:56 -0700
committerCliff Click <cliffc@acm.org>2026-10-24 09:38:56 -0700
commitac525dc59de1ae195c40f8e21b09485d0e5d9330 (patch)
treed1af8c53dbcdf64526d0d5b5d49c8fdc53489af1 /chapter25/README.md
parent2a7ed6bda01f028cf13f803d89b10908d7ea7937 (diff)
downloadSimple-ac525dc59de1ae195c40f8e21b09485d0e5d9330.tar.gz
Simple-ac525dc59de1ae195c40f8e21b09485d0e5d9330.zip
module split
Diffstat (limited to 'chapter25/README.md')
-rw-r--r--chapter25/README.md13
1 files changed, 8 insertions, 5 deletions
diff --git a/chapter25/README.md b/chapter25/README.md
index bbe0c50e..d6ab5666 100644
--- a/chapter25/README.md
+++ b/chapter25/README.md
@@ -27,10 +27,13 @@ Each unit has Start/Stop nodes. A function's ownership by a compilation unit is
distinct from an edge representing unknown external callers: retaining code
for emission must not imply that arbitrary callers can reach it.
-The driver accepts `--root` for the project root, `-o` for output, and `-L` for
-external Simple object search paths, including an object file or a directory.
+The driver infers the project root from the input path and accepts `-o` for
+output and `-L` for external Simple object search paths, including an object
+file or a directory. Its help advertises `--root`, but this numbered snapshot
+does not yet parse that option; the named modules snapshot does.
The compiler also resolves external C symbols for native linking. Names beginning
-with `_` control privacy; public reachability depends on enclosing names too.
+with `_` control the public interface; enclosing names also affect which
+entries are exposed to unknown callers.
Explicit numeric C declarations bind directly to mutable native storage:
@@ -255,10 +258,10 @@ metric; see the [measurement details](../docs/regalloc-spills.md) for coverage.
<!-- spill-matrix:end -->
-Chapter25 introduces several features, which when run on the older tests
+Chapter 25 introduces several features, which when run on the older tests
generate a lot more code, which in turn generates more spills.
Class initialization, inlining, escape analysis, and library adaptations
all change the graphs. To help with this, we adjust the inlining
-heursitics to try and get all the boilerplate to inline and optimize.
+heuristics to try to inline and optimize the boilerplate.