diff options
| author | Cliff Click <cliffc@acm.org> | 2026-10-24 09:38:56 -0700 |
|---|---|---|
| committer | Cliff Click <cliffc@acm.org> | 2026-10-24 09:38:56 -0700 |
| commit | ac525dc59de1ae195c40f8e21b09485d0e5d9330 (patch) | |
| tree | d1af8c53dbcdf64526d0d5b5d49c8fdc53489af1 /chapter25/README.md | |
| parent | 2a7ed6bda01f028cf13f803d89b10908d7ea7937 (diff) | |
| download | Simple-ac525dc59de1ae195c40f8e21b09485d0e5d9330.tar.gz Simple-ac525dc59de1ae195c40f8e21b09485d0e5d9330.zip | |
module split
Diffstat (limited to 'chapter25/README.md')
| -rw-r--r-- | chapter25/README.md | 13 |
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. |
