aboutsummaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* 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
|
* Avoid reuse of PHI registers, even for duplicate right PHIs.Mike Pall2010-01-271-1/+1
|
* Expose compressed snapshot map to reflection API.Mike Pall2010-01-272-33/+19
| | | | Update jit.dump module and restore printing of frame separators.
* Eliminate IR_FRAME. Replace with KGC and TRef/SnapEntry flags.Mike Pall2010-01-274-105/+81
|
* Add frame and continuation flags to TRef and SnapEntry.Mike Pall2010-01-275-39/+57
|
* Add missing check for return to lower frame.Mike Pall2010-01-271-1/+2
|
* Cleanup types for narrowing stack machine.Mike Pall2010-01-271-28/+35
|
* Compress snapshots using a simple, extensible 1D-compression.Mike Pall2010-01-2611-319/+365
| | | | | | 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.
* Add missing eviction in asm_obar().Mike Pall2010-01-261-0/+1
|
* Fill gaps in frames (caused by metamethod calls) with nil.Mike Pall2010-01-263-5/+5
| | | | Simplifies storing snapshots to stack.
* Use dedicated type for snapshot map entry.Mike Pall2010-01-258-33/+36
| | | | Preparatory work for compressed snapshots.
* Force error if lua_newstate() is used in 64 bit mode.Mike Pall2010-01-243-0/+21
|