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.
+9 -8
View File
@@ -6,17 +6,18 @@
## STATE — SOLO CONTINUATION, 2026-09-24 (current)
**703 bodies / 712 regions**, from 685 / 694 at the last session stop — **+18 bodies / +18 regions**.
The Phase 12 milestone remains 750 bodies, so **+47 remains**. The promoted whole-binary gate is green:
`c_regions=712`, `differing_bytes=0`, SHA-1
**707 bodies / 716 regions**, from 685 / 694 at the last session stop — **+22 bodies / +22 regions**.
The Phase 12 milestone remains 750 bodies, so **+43 remains**. The promoted whole-binary gate is green:
`c_regions=716`, `differing_bytes=0`, SHA-1
`e173426c157384ebf1b6caf8c6fea18a85a14af9`; 344 synthetic tests pass and extents report
`regions=712 disagreements=0 result=AGREE`.
`regions=716 disagreements=0 result=AGREE`.
The requested second batch of 20 is underway. Eight additional bodies are now matched:
The requested second batch of 20 is underway. Twelve additional bodies are now matched:
`0x800BC9C4`, `0x800BC8C4`, `0x8006BB0C`, `0x8002D17C`, `0x801029A0`, `0x80055958`,
`0x80023A4C`, and `0x8006BA3C`. Worklist regeneration is now 970 rows;
`excluded_already_registered=710` continues the already-characterised two-row registry lag and
is not a correctness issue because the 712-region gate proves the registry simultaneously.
`0x80023A4C`, `0x8006BA3C`, `0x80086DBC`, `0x8007759C`, `0x800B6CB4`, and `0x80029E88`.
Worklist regeneration is now 966 rows; `excluded_already_registered=714` continues the
already-characterised two-row registry lag and is not a correctness issue because the 716-region
gate proves the registry simultaneously.
## STATE — SESSION STOP, 2026-09-24 23:35 (historical; superseded by the state above, kept for provenance)
**685 bodies / 694 regions**, from 602 / 611 at the Phase 11 close — **+83 bodies**. **Milestone 750 was NOT
+36
View File
@@ -2131,6 +2131,40 @@ confirmed.
**Batch checkpoint: 8 additional bodies / 8 regions matched; current count 703 bodies / 712 regions.**
### Batch task 9 — `0x80086DBC` (64 B) MATCH
* Exact extent: `0x80086DBC..0x80086DFC`, 64 bytes, grade `exact`.
* An unsigned global comparison selects the zero-return path; the `short` return type supplies
the target's sign-extension of the helper result.
* Tracked source md5: `1549be88d8d7264f4e0f9f24e058e575`; fresh range and candidate gate were
zero-difference. Promoted gate: 713 regions; `make check` passed.
### Batch task 10 — `0x8007759C` (72 B) MATCH
* Exact extent: `0x8007759C..0x800775E4`, 72 bytes, grade `exact`.
* A gp-marked table pointer, 96-byte indexed stride, +12 entry displacement, and byte fields at
input offsets 41/59 produce the target's single helper-call sequence.
* Tracked source md5: `baa4964f01948de9b9a84c5eee5401d6`; fresh range and candidate gate were
zero-difference. Promoted gate: 714 regions; `make check` passed.
### Batch task 11 — `0x800B6CB4` (76 B) MATCH
* Exact extent: `0x800B6CB4..0x800B6D00`, 76 bytes, grade `exact`.
* The node view needs an eight-byte prefix for its +8 link. The source also distinguishes the
head pointer D_80122034 from the separate gp word g_8012277C cleared before walking.
* Tracked source md5: `bdb4741362227b317fb3937e7dec9bd1`; fresh range and candidate gate were
zero-difference. Promoted gate: 715 regions; `make check` passed.
### Batch task 12 — `0x80029E88` (80 B) MATCH
* Exact extent: `0x80029E88..0x80029ED8`, 80 bytes, grade `exact`.
* The second helper receives the first helper's return value, not the pre-call shifted value;
correcting that dataflow removes the extra saved local and matches the 24-byte frame.
* Tracked source md5: `d7be93899c764dd71c28322d30b6a191`; fresh range and candidate gate were
zero-difference. Promoted gate: 716 regions; `make check` passed.
**Batch checkpoint: 12 additional bodies / 12 regions matched; current count 707 bodies / 716 regions.**
### Bounded attempts in the second batch — stopped without registration
* `0x800321F8`: explicit branch/goto and register-binding forms reached 80/88/92-byte variants but
@@ -2164,3 +2198,5 @@ confirmed.
* `0x8006BA3C` intermediate candidates were superseded by the final exact source above.
* `0x800FEE3C` remains a bounded multi-exit dbr duplication row from the prior phase; no source
was promoted in this batch.
* `0x80070454`: exact 72-byte initializer remained one call-block delay `nop` short after bounded
goto and nested-call forms.