mirror of
https://github.com/Druthulu/BFM-decomp
synced 2026-09-26 21:36:06 -04:00
chore(phase-26 T7): family_sweep --allow-pins flag + honest matched-sib finding
- family_sweep: --allow-pins bypasses the §42e pinned-exemplar skip (template WITH pins, byte-gate arbitrates) — added to TEST the func_8017A4AC pinned-×134 precedent. - FINDING (3 probes, all 0% banked): the matched-sib harvest is TAPPED. tiny-IMM 0/241, PURE reach-134 0/134, pinned-PURE-with-pins 0/133. The manifest's ~13,075 'templatable' member-slots are an over-prediction the whole-binary byte-gate refuses (collision/drift/ pin-crash). A3h + the wave propagations already banked everything cleanly templatable. - regenerated family-hseq.md.
This commit is contained in:
+2
-2
@@ -2,11 +2,11 @@
|
||||
|
||||
> Generated by `tools/family_hseq.py` from the 134 overlay sigs + per-overlay src stubs. Ranked by TEMPLATABLE byte-weight (PURE+IMM members × nins × 4). The byte-gate is the arbiter.
|
||||
|
||||
**Fleet (overlays):** 84.6% fn / 68.8% instr / 49.2% distinct-code matched. Unmatched: 52,715 instances / 3,969,589 ins (31,546 distinct classes).
|
||||
**Fleet (overlays):** 84.7% fn / 68.9% instr / 49.2% distinct-code matched. Unmatched: 52,316 instances / 3,945,915 ins (31,546 distinct classes).
|
||||
|
||||
**Tail cross-check (Phase-25 close):** 36,535 tail fns / 1,841,768 ins → 581 h_seq families ≥2, **172 substantial (nins≥80) / 1,282,261 ins**.
|
||||
|
||||
**Full frontier (all unmatched by h_seq):** 2643 target families (≥2 members or a matched sibling) + 3550 singletons (Step-D residue). Substantial: **563 families / 2,538,194 templatable ins**, 31 with a matched sibling (zero-crack). Substantial member classes: 15,315 PURE · 39 IMM · 6 STRUCT-excluded.
|
||||
**Full frontier (all unmatched by h_seq):** 2640 target families (≥2 members or a matched sibling) + 3550 singletons (Step-D residue). Substantial: **562 families / 2,525,293 templatable ins**, 30 with a matched sibling (zero-crack). Substantial member classes: 15,182 PURE · 39 IMM · 6 STRUCT-excluded.
|
||||
|
||||
|
||||
## Top substantial families (by templatable byte-weight)
|
||||
|
||||
@@ -252,7 +252,7 @@ def hseq_sweep(a):
|
||||
r = info.split(":")[0] if isinstance(info, str) else "skip"
|
||||
skip[r[:24]] += 1; continue
|
||||
_code = re.sub(r'//[^\n]*', '', re.sub(r'/\*.*?\*/', '', draft, flags=re.S))
|
||||
if re.search(r'__asm__\s*\(\s*"\$', _code): # hard-reg pin (§42e): ×1-only, cc1-crashes
|
||||
if not getattr(a, "allow_pins", False) and re.search(r'__asm__\s*\(\s*"\$', _code): # hard-reg pin (§42e): ×1-only, cc1-crashes
|
||||
skip["pinned-exemplar"] += 1; continue # sibling TUs → skip. Strip comments first: a body
|
||||
# that DOCUMENTS a removed pin ("__asm__(\"$16\") REMOVED")
|
||||
# is pin-free code and must not be false-skipped.
|
||||
@@ -318,6 +318,9 @@ def main():
|
||||
ap.add_argument("--chunk", type=int, default=8)
|
||||
ap.add_argument("--commit", action="store_true")
|
||||
ap.add_argument("--only", default=None, help="comma-separated exemplar addrs to sweep (validation)")
|
||||
ap.add_argument("--allow-pins", action="store_true",
|
||||
help="bypass the §42e pinned-exemplar skip: template WITH the register pins and let the "
|
||||
"whole-binary byte-gate arbitrate (some pinned families bank ×134 per-sibling, e.g. func_8017A4AC).")
|
||||
ap.add_argument("--reconcile", default=None, metavar="RAWDIR",
|
||||
help="M2 def-side-wall path: per (exemplar,sibling), symbol-remap the RAW draft in RAWDIR "
|
||||
"then canon_sig_reconcile against the sibling TU (Q5-proven). Implies --no-preclassify.")
|
||||
|
||||
Reference in New Issue
Block a user