Mike Pall
afeb4e2c51
Handle initial snapshot for side traces in lj_snap.c only.
2012-07-02 22:52:15 +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
10ef109eef
Bump copyright date to 2012.
2012-01-23 22:42:42 +01:00
Mike Pall
c142b6c53e
FFI: Record C function calls with bool return values.
2011-11-25 19:36:35 +01:00
Mike Pall
cecbe3c15f
Specialize to prototype for non-monomorphic functions.
...
Solves the trace-explosion problem with closure-heavy programming.
2011-11-20 19:16:40 +01:00
Mike Pall
cc7a12be93
Count frames with same prototype in call unroll limit check.
2011-11-20 17:59:41 +01:00
Mike Pall
dc2a39e46d
Get rid of snap->depth.
2011-11-20 13:23:25 +01:00
Mike Pall
78cc9c889d
Record missing FORI slot loads (e.g. after return to lower frame).
2011-08-21 15:08:27 +02:00
Mike Pall
05ef03e2d0
Don't bother to chain NOPs.
2011-08-11 22:04:38 +02:00
Mike Pall
64dbe7d929
Return to lower frame via interpreter for unhandled cases.
...
E.g. spontaneous upcalls from C are now compiled.
2011-06-29 01:53:39 +02:00
Mike Pall
deeb8196c4
Reorganize trace linking and track link types.
2011-06-28 23:23:34 +02:00
Mike Pall
4df40a228f
Fix recording of loops with instable directions in side traces.
2011-06-20 21:51:31 +02:00
Mike Pall
31d566428f
From Lua 5.2: __len for tables. Needs -DLUAJIT_ENABLE_LUA52COMPAT.
2011-06-20 20:45:41 +02:00
Mike Pall
b6a7fc5330
Cleanup prototype flags.
2011-06-09 13:54:40 +02:00
Mike Pall
8c5935000d
Add narrowing of modulo operator.
2011-06-03 18:48:02 +02:00
Mike Pall
8dd09d5041
DUALNUM: Fix missing type check for loop index slot.
2011-06-01 00:49:29 +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
919ba5fd74
Add missing guard to for loop argument conversion.
2011-05-22 16:47:55 +02:00
Mike Pall
effdfda673
Move IR_CALL* definitions to lj_ircall.h.
2011-05-22 16:28:43 +02:00
Mike Pall
b79cdba3a0
Tuning loop unrolling heuristics again.
2011-05-10 16:55:23 +02:00
Mike Pall
fb8b87e818
More tuning of loop unrolling heuristics.
2011-05-04 23:21:46 +02:00
Mike Pall
b4006ba9a8
Fix stack slot updates for down-recursion.
2011-05-04 21:34:21 +02:00
Mike Pall
139175f8c4
Tune loop unrolling heuristics. Increase trace recorder limits.
2011-05-03 21:14:18 +02:00
Mike Pall
9ea679410c
Workaround to compile with Clang. Fix Clang warnings.
2011-04-19 17:12:41 +02:00
Mike Pall
23f847f4ed
Optimize lookups in empty proxy tables.
2011-04-10 21:43:21 +02:00
Mike Pall
d85b7e636e
Fix recording of JLOOP with higher maxslot.
2011-04-10 18:00:08 +02:00
Mike Pall
7088abce8f
DUALNUM: Fix narrowing of unary minus.
2011-03-19 17:46:10 +01:00
Mike Pall
dcbae09b1d
DUALNUM: Narrow unary minus.
2011-03-15 18:14:18 +01:00
Mike Pall
bfce3c1127
DUALNUM: Handle integer type in JIT compiler.
2011-03-10 01:57:24 +01:00
Mike Pall
54978e481b
DUALNUM: Make overflow guards weak. Add IR_USE and IR_MULOV.
2011-03-07 20:21:38 +01:00
Mike Pall
8eb09fe820
Suppress recording of retried fast functions.
2011-03-07 20:03:38 +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
4dca589af0
Add workaround for lj_meta_tset() newkey inconsistency.
2011-02-15 01:02:08 +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
da3f256a52
Fix metamethod comparisons triggered by BC_ISEQP/BC_ISNEP.
2011-02-05 16:32:08 +01:00
Mike Pall
223d85aa06
Treat metatables of special userdata objects as immutable.
2011-02-05 14:09:50 +01:00
Mike Pall
6bce6b118e
Add compile-time option LUAJIT_ENABLE_CHECKHOOK. Disabled by default.
...
This checks for asynchronously set hooks from compiled code.
2011-01-19 02:05:37 +01:00
Mike Pall
925050fe3f
Differentiate between IR_KPTR and IR_KKPTR.
...
IR_KPTR holds a const pointer to possibly non-const content.
IR_KKPTR holds a const pointer to definitely const content.
Note that only content known by the VM to be const qualifies.
Content tagged as const by users (e.g. const char *) doesn't.
2011-01-19 00:40:03 +01:00
Mike Pall
751eff9f97
Cleanup and fix trace flush logic.
2011-01-18 21:08:23 +01:00
Mike Pall
f385af7084
FFI: Record 64 bit integer comparisons and pointer comparisons.
2011-01-17 01:23:04 +01:00
Mike Pall
66ba1e68aa
Add trace recorder infrastructure for instruction post-processing.
2011-01-17 01:20:10 +01:00
Mike Pall
2940ab023a
Fix assertion.
2011-01-16 19:24:50 +01:00
Mike Pall
0ec7f5ed92
FFI: Add 64 bit integer comparisons and pointer comparisons.
2011-01-13 02:35:29 +01:00
Mike Pall
06f99fc3df
Bump copyright date to 2011.
2011-01-09 17:12:53 +01:00
Mike Pall
b2c74c52cc
FFI: Add support for cdata constants to IR.
2011-01-02 22:21:10 +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
2a917a9d83
FFI: Treat cdata metatable+methods as immutable in trace recorder.
2010-12-08 02:02:21 +01:00
Mike Pall
5a13fa69d9
Add IR_KINT64.
2010-12-05 22:12:31 +01:00
Mike Pall
6a7605ec85
Rename IRT_PTR to IRT_P32.
2010-12-05 18:59:34 +01:00