lumbda/c
russell@unturf.com c80eabac47 x86_64 JIT: 12-21x faster than CPython, 230x faster than interpreter
Real native machine code via mmap(PROT_EXEC). No exec(). No strings.
Raw x86_64 bytes: mov, add, sub, imul, cmp, je, jne, call, ret, jmp.

ack(3,4):    0.12ms JIT vs 1.5ms CPython vs 28ms interpreter
fib-rec(20): 0.16ms JIT vs 3.4ms CPython vs 40ms interpreter

Added cond support to JIT (cascaded comparisons → conditional jumps).
Fixed JIT cache: sentinel value prevents retry on unjittable functions.
System V AMD64 ABI: args in rdi/rsi/rdx, callee-saved r12-r15.
Tail calls use jmp (true TCO at machine code level).

691 lines of jit.c. 114 functional tests pass. All C tests pass.
2026-04-14 19:58:26 -04:00
..
.gitignore Add C implementation: 7,429 lines, 58 tests, identical output 2026-04-14 14:55:17 -04:00
bench.c x86_64 JIT: 12-21x faster than CPython, 230x faster than interpreter 2026-04-14 19:58:26 -04:00
builtins.c Add C implementation: 7,429 lines, 58 tests, identical output 2026-04-14 14:55:17 -04:00
eval.c x86_64 JIT: 12-21x faster than CPython, 230x faster than interpreter 2026-04-14 19:58:26 -04:00
jit.c x86_64 JIT: 12-21x faster than CPython, 230x faster than interpreter 2026-04-14 19:58:26 -04:00
jit.h Add GPU architecture notes and JIT header 2026-04-14 19:43:16 -04:00
main.c x86_64 JIT: 12-21x faster than CPython, 230x faster than interpreter 2026-04-14 19:58:26 -04:00
Makefile x86_64 JIT: 12-21x faster than CPython, 230x faster than interpreter 2026-04-14 19:58:26 -04:00
printer.c Add C implementation: 7,429 lines, 58 tests, identical output 2026-04-14 14:55:17 -04:00
reader.c Add C implementation: 7,429 lines, 58 tests, identical output 2026-04-14 14:55:17 -04:00
test.c Add C implementation: 7,429 lines, 58 tests, identical output 2026-04-14 14:55:17 -04:00
types.c x86_64 JIT: 12-21x faster than CPython, 230x faster than interpreter 2026-04-14 19:58:26 -04:00
uncommonlisp.h x86_64 JIT: 12-21x faster than CPython, 230x faster than interpreter 2026-04-14 19:58:26 -04:00
vm.c Add C implementation: 7,429 lines, 58 tests, identical output 2026-04-14 14:55:17 -04:00