Mike Pall
e38fbb3d0a
Fix assertion in rec_check_slots.
2010-03-07 14:32:50 +01:00
Mike Pall
e807d46931
Generate indirect calls for out-of-range distances on x64.
2010-03-07 14:31:51 +01:00
Mike Pall
b4299256cd
Fix unwind info for assembler part for OSX.
2010-03-07 14:29:04 +01:00
Mike Pall
88244c6372
Fix disassembly of call/jmp ModRM.
2010-03-07 14:28:05 +01:00
Mike Pall
5594a0c653
Fix generated 64 bit Mach-O assembler output.
2010-03-05 03:21:52 +01:00
Mike Pall
f8f6d0299b
Document jit.status().
2010-03-04 20:46:07 +01:00
Mike Pall
af92a14313
Update docs: native build default, cross-compilation, embedding.
2010-03-04 19:07:38 +01:00
Mike Pall
f76e5a311b
Allocate 32 bit memory on OSX/x64 with mmap() hinting.
...
Must set -pagezero_size, otherwise the lower 4GB are blocked.
2010-03-04 16:27:42 +01:00
Mike Pall
3d2abf3148
Build as a native 32 or 64 bit binary by default.
2010-03-04 16:23:28 +01:00
Mike Pall
15c3bd7725
Improve performance of HREF/HREFK on x64.
2010-03-03 04:26:31 +01:00
Mike Pall
5fdb6e2e20
Fix 64 bit conversion warning.
2010-03-03 04:25:48 +01:00
Mike Pall
32309583e5
Improve register allocation on x64.
2010-03-02 23:34:13 +01:00
Mike Pall
20fa30b388
Fix comments about 64 bit FreeBSD mmap() behavior.
2010-03-02 21:53:59 +01:00
Mike Pall
1cda54a3ab
Add compile errors for 64 bit OS without an equivalent of MAP_32BIT.
2010-03-02 19:41:56 +01:00
Mike Pall
eed5585c51
Add support for recursion to changelog.
2010-03-02 05:55:23 +01:00
Mike Pall
a1bacd8d68
Fix amalgamated build.
2010-03-02 01:48:37 +01:00
Mike Pall
5d0b65519c
Enable tracing of recursion.
...
Now compiles tail-recursion, up-recursion and down-recursion.
Benchmarks vs. Lua: fib 20x, ack 23x, binary-trees 4.7x.
2010-03-01 06:54:35 +01:00
Mike Pall
e7b737aa12
Implement down-recursion.
2010-03-01 06:45:30 +01:00
Mike Pall
69ea553024
Fix pc to line number translation for GDB JIT API.
2010-03-01 06:33:48 +01:00
Mike Pall
7e696124ec
Resize stack up to the true limit.
2010-03-01 05:51:04 +01:00
Mike Pall
89c90f0955
Fix error message generation for OOM error.
2010-02-28 22:22:45 +01:00
Mike Pall
8cc50cf6b1
Conditionally compile functions that are unused with JIT disabled.
2010-02-28 21:58:40 +01:00
Mike Pall
2e22d33d9d
Enable JIT compiler for x64.
...
Only works on Linux/x64 and Windows/x64 right now.
Force an x64 build on Linux/x64 with: make CC="gcc -m64"
NYI: handle on-trace OOM errors.
NYI: improve register allocation for x64.
2010-02-28 21:51:01 +01:00
Mike Pall
956065fd04
Add frame info for x64 GDB JIT API.
2010-02-28 17:52:11 +01:00
Mike Pall
2144d55eb8
Save/restore remaining callee-save regs on trace<->interp transitions.
2010-02-27 21:40:40 +01:00
Mike Pall
ec78d3177e
Correctly align and free allocated machine code areas.
...
Bump default mcode area size to 64K for x64.
2010-02-27 20:18:11 +01:00
Mike Pall
52b7651327
Place dynamically generated code near static code on x64.
2010-02-26 18:20:24 +01:00
Mike Pall
a0fbb05bf0
Make penalty PRNG available for general use by compiler.
2010-02-26 17:01:33 +01:00
Mike Pall
3c6cec0846
Add x64 call argument setup. More 32/64 bit cleanups in assembler.
2010-02-25 03:35:07 +01:00
Mike Pall
b95294572c
Move SIMD constants to jit_State to keep them in the low 4GB.
2010-02-24 23:17:17 +01:00
Mike Pall
b32f4f4549
Handle negative continuation offsets (WIN64 with debug).
2010-02-24 20:39:41 +01:00
Mike Pall
4e73488985
Fix 64 bit conversion warnings.
2010-02-24 20:02:20 +01:00
Mike Pall
4c9f71be5d
Major 32/64 bit cleanups in assembler and exit handling.
...
Add 64 bit lightuserdata handling. Keep the tagged 64 bit value.
Allocate/save/restore 64 bit spill slots for 64 bit lightuserdata.
Fix code generation for 64 bit loads/stores/moves/compares.
Fix code generation for stack pointer adjustments.
Add fixed spill slot definitions for x64. Reduce reserved spill slots.
Disable STRREF + ADD fusion in 64 bit mode (avoid negative 32 bit ofs).
2010-02-24 07:09:34 +01:00
Mike Pall
e46f4c8a11
Fix 64 bit portability problem in rec_ret().
2010-02-24 05:29:46 +01:00
Mike Pall
13a9d7e135
Add trace exit helper for x64. Fix trace entry for x64.
2010-02-24 01:32:44 +01:00
Mike Pall
2f3a917f2f
Check relative jump distances for x64.
2010-02-24 01:29:11 +01:00
Mike Pall
47da0d8018
Fix type() implementation for x64 lightuserdata.
2010-02-24 01:23:52 +01:00
Mike Pall
857f538eac
Fix exit state for 64 bit mode.
2010-02-24 01:18:49 +01:00
Mike Pall
8ae2f9feaa
Randomize penalties for aborts and add blacklisting.
2010-02-23 19:41:32 +01:00
Mike Pall
d5c8fe4b90
Mark renamed registers as modified.
2010-02-23 17:22:12 +01:00
Mike Pall
c1362dcac9
Don't eliminate SLOAD restores across RETF.
...
Move restore-elimination logic into snapshot_slots().
2010-02-23 03:08:49 +01:00
Mike Pall
f751cd1d6f
Do not patch parent exit for a stack check.
2010-02-22 21:21:52 +01:00
Mike Pall
659ea9de7b
Ensure function and all args have a reference for call recording.
...
In practice this is only needed after a return to a lower frame.
2010-02-22 17:37:26 +01:00
Mike Pall
3336434aa0
Fix TRef for (dummy) 2nd arg of __len metamethod.
2010-02-22 17:33:39 +01:00
Mike Pall
86494c783d
Back out history buffer for tailcall counts.
...
Use an aggregate counter independent of frame depth.
2010-02-22 16:57:59 +01:00
Mike Pall
19af483166
Add region selection for up-recursion and tail-recursion.
2010-02-22 14:35:47 +01:00
Mike Pall
e76bcd2914
Refactor Lua stack handling in lj_asm.c.
2010-02-21 17:26:21 +01:00
Mike Pall
c1658ddcf1
Eliminate redundant stack checks. Add checks for growing root traces.
2010-02-21 16:47:43 +01:00
Mike Pall
c52da1f2da
Rethrow errors from trace exit handling from the right C frame.
2010-02-19 03:13:48 +01:00
Mike Pall
bbe7d818d9
Allow linking to already compiled functions.
2010-02-18 19:37:30 +01:00