Refactor disasm for speedups (#465)

* First try

* OK

* Optimize .text a bit

* Split sections

* Fixups

* Combine .text

* async rodata

* Split code and rodata

* Almost there

* Done?

* Reduce console spam, add back extra space to delay slots

* Add makefile flag

* Prevent empty file creation and some wayward symbols

* Re-add printing

* Remove incorrect Boj_05 variables (thanks Anghelo for finding this)

* Cleanup formatting

* Update

* Update

* Change offsets back

* Make offsets object-relative
This commit is contained in:
Maide 2022-01-04 05:17:22 +00:00 committed by GitHub
parent 005fd64e41
commit c1858172b5
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 1711 additions and 720 deletions

View File

@ -10,6 +10,8 @@ NON_MATCHING ?= 0
ORIG_COMPILER ?= 0
# Keep .mdebug section in build
KEEP_MDEBUG ?= 0
# Disassembles all asm from the ROM instead of skipping files which are entirely in C
FULL_DISASM ?= 0
ifeq ($(NON_MATCHING),1)
CFLAGS := -DNON_MATCHING
@ -17,6 +19,10 @@ ifeq ($(NON_MATCHING),1)
COMPARE := 0
endif
ifneq ($(FULL_DISASM), 0)
DISASM_FLAGS += --full
endif
PROJECT_DIR := $(dir $(realpath $(firstword $(MAKEFILE_LIST))))
MAKE = make
@ -246,7 +252,7 @@ setup:
## Assembly generation
disasm:
$(RM) -rf asm data
python3 tools/disasm/disasm.py -j $(N_THREADS)
python3 tools/disasm/disasm.py -j $(N_THREADS) $(DISASM_FLAGS)
diff-init: uncompressed
$(RM) -rf expected/

File diff suppressed because it is too large Load Diff