mirror of
https://github.com/Druthulu/BFM-decomp
synced 2026-09-27 05:56:00 -04:00
a741d2b6b5
- RESEARCH (T0-T7): read gcc-2.7.2 source (gcc-papermario) + mined Xenogears (our exact compiler) -> per-class byte-gated verdicts. VERDICT REVERSAL (Drew "hand-match everything"): the call-crossing register-ORDER class is STEERABLE via `register __asm__` pins + a scheduling barrier (func_8012B8E4, the flagship "unsteerable" fn, byte-gated) -- not unsteerable. - TOOLKIT (cookbook §17): pins+barrier (register swap), array-decay (hoist-vs-remat), for-loop/statement-order (structural), sig_unify-mandatory; narrow-param = honest stub. §16 reconciled (§10-vs-§16). - TAUGHT TO WAVES (§17a): calibration 9/16=56% whole-binary (vs 33%); Step-1 (embedded canonical callee sigs + call-site-cast/re-validate) 28/31=90% match_one, 22 verified. ~31 reach-134 matches banked, each propagated x134. fleet 55.51 -> 56.64% (+1.13%). - FINDING: the match_one->gate gap is declaration plumbing (call-site casts not redeclaration; stale M2C_UNK sibling-decl reconcile; implicit-int caller class) -- recovered deterministically. - NEW residual classes: per-file -O0 (~18 fns, needs an -O0 split file like src/boot.c -> high ROI) + gcc loop-guard operand-order (irreducible). W1: build-divergence ruled out by proxy. - make check-all 136/136 byte-identical (R22); dedup 1450 validated/0 failed; 0 NON_MATCHING (G4). - worklog -> phase-ends/logs/Phase18.md (R19); bumps 1.16.0 -> 1.17.0