Commit message (Collapse) | Author | Age | Files | Lines | ||
---|---|---|---|---|---|---|
... | ||||||
* | DUALNUM: Make overflow guards weak. Add IR_USE and IR_MULOV. | Mike Pall | 2011-03-07 | 1 | -2/+3 | |
| | ||||||
* | Suppress recording of retried fast functions. | Mike Pall | 2011-03-07 | 1 | -0/+4 | |
| | ||||||
* | Eliminate dead slots in snapshots using bytecode data-flow analysis. | Mike Pall | 2011-02-22 | 1 | -5/+3 | |
| | ||||||
* | Add workaround for lj_meta_tset() newkey inconsistency. | Mike Pall | 2011-02-15 | 1 | -1/+2 | |
| | ||||||
* | FFI: Record ffi.abi(). | Mike Pall | 2011-02-08 | 1 | -2/+5 | |
| | ||||||
* | FFI: Optimize snapshots for cdata comparisons. | Mike Pall | 2011-02-05 | 1 | -5/+9 | |
| | ||||||
* | Fix metamethod comparisons triggered by BC_ISEQP/BC_ISNEP. | Mike Pall | 2011-02-05 | 1 | -1/+1 | |
| | ||||||
* | Treat metatables of special userdata objects as immutable. | Mike Pall | 2011-02-05 | 1 | -12/+26 | |
| | ||||||
* | Add compile-time option LUAJIT_ENABLE_CHECKHOOK. Disabled by default. | Mike Pall | 2011-01-19 | 1 | -0/+21 | |
| | | | | This checks for asynchronously set hooks from compiled code. | |||||
* | Differentiate between IR_KPTR and IR_KKPTR. | Mike Pall | 2011-01-19 | 1 | -3/+3 | |
| | | | | | | | 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. | |||||
* | Cleanup and fix trace flush logic. | Mike Pall | 2011-01-18 | 1 | -0/+1 | |
| | ||||||
* | FFI: Record 64 bit integer comparisons and pointer comparisons. | Mike Pall | 2011-01-17 | 1 | -0/+1 | |
| | ||||||
* | Add trace recorder infrastructure for instruction post-processing. | Mike Pall | 2011-01-17 | 1 | -0/+20 | |
| | ||||||
* | Fix assertion. | Mike Pall | 2011-01-16 | 1 | -1/+4 | |
| | ||||||
* | FFI: Add 64 bit integer comparisons and pointer comparisons. | Mike Pall | 2011-01-13 | 1 | -0/+29 | |
| | ||||||
* | Bump copyright date to 2011. | Mike Pall | 2011-01-09 | 1 | -1/+1 | |
| | ||||||
* | FFI: Add support for cdata constants to IR. | Mike Pall | 2011-01-02 | 1 | -0/+5 | |
| | ||||||
* | Refactoring of conversion ops, part 4: use CONV instead of TOINT/TONUM. | Mike Pall | 2010-12-31 | 1 | -11/+11 | |
| | | | | Also narrow CONV.int.num and CONV.i64.num. | |||||
* | FFI: Treat cdata metatable+methods as immutable in trace recorder. | Mike Pall | 2010-12-08 | 1 | -0/+13 | |
| | ||||||
* | Add IR_KINT64. | Mike Pall | 2010-12-05 | 1 | -1/+2 | |
| | ||||||
* | Rename IRT_PTR to IRT_P32. | Mike Pall | 2010-12-05 | 1 | -20/+20 | |
| | ||||||
* | Split off fast function recording to lj_ffrecord.c. | Mike Pall | 2010-12-05 | 1 | -826/+38 | |
| | ||||||
* | Improve unrolling heuristics for non-looping inner loops. | Mike Pall | 2010-11-25 | 1 | -1/+2 | |
| | ||||||
* | Disable Lua 5.2 features by default. See -DLUAJIT_ENABLE_LUA52COMPAT. | Mike Pall | 2010-11-19 | 1 | -1/+4 | |
| | ||||||
* | Add support for __pairs and __ipairs metamethods (from Lua 5.2). | Mike Pall | 2010-11-18 | 1 | -27/+36 | |
| | ||||||
* | Fix recording of y = select(n, ...) for non-int indexes. | Mike Pall | 2010-10-11 | 1 | -0/+2 | |
| | ||||||
* | Decouple SLOAD type and optional conversion. | Mike Pall | 2010-10-11 | 1 | -9/+11 | |
| | ||||||
* | Specialize bytecode for pairs()/next() iterator. Speedup: 3.5x. | Mike Pall | 2010-09-30 | 1 | -0/+2 | |
| | | | | | | Parser predict pairs/next and emits specialized bytecode. Bytecode is descpecialized at runtime if the prediction was wrong. Store slot index in hidden control var to avoid key lookups. | |||||
* | Add IR_VLOAD for vararg loads. | Mike Pall | 2010-09-14 | 1 | -2/+2 | |
| | | | | Also fixes the broken AA improvement in the last commit. | |||||
* | Avoid unnecessary vararg loads. | Mike Pall | 2010-09-14 | 1 | -1/+2 | |
| | ||||||
* | Record y = select(x, ...) idiom. | Mike Pall | 2010-09-13 | 1 | -0/+59 | |
| | ||||||
* | Record select(). | Mike Pall | 2010-09-13 | 1 | -0/+42 | |
| | ||||||
* | Record vararg expressions with varargs defined off-trace. | Mike Pall | 2010-09-13 | 1 | -23/+57 | |
| | | | | Add SLOAD variant to access the frame type/size. | |||||
* | Fix tailcalls from vararg functions. | Mike Pall | 2010-09-13 | 1 | -1/+8 | |
| | ||||||
* | Fix off-by-one errors in maxslot calculation of trace recorder. | Mike Pall | 2010-09-12 | 1 | -2/+2 | |
| | ||||||
* | Record vararg expressions with known fixed number of results. | Mike Pall | 2010-09-12 | 1 | -1/+27 | |
| | ||||||
* | Record calls to vararg functions. | Mike Pall | 2010-09-12 | 1 | -2/+36 | |
| | | | | | | 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. | |||||
* | Turn some lua_State fields into 32 bit pointers. | Mike Pall | 2010-09-09 | 1 | -1/+2 | |
| | | | | lua_State now fits into one cache line on x64. | |||||
* | PPC: Clean up masked shift/rotate target settings. | Mike Pall | 2010-08-29 | 1 | -3/+2 | |
| | ||||||
* | Abstract out pointer hash to hashrot(). Tune hash constants. | Mike Pall | 2010-07-21 | 1 | -10/+1 | |
| | ||||||
* | Add weak guards. Emit TNEW/TDUP with a guard bit. | Mike Pall | 2010-05-08 | 1 | -2/+2 | |
| | ||||||
* | Treat the tag of a TValue as unsigned everywhere. | Mike Pall | 2010-04-25 | 1 | -1/+1 | |
| | ||||||
* | Make metamethod names proper GC roots. | Mike Pall | 2010-04-25 | 1 | -7/+5 | |
| | ||||||
* | Simplify management of current trace. Drop lazy save. | Mike Pall | 2010-04-25 | 1 | -6/+6 | |
| | ||||||
* | Turn traces into true GC objects (GCtrace). | Mike Pall | 2010-04-25 | 1 | -7/+6 | |
| | ||||||
* | No longer let the GC replace dead keys with the LJ_TDEADKEY tag. | Mike Pall | 2010-04-21 | 1 | -2/+7 | |
| | | | | | | | | Important: this changes the semantics of the write barrier! Carefully read the big comment block in lj_obj.h This helps HREFK key slot specialization and allows safely hoisting HREF/HREFK across GC steps, too (fix for a barely reproducible bug). Dead keys are only removed during a table resize (as before). | |||||
* | Replace on-trace GC frame syncing with interpreter exit. | Mike Pall | 2010-04-19 | 1 | -7/+16 | |
| | | | | | | | 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. | |||||
* | Generate EQ(HREF, niltv) for load path, too (better CSE). | Mike Pall | 2010-03-28 | 1 | -1/+7 | |
| | ||||||
* | Fix precondition check for NEWREF. | Mike Pall | 2010-03-28 | 1 | -2/+2 | |
| | | | | A check for nil value is not enough. Must check for ptr == niltv. | |||||
* | Avoid snapshots for returns to known callers. | Mike Pall | 2010-03-21 | 1 | -2/+2 | |
| |