phase12: record second-batch checkpoint 3
This commit is contained in:
@@ -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.
|
||||
|
||||
Reference in New Issue
Block a user