diff options
| author | Cliff Click <cliffc@acm.org> | 2026-10-19 14:56:14 -0700 |
|---|---|---|
| committer | Cliff Click <cliffc@acm.org> | 2026-10-19 14:56:14 -0700 |
| commit | 7edca9823ec8ef0aed10c88fa07ef969792aab77 (patch) | |
| tree | d95e308cac7a9c5039a59be636d881982a9b4878 /chapter25/ROADMAP.md | |
| parent | 3617495d8efbcce23bbc9f1754c7d27d34d30a52 (diff) | |
| download | Simple-7edca9823ec8ef0aed10c88fa07ef969792aab77.tar.gz Simple-7edca9823ec8ef0aed10c88fa07ef969792aab77.zip | |
Split from ch25, SCCP and interprocedural SCCPmain
Diffstat (limited to 'chapter25/ROADMAP.md')
| -rw-r--r-- | chapter25/ROADMAP.md | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/chapter25/ROADMAP.md b/chapter25/ROADMAP.md index 966bf8e9..b5647587 100644 --- a/chapter25/ROADMAP.md +++ b/chapter25/ROADMAP.md @@ -487,6 +487,26 @@ Mutable fields may have static initial contents without becoming constants. Choose read-only storage only when no runtime writes remain. Static reference cycles can use relocations without requiring a dynamic initialization cycle. +For a wholly immutable, pre-initialized class, eliminate the mutable `$init` +state as well as the checks so the class image can reside in ROM. The native +function thunks preserve static initialization of function fields. + +### Compact code and data arenas + +Keep four-byte Simple references into bounded code and data arenas; the arenas +need not overlap or live near zero. Choose absolute addresses versus offsets +from an arena base when implementing placement and indirect calls. Native +function thunks can occupy the code arena while native libraries live elsewhere. +The current thunk implementation uses the existing low-address executable; +ordinary data pointers still occupy eight bytes. + +Give full-width native pointers separate types and foreign lifetime contracts. +Opaque device addresses may need to be passed through without CPU dereference. +Simple object lifetimes should be managed automatically without a GC; +ownership, borrowing, cycles, and native retention still need design. Compact +storage alone does not establish those rules. Preserve static class images and +explicit native boundary conversions when choosing the arena representation. + ### CFG frequency estimates After lowering and loop-tree construction, estimate block frequencies for GCM |
