| Commit message (Collapse) | Author | Age | Files | Lines | |
|---|---|---|---|---|---|
| * | Abstract out pointer hash to hashrot(). Tune hash constants. | Mike Pall | 2010-07-21 | 1 | -10/+1 |
| | | |||||
| * | Add weak guards. Emit TNEW/TDUP with a guard bit. | Mike Pall | 2010-05-08 | 1 | -2/+2 |
| | | |||||
| * | Treat the tag of a TValue as unsigned everywhere. | Mike Pall | 2010-04-25 | 1 | -1/+1 |
| | | |||||
| * | Make metamethod names proper GC roots. | Mike Pall | 2010-04-25 | 1 | -7/+5 |
| | | |||||
| * | Simplify management of current trace. Drop lazy save. | Mike Pall | 2010-04-25 | 1 | -6/+6 |
| | | |||||
| * | Turn traces into true GC objects (GCtrace). | Mike Pall | 2010-04-25 | 1 | -7/+6 |
| | | |||||
| * | No longer let the GC replace dead keys with the LJ_TDEADKEY tag. | Mike Pall | 2010-04-21 | 1 | -2/+7 |
| | | | | | | | | | Important: this changes the semantics of the write barrier! Carefully read the big comment block in lj_obj.h This helps HREFK key slot specialization and allows safely hoisting HREF/HREFK across GC steps, too (fix for a barely reproducible bug). Dead keys are only removed during a table resize (as before). | ||||
| * | Replace on-trace GC frame syncing with interpreter exit. | Mike Pall | 2010-04-19 | 1 | -7/+16 |
| | | | | | | | | 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. | ||||
| * | Generate EQ(HREF, niltv) for load path, too (better CSE). | Mike Pall | 2010-03-28 | 1 | -1/+7 |
| | | |||||
| * | Fix precondition check for NEWREF. | Mike Pall | 2010-03-28 | 1 | -2/+2 |
| | | | | | A check for nil value is not enough. Must check for ptr == niltv. | ||||
| * | Avoid snapshots for returns to known callers. | Mike Pall | 2010-03-21 | 1 | -2/+2 |
| | | |||||
| * | Add array bounds check elimination (-Oabc, on by default). | Mike Pall | 2010-03-15 | 1 | -1/+39 |
| | | |||||
| * | Reorganize scalar evolution analysis. | Mike Pall | 2010-03-15 | 1 | -7/+20 |
| | | |||||
| * | Fix handling of bad argument types in recorder. | Mike Pall | 2010-03-09 | 1 | -2/+3 |
| | | |||||
| * | Fix recording of getmetatable() for non-tables. | Mike Pall | 2010-03-09 | 1 | -3/+5 |
| | | |||||
| * | Avoid tracing the nil return case of tonumber(). | Mike Pall | 2010-03-09 | 1 | -1/+5 |
| | | |||||
| * | Fix assertion in rec_check_slots. | Mike Pall | 2010-03-07 | 1 | -1/+1 |
| | | |||||
| * | Fix 64 bit conversion warning. | Mike Pall | 2010-03-03 | 1 | -1/+1 |
| | | |||||
| * | Implement down-recursion. | Mike Pall | 2010-03-01 | 1 | -2/+39 |
| | | |||||
| * | Fix 64 bit conversion warnings. | Mike Pall | 2010-02-24 | 1 | -3/+3 |
| | | |||||
| * | Fix 64 bit portability problem in rec_ret(). | Mike Pall | 2010-02-24 | 1 | -1/+1 |
| | | |||||
| * | Randomize penalties for aborts and add blacklisting. | Mike Pall | 2010-02-23 | 1 | -3/+3 |
| | | |||||
| * | 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 | 1 | -4/+2 |
| | | | | | Use an aggregate counter independent of frame depth. | ||||
| * | Add region selection for up-recursion and tail-recursion. | Mike Pall | 2010-02-22 | 1 | -2/+4 |
| | | |||||
| * | Allow linking to already compiled functions. | Mike Pall | 2010-02-18 | 1 | -7/+24 |
| | | |||||
| * | Use a limited history buffer for tailcall counts while recording. | Mike Pall | 2010-02-18 | 1 | -13/+16 |
| | | |||||
| * | Update trace recorder infrastructure for hot calls. | Mike Pall | 2010-02-18 | 1 | -9/+10 |
| | | |||||
| * | Drop obsolete shadow frame link stack. | Mike Pall | 2010-02-18 | 1 | -35/+4 |
| | | |||||
| * | 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 |
| | | |||||
| * | Split CALL/FUNC recording. | Mike Pall | 2010-02-16 | 1 | -444/+447 |
| | | | | | | | | | 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. | ||||
| * | 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 | 1 | -29/+61 |
| | | |||||
| * | Major redesign of function call handling. | Mike Pall | 2010-02-13 | 1 | -7/+1 |
| | | | | | | | | | | | | 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. | ||||
| * | 32/64 bit memory ref cleanup, part 1: GCproto ->bc and ->k. | Mike Pall | 2010-02-05 | 1 | -7/+7 |
| | | |||||
| * | Add shadow frame link stack for trace recorder. | Mike Pall | 2010-02-04 | 1 | -8/+55 |
| | | | | | | 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 Pall | 2010-02-03 | 1 | -13/+11 |
| | | |||||
| * | Clean up frame depth checks and loop detection. | Mike Pall | 2010-02-03 | 1 | -5/+9 |
| | | |||||
| * | Another loop formation test must check for return to lower frame. | Mike Pall | 2010-02-03 | 1 | -1/+1 |
| | | |||||
| * | Loop formation test must check for return to lower frame. | Mike Pall | 2010-01-29 | 1 | -1/+2 |
| | | |||||
| * | Compile return to lower frame. Only for Lua frames right now. | Mike Pall | 2010-01-29 | 1 | -36/+53 |
| | | |||||
| * | Followup fix: set maxslot for continuation return. | Mike Pall | 2010-01-28 | 1 | -0/+1 |
| | | |||||
| * | Drop obsolete frame shrinking after continuation return. | Mike Pall | 2010-01-28 | 1 | -4/+1 |
| | | |||||
| * | Fix recording of metamethod result adjustment. | Mike Pall | 2010-01-28 | 1 | -1/+1 |
| | | |||||
| * | Eliminate IR_FRAME. Replace with KGC and TRef/SnapEntry flags. | Mike Pall | 2010-01-27 | 1 | -34/+20 |
| | | |||||
| * | Add frame and continuation flags to TRef and SnapEntry. | Mike Pall | 2010-01-27 | 1 | -6/+7 |
| | | |||||
| * | Add missing check for return to lower frame. | Mike Pall | 2010-01-27 | 1 | -1/+2 |
| | | |||||
| * | Compress snapshots using a simple, extensible 1D-compression. | Mike Pall | 2010-01-26 | 1 | -48/+49 |
| | | | | | | | 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. | ||||
