fxos/include/fxos
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
..
disasm-passes (cosmetics) 2021-03-16 12:29:39 +01:00
disassembly.h support non-decoded instructions 2020-02-29 16:32:25 +01:00
domains.h (cosmetics) 2021-03-16 12:29:39 +01:00
errors.h (cosmetics) 2021-03-16 12:29:39 +01:00
lang.h masive improvements to memory use by compacting core objects 2021-03-16 13:37:55 +01:00
library.h add the library command for a bit of introspection 2020-02-16 21:23:10 +01:00
load.h symbols: add os and mpu constraints to symbol tables 2020-06-13 11:23:46 +02:00
log.h main: print malloc() stats after disassembly in verbose mode 2021-03-16 13:35:23 +01:00
memory.h minor data storage improvements 2021-03-16 13:19:48 +01:00
os.h os: support fx-CG OS structures 2020-06-13 10:47:13 +02:00
semantics.h (cosmetics) 2021-03-16 12:29:39 +01:00
symbols.h symbols: add os and mpu constraints to symbol tables 2020-06-13 11:23:46 +02:00
target.h symbols: add os and mpu constraints to symbol tables 2020-06-13 11:23:46 +02:00
util.h minor data storage improvements 2021-03-16 13:19:48 +01:00