Commit Graph

24 Commits

Author SHA1 Message Date
Mike Pall
a0fbb05bf0 Make penalty PRNG available for general use by compiler. 2010-02-26 17:01:33 +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
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
c52da1f2da Rethrow errors from trace exit handling from the right C frame. 2010-02-19 03:13:48 +01:00
Mike Pall
65586ca4dc Adapt bytecode patching/unpatching for hot calls. 2010-02-18 17:17:50 +01:00
Mike Pall
59f54be9d3 Update trace recorder infrastructure for hot calls. 2010-02-18 06:07:31 +01:00
Mike Pall
afa07e0c46 Improve error reporting for traces aborted in non-Lua functions. 2010-02-15 22:44:23 +01:00
Mike Pall
e664945e0b Change record vmevent parameters. Dump function id on FUNC*. 2010-02-15 22:26:33 +01:00
Mike Pall
3452bfcf8c Add generic function handling for debug modules.
Don't call record vmevent for non-Lua functions.
2010-02-15 17:36:29 +01:00
Mike Pall
b838cd8dca Minor cleanup of trace event handling. 2010-02-15 16:41:52 +01:00
Mike Pall
c93138b59e Major redesign of function call handling.
Drop call gates. Use function headers, dispatched like bytecodes.
Emit BC_FUNCF/BC_FUNCV bytecode at PC 0 for all Lua functions.
C functions and ASM fast functions get extra bytecodes.
Modify internal calling convention: new base in BASE (formerly in RA).
Can now use better C function wrapper semantics (dynamic on/off).
Prerequisite for call hooks with zero-overhead if disabled.
Prerequisite for compiling recursive calls.
Prerequisite for efficient 32/64 bit prototype guards.
2010-02-13 04:51:56 +01:00
Mike Pall
c8d55e8506 32/64 bit memory ref cleanup, part 1: GCproto ->bc and ->k. 2010-02-05 00:07:32 +01:00
Mike Pall
318e86c7eb Clean up frame depth checks and loop detection. 2010-02-03 14:55:56 +01:00
Mike Pall
c1c9abeab7 Add extra check to suppress hotcall event during recording. 2010-02-03 14:34:30 +01:00
Mike Pall
725da9224d Don't modify jit_State and exit counters while in vmevent.
Fixes crash with hot loop in TEXIT callback which cleared J->parent.
2010-01-28 02:30:12 +01:00
Mike Pall
67ca399a30 Compress snapshots using a simple, extensible 1D-compression.
Typically reduces storage overhead for snapshot maps by 60%.
The extensible format is a prerequisite for the next redesign steps:
Eliminate IR_FRAME and implement return-to-lower-frame.
2010-01-26 21:49:04 +01:00
Mike Pall
47f1bc80d8 Use dedicated type for snapshot map entry.
Preparatory work for compressed snapshots.
2010-01-25 19:51:52 +01:00
Mike Pall
4d9be5b8f8 Bump all copyright dates to 2010. 2010-01-09 14:28:11 +01:00
Mike Pall
8a9cfa4b45 Define CFRAME structure for x64 interpreter. 2009-12-28 23:45:32 +01:00
Mike Pall
bc47063708 Use fastcall for remaining 1-arg/2-arg calls from interpreter.
Simplifies conversion to x64 calling conventions.
2009-12-27 17:42:41 +01:00
Mike Pall
6adab430af Adapt primary inbound calls in x64 interpreter.
Change argument order for lj_vm_cpcall() to simplify x64 interpreter.
2009-12-17 22:08:20 +01:00
Mike Pall
1d1fed48a0 RELEASE LuaJIT-2.0.0-beta2 2009-12-08 19:49:20 +01:00
Mike Pall
55b1695971 RELEASE LuaJIT-2.0.0-beta1 2009-12-08 19:46:35 +01:00