summaryrefslogtreecommitdiff
path: root/src/lj_asm.c (follow)
Commit message (Collapse)AuthorAgeFilesLines
...
* Improve FOR loop const specialization and integerness checks.Mike Pall2010-02-151-5/+7
|
* Major redesign of function call handling.Mike Pall2010-02-131-2/+2
| | | | | | | | | | | 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.
* Move dispatch tables out of GG_State struct.Mike Pall2010-02-111-2/+2
|
* Drop frame clearing in exit handling and JIT compiled code.Mike Pall2010-02-111-17/+1
|
* Add shadow frame link stack for trace recorder.Mike Pall2010-02-041-3/+3
| | | | | Simplifies snapshots. Prerequisite for pre-call snapshots. Increases consistency for fast function calls, too.
* 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.
* Compile return to lower frame. Only for Lua frames right now.Mike Pall2010-01-291-3/+21
|
* Avoid reuse of PHI registers, even for duplicate right PHIs.Mike Pall2010-01-271-1/+1
|
* Eliminate IR_FRAME. Replace with KGC and TRef/SnapEntry flags.Mike Pall2010-01-271-39/+28
|
* Add frame and continuation flags to TRef and SnapEntry.Mike Pall2010-01-271-17/+17
|
* Compress snapshots using a simple, extensible 1D-compression.Mike Pall2010-01-261-53/+48
| | | | | | 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-261-2/+2
| | | | Simplifies storing snapshots to stack.
* Use dedicated type for snapshot map entry.Mike Pall2010-01-251-5/+5
| | | | Preparatory work for compressed snapshots.
* Decouple guard vs. INT check vs. TYPECHECK semantics for SLOAD.Mike Pall2010-01-191-2/+4
|
* Fix broken intarith + testop optimization.Mike Pall2010-01-191-1/+1
|
* Improve alias analysis of upvalues using a disambiguation hash value.Mike Pall2010-01-091-3/+3
| | | | | | | | All upvalue objects hold a disambiguation hash value now. It's built from the parent prototype and the slot number. Different hash values imply the upvalues cannot alias. Same hash values don't imply anything (collision or different closures). Upvalue disambiguation makes use of a reduced hash due to IR contraints.
* Fix 32/64 bit portability issue with upval->v.Mike Pall2010-01-091-1/+1
|
* Bump all copyright dates to 2010.Mike Pall2010-01-091-1/+1
|
* Add SSE variant of pow/powi to interpreter.Mike Pall2009-12-251-39/+72
| | | | | | Use SSE pow/powi helper functions from compiled code. Cleanup use of helper functions. Related cleanups of folding functions in x64 interpreter.
* Use SSE variants for IRFPM_FLOOR/CEIL/TRUNC unless SSE4.1 available.Mike Pall2009-12-221-0/+18
|
* Fast forward to sync public repo.Mike Pall2009-12-081-251/+347
| | | | | | | | Compile math.sinh(), math.cosh(), math.tanh() and math.random(). Compile various io.*() functions. Drive the GC forward on string allocations in the parser. Improve KNUM fuse vs. load heuristics. Add abstract C call handling to IR.
* RELEASE LuaJIT-2.0.0-beta2v2.0.0-beta2Mike Pall2009-12-081-4/+7
|
* RELEASE LuaJIT-2.0.0-beta1v2.0.0-beta1Mike Pall2009-12-081-0/+3324