diff options
author | Mike Pall <mike> | 2015-05-04 06:30:57 +0200 |
---|---|---|
committer | Mike Pall <mike> | 2015-05-04 06:30:57 +0200 |
commit | a92e73023353e59405ebfdb2837b5742d17946a5 (patch) | |
tree | 19dca7d5ffe0b5d133d6fd5434a923aa976aaaeb /src/lj_frame.h | |
parent | 5caf53d502dbe051dac11d86e1f9ad69bbe3eabf (diff) | |
download | luajit-a92e73023353e59405ebfdb2837b5742d17946a5.tar.gz luajit-a92e73023353e59405ebfdb2837b5742d17946a5.tar.bz2 luajit-a92e73023353e59405ebfdb2837b5742d17946a5.zip |
x64: Add LJ_GC64 mode interpreter.
Enable this mode with: make XCFLAGS=-DLUAJIT_ENABLE_GC64
Diffstat (limited to 'src/lj_frame.h')
-rw-r--r-- | src/lj_frame.h | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/src/lj_frame.h b/src/lj_frame.h index b9595a5a..517f4684 100644 --- a/src/lj_frame.h +++ b/src/lj_frame.h | |||
@@ -127,21 +127,37 @@ enum { LJ_CONT_TAILCALL, LJ_CONT_FFI_CALLBACK }; /* Special continuations. */ | |||
127 | #elif LJ_TARGET_X64 | 127 | #elif LJ_TARGET_X64 |
128 | #if LJ_ABI_WIN | 128 | #if LJ_ABI_WIN |
129 | #define CFRAME_OFS_PREV (13*8) | 129 | #define CFRAME_OFS_PREV (13*8) |
130 | #if LJ_GC64 | ||
131 | #define CFRAME_OFS_PC (12*8) | ||
132 | #define CFRAME_OFS_L (11*8) | ||
133 | #define CFRAME_OFS_ERRF (21*4) | ||
134 | #define CFRAME_OFS_NRES (20*4) | ||
135 | #define CFRAME_OFS_MULTRES (8*4) | ||
136 | #else | ||
130 | #define CFRAME_OFS_PC (25*4) | 137 | #define CFRAME_OFS_PC (25*4) |
131 | #define CFRAME_OFS_L (24*4) | 138 | #define CFRAME_OFS_L (24*4) |
132 | #define CFRAME_OFS_ERRF (23*4) | 139 | #define CFRAME_OFS_ERRF (23*4) |
133 | #define CFRAME_OFS_NRES (22*4) | 140 | #define CFRAME_OFS_NRES (22*4) |
134 | #define CFRAME_OFS_MULTRES (21*4) | 141 | #define CFRAME_OFS_MULTRES (21*4) |
142 | #endif | ||
135 | #define CFRAME_SIZE (10*8) | 143 | #define CFRAME_SIZE (10*8) |
136 | #define CFRAME_SIZE_JIT (CFRAME_SIZE + 9*16 + 4*8) | 144 | #define CFRAME_SIZE_JIT (CFRAME_SIZE + 9*16 + 4*8) |
137 | #define CFRAME_SHIFT_MULTRES 0 | 145 | #define CFRAME_SHIFT_MULTRES 0 |
138 | #else | 146 | #else |
139 | #define CFRAME_OFS_PREV (4*8) | 147 | #define CFRAME_OFS_PREV (4*8) |
148 | #if LJ_GC64 | ||
149 | #define CFRAME_OFS_PC (3*8) | ||
150 | #define CFRAME_OFS_L (2*8) | ||
151 | #define CFRAME_OFS_ERRF (3*4) | ||
152 | #define CFRAME_OFS_NRES (2*4) | ||
153 | #define CFRAME_OFS_MULTRES (0*4) | ||
154 | #else | ||
140 | #define CFRAME_OFS_PC (7*4) | 155 | #define CFRAME_OFS_PC (7*4) |
141 | #define CFRAME_OFS_L (6*4) | 156 | #define CFRAME_OFS_L (6*4) |
142 | #define CFRAME_OFS_ERRF (5*4) | 157 | #define CFRAME_OFS_ERRF (5*4) |
143 | #define CFRAME_OFS_NRES (4*4) | 158 | #define CFRAME_OFS_NRES (4*4) |
144 | #define CFRAME_OFS_MULTRES (1*4) | 159 | #define CFRAME_OFS_MULTRES (1*4) |
160 | #endif | ||
145 | #define CFRAME_SIZE (10*8) | 161 | #define CFRAME_SIZE (10*8) |
146 | #define CFRAME_SIZE_JIT (CFRAME_SIZE + 16) | 162 | #define CFRAME_SIZE_JIT (CFRAME_SIZE + 16) |
147 | #define CFRAME_SHIFT_MULTRES 0 | 163 | #define CFRAME_SHIFT_MULTRES 0 |