diff options
Diffstat (limited to '')
-rw-r--r-- | src/lj_ccallback.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/src/lj_ccallback.c b/src/lj_ccallback.c index 43e44305..98e9e02b 100644 --- a/src/lj_ccallback.c +++ b/src/lj_ccallback.c | |||
@@ -171,13 +171,13 @@ static void *callback_mcode_init(global_State *g, uint32_t *page) | |||
171 | static void *callback_mcode_init(global_State *g, uint32_t *page) | 171 | static void *callback_mcode_init(global_State *g, uint32_t *page) |
172 | { | 172 | { |
173 | uint32_t *p = page; | 173 | uint32_t *p = page; |
174 | void *target = (void *)lj_vm_ffi_callback; | 174 | ASMFunction target = lj_vm_ffi_callback; |
175 | MSize slot; | 175 | MSize slot; |
176 | *p++ = A64I_LE(A64I_LDRLx | A64F_D(RID_X11) | A64F_S19(4)); | 176 | *p++ = A64I_LE(A64I_LDRLx | A64F_D(RID_X11) | A64F_S19(4)); |
177 | *p++ = A64I_LE(A64I_LDRLx | A64F_D(RID_X10) | A64F_S19(5)); | 177 | *p++ = A64I_LE(A64I_LDRLx | A64F_D(RID_X10) | A64F_S19(5)); |
178 | *p++ = A64I_LE(A64I_BR | A64F_N(RID_X11)); | 178 | *p++ = A64I_LE(A64I_BR_AUTH | A64F_N(RID_X11)); |
179 | *p++ = A64I_LE(A64I_NOP); | 179 | *p++ = A64I_LE(A64I_NOP); |
180 | ((void **)p)[0] = target; | 180 | ((ASMFunction *)p)[0] = target; |
181 | ((void **)p)[1] = g; | 181 | ((void **)p)[1] = g; |
182 | p += 4; | 182 | p += 4; |
183 | for (slot = 0; slot < CALLBACK_MAX_SLOT; slot++) { | 183 | for (slot = 0; slot < CALLBACK_MAX_SLOT; slot++) { |