-
eed5585c51
Add support for recursion to changelog.
Mike Pall
2010-03-02 05:55:23 +01:00
-
a1bacd8d68
Fix amalgamated build.
Mike Pall
2010-03-02 01:48:37 +01:00
-
5d0b65519c
Enable tracing of recursion.
Mike Pall
2010-03-01 06:46:45 +01:00
-
e7b737aa12
Implement down-recursion.
Mike Pall
2010-03-01 06:45:30 +01:00
-
69ea553024
Fix pc to line number translation for GDB JIT API.
Mike Pall
2010-03-01 06:33:48 +01:00
-
7e696124ec
Resize stack up to the true limit.
Mike Pall
2010-03-01 05:51:04 +01:00
-
89c90f0955
Fix error message generation for OOM error.
Mike Pall
2010-02-28 22:22:45 +01:00
-
8cc50cf6b1
Conditionally compile functions that are unused with JIT disabled.
Mike Pall
2010-02-28 21:58:40 +01:00
-
2e22d33d9d
Enable JIT compiler for x64.
Mike Pall
2010-02-28 21:45:38 +01:00
-
956065fd04
Add frame info for x64 GDB JIT API.
Mike Pall
2010-02-28 17:52:11 +01:00
-
2144d55eb8
Save/restore remaining callee-save regs on trace<->interp transitions.
Mike Pall
2010-02-27 21:40:40 +01:00
-
ec78d3177e
Correctly align and free allocated machine code areas.
Mike Pall
2010-02-27 19:53:14 +01:00
-
52b7651327
Place dynamically generated code near static code on x64.
Mike Pall
2010-02-26 18:20:24 +01:00
-
a0fbb05bf0
Make penalty PRNG available for general use by compiler.
Mike Pall
2010-02-26 17:01:33 +01:00
-
3c6cec0846
Add x64 call argument setup. More 32/64 bit cleanups in assembler.
Mike Pall
2010-02-25 03:35:07 +01:00
-
b95294572c
Move SIMD constants to jit_State to keep them in the low 4GB.
Mike Pall
2010-02-24 23:17:17 +01:00
-
b32f4f4549
Handle negative continuation offsets (WIN64 with debug).
Mike Pall
2010-02-24 20:39:41 +01:00
-
4e73488985
Fix 64 bit conversion warnings.
Mike Pall
2010-02-24 20:02:20 +01:00
-
4c9f71be5d
Major 32/64 bit cleanups in assembler and exit handling.
Mike Pall
2010-02-24 07:09:34 +01:00
-
e46f4c8a11
Fix 64 bit portability problem in rec_ret().
Mike Pall
2010-02-24 05:29:46 +01:00
-
13a9d7e135
Add trace exit helper for x64. Fix trace entry for x64.
Mike Pall
2010-02-24 01:32:44 +01:00
-
2f3a917f2f
Check relative jump distances for x64.
Mike Pall
2010-02-24 01:29:11 +01:00
-
47da0d8018
Fix type() implementation for x64 lightuserdata.
Mike Pall
2010-02-24 01:23:52 +01:00
-
857f538eac
Fix exit state for 64 bit mode.
Mike Pall
2010-02-24 01:18:49 +01:00
-
8ae2f9feaa
Randomize penalties for aborts and add blacklisting.
Mike Pall
2010-02-23 18:27:39 +01:00
-
d5c8fe4b90
Mark renamed registers as modified.
Mike Pall
2010-02-23 17:22:12 +01:00
-
c1362dcac9
Don't eliminate SLOAD restores across RETF.
Mike Pall
2010-02-23 03:08:49 +01:00
-
f751cd1d6f
Do not patch parent exit for a stack check.
Mike Pall
2010-02-22 21:21:52 +01:00
-
659ea9de7b
Ensure function and all args have a reference for call recording.
Mike Pall
2010-02-22 17:37:26 +01:00
-
3336434aa0
Fix TRef for (dummy) 2nd arg of __len metamethod.
Mike Pall
2010-02-22 17:33:39 +01:00
-
86494c783d
Back out history buffer for tailcall counts.
Mike Pall
2010-02-22 16:57:59 +01:00
-
19af483166
Add region selection for up-recursion and tail-recursion.
Mike Pall
2010-02-22 14:35:47 +01:00
-
e76bcd2914
Refactor Lua stack handling in lj_asm.c.
Mike Pall
2010-02-21 17:26:21 +01:00
-
c1658ddcf1
Eliminate redundant stack checks. Add checks for growing root traces.
Mike Pall
2010-02-21 16:47:43 +01:00
-
c52da1f2da
Rethrow errors from trace exit handling from the right C frame.
Mike Pall
2010-02-19 03:13:48 +01:00
-
bbe7d818d9
Allow linking to already compiled functions.
Mike Pall
2010-02-18 19:37:30 +01:00
-
b11eeab906
Use a limited history buffer for tailcall counts while recording.
Mike Pall
2010-02-18 19:32:13 +01:00
-
65586ca4dc
Adapt bytecode patching/unpatching for hot calls.
Mike Pall
2010-02-18 17:17:50 +01:00
-
59f54be9d3
Update trace recorder infrastructure for hot calls.
Mike Pall
2010-02-18 03:43:09 +01:00
-
2f300fb66a
Fix some uses of tref_isint().
Mike Pall
2010-02-18 03:24:18 +01:00
-
2b22b9e710
Drop obsolete shadow frame link stack.
Mike Pall
2010-02-18 03:19:46 +01:00
-
265a24b978
Add more assertions to compare the recorder state and the VM state.
Mike Pall
2010-02-18 02:49:08 +01:00
-
00ad80c9e4
Clear frame gaps in recorder to avoid resurrecting previous refs.
Mike Pall
2010-02-18 02:45:03 +01:00
-
4a7ee2cb66
Update docs and changelog.
Mike Pall
2010-02-17 00:47:55 +01:00
-
8060f5b531
Just disable JIT compiler for non-SSE2 CPUs instead of aborting.
Mike Pall
2010-02-16 23:39:24 +01:00
-
c225ee8db4
Split CALL/FUNC recording.
Mike Pall
2010-02-16 04:04:16 +01:00
-
afa07e0c46
Improve error reporting for traces aborted in non-Lua functions.
Mike Pall
2010-02-15 22:44:23 +01:00
-
e664945e0b
Change record vmevent parameters. Dump function id on FUNC*.
Mike Pall
2010-02-15 22:26:33 +01:00
-
e1905f498a
Use a different marker for hot calls.
Mike Pall
2010-02-15 18:04:06 +01:00
-
3452bfcf8c
Add generic function handling for debug modules.
Mike Pall
2010-02-15 17:36:29 +01:00
-
b838cd8dca
Minor cleanup of trace event handling.
Mike Pall
2010-02-15 16:41:52 +01:00
-
1288e04186
Add missing FORI coercions in recorder.
Mike Pall
2010-02-15 01:51:41 +01:00
-
b6e4fde0dc
Improve FOR loop const specialization and integerness checks.
Mike Pall
2010-02-15 01:07:30 +01:00
-
2a2f8ed6a1
Implement return hooks for Lua functions (zero-cost if disabled).
Mike Pall
2010-02-14 20:48:33 +01:00
-
8e38231f9e
Implement call hooks (zero-cost if disabled).
Mike Pall
2010-02-14 17:47:03 +01:00
-
c93138b59e
Major redesign of function call handling.
Mike Pall
2010-02-13 04:51:56 +01:00
-
4f8d7be8ea
Extend scope of local vars in debug info beyond final return.
Mike Pall
2010-02-12 16:17:42 +01:00
-
2e5d3740ae
Fix dump of bytecode instructions with missing operands.
Mike Pall
2010-02-11 20:59:00 +01:00
-
b2067236c5
Move dispatch tables out of GG_State struct.
Mike Pall
2010-02-11 16:21:18 +01:00
-
565eb39574
Drop frame clearing in exit handling and JIT compiled code.
Mike Pall
2010-02-11 01:50:32 +01:00
-
ab90b8fc2b
Switch to pre-initialized stacks. Drop frame clearing in interpreter.
Mike Pall
2010-02-11 01:21:40 +01:00
-
bb0384c366
Replace GCproto reference with bytecode PC in GCfuncL.
Mike Pall
2010-02-10 21:45:57 +01:00
-
d5a46621f9
Drop bc field in GCproto since the bytecode is colocated.
Mike Pall
2010-02-08 20:17:34 +01:00
-
2ddea3838d
Fix constructor bytecode generation for conditional values.
Mike Pall
2010-02-08 16:08:58 +01:00
-
f86f9e8eec
Reduce whitespace in lj_bcdef.h.
Mike Pall
2010-02-08 05:35:18 +01:00
-
6194b1c896
Redesign of prototype generation, part 5: colocation of protoype arrays.
Mike Pall
2010-02-08 05:30:57 +01:00
-
f275a9d7ef
Redesign of prototype generation, part 4: late creation of prototype.
Mike Pall
2010-02-08 05:29:47 +01:00
-
4424027844
Redesign of prototype generation, part 3: bc and lineinfo.
Mike Pall
2010-02-08 05:28:57 +01:00
-
48d93d8c84
Redesign of prototype generation, part 2: late init of chunkname.
Mike Pall
2010-02-08 05:27:43 +01:00
-
60b5af4422
Redesign of prototype generation, part 1: varinfo and uvname.
Mike Pall
2010-02-08 05:26:52 +01:00
-
1307f49137
Major cleanup of bytecode parser.
Mike Pall
2010-02-06 08:18:32 +01:00
-
1f39cc5c21
Update .gitignore.
Mike Pall
2010-02-06 08:18:20 +01:00
-
c4dadf1d67
Move bytecode offsets from lj_vm.* to generated header.
Mike Pall
2010-02-05 20:15:01 +01:00
-
a0914c409b
32/64 bit memory ref cleanup, part 4: GCproto ->varinfo.
Mike Pall
2010-02-05 01:35:38 +01:00
-
8dcc4364cf
32/64 bit memory ref cleanup, part 3: GCproto ->lineinfo.
Mike Pall
2010-02-05 01:16:22 +01:00
-
d778982120
32/64 bit memory ref cleanup, part 2: GCproto ->uvname and ->chunkname.
Mike Pall
2010-02-05 00:52:21 +01:00
-
c8d55e8506
32/64 bit memory ref cleanup, part 1: GCproto ->bc and ->k.
Mike Pall
2010-02-05 00:07:32 +01:00
-
370c868c31
RETF modifies BASE. Treat it like a store or it gets CSEd.
Mike Pall
2010-02-04 21:33:24 +01:00
-
5d2690c608
Reset the hotcount table after a JIT off to on transition.
Mike Pall
2010-02-04 20:40:00 +01:00
-
7256690364
Add shadow frame link stack for trace recorder.
Mike Pall
2010-02-04 03:08:29 +01:00
-
78f5e2ffd3
Fix unroll limit checks and frame depth adjustment for pcall.
Mike Pall
2010-02-03 16:48:25 +01:00
-
318e86c7eb
Clean up frame depth checks and loop detection.
Mike Pall
2010-02-03 14:55:56 +01:00
-
c1c9abeab7
Add extra check to suppress hotcall event during recording.
Mike Pall
2010-02-03 14:34:30 +01:00
-
305ecbbb84
Another loop formation test must check for return to lower frame.
Mike Pall
2010-02-03 14:31:42 +01:00
-
61c5a60dc3
Improve coalescing of BASE register in side traces.
Mike Pall
2010-02-01 23:32:26 +01:00
-
9a682f341d
Revise hardcoded inlining in lj_asm.c. Saves 1-2K.
Mike Pall
2010-01-30 14:33:08 +01:00
-
02e58f5e56
Add support for weak IR references to register allocator.
Mike Pall
2010-01-30 06:50:39 +01:00
-
96e8a56260
Loop formation test must check for return to lower frame.
Mike Pall
2010-01-29 15:07:40 +01:00
-
8681b7330f
Compile return to lower frame. Only for Lua frames right now.
Mike Pall
2010-01-29 03:32:37 +01:00
-
272b2f7368
Followup fix: set maxslot for continuation return.
Mike Pall
2010-01-28 04:29:15 +01:00
-
2ed0bb7f1e
Drop obsolete frame shrinking after continuation return.
Mike Pall
2010-01-28 04:20:20 +01:00
-
a6565d21fa
Fix recording of metamethod result adjustment.
Mike Pall
2010-01-28 04:02:32 +01:00
-
725da9224d
Don't modify jit_State and exit counters while in vmevent.
Mike Pall
2010-01-28 02:30:12 +01:00
-
fb2c583cfc
Fix snapshot dumps.
Mike Pall
2010-01-28 02:02:08 +01:00
-
21d6709271
Avoid reuse of PHI registers, even for duplicate right PHIs.
Mike Pall
2010-01-27 22:09:43 +01:00
-
09b8f67cd8
Expose compressed snapshot map to reflection API.
Mike Pall
2010-01-27 20:06:03 +01:00
-
3aeb892262
Eliminate IR_FRAME. Replace with KGC and TRef/SnapEntry flags.
Mike Pall
2010-01-27 03:50:29 +01:00
-
d216cdb2b9
Add frame and continuation flags to TRef and SnapEntry.
Mike Pall
2010-01-27 02:17:56 +01:00
-
05d67cf566
Add missing check for return to lower frame.
Mike Pall
2010-01-27 01:57:15 +01:00
-
c8a80fa989
Cleanup types for narrowing stack machine.
Mike Pall
2010-01-27 00:39:22 +01:00