Commit message (Collapse) | Author | Age | Files | Lines | ||
---|---|---|---|---|---|---|
... | ||||||
* | Cleanup 64 bit IR type handling. | Mike Pall | 2010-12-05 | 1 | -21/+23 | |
| | ||||||
* | Make sure to use irt_toitype() macro everywhere. | Mike Pall | 2010-12-05 | 1 | -8/+8 | |
| | ||||||
* | Cleanup architecture, ABI and OS definitions. | Mike Pall | 2010-11-16 | 1 | -6/+2 | |
| | ||||||
* | Fix conflict between loop branch inversion and HREF+NE/EQ merging. | Mike Pall | 2010-11-05 | 1 | -5/+7 | |
| | ||||||
* | Decouple SLOAD type and optional conversion. | Mike Pall | 2010-10-11 | 1 | -6/+7 | |
| | ||||||
* | x64: Fix type check for numbers in compiled code. | Mike Pall | 2010-10-11 | 1 | -5/+21 | |
| | ||||||
* | Avoid fusing potentially negative indexes into AREF on x64. | Mike Pall | 2010-09-18 | 1 | -2/+3 | |
| | ||||||
* | Add IR_VLOAD for vararg loads. | Mike Pall | 2010-09-14 | 1 | -3/+8 | |
| | | | | Also fixes the broken AA improvement in the last commit. | |||||
* | Record vararg expressions with varargs defined off-trace. | Mike Pall | 2010-09-13 | 1 | -18/+29 | |
| | | | | Add SLOAD variant to access the frame type/size. | |||||
* | Untangle some target dependencies. | Mike Pall | 2010-08-03 | 1 | -1/+1 | |
| | ||||||
* | Abstract out pointer hash to hashrot(). Tune hash constants. | Mike Pall | 2010-07-21 | 1 | -10/+7 | |
| | ||||||
* | Fix passing of constant args in FPRs on x64. | Mike Pall | 2010-07-14 | 1 | -1/+1 | |
| | ||||||
* | Add weak guards. Emit TNEW/TDUP with a guard bit. | Mike Pall | 2010-05-08 | 1 | -21/+18 | |
| | ||||||
* | Simplify management of current trace. Drop lazy save. | Mike Pall | 2010-04-25 | 1 | -2/+2 | |
| | ||||||
* | Turn traces into true GC objects (GCtrace). | Mike Pall | 2010-04-25 | 1 | -8/+8 | |
| | ||||||
* | Simplify GC step calls from on-trace code. | Mike Pall | 2010-04-19 | 1 | -39/+28 | |
| | ||||||
* | Replace on-trace GC frame syncing with interpreter exit. | Mike Pall | 2010-04-19 | 1 | -49/+17 | |
| | | | | | | | 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. | |||||
* | Fix setup of RD when dispatching to function headers after exit. | Mike Pall | 2010-04-09 | 1 | -5/+6 | |
| | ||||||
* | Also merge EQ(HREF, niltv) in backend. | Mike Pall | 2010-03-28 | 1 | -4/+10 | |
| | ||||||
* | Only fuse with spill slots for cross-section references. | Mike Pall | 2010-03-28 | 1 | -1/+1 | |
| | ||||||
* | Pass MULTRES or negated error code in RD to lj_vm_exit_interp. | Mike Pall | 2010-03-23 | 1 | -21/+7 | |
| | | | | Fixes overwrite of saved r12 after trace exit. | |||||
* | Move colocated array part after GCtab (now properly aligned). | Mike Pall | 2010-03-22 | 1 | -1/+1 | |
| | ||||||
* | Increase max. fusion distance. | Mike Pall | 2010-03-19 | 1 | -1/+1 | |
| | ||||||
* | Reorder various structs to reduce padding (thanks to /usr/bin/pahole). | Mike Pall | 2010-03-15 | 1 | -3/+3 | |
| | ||||||
* | Add array bounds check elimination (-Oabc, on by default). | Mike Pall | 2010-03-15 | 1 | -1/+1 | |
| | ||||||
* | Restore MULTRES for snapshots pointing to CALLM etc. bytecodes. | Mike Pall | 2010-03-13 | 1 | -0/+23 | |
| | ||||||
* | Do not fuse SLOAD across RETF. | Mike Pall | 2010-03-08 | 1 | -1/+2 | |
| | ||||||
* | Generate indirect calls for out-of-range distances on x64. | Mike Pall | 2010-03-07 | 1 | -0/+8 | |
| | ||||||
* | Improve performance of HREF/HREFK on x64. | Mike Pall | 2010-03-03 | 1 | -3/+42 | |
| | ||||||
* | Improve register allocation on x64. | Mike Pall | 2010-03-02 | 1 | -0/+5 | |
| | ||||||
* | Implement down-recursion. | Mike Pall | 2010-03-01 | 1 | -1/+7 | |
| | ||||||
* | Add x64 call argument setup. More 32/64 bit cleanups in assembler. | Mike Pall | 2010-02-25 | 1 | -42/+58 | |
| | ||||||
* | Fix 64 bit conversion warnings. | Mike Pall | 2010-02-24 | 1 | -1/+1 | |
| | ||||||
* | Major 32/64 bit cleanups in assembler and exit handling. | Mike Pall | 2010-02-24 | 1 | -66/+152 | |
| | | | | | | | | | Add 64 bit lightuserdata handling. Keep the tagged 64 bit value. Allocate/save/restore 64 bit spill slots for 64 bit lightuserdata. Fix code generation for 64 bit loads/stores/moves/compares. Fix code generation for stack pointer adjustments. Add fixed spill slot definitions for x64. Reduce reserved spill slots. Disable STRREF + ADD fusion in 64 bit mode (avoid negative 32 bit ofs). | |||||
* | Check relative jump distances for x64. | Mike Pall | 2010-02-24 | 1 | -9/+18 | |
| | ||||||
* | Mark renamed registers as modified. | Mike Pall | 2010-02-23 | 1 | -1/+2 | |
| | ||||||
* | Don't eliminate SLOAD restores across RETF. | Mike Pall | 2010-02-23 | 1 | -3/+1 | |
| | | | | Move restore-elimination logic into snapshot_slots(). | |||||
* | Do not patch parent exit for a stack check. | Mike Pall | 2010-02-22 | 1 | -0/+8 | |
| | ||||||
* | Refactor Lua stack handling in lj_asm.c. | Mike Pall | 2010-02-21 | 1 | -104/+115 | |
| | ||||||
* | Eliminate redundant stack checks. Add checks for growing root traces. | Mike Pall | 2010-02-21 | 1 | -7/+21 | |
| | ||||||
* | Drop obsolete shadow frame link stack. | Mike Pall | 2010-02-18 | 1 | -3/+3 | |
| | ||||||
* | Improve FOR loop const specialization and integerness checks. | Mike Pall | 2010-02-15 | 1 | -5/+7 | |
| | ||||||
* | Major redesign of function call handling. | Mike Pall | 2010-02-13 | 1 | -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 Pall | 2010-02-11 | 1 | -2/+2 | |
| | ||||||
* | Drop frame clearing in exit handling and JIT compiled code. | Mike Pall | 2010-02-11 | 1 | -17/+1 | |
| | ||||||
* | Add shadow frame link stack for trace recorder. | Mike Pall | 2010-02-04 | 1 | -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 Pall | 2010-02-01 | 1 | -21/+47 | |
| | ||||||
* | Revise hardcoded inlining in lj_asm.c. Saves 1-2K. | Mike Pall | 2010-01-30 | 1 | -4/+4 | |
| | ||||||
* | Add support for weak IR references to register allocator. | Mike Pall | 2010-01-30 | 1 | -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 Pall | 2010-01-29 | 1 | -3/+21 | |
| |