aboutsummaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* Just disable JIT compiler for non-SSE2 CPUs instead of aborting.Mike Pall2010-02-164-18/+27
|
* 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-152-18/+18
|
* Use a different marker for hot calls.Mike Pall2010-02-155-1081/+1097
|
* Add generic function handling for debug modules.Mike Pall2010-02-154-48/+52
| | | | 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-149-1450/+1493
|
* Implement call hooks (zero-cost if disabled).Mike Pall2010-02-149-1583/+1693
|
* Major redesign of function call handling.Mike Pall2010-02-1334-4178/+4324
| | | | | | | | | | | 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
|
* Fix dump of bytecode instructions with missing operands.Mike Pall2010-02-111-4/+5
|
* 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
|
* 32/64 bit memory ref cleanup, part 4: GCproto ->varinfo.Mike Pall2010-02-055-15/+21
|
* 32/64 bit memory ref cleanup, part 3: GCproto ->lineinfo.Mike Pall2010-02-058-26/+38
|
* 32/64 bit memory ref cleanup, part 2: GCproto ->uvname and ->chunkname.Mike Pall2010-02-058-30/+43
|
* 32/64 bit memory ref cleanup, part 1: GCproto ->bc and ->k.Mike Pall2010-02-0510-66/+84
|
* RETF modifies BASE. Treat it like a store or it gets CSEd.Mike Pall2010-02-042-1/+3
|
* Reset the hotcount table after a JIT off to on transition.Mike Pall2010-02-043-15/+18
|
* Add shadow frame link stack for trace recorder.Mike Pall2010-02-046-56/+82
| | | | | Simplifies snapshots. Prerequisite for pre-call snapshots. Increases consistency for fast function calls, too.
* Fix unroll limit checks and frame depth adjustment for pcall.Mike Pall2010-02-031-13/+11
|
* Clean up frame depth checks and loop detection.Mike Pall2010-02-033-6/+12
|
* Add extra check to suppress hotcall event during recording.Mike Pall2010-02-031-2/+3
|
* Another loop formation test must check for return to lower frame.Mike Pall2010-02-031-1/+1
|
* Improve coalescing of BASE register in side traces.Mike Pall2010-02-011-21/+47
|
* Revise hardcoded inlining in lj_asm.c. Saves 1-2K.Mike Pall2010-01-301-4/+4
|
* Add support for weak IR references to register allocator.Mike Pall2010-01-301-18/+51
| | | | | | Spilling a weak ref forces a spill slot, but omits the restore. Spill slots for snapshot refs override the register, anyway. Marking snapshot refs weak avoids pointless restores.
* Loop formation test must check for return to lower frame.Mike Pall2010-01-291-1/+2
|
* Compile return to lower frame. Only for Lua frames right now.Mike Pall2010-01-293-40/+75
|
* Followup fix: set maxslot for continuation return.Mike Pall2010-01-281-0/+1
|
* Drop obsolete frame shrinking after continuation return.Mike Pall2010-01-281-4/+1
|
* Fix recording of metamethod result adjustment.Mike Pall2010-01-281-1/+1
|
* Don't modify jit_State and exit counters while in vmevent.Mike Pall2010-01-281-15/+16
| | | | Fixes crash with hot loop in TEXIT callback which cleared J->parent.
* Fix snapshot dumps.Mike Pall2010-01-281-1/+1
|