Jit64: Update PC before slowmem reads as well as writes
This commit is contained in:
parent
7f3c31d78d
commit
8933fe599c
|
@ -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)
|
||||||
|
|
Loading…
Reference in New Issue