aboutsummaryrefslogtreecommitdiff
path: root/doc (unfollow)
Commit message (Collapse)AuthorFilesLines
2010-01-27Eliminate IR_FRAME. Replace with KGC and TRef/SnapEntry flags.Mike Pall4-105/+81
2010-01-27Add frame and continuation flags to TRef and SnapEntry.Mike Pall5-39/+57
2010-01-27Add missing check for return to lower frame.Mike Pall1-1/+2
2010-01-27Cleanup types for narrowing stack machine.Mike Pall1-28/+35
2010-01-26Compress snapshots using a simple, extensible 1D-compression.Mike Pall11-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.
2010-01-26Add missing eviction in asm_obar().Mike Pall1-0/+1
2010-01-26Fill gaps in frames (caused by metamethod calls) with nil.Mike Pall3-5/+5
Simplifies storing snapshots to stack.
2010-01-25Use dedicated type for snapshot map entry.Mike Pall8-33/+36
Preparatory work for compressed snapshots.
2010-01-24Force error if lua_newstate() is used in 64 bit mode.Mike Pall3-0/+21
2010-01-22Integrate MinGW build with DWARF2 exception handling.Mike Pall7-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.
2010-01-21Fix undefined behavior in table resizing calculation.Mike Pall1-1/+2
2010-01-21Fix ordered string comparisons. Unsigned arithmetic is evil.Mike Pall1-1/+1
2010-01-20Update docs about exception handling.Mike Pall1-5/+5
2010-01-19Decouple guard vs. INT check vs. TYPECHECK semantics for SLOAD.Mike Pall4-8/+16
2010-01-19Fix broken intarith + testop optimization.Mike Pall1-1/+1
2010-01-18Add some sanity checks for allocator in 64 bit mode.Mike Pall4-1/+8
2010-01-18Reduce non-numeric tag range by bumping up 64 bit lightud tag.Mike Pall1-6/+6
2010-01-17Update docs with x64 build instructions.Mike Pall3-10/+62
2010-01-17Fix more 64 bit conversion warnings.Mike Pall1-2/+2
2010-01-17Silence 64 bit conversion warning.Mike Pall1-1/+1
2010-01-17Enable build for x64 interpreter on WIN64.Mike Pall1-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.
2010-01-17Allocate 32 bit memory on WIN64 using NtAllocateVirtualMemory.Mike Pall1-7/+48
2010-01-17Fix off-by-one error in x64 PE object symbol mangling.Mike Pall1-1/+1
2010-01-16Error for blacklisted loop bytecodes has no info argument.Mike Pall1-1/+1
2010-01-14Add build infrastructure for x64 interpreter.Mike Pall5-6/+4658
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).
2010-01-14Shorten %p format for pure 32 bit pointers on x64.Mike Pall1-3/+7
2010-01-10Strip '@' suffix from external symbols for MACH-O, too.Mike Pall1-17/+16
Fixes OSX build.
2010-01-09Improve alias analysis of upvalues using a disambiguation hash value.Mike Pall7-13/+32
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.
2010-01-09Avoid int16_t widening for pt->uv elements.Mike Pall4-8/+13
2010-01-09Fix 32/64 bit portability issue with upval->v.Mike Pall7-22/+21
2010-01-09Fix x64 PE object emitter.Mike Pall1-1/+1
2010-01-09Bump all copyright dates to 2010.Mike Pall109-122/+122
2010-01-05Add support for WIN64 exception handling to external unwinder.Mike Pall5-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.
2010-01-05Fix PE object build for fastcall entry points into interpreter.Mike Pall4-6/+20
2010-01-05Allow @ in DynASM globals.Mike Pall1-2/+2
2010-01-02Major rewrite of error handling to allow external/internal unwinding.Mike Pall6-967/+1107
Make external unwinding the default on x64. It's mandatory on WIN64 due to the abundance of callee-saved regs. Allow piecewise internal frame unwinding and optional cleanup. Store ERRMEM, ERRERR and ERRCPP early and copy down later. Use FRAME_CP for lj_vm_resume. Add lj_vm_unwind_*_eh variants as landing pads for external unwinder. Use fastcall for lj_vm_unwind_*. Can drop r12/r13 saves in POSIX/x64 interpreter now.
2009-12-30Rename NRESULTS to MULTRES on the assembler side, too.Mike Pall1-33/+33
2009-12-30Implement yield from C hooks.Mike Pall9-932/+950
Get number of multiple results from C frame. Add lj_cont_hook: restores multres and dispatch to static ins. Can use fastcall for lj_dispatch_ins() now.
2009-12-29Fix narrowing casts of pointer differences for x64.Mike Pall3-4/+4
2009-12-29Minor fixes for x64 interpreter.Mike Pall1-4/+12
2009-12-29Fix PE object build on x64 and with disabled interpreter.Mike Pall1-2/+5
2009-12-29Add DWARF2 unwind info for x64 interpreter.Mike Pall2-46/+130
2009-12-29Fix alloc/free sizes of internal GCRef arrays.Mike Pall5-5/+5
2009-12-29Fix various 32/64 bit issues in interpreter.Mike Pall1-10/+21
2009-12-29Fix bad stack setup in collectgarbage().Mike Pall1-3/+4
2009-12-29Fix x64 lj_vm_pow_sse().Mike Pall1-2/+2
2009-12-29Save all callee-saved x64 integer regs for unwinding.Mike Pall3-22/+30
Temporary measure. Does not cover xmm saves on WIN64. May have to use unwind info or waste another 160 bytes per CFRAME.
2009-12-29Logical 'not' must be sign-extended for address operands.Mike Pall6-27/+35
2009-12-28Define CFRAME structure for x64 interpreter.Mike Pall3-14/+35
2009-12-28Linux/x64 mremap() does not obey MAP_32BIT, so make it non-moving.Mike Pall1-2/+9