Permalink
Commits on Feb 23, 2010
  1. Don't eliminate SLOAD restores across RETF.

    Move restore-elimination logic into snapshot_slots().
    Mike Pall committed Feb 23, 2010
Commits on Feb 22, 2010
  1. Do not patch parent exit for a stack check.

    Mike Pall committed Feb 22, 2010
  2. Ensure function and all args have a reference for call recording.

    In practice this is only needed after a return to a lower frame.
    Mike Pall committed Feb 22, 2010
  3. Fix TRef for (dummy) 2nd arg of __len metamethod.

    Mike Pall committed Feb 22, 2010
  4. Back out history buffer for tailcall counts.

    Use an aggregate counter independent of frame depth.
    Mike Pall committed Feb 22, 2010
Commits on Feb 21, 2010
  1. Refactor Lua stack handling in lj_asm.c.

    Mike Pall committed Feb 21, 2010
Commits on Feb 19, 2010
Commits on Feb 18, 2010
  1. Allow linking to already compiled functions.

    Mike Pall committed Feb 18, 2010
  2. Adapt bytecode patching/unpatching for hot calls.

    Mike Pall committed Feb 18, 2010
  3. Update trace recorder infrastructure for hot calls.

    Mike Pall committed Feb 18, 2010
  4. Fix some uses of tref_isint().

    Mike Pall committed Feb 18, 2010
  5. Drop obsolete shadow frame link stack.

    Mike Pall committed Feb 18, 2010
Commits on Feb 16, 2010
  1. Update docs and changelog.

    Mike Pall committed Feb 16, 2010
  2. Split CALL/FUNC recording.

    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.
    Mike Pall committed Feb 16, 2010
Commits on Feb 15, 2010
  1. Use a different marker for hot calls.

    Mike Pall committed Feb 15, 2010
  2. Add generic function handling for debug modules.

    Don't call record vmevent for non-Lua functions.
    Mike Pall committed Feb 15, 2010
  3. Minor cleanup of trace event handling.

    Mike Pall committed Feb 15, 2010
  4. Add missing FORI coercions in recorder.

    Mike Pall committed Feb 15, 2010
Commits on Feb 14, 2010
  1. Implement call hooks (zero-cost if disabled).

    Mike Pall committed Feb 14, 2010
Commits on Feb 13, 2010
  1. Major redesign of function call handling.

    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.
    Mike Pall committed Feb 13, 2010
Commits on Feb 12, 2010
Commits on Feb 11, 2010
  1. Move dispatch tables out of GG_State struct.

    Mike Pall committed Feb 11, 2010