mirror of
https://github.com/dolphin-emu/dolphin.git
synced 2025-01-27 08:15:33 +01:00
Jit64: Jump to dispatcher_no_check from InitializeSpeculativeConstants
Jumping to `dispatcher` requires first subtracting the downcount, otherwise `dispatcher` may unpredictably jump to CoreTiming::Advance, which could break determinism compatibility with JitArm64. We should jump to `dispatcher_no_check` instead.
This commit is contained in:
parent
3af74d82a0
commit
ec6a4115eb
@ -1282,7 +1282,7 @@ void Jit64::IntializeSpeculativeConstants()
|
|||||||
ABI_CallFunctionC(JitInterface::CompileExceptionCheck,
|
ABI_CallFunctionC(JitInterface::CompileExceptionCheck,
|
||||||
static_cast<u32>(JitInterface::ExceptionType::SpeculativeConstants));
|
static_cast<u32>(JitInterface::ExceptionType::SpeculativeConstants));
|
||||||
ABI_PopRegistersAndAdjustStack({}, 0);
|
ABI_PopRegistersAndAdjustStack({}, 0);
|
||||||
JMP(asm_routines.dispatcher, true);
|
JMP(asm_routines.dispatcher_no_check, true);
|
||||||
SwitchToNearCode();
|
SwitchToNearCode();
|
||||||
}
|
}
|
||||||
CMP(32, PPCSTATE(gpr[i]), Imm32(compileTimeValue));
|
CMP(32, PPCSTATE(gpr[i]), Imm32(compileTimeValue));
|
||||||
|
Loading…
x
Reference in New Issue
Block a user