about summary refs log tree commit diff stats
path: root/src
diff options
context:
space:
mode:
authorptitSeb <sebastien.chev@gmail.com>2025-06-13 13:51:01 +0200
committerptitSeb <sebastien.chev@gmail.com>2025-06-13 13:51:01 +0200
commit099b9c2aaf2e5404f5bf24fb6891ae882572927f (patch)
tree85bf0d840ab4c03bc999dc0d58500f4b6b2ceab2 /src
parent2d740c91d23f8d9d317c0bfad38abbf74fc41f7d (diff)
downloadbox64-099b9c2aaf2e5404f5bf24fb6891ae882572927f.tar.gz
box64-099b9c2aaf2e5404f5bf24fb6891ae882572927f.zip
[DYNACACHE] Some more preparation work for internal relocations
Diffstat (limited to 'src')
-rw-r--r--src/dynarec/arm64/dynarec_arm64_helper.c4
-rw-r--r--src/dynarec/arm64/dynarec_arm64_helper.h6
2 files changed, 5 insertions, 5 deletions
diff --git a/src/dynarec/arm64/dynarec_arm64_helper.c b/src/dynarec/arm64/dynarec_arm64_helper.c
index 092452d2..0db1700b 100644
--- a/src/dynarec/arm64/dynarec_arm64_helper.c
+++ b/src/dynarec/arm64/dynarec_arm64_helper.c
@@ -809,7 +809,7 @@ void call_c(dynarec_arm_t* dyn, int ninst, arm64_consts_t fnc, int reg, int ret,
     //SET_NODF();
 }
 
-void call_i(dynarec_arm_t* dyn, int ninst, void* fnc)
+void call_i(dynarec_arm_t* dyn, int ninst, arm64_consts_t fnc)
 {
     MAYUSE(fnc);
     #if STEP == 0
@@ -830,7 +830,7 @@ void call_i(dynarec_arm_t* dyn, int ninst, void* fnc)
     #ifdef _WIN32
     LDRx_U12(xR8, xEmu, offsetof(x64emu_t, win64_teb));
     #endif
-    TABLE64(x87pc, (uintptr_t)fnc);
+    TABLE64C(x87pc, fnc);
     BLR(x87pc);
     LDPx_S7_postindex(xEmu, x1, xSP, 16);
     LDPx_S7_postindex(x2, x3, xSP, 16);
diff --git a/src/dynarec/arm64/dynarec_arm64_helper.h b/src/dynarec/arm64/dynarec_arm64_helper.h
index 9f557fd0..f0f26b8d 100644
--- a/src/dynarec/arm64/dynarec_arm64_helper.h
+++ b/src/dynarec/arm64/dynarec_arm64_helper.h
@@ -1135,7 +1135,7 @@
         MOVZw(S, (N));                                                                                                          \
         STRw_U12(S, xEmu, offsetof(x64emu_t, df));                                                                              \
         if (dyn->f.pending == SF_PENDING && dyn->insts[ninst].x64.need_after && !(dyn->insts[ninst].x64.need_after & X_PEND)) { \
-            CALL_I(UpdateFlags);                                                                                                \
+            CALL_I(const_updateflags);                                                                                          \
             dyn->f.pending = SF_SET;                                                                                            \
             SET_NODF();                                                                                                         \
         }                                                                                                                       \
@@ -1157,7 +1157,7 @@
             j64 = (GETMARKF)-(dyn->native_size);        \
             CBZw(x3, j64);                              \
         }                                               \
-        CALL_I(UpdateFlags);                            \
+        CALL_I(const_updateflags);                      \
         MARKF;                                          \
         dyn->f.pending = SF_SET;                        \
         SET_DFOK();                                     \
@@ -1485,7 +1485,7 @@ void ret_to_epilog(dynarec_arm_t* dyn, uintptr_t ip, int ninst, rex_t rex);
 void retn_to_epilog(dynarec_arm_t* dyn, uintptr_t ip, int ninst, rex_t rex, int n);
 void iret_to_epilog(dynarec_arm_t* dyn, uintptr_t ip, int ninst, int is32bits, int is64bits);
 void call_c(dynarec_arm_t* dyn, int ninst, arm64_consts_t fnc, int reg, int ret, int saveflags, int save_reg);
-void call_i(dynarec_arm_t* dyn, int ninst, void* fnc);
+void call_i(dynarec_arm_t* dyn, int ninst, arm64_consts_t fnc);
 void call_n(dynarec_arm_t* dyn, int ninst, void* fnc, int w);
 void grab_segdata(dynarec_arm_t* dyn, uintptr_t addr, int ninst, int reg, int segment, int modreg);
 void emit_cmp8(dynarec_arm_t* dyn, int ninst, int s1, int s2, int s3, int s4, int s5);