aboutsummaryrefslogtreecommitdiff
path: root/src (follow)
Commit message (Collapse)AuthorAgeFilesLines
* Check relative jump distances for x64.Mike Pall2010-02-241-9/+18
|
* Fix type() implementation for x64 lightuserdata.Mike Pall2010-02-241-0/+12
|
* Fix exit state for 64 bit mode.Mike Pall2010-02-242-2/+2
|
* Randomize penalties for aborts and add blacklisting.Mike Pall2010-02-235-20/+45
|
* Mark renamed registers as modified.Mike Pall2010-02-231-1/+2
|
* Don't eliminate SLOAD restores across RETF.Mike Pall2010-02-233-6/+13
| | | | Move restore-elimination logic into snapshot_slots().
* Do not patch parent exit for a stack check.Mike Pall2010-02-221-0/+8
|
* Ensure function and all args have a reference for call recording.Mike Pall2010-02-221-11/+28
| | | | In practice this is only needed after a return to a lower frame.
* Fix TRef for (dummy) 2nd arg of __len metamethod.Mike Pall2010-02-221-1/+1
|
* Back out history buffer for tailcall counts.Mike Pall2010-02-222-5/+3
| | | | Use an aggregate counter independent of frame depth.
* Add region selection for up-recursion and tail-recursion.Mike Pall2010-02-223-4/+5
|
* Refactor Lua stack handling in lj_asm.c.Mike Pall2010-02-211-104/+115
|
* Eliminate redundant stack checks. Add checks for growing root traces.Mike Pall2010-02-212-8/+26
|
* Rethrow errors from trace exit handling from the right C frame.Mike Pall2010-02-199-1679/+1719
|
* Allow linking to already compiled functions.Mike Pall2010-02-182-8/+24
|
* Use a limited history buffer for tailcall counts while recording.Mike Pall2010-02-182-14/+17
|
* Adapt bytecode patching/unpatching for hot calls.Mike Pall2010-02-181-9/+6
|
* Update trace recorder infrastructure for hot calls.Mike Pall2010-02-183-15/+17
|
* Fix some uses of tref_isint().Mike Pall2010-02-181-2/+2
|
* Drop obsolete shadow frame link stack.Mike Pall2010-02-185-47/+38
|
* Add more assertions to compare the recorder state and the VM state.Mike Pall2010-02-181-4/+31
|
* Clear frame gaps in recorder to avoid resurrecting previous refs.Mike Pall2010-02-181-2/+6
|
* Just disable JIT compiler for non-SSE2 CPUs instead of aborting.Mike Pall2010-02-163-14/+20
|
* Split CALL/FUNC recording.Mike Pall2010-02-162-447/+455
| | | | | | | | Record __call resolving and specialization for CALL* bytecodes. Record argument adjustment and fast functions for FUNC* bytecodes. Avoids all pending/immediate decisions for chained fast functions. Cleaner semantics for pcall(), xpcall() and __tostring metamethod. Prerequisite to drop the shadow frame link stack again.
* Improve error reporting for traces aborted in non-Lua functions.Mike Pall2010-02-151-2/+13
|
* Change record vmevent parameters. Dump function id on FUNC*.Mike Pall2010-02-151-12/+6
|
* Use a different marker for hot calls.Mike Pall2010-02-155-1081/+1097
|
* Add generic function handling for debug modules.Mike Pall2010-02-152-14/+18
| | | | Don't call record vmevent for non-Lua functions.
* Minor cleanup of trace event handling.Mike Pall2010-02-155-37/+33
|
* Add missing FORI coercions in recorder.Mike Pall2010-02-151-4/+13
|
* Improve FOR loop const specialization and integerness checks.Mike Pall2010-02-152-34/+68
|
* Implement return hooks for Lua functions (zero-cost if disabled).Mike Pall2010-02-147-1447/+1490
|
* Implement call hooks (zero-cost if disabled).Mike Pall2010-02-147-1582/+1690
|
* Major redesign of function call handling.Mike Pall2010-02-1333-4153/+4311
| | | | | | | | | | | 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.
* Extend scope of local vars in debug info beyond final return.Mike Pall2010-02-121-1/+1
|
* Move dispatch tables out of GG_State struct.Mike Pall2010-02-1110-43/+45
|
* Drop frame clearing in exit handling and JIT compiled code.Mike Pall2010-02-112-21/+1
|
* Switch to pre-initialized stacks. Drop frame clearing in interpreter.Mike Pall2010-02-117-2686/+2697
|
* Replace GCproto reference with bytecode PC in GCfuncL.Mike Pall2010-02-103-30/+32
|
* Drop bc field in GCproto since the bytecode is colocated.Mike Pall2010-02-087-29/+23
|
* Fix constructor bytecode generation for conditional values.Mike Pall2010-02-081-1/+1
|
* Reduce whitespace in lj_bcdef.h.Mike Pall2010-02-081-4/+4
|
* Redesign of prototype generation, part 5: colocation of protoype arrays.Mike Pall2010-02-0810-129/+90
|
* Redesign of prototype generation, part 4: late creation of prototype.Mike Pall2010-02-082-20/+20
|
* Redesign of prototype generation, part 3: bc and lineinfo.Mike Pall2010-02-083-88/+109
| | | | | Use a growable, per-chunk bytecode instruction/line stack. Collect bc/lineinfo for prototype at the end.
* Redesign of prototype generation, part 2: late init of chunkname.Mike Pall2010-02-082-5/+6
|
* Redesign of prototype generation, part 1: varinfo and uvname.Mike Pall2010-02-086-96/+109
| | | | | Use a growable, per-chunk variable stack. Collect varinfo/uvname for prototype at the end.
* Major cleanup of bytecode parser.Mike Pall2010-02-061-1334/+1327
|
* Update .gitignore.Mike Pall2010-02-061-0/+1
|
* Move bytecode offsets from lj_vm.* to generated header.Mike Pall2010-02-0511-62/+49
|