Revamp macro arg system

This should significantly improve performance: on pokecrystal builds, perf
reported as much CPU time spent on `yyparse` as on `sym_UseNewMacroArgs`
Measurements show ~6 seconds of improvement on that codebase.

This also fixes #321, as a bonus, due to saner management!
This commit is contained in:
ISSOtm
2020-03-14 14:43:09 +01:00
parent 61897d8b52
commit 2f466c2939
15 changed files with 213 additions and 187 deletions

17
test/asm/rept-shift.asm Normal file
View File

@@ -0,0 +1,17 @@
m: macro
PRINTT "\1 "
REPT 4
SHIFT
ENDR
PRINTT "\1s!\n"
; Shifting a little more to check that over-shifting doesn't crash
SHIFT
SHIFT
REPT 256
SHIFT
ENDR
PRINTT "\1\n"
endm
m This, used, not, to, work