Mike Pall
|
241e8db3f1
|
Fix bad stack setup in collectgarbage().
|
2009-12-29 02:34:15 +01:00 |
|
Mike Pall
|
52f310bd3e
|
Fix x64 lj_vm_pow_sse().
|
2009-12-29 02:16:52 +01:00 |
|
Mike Pall
|
d18d1573d8
|
Save all callee-saved x64 integer regs for unwinding.
Temporary measure. Does not cover xmm saves on WIN64.
May have to use unwind info or waste another 160 bytes per CFRAME.
|
2009-12-29 02:04:20 +01:00 |
|
Mike Pall
|
374f534715
|
Logical 'not' must be sign-extended for address operands.
|
2009-12-29 01:38:26 +01:00 |
|
Mike Pall
|
8a9cfa4b45
|
Define CFRAME structure for x64 interpreter.
|
2009-12-28 23:45:32 +01:00 |
|
Mike Pall
|
61abf342a3
|
Linux/x64 mremap() does not obey MAP_32BIT, so make it non-moving.
|
2009-12-28 23:33:10 +01:00 |
|
Mike Pall
|
9c8f42573f
|
Fix size calculation for closure structs.
|
2009-12-28 22:15:00 +01:00 |
|
Mike Pall
|
07e1a0d138
|
Fix POSIX/x64 call argument order.
|
2009-12-28 21:32:15 +01:00 |
|
Mike Pall
|
7b7c6ed754
|
Change callee-save regs for x64 interpreter to shorten code.
|
2009-12-28 21:18:44 +01:00 |
|
Mike Pall
|
da65e0dfed
|
Fix DynASM x64 encoding for qword-only instructions.
|
2009-12-28 21:00:03 +01:00 |
|
Mike Pall
|
8bb38bd93b
|
Final calling convention cleanup for x64 interpreter.
|
2009-12-28 20:05:31 +01:00 |
|
Mike Pall
|
3a15e46b79
|
More calling convention cleanups for x64 interpreter.
|
2009-12-27 18:44:12 +01:00 |
|
Mike Pall
|
e5438daffe
|
Ignore lea operand size in DynASM x86/x64.
|
2009-12-27 18:25:01 +01:00 |
|
Mike Pall
|
bc47063708
|
Use fastcall for remaining 1-arg/2-arg calls from interpreter.
Simplifies conversion to x64 calling conventions.
|
2009-12-27 17:42:41 +01:00 |
|
Mike Pall
|
690760aa38
|
Add SSE variant of pow/powi to interpreter.
Use SSE pow/powi helper functions from compiled code.
Cleanup use of helper functions.
Related cleanups of folding functions in x64 interpreter.
|
2009-12-25 23:12:30 +01:00 |
|
Mike Pall
|
6ce0c90ed6
|
Add build infrastructure for the SSE2-enabled interpreter.
Works on x86 now. Will be enabled by default on x64 (not ready, yet).
|
2009-12-22 20:27:20 +01:00 |
|
Mike Pall
|
a5faa29aa9
|
Fix last commit.
|
2009-12-22 06:23:22 +01:00 |
|
Mike Pall
|
c4e9dc0012
|
Miscellaneous cleanups for x64 interpreter.
|
2009-12-22 06:16:29 +01:00 |
|
Mike Pall
|
44a9d7b00c
|
Use SSE variants for IRFPM_FLOOR/CEIL/TRUNC unless SSE4.1 available.
|
2009-12-22 05:40:49 +01:00 |
|
Mike Pall
|
298e3f5d54
|
Add SSE2 variants for all FP ops (except vm_pow*) in interpreter.
|
2009-12-22 05:04:21 +01:00 |
|
Mike Pall
|
ab02f069aa
|
Add SSE2 variants of basic arithmetic ops in interpreter.
|
2009-12-21 20:11:02 +01:00 |
|
Mike Pall
|
64a4528cac
|
Fix memory operand sizes for some SSE ops in DynASM.
|
2009-12-21 16:41:03 +01:00 |
|
Mike Pall
|
34d716947c
|
Properly compile on Debian kFreeBSD.
|
2009-12-20 18:41:55 +01:00 |
|
Mike Pall
|
a1d4d05f2c
|
Adapt most outbound calls in interpreter to x64 calling conventions.
|
2009-12-19 17:25:54 +01:00 |
|
Mike Pall
|
ed8d86bf66
|
Better change the saved regs for the x64 interpreter, too.
|
2009-12-18 03:10:52 +01:00 |
|
Mike Pall
|
db29a8cb04
|
Change KBASE/PC regs for x64/POSIX to get shorter encodings.
|
2009-12-17 22:14:24 +01:00 |
|
Mike Pall
|
6adab430af
|
Adapt primary inbound calls in x64 interpreter.
Change argument order for lj_vm_cpcall() to simplify x64 interpreter.
|
2009-12-17 22:08:20 +01:00 |
|
Mike Pall
|
1353acacb1
|
Allow quadword lea for DynASM x64.
|
2009-12-17 22:03:33 +01:00 |
|
Mike Pall
|
1e7951ea7b
|
Cleanup DynASM action list flushes.
|
2009-12-16 22:31:15 +01:00 |
|
Mike Pall
|
eb8ee661f2
|
Fix handling of byte-addressable registers in DynASM x64.
|
2009-12-16 21:58:15 +01:00 |
|
Mike Pall
|
3a18dba3f2
|
Add support for rip-relative displacements to DynASM x64.
|
2009-12-16 05:47:52 +01:00 |
|
Mike Pall
|
85d32aeb36
|
Change some misuses of esp in x64 interpreter.
|
2009-12-16 04:37:30 +01:00 |
|
Mike Pall
|
d2156c7f73
|
Warn about use of esp with DynASM x64.
|
2009-12-16 04:34:54 +01:00 |
|
Mike Pall
|
4cb357d30f
|
Define x64 interpreter frame and cleanup use of stack temps.
|
2009-12-16 01:29:07 +01:00 |
|
Mike Pall
|
8df9603888
|
Unify interpreter reg saves/restores for WIN64 prolog/epilog req.
|
2009-12-15 21:36:42 +01:00 |
|
Mike Pall
|
1eedc6d2f1
|
First bunch of register definitions for x64 interpreter.
|
2009-12-15 05:40:44 +01:00 |
|
Mike Pall
|
267d7152ab
|
Allow 32 bit regs for indexing even for DynASM x64.
|
2009-12-15 04:45:34 +01:00 |
|
Mike Pall
|
31f0074c5e
|
Make DynASM conditionals available before .arch statement.
|
2009-12-15 04:29:22 +01:00 |
|
Mike Pall
|
b2b8577a93
|
Add usage message for mov64 to DynASM x64.
|
2009-12-15 04:22:42 +01:00 |
|
Mike Pall
|
547508f36f
|
Fix off-by-one error in err_chunkid().
|
2009-12-14 02:28:22 +01:00 |
|
Mike Pall
|
ef885f476e
|
Add support for 64 bit immediates/displacements to DynASM x64.
|
2009-12-13 19:11:11 +01:00 |
|
Mike Pall
|
d12d036023
|
Pick unused X char to force REX.W in DynASM x64.
|
2009-12-10 12:52:32 +01:00 |
|
Mike Pall
|
33171e8180
|
Add 64 bit instruction templates to DynASM x64 and fix REX encoding.
|
2009-12-10 05:59:42 +01:00 |
|
Mike Pall
|
8d564c70ad
|
Show memory operand size in cvtsi2sd/cvtsi2ss disassembly.
|
2009-12-10 05:55:24 +01:00 |
|
Mike Pall
|
0acb23426a
|
Add REX encoding to DynASM x64.
|
2009-12-10 04:01:57 +01:00 |
|
Mike Pall
|
fe36e4ac59
|
Add DynASM x64 module (non-functional). Add extra x64 registers.
|
2009-12-10 01:24:24 +01:00 |
|
Mike Pall
|
4523c46d10
|
Fix text about x64 port in status page.
|
2009-12-09 12:27:37 +01:00 |
|
Mike Pall
|
ec2442862f
|
Reorg Makefile to allow more overrides on the make command line.
|
2009-12-08 22:27:14 +01:00 |
|
Mike Pall
|
6163a90d6d
|
Remove asm auto-detection due to cross-compilation issues.
|
2009-12-08 21:28:49 +01:00 |
|
Mike Pall
|
699232f667
|
Add DynASM-built files to public repo.
|
2009-12-08 20:40:15 +01:00 |
|