phase12: record second-batch checkpoint 3

This commit is contained in:
Christopher Williams
2026-09-25 00:33:00 -04:00
parent abe811cf68
commit 6f39dc2a2c
3 changed files with 60 additions and 8 deletions
+15
View File
@@ -3393,3 +3393,18 @@ separate source-level statement.
The same principle explains the earlier `0x8002D17C` `$5` queue binding and is distinct from
finding 192's structural-first rule: first get the control/dataflow shape right, then preserve the
register handoff that carries a value across that shape.
### 194. Small framed rows still need exact struct and call-result dataflow (solo, Phase 12)
The later small-row matches show two recurring traps. `0x800B6CB4` needs an eight-byte prefix in
its node view to place the link at +8, and its clear target is a different gp word from the head
pointer. `0x80029E88` passes the first helper's return value into the second helper; passing the
pre-call value creates an extra live local and a 12-byte length excess. `0x80086DBC` likewise needs
an unsigned global comparison and a `short` return to select `sltiu` and the final sign-extension.
> **For a short exact row, verify the type-induced offsets and the value crossing each call before
> tuning register bindings. A one-field struct or a plausible pre-call argument can account for
> several instructions of apparent scheduler noise.**
These are the same structural-first discipline as finding 192, applied to rows small enough that
a single mistaken offset or return edge dominates the entire comparison.