summaryrefslogtreecommitdiff
path: root/docs/chapter-backports.md
diff options
context:
space:
mode:
authorCliff Click <cliffc@acm.org>2026-09-29 12:34:58 -0700
committerCliff Click <cliffc@acm.org>2026-09-29 12:34:58 -0700
commit6347fa6dc2ee8d3060f2f0db21f03f11d374b0bc (patch)
tree6da4371d0ac6a0e17cfc31dad2275f1331ab3edb /docs/chapter-backports.md
parent41be002e89358649da46c33c8245aa786afdad6a (diff)
downloadSimple-6347fa6dc2ee8d3060f2f0db21f03f11d374b0bc.tar.gz
Simple-6347fa6dc2ee8d3060f2f0db21f03f11d374b0bc.zip
Squashed commit of the following:
commit 3ba6686fc991998a0a420709dfb0012bbddf77ab Author: Cliff Click <cliffc@acm.org> Date: Tue Sep 29 12:21:46 2026 -0700 Backport lazy memory splits to ch10, split into ch10a and b commit fa7d56f72455828826d0ab7e1c142ca814e6e2aa Author: Cliff Click <cliffc@acm.org> Date: Tue Sep 29 10:10:53 2026 -0700 Reverse edges commit e1bba17ff54400a34ede0eaacad863420d021119 Author: Cliff Click <cliffc@acm.org> Date: Tue Sep 29 09:44:41 2026 -0700 Split ch10 Basic memory introduction in 10a, then precise aliases in 10b.
Diffstat (limited to 'docs/chapter-backports.md')
-rw-r--r--docs/chapter-backports.md27
1 files changed, 24 insertions, 3 deletions
diff --git a/docs/chapter-backports.md b/docs/chapter-backports.md
index c2a4b56c..f76f92de 100644
--- a/docs/chapter-backports.md
+++ b/docs/chapter-backports.md
@@ -7,9 +7,9 @@ are disposable build artifacts. Reusable rules live in
Introduce independent fixes in the earliest applicable chapter and propagate
them through every affected snapshot. Testing Chapter 25's inherited tests does
-not validate the compilers in the earlier chapter directories. Keep building
-SSA with incomplete types in Chapter 25 for now; moving that architecture or
-renumbering chapters is deferred. Cliff wants to revisit splitting Chapter 25
+not validate the compilers in the earlier chapter directories. Chapter 10 is
+now split into 10a (bulk memory) and 10b (lazy memory partitioning). Keep the
+rest of SSA construction with incomplete types in Chapter 25 for now. Cliff wants to revisit splitting Chapter 25
into smaller chapters; escape analysis remains in 25 until that larger review.
Reset checkpoint (2026-09-28): Cliff committed the completed FunPtr work as
@@ -22,6 +22,13 @@ Splitting Chapter 25 is deferred, not an instruction to renumber.
## Pending corrections
+- **Forward Chapter 10b memory partitioning through 11-24.** The 10a/10b split
+ introduces whole-memory SSA first, then `MemMerge`, `MemPhi`, and `BulkMemPhi`.
+ Later snapshots retain their original memory representation. Migration
+ boundaries include scheduling in 11, array/allocation memory in 15, the
+ parser's `ScopeMinNode` in 16, and call/return aggregation in 18. Keep private
+ constructor memory, escape tracking, and incomplete-type inference in 25.
+
- **Chapter 24 Load BOTTOM-on-error backport, unwound/deferred (2026-09-28).**
Cliff requested starting with 24 and analyzing failures before proceeding.
Literal global BOTTOM memory/pointer inputs already propagate BOTTOM. The
@@ -210,6 +217,20 @@ The top-level runner accepts explicit chapter lists, e.g.
## Validation record
+- **Chapter 10a/10b split (2026-09-29).** Replaced `chapter10` with two
+ independently buildable snapshots: whole-memory SSA in 10a, then lazy
+ `MemMerge`/`MemPhi`/`BulkMemPhi` partitioning in 10b. Updated Make discovery,
+ Maven modules, IDEA descriptors/local module list, chapter navigation,
+ linear-history link handling, and regenerated the memory diagrams.
+ Fresh Make builds pass **156 tests in 10a and 159 in 10b**, including the
+ chapter-local fuzzer regression wrapper. Both release jars and tags build.
+ Offline Maven tests pass in both modules. Five memory programs each pass
+ seven inputs across 100 optimizer seeds in each compiler (**3,500 executions
+ per chapter**). Seed 97's missed bulk-Phi revisit is retained as a regression.
+ Logs: `build/chapter10-clean-build.log`, `build/chapter10-maven.log`,
+ `build/10a-seeds.log`, and `build/10b-seeds.log`. Chapters 11-24 have not yet
+ adopted the new memory representation; that forward migration is queued above.
+
This is a condensed completion record, not a list of current suite counts for
old revisions. Earlier detailed traces are in Git history; durable invariants
have been consolidated into the [AI notes](../skills/chapter25-codex-notes.md).