diff options
| author | ptitSeb <sebastien.chev@gmail.com> | 2025-06-13 13:51:01 +0200 |
|---|---|---|
| committer | ptitSeb <sebastien.chev@gmail.com> | 2025-06-13 13:51:01 +0200 |
| commit | 099b9c2aaf2e5404f5bf24fb6891ae882572927f (patch) | |
| tree | 85bf0d840ab4c03bc999dc0d58500f4b6b2ceab2 /src | |
| parent | 2d740c91d23f8d9d317c0bfad38abbf74fc41f7d (diff) | |
| download | box64-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.c | 4 | ||||
| -rw-r--r-- | src/dynarec/arm64/dynarec_arm64_helper.h | 6 |
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); |