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
Mike Pall
3f1f9e11f4
Fast forward to sync public repo.
...
Compile math.sinh(), math.cosh(), math.tanh() and math.random().
Compile various io.*() functions.
Drive the GC forward on string allocations in the parser.
Improve KNUM fuse vs. load heuristics.
Add abstract C call handling to IR.
2009-12-08 20:35:29 +01:00
Mike Pall
5287b93264
LuaJIT-2.0.0-beta2 hotfix #2
...
Fix lua_tocfunction().
Fix cutoff register in JMP bytecode for some conditional expressions.
Fix PHI marking algorithm for references from variant slots.
2009-12-08 19:52:28 +01:00
Mike Pall
2d0ef4522b
LuaJIT 2.0.0-beta2 hotfix #1
...
Fix LUA_XCPATH.
Fix DWARF unwinding info for OSX.
2009-12-08 19:50:21 +01:00
Mike Pall
1d1fed48a0
RELEASE LuaJIT-2.0.0-beta2
2009-12-08 19:49:20 +01:00
Mike Pall
55b1695971
RELEASE LuaJIT-2.0.0-beta1
2009-12-08 19:46:35 +01:00