Mike Pall
cb481ddc8f
Add LJ_GC64 mode: 64 bit GC object references.
...
Actually NaN tagging with 47 bit pointers and 13+4 bit tags.
2015-01-03 15:23:58 +01:00
Mike Pall
054e6abe37
Add LJ_FR2 mode: Two-slot frame info.
2015-01-03 15:04:38 +01:00
Mike Pall
5cb6e2eaaf
Cleanup of TValue setters. No functional changes.
2014-12-20 01:48:00 +01:00
Mike Pall
881f48f980
Cleanup of frame handling. No functional changes.
2014-12-15 02:27:27 +01:00
Mike Pall
d3e3700180
Merge branch 'master' into v2.1
2014-04-03 21:48:34 +02:00
Mike Pall
111b2e8711
Fix top slot calculation for snapshots with continuations.
2014-04-03 21:45:57 +02:00
Mike Pall
4e78b9bb12
Merge branch 'master' into v2.1
2014-01-19 13:12:23 +01:00
Mike Pall
45c067dddd
FFI: Fix cts->L for cdata unsinking in snapshot restore.
2014-01-19 13:09:20 +01:00
Mike Pall
a9d4543601
Merge branch 'master' into v2.1
2014-01-16 23:18:34 +01:00
Mike Pall
ef59e54820
Bump copyright date to 2014.
2014-01-16 23:10:16 +01:00
Mike Pall
b5d741fa7e
Add trace stitching.
2013-12-25 02:55:25 +01:00
Mike Pall
f1e7a4477c
Fix snapshot restore for exit to function header.
2013-09-13 00:33:58 +02:00
Mike Pall
2c3e80d4fd
FFI: Must sink XBAR together with XSTOREs.
2013-05-23 22:15:51 +02:00
Mike Pall
4a44c4ff69
Bump copyright date to 2013.
2013-02-11 12:54:48 +01:00
Mike Pall
a6d636c508
Preserve snapshot #0 PC for all traces (potential gcstep exit).
2012-09-01 00:58:00 +02:00
Mike Pall
23abbd9ef3
Only replay sunk stores up to the snapshot reference.
2012-07-29 21:37:45 +02:00
Mike Pall
834ff6d36d
Fix slot flags in snapshot replay.
2012-07-20 18:52:29 +02:00
Mike Pall
f1b4fa844b
Fix restore of sunk CNEWI with implicit P32 to P64 conversion.
2012-07-18 18:02:32 +02:00
Mike Pall
7c056488d9
Drop range limit for sunk stores relative to sunk allocation.
2012-07-04 21:16:06 +02:00
Mike Pall
c740a30223
Invoke SPLIT pass in side trace for rejoined sunk stores.
2012-07-03 12:41:21 +02:00
Mike Pall
2df19049ef
Avoid strict aliasing issues.
2012-07-03 00:03:01 +02:00
Mike Pall
0af3f47ba0
Add allocation sinking and store sinking optimization.
2012-07-02 23:47:12 +02:00
Mike Pall
afeb4e2c51
Handle initial snapshot for side traces in lj_snap.c only.
2012-07-02 22:52:15 +02:00
Mike Pall
0688de5483
Add IR_PVAL instruction for non-slot parent links.
2012-07-02 22:47:20 +02:00
Mike Pall
7ae3832f20
Move snapshot replay for side traces to lj_snap.c.
2012-07-02 13:37:55 +02:00
Mike Pall
cda3630565
Clean up RegSP handling for parent link instructions.
2012-07-01 22:44:54 +02:00
Mike Pall
eacecc90e1
Clean up snapshot restore.
2012-06-30 20:45:59 +02:00
Mike Pall
7266e27404
Correctly preserve snapshot #0 PC for root traces (insert NOP).
2012-06-08 19:22:59 +02:00
Mike Pall
f3197046b8
Preserve snapshot #0 PC for root traces.
2012-05-14 17:35:05 +02:00
Mike Pall
10ef109eef
Bump copyright date to 2012.
2012-01-23 22:42:42 +01:00
Mike Pall
1a42c03807
Fix stack check in side exit.
2011-11-25 19:36:48 +01:00
Mike Pall
f8a4769fb2
Keep maximum frame extent in snap->topslot.
2011-11-20 17:56:47 +01:00
Mike Pall
dc2a39e46d
Get rid of snap->depth.
2011-11-20 13:23:25 +01:00
Mike Pall
113f8e9ac2
Fix data-flow analysis for BC_ITERL.
2011-06-27 01:11:11 +02:00
Mike Pall
f50d8986d8
Fix data-flow analysis for BC_UCLO.
2011-06-07 11:51:04 +02:00
Mike Pall
46955be1e2
Fix handling of number constants in snapshots in SPLIT pass.
2011-05-27 01:56:25 +02:00
Mike Pall
138f54352a
Split up FP IR instructions with SPLIT pass for soft-float targets.
2011-05-22 17:44:58 +02:00
Mike Pall
fb46370e56
Cleanup of target dependencies.
2011-05-16 19:32:47 +02:00
Mike Pall
1ac71f1fa8
ARM: Add LJ_SOFTFP define. Add support for soft-float slot handling.
2011-05-16 02:38:07 +02:00
Mike Pall
67d3ac9b19
Fix some portability issues with the JIT compiler.
2011-05-09 20:46:58 +02:00
Mike Pall
a1c887e3b9
Fix data-flow analysis for BC_ITERC.
2011-03-19 17:30:15 +01:00
Mike Pall
bfce3c1127
DUALNUM: Handle integer type in JIT compiler.
2011-03-10 01:57:24 +01:00
Mike Pall
4c97cc7730
Eliminate dead slots in snapshots using bytecode data-flow analysis.
2011-02-22 22:39:12 +01:00
Mike Pall
03946ac978
DUALNUM: Add integer type to core VM.
2011-02-17 00:44:14 +01:00
Mike Pall
06f99fc3df
Bump copyright date to 2011.
2011-01-09 17:12:53 +01:00
Mike Pall
c2c08ba9b3
Record calls to vararg functions.
...
This loop is now roughly 1000x faster than the Lua interpreter:
local function f(a,b,...) end; for i=1,2e8 do f(1,2,i) end
Yet another silly microbenchmark -- I know.
2010-09-12 01:44:13 +02:00
Mike Pall
96957a4551
Turn some lua_State fields into 32 bit pointers.
...
lua_State now fits into one cache line on x64.
2010-09-09 12:28:17 +02:00
Mike Pall
721b73fecb
Turn traces into true GC objects (GCtrace).
2010-04-25 03:32:29 +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
db756430ee
Don't copy SNAP_NORESTORE mark into loops and suppress restore in exit.
2010-04-08 01:32:26 +02:00
Mike Pall
16f33422f1
Restore MULTRES for snapshots pointing to CALLM etc. bytecodes.
2010-03-13 17:45:09 +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
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
c52da1f2da
Rethrow errors from trace exit handling from the right C frame.
2010-02-19 03:13:48 +01:00
Mike Pall
2b22b9e710
Drop obsolete shadow frame link stack.
2010-02-18 03:19:46 +01:00
Mike Pall
b838cd8dca
Minor cleanup of trace event handling.
2010-02-15 16:41:52 +01:00
Mike Pall
565eb39574
Drop frame clearing in exit handling and JIT compiled code.
2010-02-11 01:50:32 +01:00
Mike Pall
7256690364
Add shadow frame link stack for trace recorder.
...
Simplifies snapshots. Prerequisite for pre-call snapshots.
Increases consistency for fast function calls, too.
2010-02-04 03:08:29 +01:00
Mike Pall
3aeb892262
Eliminate IR_FRAME. Replace with KGC and TRef/SnapEntry flags.
2010-01-27 03:50:29 +01:00
Mike Pall
d216cdb2b9
Add frame and continuation flags to TRef and SnapEntry.
2010-01-27 02:17:56 +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
34d84f8836
Fill gaps in frames (caused by metamethod calls) with nil.
...
Simplifies storing snapshots to stack.
2010-01-26 00:45:30 +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
3f1f9e11f4
Fast forward to sync public repo.
...
Compile math.sinh(), math.cosh(), math.tanh() and math.random().
Compile various io.*() functions.
Drive the GC forward on string allocations in the parser.
Improve KNUM fuse vs. load heuristics.
Add abstract C call handling to IR.
2009-12-08 20:35:29 +01:00
Mike Pall
55b1695971
RELEASE LuaJIT-2.0.0-beta1
2009-12-08 19:46:35 +01:00