fxos/lib
Lephenixnoir c8b28b447f
masive improvements to memory use by compacting core objects
* Store CpuRegister on a single byte
* Store operation sizes (0, 1, 2, 4) on a single byte
* Share the (disp) and (imm) fields of instruction arguments
* Store instructions as char[12] instead of std::string (>32B)
* Store instruction args in Argument[2], not std::vector (>24B)

Size changes:
  CpuRegister:    4B ->  1B
  Argument:      24B ->  8B
  Instruction:  >64B -> 32B

This reduced the malloc size from 3.3M to 177k after a standard 40-line
disassembly (this excludes OS files mapped to memory), and improved the
loading time for the SH3 instruction table by about 30% (100 ms -> 65
ms).
2021-03-16 13:37:55 +01:00
..
domains implement the syscall pass, and symbol resolution 2020-02-15 18:42:14 +01:00
passes masive improvements to memory use by compacting core objects 2021-03-16 13:37:55 +01:00
disassembly.cpp support non-decoded instructions 2020-02-29 16:32:25 +01:00
lang.cpp masive improvements to memory use by compacting core objects 2021-03-16 13:37:55 +01:00
library.cpp symbols: add os and mpu constraints to symbol tables 2020-06-13 11:23:46 +02:00
load-asm.l masive improvements to memory use by compacting core objects 2021-03-16 13:37:55 +01:00
load-header.l add disassembly from arbitrary file 2020-02-16 21:45:16 +01:00
load-symbols.l symbols: add os and mpu constraints to symbol tables 2020-06-13 11:23:46 +02:00
load-target.l add disassembly from arbitrary file 2020-02-16 21:45:16 +01:00
load-target.y implement more of the meat of the tool 2019-12-28 17:18:13 +01:00
log.cpp main: print malloc() stats after disassembly in verbose mode 2021-03-16 13:35:23 +01:00
memory.cpp minor data storage improvements 2021-03-16 13:19:48 +01:00
os.cpp info: fix serial number 2021-03-16 12:25:10 +01:00
semantics.cpp better manage exceptions and instruction-level passes 2020-02-28 16:19:50 +01:00
symbols.cpp symbols: add os and mpu constraints to symbol tables 2020-06-13 11:23:46 +02:00
target.cpp symbols: add os and mpu constraints to symbol tables 2020-06-13 11:23:46 +02:00
util.cpp minor data storage improvements 2021-03-16 13:19:48 +01:00