Commit Graph

42 Commits

Author SHA1 Message Date
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
139175f8c4 Tune loop unrolling heuristics. Increase trace recorder limits. 2011-05-03 21:14:18 +02:00
Mike Pall
8eb09fe820 Suppress recording of retried fast functions. 2011-03-07 20:03:38 +01:00
Mike Pall
c39ca7c35b FFI: Record ffi.abi(). 2011-02-08 00:09:33 +01:00
Mike Pall
bf05209e14 FFI: Optimize snapshots for cdata comparisons. 2011-02-05 18:54:08 +01:00
Mike Pall
b613216efc Add SPLIT pass to split 64 bit IR instructions for 32 bit CPUs.
Add generic HIOP instruction for extra backend functionality.
Add support for HIOP to x86 backend.
Use POWI for 64 bit integer x^k, too.
POWI is lowered to a call by SPLIT or the x64 backend.
2011-02-02 02:29:37 +01:00
Mike Pall
c539c0cac8 Add SSE3 CPU feature detection. 2011-02-01 19:28:03 +01:00
Mike Pall
751eff9f97 Cleanup and fix trace flush logic. 2011-01-18 21:08:23 +01:00
Mike Pall
66ba1e68aa Add trace recorder infrastructure for instruction post-processing. 2011-01-17 01:20:10 +01:00
Mike Pall
06f99fc3df Bump copyright date to 2011. 2011-01-09 17:12:53 +01:00
Mike Pall
1716540c55 Refactoring of conversion ops, part 4: use CONV instead of TOINT/TONUM.
Also narrow CONV.int.num and CONV.i64.num.
2010-12-31 03:56:30 +01:00
Mike Pall
5a13fa69d9 Add IR_KINT64. 2010-12-05 22:12:31 +01:00
Mike Pall
24baf77955 Cleanup architecture, ABI and OS definitions. 2010-11-16 15:03:40 +01:00
Mike Pall
b3cf2c70f4 Decouple SLOAD type and optional conversion. 2010-10-11 21:13:37 +02:00
Mike Pall
c88169dc46 Record y = select(x, ...) idiom. 2010-09-13 01:23:19 +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
db756430ee Don't copy SNAP_NORESTORE mark into loops and suppress restore in exit. 2010-04-08 01:32:26 +02:00
Mike Pall
37a3ca330f Reorder various structs to reduce padding (thanks to /usr/bin/pahole). 2010-03-15 23:29:10 +01:00
Mike Pall
c4727220e8 Add array bounds check elimination (-Oabc, on by default). 2010-03-15 17:02:53 +01:00
Mike Pall
24402ede04 Reorganize scalar evolution analysis. 2010-03-15 16:23:02 +01:00
Mike Pall
e7b737aa12 Implement down-recursion. 2010-03-01 06:45:30 +01:00
Mike Pall
ec78d3177e Correctly align and free allocated machine code areas.
Bump default mcode area size to 64K for x64.
2010-02-27 20:18:11 +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
8ae2f9feaa Randomize penalties for aborts and add blacklisting. 2010-02-23 19:41:32 +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
86494c783d Back out history buffer for tailcall counts.
Use an aggregate counter independent of frame depth.
2010-02-22 16:57:59 +01:00
Mike Pall
19af483166 Add region selection for up-recursion and tail-recursion. 2010-02-22 14:35:47 +01:00
Mike Pall
c1658ddcf1 Eliminate redundant stack checks. Add checks for growing root traces. 2010-02-21 16:47:43 +01:00
Mike Pall
b11eeab906 Use a limited history buffer for tailcall counts while recording. 2010-02-18 19:32:13 +01:00
Mike Pall
2b22b9e710 Drop obsolete shadow frame link stack. 2010-02-18 03:19:46 +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
318e86c7eb Clean up frame depth checks and loop detection. 2010-02-03 14:55:56 +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
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
55b1695971 RELEASE LuaJIT-2.0.0-beta1 2009-12-08 19:46:35 +01:00