Mike Pall
badff4ed0a
Fix error location while recording metamethods.
2010-12-15 19:44:30 +01:00
Mike Pall
5a13fa69d9
Add IR_KINT64.
2010-12-05 22:12:31 +01:00
Mike Pall
c88169dc46
Record y = select(x, ...) idiom.
2010-09-13 01:23:19 +02:00
Mike Pall
8fa1db826c
Create symbol table of JIT-compiled code for use with Linux perf tools.
...
Enable with: -DLUAJIT_USE_PERFTOOLS
2010-05-01 04:27:14 +02:00
Mike Pall
2e24770ed3
Simplify management of current trace. Drop lazy save.
2010-04-25 13:53:33 +02:00
Mike Pall
721b73fecb
Turn traces into true GC objects (GCtrace).
2010-04-25 03:32:29 +02:00
Mike Pall
932cda0fe3
Replace on-trace GC frame syncing with interpreter exit.
...
Need to sync GC objects to stack only during atomic GC phase.
Need to setup a proper frame structure only for calling finalizers.
Force an exit to the interpreter and let it handle the uncommon cases.
Finally solves the "NYI: gcstep sync with frames" issue.
2010-04-19 00:43:35 +02:00
Mike Pall
fbe092c22d
Fix setup of RD when dispatching to function headers after exit.
2010-04-09 14:26:18 +02:00
Mike Pall
6038866f7d
Pass MULTRES or negated error code in RD to lj_vm_exit_interp.
...
Fixes overwrite of saved r12 after trace exit.
2010-03-23 18:31:17 +01:00
Mike Pall
16f33422f1
Restore MULTRES for snapshots pointing to CALLM etc. bytecodes.
2010-03-13 17:45:09 +01:00
Mike Pall
e7b737aa12
Implement down-recursion.
2010-03-01 06:45:30 +01:00
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