mirror of
https://github.com/Druthulu/BFM-decomp
synced 2026-10-06 17:11:04 -04:00
723 B
723 B
§335 — AN extern u16 A[] READ AT A VARIABLE SUBSCRIPT ALLOCATES DEAD STACK TEMPS (~8B PER ACCESS) THAT INFLATE THE FRAME WHILE EMITTING ZERO EXTRA INSTRUCTIONS (P31 S67; byte-proven ov_SC06_025/func_8017EA74, closeness 141 -> 20)
The instruction stream is identical either way, so this is invisible in a diff of the body — it
shows up only as .frame vars being too large, which then moves addiu $sp and EVERY saved-register
offset. Spelling the same table as an 8-byte-stride struct array
(extern struct { u16 a, b, c, d; } A[];) costs zero temps and is what the original wrote.
One spelling change moved 121 of 141 residual rows. After it, the frame closed exactly at 0x68
with a plain s32 buf[6].