aboutsummaryrefslogtreecommitdiff
path: root/src/lj_ccallback.c
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--src/lj_ccallback.c6
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)
171static void *callback_mcode_init(global_State *g, uint32_t *page) 171static 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++) {