Repository navigation
v0.9.0
Tier 5: no toolchain at all
The object module encoded as x86-64 and wrapped in a static ELF64
executable by hand. No llvmlite, no assembler, no linker, no libc: a
little over a kilobyte, two loadable segments, no section headers, and
write(2) and exit_group(2) are the only things it asks of the world.
The operand stack is the hardware stack, so a push is a push and register
allocation never comes up. Memory operands always take the SIB form with
a 32-bit displacement, which costs a few bytes and deletes every ModRM
special case. The canvas lives in .bss at a fixed address the prologue
puts in r15, so the text needs no relocation but its own branches.
This is the only backend tier that needs nothing installed, so a plain
python3 run now cross-checks four tiers instead of one.
LOC: 11494