Map infrastructure constructor argument bundles

This commit is contained in:
Jan Petykiewicz 2026-04-18 16:34:58 -07:00
commit 9051966276
3 changed files with 39 additions and 14 deletions

View file

@ -2996,9 +2996,21 @@ The low helper strip beneath that shared family is tighter now too: `0x0052ecd0`
The current `0x000055f3 / 0x0001 / 0xff` class is tunnel-dominant and stays entirely on prior
profile span `0x03`, while the current `0xff0000ff / 0x0001 / 0xff` class is `TrackCap`-
dominant but still carries `4` tunnel rows spread across many spans.
Source-side constructor analysis is narrower now too. `0x00490960` takes mode at stack arg 1,
stem at stack arg 2, forwards args 3/4 into `0x539530`, arg 5 into `0x53a5b0`, arg 10 into the
primary-child cache gate for `[this+0x248]`, and only uses args 7/8/9 for the selector-copy
block when `mode < 4`.
That already separates the remaining mixed classes:
fixed `TrackCap` mode `0x0b` callers at `0x0048ed01/0x0048ed20` push arg7/arg8/arg9 as
`-1 / -1 / 0` and bypass selector-copy entirely because `mode >= 4`,
while tunnel mode `0x02` callers at
`0x004a17eb / 0x004a1995 / 0x004a1b44 / 0x004a1b7d / 0x004a1b95`
necessarily flow through selector-copy because `mode < 4`, with arg8 fixed at `1`, arg9 fixed
at `0`, and only arg7 varying through a branch-local one-bit register.
So the next infrastructure pass should stop treating the remaining frontier as a generic
“mixed 0x06/outlier” problem and instead target the owning constructor/restore semantics for
those two exact mixed compact-prefix classes.
those two exact mixed compact-prefix classes, especially how tunnel arg7 and the fixed
`TrackCap` no-selector bundle both still collapse into the observed mixed save-side prefixes.
The candidate-pattern classes are explicit now too: `0x0055 / 0x00` is a pure
`BallastCapST_Cap.3dp / Infrastructure` class across `18` rows, always preceded by a zero-length
prior profile span, while `0x0002 / 0xff` is a pure