mirror of
https://github.com/dolphin-emu/dolphin.git
synced 2025-01-11 16:49:12 +01:00
JitArm64: Store PC on debug exit
Should fix https://bugs.dolphin-emu.org/issues/13178. Jit64 doesn't need to do this because it stores PC directly into ppcState instead of first storing it in a register.
This commit is contained in:
parent
bed3874497
commit
262a3be08a
@ -223,10 +223,16 @@ void JitArm64::GenerateAsm()
|
||||
// We can safely assume that downcount >= 1
|
||||
B(dispatcher_no_check);
|
||||
|
||||
if (enable_debugging)
|
||||
{
|
||||
SetJumpTarget(debug_exit);
|
||||
static_assert(PPCSTATE_OFF(pc) <= 252);
|
||||
static_assert(PPCSTATE_OFF(pc) + 4 == PPCSTATE_OFF(npc));
|
||||
STP(IndexType::Signed, DISPATCHER_PC, DISPATCHER_PC, PPC_REG, PPCSTATE_OFF(pc));
|
||||
}
|
||||
|
||||
dispatcher_exit = GetCodePtr();
|
||||
SetJumpTarget(exit);
|
||||
if (enable_debugging)
|
||||
SetJumpTarget(debug_exit);
|
||||
|
||||
// Reset the stack pointer, since the BLR optimization may have pushed things onto the stack
|
||||
// without popping them.
|
||||
|
Loading…
x
Reference in New Issue
Block a user