mirror of
https://github.com/Druthulu/BFM-decomp
synced 2026-09-26 21:36:06 -04:00
3464a25cd0
Banked: func_80136334 (126, all four levers), func_8016B234 (129), func_8015FBE0 (125), func_80143D28 (131), func_8014D820 (126 of 128). 27,984 -> 26,714 sites. lever_census --check: 26,714 pin/asm sites, 26,714 marked !FAKE, 0 UNMARKED — OK THE MISSING CALL ARGUMENT CLASS IS NOW CONFIRMED SIX TIMES, independently, by six agents that never saw each other's work: a7, a8, a11, a12, a13, a25. In every case the source declares a call with fewer arguments than the callee really takes — m2c drops arguments at unprototyped and indirect call sites — and the register pin was hired to fake the instruction the missing argument would have produced. Mechanisms differ and were each proven on bytes: combine.c:1458's added_sets_2 gate; set_preference (global.c:1535/1589) applied ahead of first-fit at :997-1030, the argument copy degenerating to a self-move deleted at toplev.c:3142 / jump.c:424-443 so it costs zero instructions; and reorg.c:3374's liveness half, where restoring the argument adds a use to CALL_INSN_FUNCTION_USAGE (reorg.c:428) so a delay-slot steal is refused. No generator can reach any of it: every family rewrites statements and declarations, none edits a call's argument list. Two concurrency defects, both found by agents rather than by me: - the includers cache wrote through a FIXED temp name, so concurrent processes clobbered each other's os.replace and the loser saw FileNotFoundError, which reads like a compiler crash on the candidate. Now a unique tempfile per process. - the agent brief now mandates PACK/scratch/ for helper scripts and dumps, and says to retry once when a --try failure names something that is not your own text. Three agents had scripts overwritten mid-run by another agent. One valuable negative: func_80178970 does not close, and the agent proved why by construction rather than by exhaustion — only a call or a return writes $v0 in plain C, and a return's hard write is always emitted after its guarding branch, so combine deletes the call-result copy (combine.c:914-917, use_crosses_set_p at :10127-10130; the SMALL_REGISTER_CLASSES arm at :944-957 is not defined for MIPS). Its early-return rewrite still improves the source from 6 to 2 and reads better than the pinned original.
4.0 KiB
4.0 KiB
| 1 | date | milestone | head | sites_AB | pins | asm | bodies_AB | distinct_AB | marked | unmarked | gte_levers | per_tu_asm_macros | class_C | class_D | class_E | class_F | class_G |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 2 | 2026-09-09 | T6 r1 (rung R's first class) | 1761a3125 | 33957 | 20512 | 13445 | 12578 | 1758 | 33957 | 0 | 462 | 314 | 1722 | 50 | 7428 | 445 | 76 |
| 3 | 2026-09-09 | T6 d1 (rung D's four exemplars) | 8fac96651 | 33953 | 20508 | 13445 | 12574 | 1758 | 33953 | 0 | 462 | 314 | 1722 | 50 | 7428 | 445 | 76 |
| 4 | 2026-09-09 | T6 p1 (four classes propagated) | a2da99b13 | 33427 | 19982 | 13445 | 12048 | 1755 | 33427 | 0 | 462 | 314 | 1722 | 50 | 7428 | 445 | 76 |
| 5 | 2026-09-09 | S101 rung G g1 (the guided search's first run: 1 of 16 exemplars, 132 bodies) | 623e55340 | 33295 | 19982 | 13313 | 11916 | 1754 | 33295 | 0 | 462 | 314 | 1590 | 50 | 7428 | 445 | 76 |
| 6 | 2026-09-09 | S101 rung G g2 (wider beam + R10/R12/R13/R8-cse: 1 of 16, 132 bodies) | 584031c71 | 33031 | 19718 | 13313 | 11784 | 1753 | 33031 | 0 | 462 | 314 | 1590 | 50 | 7428 | 445 | 76 |
| 7 | 2026-09-09 | S101 rung G g3 (the next 64 classes: 13 of 64, 1,516 bodies) | 5ae0b5ceb | 31025 | 18442 | 12583 | 10268 | 1740 | 31025 | 0 | 462 | 314 | 1590 | 50 | 7428 | 445 | 76 |
| 8 | 2026-09-09 | S101 rung G g4s (the 13 explained names, 38 classes: 3 of 38, 133 bodies) | 068781ae0 | 30892 | 18309 | 12583 | 10135 | 1737 | 30892 | 0 | 462 | 314 | 1590 | 50 | 7428 | 445 | 76 |
| 9 | 2026-09-09 | S101 rung G g5 (the head re-drawn wide: 5 of 70, 62 bodies) | 1ec67f667 | 30806 | 18261 | 12545 | 10073 | 1732 | 30806 | 0 | 462 | 314 | 1590 | 50 | 7428 | 445 | 76 |
| 10 | 2026-09-09 | S101 rung G g6 + g6b (the tail: 47 + 63 of 400 small classes, 93 + 186 + 47 bodies) | 2f3ce92a1 | 30358 | 17954 | 12404 | 9747 | 1624 | 30358 | 0 | 462 | 314 | 1590 | 50 | 7428 | 445 | 76 |
| 11 | 2026-09-10 | S102 T7 a1 — func_80156044 closed by an agent (merge-point expression sunk into the if/else arms, both $2/$3 pins gone); 130 bodies banked (1 + 129 propagated) | 5a8bd1021 | 30098 | 17694 | 12404 | 9617 | 1623 | 30098 | 0 | 462 | 314 | 1590 | 50 | 7428 | 445 | 76 |
| 12 | 2026-09-10 | S102 T7 s1 — the R15 sweep of the head: 6 exemplars closed by the sink alone (267 bodies), no drafting tokens | 861dd0651 | 29697 | 17427 | 12270 | 9350 | 1617 | 29697 | 0 | 462 | 314 | 1590 | 50 | 7428 | 445 | 76 |
| 13 | 2026-09-10 | S102 T7 a2 — func_80168828: the constant-holder pin deleted and one adjacent swap closes it (125 bodies, 1 of 2 pins off; the $4 pin is forced by the header's (void) declaration) | c00ffe5d4 | 29572 | 17302 | 12270 | 9350 | 1617 | 29572 | 0 | 462 | 314 | 1590 | 50 | 7428 | 445 | 76 |
| 14 | 2026-09-10 | S102 T7 s3 (partial, the run crashed in propagate) — the constant-holder draw: 10 bodies closed | 975850ff8 | 29533 | 17266 | 12267 | 9326 | 1594 | 29533 | 0 | 462 | 314 | 1590 | 50 | 7428 | 445 | 76 |
| 15 | 2026-09-10 | S102 T7 s3b — the constant-holder draw re-run after the propagate fix: 1 of 80, 6 bodies; 59 of 80 hit the compile budget | 5603a114c | 29527 | 17260 | 12267 | 9320 | 1593 | 29527 | 0 | 462 | 314 | 1590 | 50 | 7428 | 445 | 76 |
| 16 | 2026-09-10 | S102 T7 s5 — the first broad TAIL sweep with R15/R16/R17/R18: 285 of 800 bodies closed lever-free, no drafting tokens | 449acd8cb | 29204 | 17029 | 12175 | 9035 | 1308 | 29204 | 0 | 462 | 314 | 1590 | 50 | 7428 | 445 | 76 |
| 17 | 2026-09-10 | S102 T7 s6 — the last never-attempted exemplars: 25 of 337; the fresh pool is now empty | 67e91ad4d | 29148 | 16996 | 12152 | 9010 | 1283 | 29148 | 0 | 462 | 314 | 1590 | 50 | 7428 | 445 | 76 |
| 18 | 2026-09-10 | S102 T7 s7 (stopped early to restore agent cadence) — 5 of 207 judged at the wider width | 724c68859 | 29140 | 16989 | 12151 | 9005 | 1280 | 29140 | 0 | 462 | 314 | 1590 | 50 | 7428 | 445 | 76 |
| 19 | 2026-09-10 | S102 T7 a7 — func_801287B8: a truncated local extern was faking a pin; the missing call argument restored through a function-pointer cast (127 bodies) | bb0e95c7c | 29013 | 16862 | 12151 | 8878 | 1279 | 29013 | 0 | 462 | 314 | 1590 | 50 | 7428 | 445 | 76 |
| 20 | 2026-09-10 | S102 T7 a4 — func_8016C49C: one do-while on the function's LAST statement doubles a loop-note reference weight and flips allocno_compare (126 bodies) | 9f5b22176 | 28887 | 16736 | 12151 | 8752 | 1278 | 28887 | 0 | 462 | 314 | 1590 | 50 | 7428 | 445 | 76 |
| 21 | 2026-09-10 | S102 T7 burst — a8/a12/a18/a19 banked (132+118+119+134 bodies): the call-arity class twice, a MEM_IN_STRUCT_P alias flip, and a sequence-point split | fb6c857f7 | 27984 | 15965 | 12019 | 8249 | 1275 | 27984 | 0 | 462 | 314 | 1590 | 50 | 7428 | 445 | 76 |
| 22 | 2026-09-10 | S102 T7 burst — a5/a9/a11/a16/a25 banked; the MISSING CALL ARGUMENT class confirmed six times independently (m2c dropped arguments at unprototyped and indirect call sites) | c6b380fcd | 26714 | 15324 | 11390 | 7612 | 1271 | 26714 | 0 | 462 | 314 | 1590 | 50 | 7428 | 445 | 76 |