fuzz_arm: Sometimes we have to step more to sync up with unicorn
This happens if unicorn happens to jump back on an IT instruction.
This commit is contained in:
parent
593de127d2
commit
dc3e70c552
1 changed files with 2 additions and 1 deletions
|
@ -397,7 +397,8 @@ static void RunTestInstance(Dynarmic::A32::Jit& jit,
|
|||
|
||||
if (uni.GetRegisters()[15] > jit.Regs()[15]) {
|
||||
const u32 final_pc = jit.Regs()[15];
|
||||
if (final_pc >= initial_pc && final_pc < expected_end_pc) {
|
||||
int trials = 0;
|
||||
while (final_pc >= initial_pc && final_pc < expected_end_pc && trials++ < 100) {
|
||||
fmt::print("Warning: Possible unicorn overrrun, attempt recovery\n");
|
||||
jit.Step();
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue