aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
8 daysimprove tests a bittailKimplul
+ Runs tests on all arches that I have easy access to
9 daysadd callr_i/l/f/dKimplul
9 daysadd tailiKimplul
9 daysinitial tail call stuffKimplul
10 daysclean up interpreter a bitallocaKimplul
13 daysbump lighteningKimplul
14 daysimplement minr_d/maxr_dKimplul
2025-04-03fix example compilationKimplul
2025-04-03resolve relocations asapKimplul
+ Should help with compile times on platforms that use literal pools, might also improve code quality
2025-04-02armhf seems to workKimplul
2025-04-02fix regallocKimplul
+ Had some small issues with ending lifetimes a bit too late
2025-04-02improve build system a bitKimplul
2025-04-02fix some warnings with clangKimplul
2025-04-02fix big endian compilationKimplul
+ Code used some assumptions about type aliasing that might not hold for all systems
2025-04-01powerpc64le seems to workKimplul
2025-04-01mips64el seems to workKimplul
2025-04-01expose sqrtKimplul
+ Requires linking with libm in some cases, which is fine I suppose, but kind of annoying
2025-04-01mipsel seems to workKimplul
2025-04-01aarch64 linux seems to workKimplul
2025-04-01somewhat improved register allocatorKimplul
2025-03-26remember to clean libejit.aKimplul
2025-03-26handle immediates a bit betterKimplul
+ Passing floats as immediate values is not supported in lightening, but I might have a go at adding it since it seems like a useful feature at some point
2025-03-15experiment with allocating regs on stack in interpKimplul
+ Avoids having to lug around an execution context, arguably simplified things but now there's no real way to detect when we run out memory for regs.
2025-03-14protect jit pagesKimplul
2025-03-14start supporting 32bit archesKimplul
2025-03-13improve register allocationKimplul
+ Still linear, but orders regs by some kind of priority + Use all registers available, not just callee-save
2025-03-07make code a bit more robustKimplul
+ Should be more difficult to make mistakes in the future, ejit can now automatically keep track of how many register slots are used and if 64 bit mode is required. Slight runtime overhead, but not too bad.
2025-03-05bump lighteningKimplul
2025-03-05allow direct calls between compiled functionsKimplul
2025-01-05fix some assertionsKimplul
2025-01-04add LTO compilation flagKimplul
2024-12-12add todo about minimizing mmap syscallsKimplul
2024-10-22move interp into run_interpKimplul
+ This allows us to skip a potential extra function call
2024-10-22use type-specific vectors instead of generic onesKimplul
+ An attempt at speeding up function calls in the interpreted mode
2024-08-08remove extra fileKimplul
2024-08-07add readme skeletonKimplul
2024-07-15remember to clean up properlyKimplul
2024-07-14add relative argsKimplul
2024-07-14jit tests pass (kind of) on x86_64Kimplul
2024-07-14add float + double instead of just doubleKimplul
2024-07-13implement some more jit instructionsKimplul
2024-07-13make tests only compile onceKimplul
+ Select between jit/bytecode with a runtime parameter
2024-07-13implement some float JIT handlingKimplul
2024-07-13bytecode tests passKimplul
2024-06-30work through loads and storesKimplul
2024-06-30continue working through test casesKimplul
+ Remove overflow and more complicated floating point tests for now
2024-06-29remove some tests that won't get implementedKimplul
2024-06-29work through branching instructionsKimplul
2024-06-29continue working through bytecode opsKimplul
2024-06-29add flag for using 64 bit values on 32 machinesKimplul
+ JIT backends needs to still trigger an assertion if we detect that the user lied