mirror of
https://github.com/dolphin-emu/dolphin.git
synced 2025-07-25 15:19:42 -06:00
Jit64: Update PC before slowmem reads as well as writes
This commit is contained in:
@ -376,6 +376,10 @@ void EmuCodeBlock::SafeLoadToReg(X64Reg reg_value, const Gen::OpArg& opAddress,
|
|||||||
exit = J(true);
|
exit = J(true);
|
||||||
SetJumpTarget(slow);
|
SetJumpTarget(slow);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Helps external systems know which instruction triggered the read.
|
||||||
|
MOV(32, PPCSTATE(pc), Imm32(g_jit->js.compilerPC));
|
||||||
|
|
||||||
size_t rsp_alignment = (flags & SAFE_LOADSTORE_NO_PROLOG) ? 8 : 0;
|
size_t rsp_alignment = (flags & SAFE_LOADSTORE_NO_PROLOG) ? 8 : 0;
|
||||||
ABI_PushRegistersAndAdjustStack(registersInUse, rsp_alignment);
|
ABI_PushRegistersAndAdjustStack(registersInUse, rsp_alignment);
|
||||||
switch (accessSize)
|
switch (accessSize)
|
||||||
@ -436,6 +440,9 @@ void EmuCodeBlock::SafeLoadToRegImmediate(X64Reg reg_value, u32 address, int acc
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Helps external systems know which instruction triggered the read.
|
||||||
|
MOV(32, PPCSTATE(pc), Imm32(g_jit->js.compilerPC));
|
||||||
|
|
||||||
// Fall back to general-case code.
|
// Fall back to general-case code.
|
||||||
ABI_PushRegistersAndAdjustStack(registersInUse, 0);
|
ABI_PushRegistersAndAdjustStack(registersInUse, 0);
|
||||||
switch (accessSize)
|
switch (accessSize)
|
||||||
|
Reference in New Issue
Block a user