Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | 32/64 bit memory ref cleanup, part 1: GCproto ->bc and ->k. | Mike Pall | 2010-02-05 | 10 | -66/+84 |
| | |||||
* | RETF modifies BASE. Treat it like a store or it gets CSEd. | Mike Pall | 2010-02-04 | 2 | -1/+3 |
| | |||||
* | Reset the hotcount table after a JIT off to on transition. | Mike Pall | 2010-02-04 | 3 | -15/+18 |
| | |||||
* | Add shadow frame link stack for trace recorder. | Mike Pall | 2010-02-04 | 6 | -56/+82 |
| | | | | | 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 | 3 | -6/+12 |
| | |||||
* | Add extra check to suppress hotcall event during recording. | Mike Pall | 2010-02-03 | 1 | -2/+3 |
| | |||||
* | Another loop formation test must check for return to lower frame. | Mike Pall | 2010-02-03 | 1 | -1/+1 |
| | |||||
* | 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. | ||||
* | 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 | 3 | -40/+75 |
| | |||||
* | 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 |
| | |||||
* | Don't modify jit_State and exit counters while in vmevent. | Mike Pall | 2010-01-28 | 1 | -15/+16 |
| | | | | Fixes crash with hot loop in TEXIT callback which cleared J->parent. | ||||
* | Avoid reuse of PHI registers, even for duplicate right PHIs. | Mike Pall | 2010-01-27 | 1 | -1/+1 |
| | |||||
* | Expose compressed snapshot map to reflection API. | Mike Pall | 2010-01-27 | 1 | -16/+5 |
| | | | | Update jit.dump module and restore printing of frame separators. | ||||
* | Eliminate IR_FRAME. Replace with KGC and TRef/SnapEntry flags. | Mike Pall | 2010-01-27 | 4 | -105/+81 |
| | |||||
* | Add frame and continuation flags to TRef and SnapEntry. | Mike Pall | 2010-01-27 | 5 | -39/+57 |
| | |||||
* | Add missing check for return to lower frame. | Mike Pall | 2010-01-27 | 1 | -1/+2 |
| | |||||
* | Cleanup types for narrowing stack machine. | Mike Pall | 2010-01-27 | 1 | -28/+35 |
| | |||||
* | Compress snapshots using a simple, extensible 1D-compression. | Mike Pall | 2010-01-26 | 11 | -319/+365 |
| | | | | | | 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 Pall | 2010-01-26 | 1 | -0/+1 |
| | |||||
* | Fill gaps in frames (caused by metamethod calls) with nil. | Mike Pall | 2010-01-26 | 3 | -5/+5 |
| | | | | Simplifies storing snapshots to stack. | ||||
* | Use dedicated type for snapshot map entry. | Mike Pall | 2010-01-25 | 8 | -33/+36 |
| | | | | Preparatory work for compressed snapshots. | ||||
* | Force error if lua_newstate() is used in 64 bit mode. | Mike Pall | 2010-01-24 | 3 | -0/+21 |
| | |||||
* | Integrate MinGW build with DWARF2 exception handling. | Mike Pall | 2010-01-22 | 7 | -31/+216 |
| | | | | | | | | Only works with DWARF2-enabled GCC 4.x (not the default MinGW GCC). Fix fastcall symbol names for COFF assembler output. Add DWARF2 unwind info to COFF assembler output. Use COFF assembler mode for MinGW builds. Always enable the DWARF2 handler if compiled with GCC. | ||||
* | Fix undefined behavior in table resizing calculation. | Mike Pall | 2010-01-21 | 1 | -1/+2 |
| | |||||
* | Fix ordered string comparisons. Unsigned arithmetic is evil. | Mike Pall | 2010-01-21 | 1 | -1/+1 |
| | |||||
* | Decouple guard vs. INT check vs. TYPECHECK semantics for SLOAD. | Mike Pall | 2010-01-19 | 3 | -7/+14 |
| | |||||
* | Fix broken intarith + testop optimization. | Mike Pall | 2010-01-19 | 1 | -1/+1 |
| | |||||
* | Add some sanity checks for allocator in 64 bit mode. | Mike Pall | 2010-01-18 | 4 | -1/+8 |
| | |||||
* | Reduce non-numeric tag range by bumping up 64 bit lightud tag. | Mike Pall | 2010-01-18 | 1 | -6/+6 |
| | |||||
* | Fix more 64 bit conversion warnings. | Mike Pall | 2010-01-17 | 1 | -2/+2 |
| | |||||
* | Silence 64 bit conversion warning. | Mike Pall | 2010-01-17 | 1 | -1/+1 |
| | |||||
* | Enable build for x64 interpreter on WIN64. | Mike Pall | 2010-01-17 | 1 | -2/+11 |
| | | | | | | To build the x64 interpreter open a "Windows SDK Command Shell". Then set the compiler environment: setenv /release /x64 Then cd to the src directory and run msvcbuild.bat. | ||||
* | Allocate 32 bit memory on WIN64 using NtAllocateVirtualMemory. | Mike Pall | 2010-01-17 | 1 | -7/+48 |
| | |||||
* | Fix off-by-one error in x64 PE object symbol mangling. | Mike Pall | 2010-01-17 | 1 | -1/+1 |
| | |||||
* | Error for blacklisted loop bytecodes has no info argument. | Mike Pall | 2010-01-16 | 1 | -1/+1 |
| | |||||
* | Add build infrastructure for x64 interpreter. | Mike Pall | 2010-01-14 | 4 | -6/+4655 |
| | | | | | Must be explicitly enabled with: make clean && make "CC=gcc -m64" Only works on Linux/x64. Does not work on WIN64 or OSX/x64 (yet). | ||||
* | Shorten %p format for pure 32 bit pointers on x64. | Mike Pall | 2010-01-14 | 1 | -3/+7 |
| | |||||
* | Strip '@' suffix from external symbols for MACH-O, too. | Mike Pall | 2010-01-10 | 1 | -17/+16 |
| | | | | Fixes OSX build. | ||||
* | Improve alias analysis of upvalues using a disambiguation hash value. | Mike Pall | 2010-01-09 | 6 | -13/+30 |
| | | | | | | | | 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. | ||||
* | Avoid int16_t widening for pt->uv elements. | Mike Pall | 2010-01-09 | 4 | -8/+13 |
| | |||||
* | Fix 32/64 bit portability issue with upval->v. | Mike Pall | 2010-01-09 | 7 | -22/+21 |
| | |||||
* | Fix x64 PE object emitter. | Mike Pall | 2010-01-09 | 1 | -1/+1 |
| | |||||
* | Bump all copyright dates to 2010. | Mike Pall | 2010-01-09 | 85 | -86/+86 |
| | |||||
* | Add support for WIN64 exception handling to external unwinder. | Mike Pall | 2010-01-05 | 5 | -44/+177 |
| | | | | | | Modify unwinding to always return _ff or _c unwind type. Generate PE object .pdata/.xdata sections for x64 interpreter. Can drop r12-r15 saves in Windows/x64 interpreter now. |