summaryrefslogtreecommitdiff
path: root/src/lj_target_x86.h
diff options
context:
space:
mode:
authorMike Pall <mike>2009-12-28 21:18:44 +0100
committerMike Pall <mike>2009-12-28 21:18:44 +0100
commit7b7c6ed754e5fc9f9a76da7c7d06d311d66cbd79 (patch)
treee696eb70094df2dd5e884dafb181b0a43a5c0140 /src/lj_target_x86.h
parentda65e0dfed4107adcd10bfff671af3630f304f35 (diff)
downloadluajit2-7b7c6ed754e5fc9f9a76da7c7d06d311d66cbd79.tar.gz
Change callee-save regs for x64 interpreter to shorten code.
Diffstat (limited to 'src/lj_target_x86.h')
-rw-r--r--src/lj_target_x86.h5
1 files changed, 5 insertions, 0 deletions
diff --git a/src/lj_target_x86.h b/src/lj_target_x86.h
index 2fb3c4b8..198245cd 100644
--- a/src/lj_target_x86.h
+++ b/src/lj_target_x86.h
@@ -40,8 +40,13 @@ enum {
/* These definitions must match with the *.dasc file(s): */
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_DISPATCH = RID_EBX, /* Interpreter DISPATCH table. */
+#endif
/* Register ranges [min, max) and number of registers. */
RID_MIN_GPR = RID_EAX,