Commit message (Collapse) | Author | Age | Files | Lines | ||
---|---|---|---|---|---|---|
... | ||||||
* | Fix error message generation for OOM error. | Mike Pall | 2010-02-28 | 2 | -2/+3 | |
| | ||||||
* | Conditionally compile functions that are unused with JIT disabled. | Mike Pall | 2010-02-28 | 8 | -0/+18 | |
| | ||||||
* | Enable JIT compiler for x64. | Mike Pall | 2010-02-28 | 7 | -31/+25 | |
| | | | | | | | Only works on Linux/x64 and Windows/x64 right now. Force an x64 build on Linux/x64 with: make CC="gcc -m64" NYI: handle on-trace OOM errors. NYI: improve register allocation for x64. | |||||
* | Add frame info for x64 GDB JIT API. | Mike Pall | 2010-02-28 | 2 | -3/+12 | |
| | ||||||
* | Save/restore remaining callee-save regs on trace<->interp transitions. | Mike Pall | 2010-02-27 | 6 | -1447/+1511 | |
| | ||||||
* | Correctly align and free allocated machine code areas. | Mike Pall | 2010-02-27 | 4 | -12/+15 | |
| | | | | Bump default mcode area size to 64K for x64. | |||||
* | Place dynamically generated code near static code on x64. | Mike Pall | 2010-02-26 | 3 | -12/+59 | |
| | ||||||
* | Make penalty PRNG available for general use by compiler. | Mike Pall | 2010-02-26 | 2 | -10/+10 | |
| | ||||||
* | Add x64 call argument setup. More 32/64 bit cleanups in assembler. | Mike Pall | 2010-02-25 | 2 | -47/+79 | |
| | ||||||
* | Move SIMD constants to jit_State to keep them in the low 4GB. | Mike Pall | 2010-02-24 | 6 | -18/+41 | |
| | ||||||
* | Handle negative continuation offsets (WIN64 with debug). | Mike Pall | 2010-02-24 | 1 | -1/+2 | |
| | ||||||
* | Fix 64 bit conversion warnings. | Mike Pall | 2010-02-24 | 3 | -5/+5 | |
| | ||||||
* | Major 32/64 bit cleanups in assembler and exit handling. | Mike Pall | 2010-02-24 | 4 | -79/+193 | |
| | | | | | | | | | 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). | |||||
* | Fix 64 bit portability problem in rec_ret(). | Mike Pall | 2010-02-24 | 1 | -1/+1 | |
| | ||||||
* | Add trace exit helper for x64. Fix trace entry for x64. | Mike Pall | 2010-02-24 | 4 | -2853/+2916 | |
| | ||||||
* | Check relative jump distances for x64. | Mike Pall | 2010-02-24 | 1 | -9/+18 | |
| | ||||||
* | Fix type() implementation for x64 lightuserdata. | Mike Pall | 2010-02-24 | 1 | -0/+12 | |
| | ||||||
* | Fix exit state for 64 bit mode. | Mike Pall | 2010-02-24 | 3 | -9/+24 | |
| | ||||||
* | Randomize penalties for aborts and add blacklisting. | Mike Pall | 2010-02-23 | 6 | -23/+50 | |
| | ||||||
* | 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 | 3 | -6/+13 | |
| | | | | Move restore-elimination logic into snapshot_slots(). | |||||
* | Do not patch parent exit for a stack check. | Mike Pall | 2010-02-22 | 1 | -0/+8 | |
| | ||||||
* | Ensure function and all args have a reference for call recording. | Mike Pall | 2010-02-22 | 1 | -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 Pall | 2010-02-22 | 1 | -1/+1 | |
| | ||||||
* | Back out history buffer for tailcall counts. | Mike Pall | 2010-02-22 | 2 | -5/+3 | |
| | | | | Use an aggregate counter independent of frame depth. | |||||
* | Add region selection for up-recursion and tail-recursion. | Mike Pall | 2010-02-22 | 3 | -4/+5 | |
| | ||||||
* | 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 | 2 | -8/+26 | |
| | ||||||
* | Rethrow errors from trace exit handling from the right C frame. | Mike Pall | 2010-02-19 | 9 | -1679/+1719 | |
| | ||||||
* | Allow linking to already compiled functions. | Mike Pall | 2010-02-18 | 2 | -8/+24 | |
| | ||||||
* | Use a limited history buffer for tailcall counts while recording. | Mike Pall | 2010-02-18 | 2 | -14/+17 | |
| | ||||||
* | Adapt bytecode patching/unpatching for hot calls. | Mike Pall | 2010-02-18 | 1 | -9/+6 | |
| | ||||||
* | Update trace recorder infrastructure for hot calls. | Mike Pall | 2010-02-18 | 3 | -15/+17 | |
| | ||||||
* | Fix some uses of tref_isint(). | Mike Pall | 2010-02-18 | 1 | -2/+2 | |
| | ||||||
* | Drop obsolete shadow frame link stack. | Mike Pall | 2010-02-18 | 5 | -47/+38 | |
| | ||||||
* | Add more assertions to compare the recorder state and the VM state. | Mike Pall | 2010-02-18 | 1 | -4/+31 | |
| | ||||||
* | Clear frame gaps in recorder to avoid resurrecting previous refs. | Mike Pall | 2010-02-18 | 1 | -2/+6 | |
| | ||||||
* | Update docs and changelog. | Mike Pall | 2010-02-17 | 3 | -18/+39 | |
| | ||||||
* | Just disable JIT compiler for non-SSE2 CPUs instead of aborting. | Mike Pall | 2010-02-16 | 4 | -18/+27 | |
| | ||||||
* | Split CALL/FUNC recording. | Mike Pall | 2010-02-16 | 2 | -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 Pall | 2010-02-15 | 1 | -2/+13 | |
| | ||||||
* | Change record vmevent parameters. Dump function id on FUNC*. | Mike Pall | 2010-02-15 | 2 | -18/+18 | |
| | ||||||
* | Use a different marker for hot calls. | Mike Pall | 2010-02-15 | 5 | -1081/+1097 | |
| | ||||||
* | Add generic function handling for debug modules. | Mike Pall | 2010-02-15 | 4 | -48/+52 | |
| | | | | Don't call record vmevent for non-Lua functions. | |||||
* | Minor cleanup of trace event handling. | Mike Pall | 2010-02-15 | 5 | -37/+33 | |
| | ||||||
* | Add missing FORI coercions in recorder. | Mike Pall | 2010-02-15 | 1 | -4/+13 | |
| | ||||||
* | Improve FOR loop const specialization and integerness checks. | Mike Pall | 2010-02-15 | 2 | -34/+68 | |
| | ||||||
* | Implement return hooks for Lua functions (zero-cost if disabled). | Mike Pall | 2010-02-14 | 9 | -1450/+1493 | |
| | ||||||
* | Implement call hooks (zero-cost if disabled). | Mike Pall | 2010-02-14 | 9 | -1583/+1693 | |
| | ||||||
* | Major redesign of function call handling. | Mike Pall | 2010-02-13 | 34 | -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. |