aboutsummaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* Fix ordered string comparisons. Unsigned arithmetic is evil.Mike Pall2010-01-211-1/+1
|
* Update docs about exception handling.Mike Pall2010-01-201-5/+5
|
* Decouple guard vs. INT check vs. TYPECHECK semantics for SLOAD.Mike Pall2010-01-194-8/+16
|
* Fix broken intarith + testop optimization.Mike Pall2010-01-191-1/+1
|
* Add some sanity checks for allocator in 64 bit mode.Mike Pall2010-01-184-1/+8
|
* Reduce non-numeric tag range by bumping up 64 bit lightud tag.Mike Pall2010-01-181-6/+6
|
* Update docs with x64 build instructions.Mike Pall2010-01-173-10/+62
|
* Fix more 64 bit conversion warnings.Mike Pall2010-01-171-2/+2
|
* Silence 64 bit conversion warning.Mike Pall2010-01-171-1/+1
|
* Enable build for x64 interpreter on WIN64.Mike Pall2010-01-171-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 Pall2010-01-171-7/+48
|
* Fix off-by-one error in x64 PE object symbol mangling.Mike Pall2010-01-171-1/+1
|
* Error for blacklisted loop bytecodes has no info argument.Mike Pall2010-01-161-1/+1
|
* Add build infrastructure for x64 interpreter.Mike Pall2010-01-145-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).
* Shorten %p format for pure 32 bit pointers on x64.Mike Pall2010-01-141-3/+7
|
* Strip '@' suffix from external symbols for MACH-O, too.Mike Pall2010-01-101-17/+16
| | | | Fixes OSX build.
* Improve alias analysis of upvalues using a disambiguation hash value.Mike Pall2010-01-097-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.
* Avoid int16_t widening for pt->uv elements.Mike Pall2010-01-094-8/+13
|
* Fix 32/64 bit portability issue with upval->v.Mike Pall2010-01-097-22/+21
|
* Fix x64 PE object emitter.Mike Pall2010-01-091-1/+1
|
* Bump all copyright dates to 2010.Mike Pall2010-01-09109-122/+122
|
* Add support for WIN64 exception handling to external unwinder.Mike Pall2010-01-055-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.
* Fix PE object build for fastcall entry points into interpreter.Mike Pall2010-01-054-6/+20
|
* Allow @ in DynASM globals.Mike Pall2010-01-051-2/+2
|
* Major rewrite of error handling to allow external/internal unwinding.Mike Pall2010-01-026-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.
* Rename NRESULTS to MULTRES on the assembler side, too.Mike Pall2009-12-301-33/+33
|
* Implement yield from C hooks.Mike Pall2009-12-309-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.
* Fix narrowing casts of pointer differences for x64.Mike Pall2009-12-293-4/+4
|
* Minor fixes for x64 interpreter.Mike Pall2009-12-291-4/+12
|
* Fix PE object build on x64 and with disabled interpreter.Mike Pall2009-12-291-2/+5
|
* Add DWARF2 unwind info for x64 interpreter.Mike Pall2009-12-292-46/+130
|
* Fix alloc/free sizes of internal GCRef arrays.Mike Pall2009-12-295-5/+5
|
* Fix various 32/64 bit issues in interpreter.Mike Pall2009-12-291-10/+21
|
* Fix bad stack setup in collectgarbage().Mike Pall2009-12-291-3/+4
|
* Fix x64 lj_vm_pow_sse().Mike Pall2009-12-291-2/+2
|
* Save all callee-saved x64 integer regs for unwinding.Mike Pall2009-12-293-22/+30
| | | | | Temporary measure. Does not cover xmm saves on WIN64. May have to use unwind info or waste another 160 bytes per CFRAME.
* Logical 'not' must be sign-extended for address operands.Mike Pall2009-12-296-27/+35
|
* Define CFRAME structure for x64 interpreter.Mike Pall2009-12-283-14/+35
|
* Linux/x64 mremap() does not obey MAP_32BIT, so make it non-moving.Mike Pall2009-12-281-2/+9
|
* Fix size calculation for closure structs.Mike Pall2009-12-281-2/+2
|
* Fix POSIX/x64 call argument order.Mike Pall2009-12-281-4/+4
|
* Change callee-save regs for x64 interpreter to shorten code.Mike Pall2009-12-282-2/+9
|
* Fix DynASM x64 encoding for qword-only instructions.Mike Pall2009-12-281-9/+10
|
* Final calling convention cleanup for x64 interpreter.Mike Pall2009-12-282-443/+468
|
* More calling convention cleanups for x64 interpreter.Mike Pall2009-12-272-203/+284
|
* Ignore lea operand size in DynASM x86/x64.Mike Pall2009-12-271-1/+1
|
* Use fastcall for remaining 1-arg/2-arg calls from interpreter.Mike Pall2009-12-2715-1304/+1248
| | | | Simplifies conversion to x64 calling conventions.
* Add SSE variant of pow/powi to interpreter.Mike Pall2009-12-254-733/+942
| | | | | | Use SSE pow/powi helper functions from compiled code. Cleanup use of helper functions. Related cleanups of folding functions in x64 interpreter.
* Add build infrastructure for the SSE2-enabled interpreter.Mike Pall2009-12-224-5/+21
| | | | Works on x86 now. Will be enabled by default on x64 (not ready, yet).
* Fix last commit.Mike Pall2009-12-222-2/+2
|