diff options
| author | ptitSeb <sebastien.chev@gmail.com> | 2024-04-24 18:12:15 +0200 |
|---|---|---|
| committer | ptitSeb <sebastien.chev@gmail.com> | 2024-04-24 18:12:15 +0200 |
| commit | 856d2653bce9d70c6b45016e12ab150ac45eb2b4 (patch) | |
| tree | b4873ad883ccc24acdd522f2d395506810c4be07 /src | |
| parent | 2a79b604546769e600600f3d85a684641b0bca28 (diff) | |
| download | box64-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.c | 2 |
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 |