mirror of
https://github.com/LuaJIT/LuaJIT.git
synced 2025-02-07 23:24:09 +00:00
Change callee-save regs for x64 interpreter to shorten code.
This commit is contained in:
parent
da65e0dfed
commit
7b7c6ed754
@ -23,16 +23,18 @@
|
|||||||
|.define KBASE, edi // Must be C callee-save.
|
|.define KBASE, edi // Must be C callee-save.
|
||||||
|.define KBASEa, KBASE
|
|.define KBASEa, KBASE
|
||||||
|.define PC, esi // Must be C callee-save.
|
|.define PC, esi // Must be C callee-save.
|
||||||
|
|.define DISPATCH, ebx // Must be C callee-save.
|
||||||
|.elif X64WIN
|
|.elif X64WIN
|
||||||
|.define KBASE, edi // Must be C callee-save.
|
|.define KBASE, edi // Must be C callee-save.
|
||||||
|.define KBASEa, rdi
|
|.define KBASEa, rdi
|
||||||
|.define PC, esi // Must be C callee-save.
|
|.define PC, esi // Must be C callee-save.
|
||||||
|
|.define DISPATCH, ebx // Must be C callee-save.
|
||||||
|.else
|
|.else
|
||||||
|.define KBASE, r15d // Must be C callee-save.
|
|.define KBASE, r15d // Must be C callee-save.
|
||||||
|.define KBASEa, r15
|
|.define KBASEa, r15
|
||||||
|.define PC, r14d // Must be C callee-save.
|
|.define PC, ebx // Must be C callee-save.
|
||||||
|
|.define DISPATCH, r14d // Must be C callee-save.
|
||||||
|.endif
|
|.endif
|
||||||
|.define DISPATCH, ebx // Must be C callee-save.
|
|
||||||
|
|
|
|
||||||
|.define RA, ecx
|
|.define RA, ecx
|
||||||
|.if X64; .define RAa, rcx; .else; .define RAa, RA; .endif
|
|.if X64; .define RAa, rcx; .else; .define RAa, RA; .endif
|
||||||
|
@ -40,8 +40,13 @@ enum {
|
|||||||
|
|
||||||
/* These definitions must match with the *.dasc file(s): */
|
/* These definitions must match with the *.dasc file(s): */
|
||||||
RID_BASE = RID_EDX, /* Interpreter BASE. */
|
RID_BASE = RID_EDX, /* Interpreter BASE. */
|
||||||
|
#if LJ_64 && !defined(_WIN64)
|
||||||
|
RID_PC = RID_EBX, /* Interpreter PC. */
|
||||||
|
RID_DISPATCH = RID_R14D, /* Interpreter DISPATCH table. */
|
||||||
|
#else
|
||||||
RID_PC = RID_ESI, /* Interpreter PC. */
|
RID_PC = RID_ESI, /* Interpreter PC. */
|
||||||
RID_DISPATCH = RID_EBX, /* Interpreter DISPATCH table. */
|
RID_DISPATCH = RID_EBX, /* Interpreter DISPATCH table. */
|
||||||
|
#endif
|
||||||
|
|
||||||
/* Register ranges [min, max) and number of registers. */
|
/* Register ranges [min, max) and number of registers. */
|
||||||
RID_MIN_GPR = RID_EAX,
|
RID_MIN_GPR = RID_EAX,
|
||||||
|
Loading…
Reference in New Issue
Block a user