mirror of
https://github.com/dolphin-emu/dolphin.git
synced 2025-02-01 23:54:21 +00:00
Jit64: Only activate dcbz fastpath with fastmem.
The code is safe not to create memory errors, but it accesses the fastmem area.
This commit is contained in:
parent
c6019f9814
commit
74cb692591
@ -304,7 +304,9 @@ void Jit64::dcbz(UGeckoInstruction inst)
|
|||||||
AND(32, R(RSCRATCH), Imm32(~31));
|
AND(32, R(RSCRATCH), Imm32(~31));
|
||||||
}
|
}
|
||||||
|
|
||||||
if (MSR.DR)
|
bool emit_fast_path = MSR.DR && m_jit.jo.fastmem_arena;
|
||||||
|
|
||||||
|
if (emit_fast_path)
|
||||||
{
|
{
|
||||||
// Perform lookup to see if we can use fast path.
|
// Perform lookup to see if we can use fast path.
|
||||||
MOV(64, R(RSCRATCH2), ImmPtr(&PowerPC::dbat_table[0]));
|
MOV(64, R(RSCRATCH2), ImmPtr(&PowerPC::dbat_table[0]));
|
||||||
@ -329,7 +331,7 @@ void Jit64::dcbz(UGeckoInstruction inst)
|
|||||||
ABI_CallFunctionR(PowerPC::ClearCacheLine, RSCRATCH);
|
ABI_CallFunctionR(PowerPC::ClearCacheLine, RSCRATCH);
|
||||||
ABI_PopRegistersAndAdjustStack(registersInUse, 0);
|
ABI_PopRegistersAndAdjustStack(registersInUse, 0);
|
||||||
|
|
||||||
if (MSR.DR)
|
if (emit_fast_path)
|
||||||
{
|
{
|
||||||
FixupBranch end = J(true);
|
FixupBranch end = J(true);
|
||||||
SwitchToNearCode();
|
SwitchToNearCode();
|
||||||
|
Loading…
x
Reference in New Issue
Block a user