mirror of
https://github.com/Druthulu/BFM-decomp
synced 2026-09-26 21:36:06 -04:00
774592c452
- VALIDATED FIRST, then batched: 0x80143d28 (T66's #1, T76's ApplyMatrixSV callee diagnosis) banked 136/136 under the §114 callee axis + §115 named-symbol widening. Batch of 8 followed: 505/1039. Totals: 5 families outright + 1 partial of 9; 641 members ×N. - Attribution DERIVED (R33), not parsed from the sweep log: live stubs recomputed per family from corpus.stubs before/after. Reconciles exactly against the metric (fn-count +641). - §116 (NEW): optimization level is a property of the FILE, not the function. 0x801457a4 swept 0/137 because its exemplar lives in ov_SC01_077_o0b.c (-O0 via WHALE_O0B_OBJS) while all 137 members' stubs live in <ov>_after.c (-O2). The fix moves the STUB line, not the def: <ov>_o0b's .text ends exactly at 0x801457A4, so the relocation is byte-neutral by construction and needs no splat re-carve (which is the Arm-A +0x20 wall). 13th time a family-wide 0/N was the harness. - R14 CORRECTION to the handoff arithmetic: the tier is 123 families / 3,100 distinct on fresh sigs, but 1,287 of that distinct is the -O0 cluster behind the Arm-A splat wall. Honest addressable tier = 113 families / 85,360 ins / 1,813 distinct. Billing the walled 1,287 as sweep yield would have repeated the T76 error. - 0x80131eec (214 distinct, the biggest item left) diagnosed precisely: header macro decl + §20 call-site cast + a scripted §99 pass over 2,022 overlay-local decls; param is void*, so the T75 narrow-param refusal does not apply. - GATES: R22 clean-fleet 140/140 from make clean + extract-all + check-all; tools-health RC=0 (corpus 0 PHANTOM/0 TRUNCATED, cdecl, audit-binaries, dedup 1886/0, C1 239604/239604); report RC=0; 0 NON_MATCHING (G4). - METRICS: instr 86.7 -> 86.9% (+28,205 ins) · distinct-code 76.9 -> 77.4% (68,196 -> 68,782 unique fns) · fn-count 91.23 -> 91.41% (+641). The distinct-code move is the point of this tier.