about summary refs log tree commit diff stats
path: root/src
diff options
context:
space:
mode:
authorptitSeb <sebastien.chev@gmail.com>2024-04-24 18:12:15 +0200
committerptitSeb <sebastien.chev@gmail.com>2024-04-24 18:12:15 +0200
commit856d2653bce9d70c6b45016e12ab150ac45eb2b4 (patch)
treeb4873ad883ccc24acdd522f2d395506810c4be07 /src
parent2a79b604546769e600600f3d85a684641b0bca28 (diff)
downloadbox64-856d2653bce9d70c6b45016e12ab150ac45eb2b4.tar.gz
box64-856d2653bce9d70c6b45016e12ab150ac45eb2b4.zip
[DYNAREC] Fix for some rare (or less rare depending on the backend) case of jump incorectly computed (regression from previous commit)
Diffstat (limited to 'src')
-rw-r--r--src/dynarec/dynarec_native.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/src/dynarec/dynarec_native.c b/src/dynarec/dynarec_native.c
index 8eb69080..d4934439 100644
--- a/src/dynarec/dynarec_native.c
+++ b/src/dynarec/dynarec_native.c
@@ -508,10 +508,10 @@ void* FillBlock64(dynablock_t* block, uintptr_t addr, int alternate, int is32bit
     for(int ii=0; ii<helper.jmp_sz; ++ii) {
         int i = helper.jmps[ii];
         uintptr_t j = helper.insts[i].x64.jmp;
+        helper.insts[i].x64.jmp_insts = -1;
         if(j<start || j>=end || j==helper.insts[i].x64.addr) {
             if(j==helper.insts[i].x64.addr) // if there is a loop on some opcode, make the block "always to tested"
                 helper.always_test = 1;
-            helper.insts[i].x64.jmp_insts = -1;
             helper.insts[i].x64.need_after |= X_PEND;
         } else {
             // find jump address instruction