diff options
| author | Cliff Click <cliffc@acm.org> | 2026-10-07 11:18:47 -0700 |
|---|---|---|
| committer | Cliff Click <cliffc@acm.org> | 2026-10-07 11:18:47 -0700 |
| commit | df5efaa0d05b3583eb6ca3b5f67df83827889e42 (patch) | |
| tree | 439bfa2dec84d05ce55f0d492f4192230c06506c /skills/chapter25-codex-notes.md | |
| parent | 8a20d5238855de5479d84e7fd8e84561844e2dc4 (diff) | |
| download | Simple-df5efaa0d05b3583eb6ca3b5f67df83827889e42.tar.gz Simple-df5efaa0d05b3583eb6ca3b5f67df83827889e42.zip | |
Make RA deterministic
Diffstat (limited to 'skills/chapter25-codex-notes.md')
| -rw-r--r-- | skills/chapter25-codex-notes.md | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/skills/chapter25-codex-notes.md b/skills/chapter25-codex-notes.md index 2f2f299c..7c33d608 100644 --- a/skills/chapter25-codex-notes.md +++ b/skills/chapter25-codex-notes.md @@ -331,6 +331,18 @@ For shared viewer work, read [the graph viewer notes](graph-viewer-codex-notes.m ## Register allocation review +- Phi self-conflict splitting must isolate inputs shared with another Phi, + not only the entry input and result. Two loop Phis sharing a backedge value + otherwise stay in one conflicting LRG across every round. The correction + starts in 20; 24-25 retain their first cold-only attempt. +- Chapter 25's cloned-call relinking must visit old nodes in node-ID order. + Iterating the clone IdentityHashMap changed call edges and optimizer worklist + order across JVMs. The SystemV sys build reproduced on Windows with + `-XX:+UnlockExperimentalVMOptions -XX:hashCode=2`; WSL was not essential. + When investigating reproducibility, compare phase dumps before blaming the + allocator or target ABI. Even diagnostic identity maps can perturb JVM hash + assignment and expose an existing dependence on identity iteration order. + - Allocation starts in 20; native encoding in 21. Backport legality and no-progress fixes to the first applicable chapter, but introduce spill-quality heuristics gradually. Do not import the complete Chapter 25 allocator into 20. |
