fuzz_arm: Correct unicorn overrun recovery code
This commit is contained in:
parent
840982be95
commit
e9b550de3a
1 changed files with 1 additions and 2 deletions
|
@ -398,9 +398,8 @@ static void RunTestInstance(Dynarmic::A32::Jit& jit,
|
||||||
}
|
}
|
||||||
|
|
||||||
if (uni.GetRegisters()[15] > jit.Regs()[15]) {
|
if (uni.GetRegisters()[15] > jit.Regs()[15]) {
|
||||||
const u32 final_pc = jit.Regs()[15];
|
|
||||||
int trials = 0;
|
int trials = 0;
|
||||||
while (final_pc >= initial_pc && final_pc < expected_end_pc && trials++ < 100) {
|
while (jit.Regs()[15] >= initial_pc && jit.Regs()[15] < expected_end_pc && trials++ < 100 && uni.GetRegisters()[15] != jit.Regs()[15]) {
|
||||||
fmt::print("Warning: Possible unicorn overrrun, attempt recovery\n");
|
fmt::print("Warning: Possible unicorn overrrun, attempt recovery\n");
|
||||||
jit.Step();
|
jit.Step();
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue