phase9: record cycle 1 detail, GTE map correction, and negative census in the ledger
This commit is contained in:
@@ -53,6 +53,7 @@ excluded_no_extent=0 excluded_trapping_arith=50
|
||||
| Cycle | New bodies | Total bodies | New regions | Total regions | Result |
|
||||
|---|---|---|---|---|---|
|
||||
| (baseline) | — | 149 | — | 158 | green |
|
||||
| 1 | +57 | **206** | +39 | **215** | gate MATCH, SHA-1 green, commit `2bb883c` |
|
||||
|
||||
## Partitions
|
||||
|
||||
@@ -63,4 +64,47 @@ excluded_no_extent=0 excluded_trapping_arith=50
|
||||
## Open protocol notes
|
||||
|
||||
- Known negatives are carried **per partition** in each charter (the tracked `near_match_negatives.tsv` rows that intersect that worker's partition), with the shared notes: 29 of 38 negatives are still in the eligible pool; the 9 absent are explained by duplicate groups (`g0013`/`g0026`/`g0053`/`g0061` = the 4 unmatched code groups), the named gp-thunk exclusions, and `0x8005DEF8`.
|
||||
- Tier 0 is legitimately empty: all 10 code duplicate groups are now accounted for (6 matched, 4 excluded). Duplicate upside is consumed.
|
||||
- Tier 0 is legitimately empty: all 10 code duplicate groups are now accounted for (6 matched, 4 excluded). Duplicate upside is consumed.
|
||||
## Cycle 1 detail (committed `2bb883c`, 2026-09-24)
|
||||
|
||||
- 57 claims staged (A 23, B 13, C 21); all 57 re-verified by the coordinator's
|
||||
own `range` runs (one claimed row `0x800FF6A4` needed the staged gp symbol
|
||||
`g_80122158` before it matched — applied through the merge's claims-symbols).
|
||||
- Candidate gate: `c_regions=215 differing_bytes=0 result=MATCH`, SHA-1
|
||||
`e173426c157384ebf1b6caf8c6fea18a85a14af9`; promoted; `make check` green
|
||||
(`regions=215 disagreements=0 result=AGREE`; `c_regions=215 MATCH`; 223 tests).
|
||||
- **GTE control-register map CORRECTED** (coordinator raw-word verification after
|
||||
independent decodes from workers B and C): the executable's control numbering is
|
||||
the standard map **unshifted for 0..5** (rotation matrix, `0x80101CAC`) and
|
||||
**standard+7 from RBK onward** — `$13` RBK, `$14` GBK, `$15` BBK, `$16..$20`
|
||||
light matrix (LR1LR2/LR3LG1/LG2LG3/LB1LB2/LB3), `$21/$22/$23` RFC/GFC/BFC,
|
||||
`$24/$25` OFX/OFY, `$26` H, `$27` DQA, `$28` DQB. Cookbook finding 24's label
|
||||
of `$13..$15` as the light matrix was wrong (numbers were always byte-correct;
|
||||
names were the suspect). `include/gtemac.h` updated: corrected labels, added
|
||||
`gte_ldH`, `gte_ldRT1RT2..gte_ldRT33`. Registered `func_8001AE3C.c` updated to
|
||||
RBK/GBK/BBK macros, claim sources `0x80102FD4`/`0x80101CAC` rewritten to macro
|
||||
form — all re-verified MATCH.
|
||||
- **maspsx=off widening confirmed**: `0x80104C38` differs by 1 byte (loop
|
||||
back-edge) with maspsx on, MATCH with off; adjacent registered `0x80104C6C`
|
||||
(maspsx=off) corroborates. Finding-17 scope widened to any maspsx-inserted nop
|
||||
that lands on a compiler label.
|
||||
- New cookbook candidates recorded (fold in P9-T8): named-locals pinning lever
|
||||
(B, 4-for-4 across asm-operand laziness / associativity / strength-reduction /
|
||||
load hoisting), find-22 literal-base A/B (C), width-driven narrowing vs masked
|
||||
field (C, F2), subtraction-to-local (C, F3), statement-order table-index (C,
|
||||
F4), cross-jump merged store (C, F6), combined levers (C, F7), compound-while
|
||||
for rotated loops (C, F8), delay-slot-fill residual class (C, F9), alignment-1
|
||||
lwl/lwr type (A), slti-vs-sltiu 16-bit parameter tell (A), default-0-then-
|
||||
overwrite single-exit shape (A), CSE-hazard for symbol-indexed read + walked
|
||||
pointer (A), gte asm operand requirement (C, F1).
|
||||
- Negatives recorded (all drafts removed from src/ by their workers): A 4
|
||||
(cond-value-ifconv `0x800FCC30` incl. 20-spelling matrix; alloc-scheduling
|
||||
`0x80103AA4`; cc1-fold `0x8002622C`; strength-reduce+loop-rotate
|
||||
`0x800496CC`), B 7 (incl. exit-duplication `0x80010418`, load-use-nop GTE
|
||||
allocation class `0x80102FE4`/`0x80101C7C` — a pure allocation difference
|
||||
maspsx cannot fix — and the find-4 sign-adjusted `%lo` trap), C 6 (incl.
|
||||
cc1-scheduler-bound `0x80012A10` — three spellings byte-identical — and the
|
||||
delay-slot-fill `move`-vs-`nop` family `0x80016224`/`0x800263A8`).
|
||||
- Open items for later cycles: worker A's 8 untracked src/ files awaiting
|
||||
in-flight/stale classification; worker C recommends excluding the primitive-init
|
||||
family remainder (`0x80012A10`/`0x80012AE0`) from re-chartering.
|
||||
|
||||
Reference in New Issue
Block a user