Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | Fix PE object build for fastcall entry points into interpreter. | Mike Pall | 2010-01-05 | 4 | -6/+20 |
| | |||||
* | Allow @ in DynASM globals. | Mike Pall | 2010-01-05 | 1 | -2/+2 |
| | |||||
* | Major rewrite of error handling to allow external/internal unwinding. | Mike Pall | 2010-01-02 | 6 | -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 Pall | 2009-12-30 | 1 | -33/+33 |
| | |||||
* | Implement yield from C hooks. | Mike Pall | 2009-12-30 | 9 | -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 Pall | 2009-12-29 | 3 | -4/+4 |
| | |||||
* | Minor fixes for x64 interpreter. | Mike Pall | 2009-12-29 | 1 | -4/+12 |
| | |||||
* | Fix PE object build on x64 and with disabled interpreter. | Mike Pall | 2009-12-29 | 1 | -2/+5 |
| | |||||
* | Add DWARF2 unwind info for x64 interpreter. | Mike Pall | 2009-12-29 | 2 | -46/+130 |
| | |||||
* | Fix alloc/free sizes of internal GCRef arrays. | Mike Pall | 2009-12-29 | 5 | -5/+5 |
| | |||||
* | Fix various 32/64 bit issues in interpreter. | Mike Pall | 2009-12-29 | 1 | -10/+21 |
| | |||||
* | Fix bad stack setup in collectgarbage(). | Mike Pall | 2009-12-29 | 1 | -3/+4 |
| | |||||
* | Fix x64 lj_vm_pow_sse(). | Mike Pall | 2009-12-29 | 1 | -2/+2 |
| | |||||
* | Save all callee-saved x64 integer regs for unwinding. | Mike Pall | 2009-12-29 | 3 | -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 Pall | 2009-12-29 | 6 | -27/+35 |
| | |||||
* | Define CFRAME structure for x64 interpreter. | Mike Pall | 2009-12-28 | 3 | -14/+35 |
| | |||||
* | Linux/x64 mremap() does not obey MAP_32BIT, so make it non-moving. | Mike Pall | 2009-12-28 | 1 | -2/+9 |
| | |||||
* | Fix size calculation for closure structs. | Mike Pall | 2009-12-28 | 1 | -2/+2 |
| | |||||
* | Fix POSIX/x64 call argument order. | Mike Pall | 2009-12-28 | 1 | -4/+4 |
| | |||||
* | Change callee-save regs for x64 interpreter to shorten code. | Mike Pall | 2009-12-28 | 2 | -2/+9 |
| | |||||
* | Fix DynASM x64 encoding for qword-only instructions. | Mike Pall | 2009-12-28 | 1 | -9/+10 |
| | |||||
* | Final calling convention cleanup for x64 interpreter. | Mike Pall | 2009-12-28 | 2 | -443/+468 |
| | |||||
* | More calling convention cleanups for x64 interpreter. | Mike Pall | 2009-12-27 | 2 | -203/+284 |
| | |||||
* | Ignore lea operand size in DynASM x86/x64. | Mike Pall | 2009-12-27 | 1 | -1/+1 |
| | |||||
* | Use fastcall for remaining 1-arg/2-arg calls from interpreter. | Mike Pall | 2009-12-27 | 15 | -1304/+1248 |
| | | | | Simplifies conversion to x64 calling conventions. | ||||
* | Add SSE variant of pow/powi to interpreter. | Mike Pall | 2009-12-25 | 4 | -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 Pall | 2009-12-22 | 4 | -5/+21 |
| | | | | Works on x86 now. Will be enabled by default on x64 (not ready, yet). | ||||
* | Fix last commit. | Mike Pall | 2009-12-22 | 2 | -2/+2 |
| | |||||
* | Miscellaneous cleanups for x64 interpreter. | Mike Pall | 2009-12-22 | 2 | -27/+54 |
| | |||||
* | Use SSE variants for IRFPM_FLOOR/CEIL/TRUNC unless SSE4.1 available. | Mike Pall | 2009-12-22 | 2 | -0/+21 |
| | |||||
* | Add SSE2 variants for all FP ops (except vm_pow*) in interpreter. | Mike Pall | 2009-12-22 | 2 | -1052/+1864 |
| | |||||
* | Add SSE2 variants of basic arithmetic ops in interpreter. | Mike Pall | 2009-12-21 | 2 | -487/+939 |
| | |||||
* | Fix memory operand sizes for some SSE ops in DynASM. | Mike Pall | 2009-12-21 | 1 | -7/+7 |
| | |||||
* | Properly compile on Debian kFreeBSD. | Mike Pall | 2009-12-20 | 2 | -1/+4 |
| | |||||
* | Adapt most outbound calls in interpreter to x64 calling conventions. | Mike Pall | 2009-12-19 | 2 | -788/+961 |
| | |||||
* | Better change the saved regs for the x64 interpreter, too. | Mike Pall | 2009-12-18 | 1 | -2/+2 |
| | |||||
* | Change KBASE/PC regs for x64/POSIX to get shorter encodings. | Mike Pall | 2009-12-17 | 1 | -3/+3 |
| | |||||
* | Adapt primary inbound calls in x64 interpreter. | Mike Pall | 2009-12-17 | 8 | -317/+402 |
| | | | | Change argument order for lj_vm_cpcall() to simplify x64 interpreter. | ||||
* | Allow quadword lea for DynASM x64. | Mike Pall | 2009-12-17 | 1 | -1/+1 |
| | |||||
* | Cleanup DynASM action list flushes. | Mike Pall | 2009-12-16 | 2 | -776/+793 |
| | |||||
* | Fix handling of byte-addressable registers in DynASM x64. | Mike Pall | 2009-12-16 | 1 | -10/+24 |
| | |||||
* | Add support for rip-relative displacements to DynASM x64. | Mike Pall | 2009-12-16 | 1 | -8/+18 |
| | |||||
* | Change some misuses of esp in x64 interpreter. | Mike Pall | 2009-12-16 | 2 | -36/+36 |
| | |||||
* | Warn about use of esp with DynASM x64. | Mike Pall | 2009-12-16 | 1 | -1/+3 |
| | |||||
* | Define x64 interpreter frame and cleanup use of stack temps. | Mike Pall | 2009-12-16 | 2 | -106/+175 |
| | |||||
* | Unify interpreter reg saves/restores for WIN64 prolog/epilog req. | Mike Pall | 2009-12-15 | 2 | -801/+800 |
| | |||||
* | First bunch of register definitions for x64 interpreter. | Mike Pall | 2009-12-15 | 1 | -14/+70 |
| | |||||
* | Allow 32 bit regs for indexing even for DynASM x64. | Mike Pall | 2009-12-15 | 1 | -4/+5 |
| | |||||
* | Make DynASM conditionals available before .arch statement. | Mike Pall | 2009-12-15 | 1 | -1/+5 |
| | |||||
* | Add usage message for mov64 to DynASM x64. | Mike Pall | 2009-12-15 | 1 | -0/+1 |
| |