Commit Graph

  • 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