[Core] CX86RecompilerOps::SW always update counters on unknown addresses

This commit is contained in:
zilmar 2022-04-11 09:07:47 +09:30
parent a3d32d5b46
commit f683d080ed
1 changed files with 3 additions and 6 deletions

View File

@ -4012,15 +4012,12 @@ void CX86RecompilerOps::SW(bool bCheckLLbit)
ProtectGPR(m_Opcode.rt); ProtectGPR(m_Opcode.rt);
} }
m_RegWorkingSet.SetBlockCycleCount(m_RegWorkingSet.GetBlockCycleCount() - g_System->CountPerOp());
UpdateCounters(m_RegWorkingSet, false, true);
m_RegWorkingSet.SetBlockCycleCount(m_RegWorkingSet.GetBlockCycleCount() + g_System->CountPerOp());
if (IsMapped(m_Opcode.base)) if (IsMapped(m_Opcode.base))
{ {
ProtectGPR(m_Opcode.base); ProtectGPR(m_Opcode.base);
if (g_System->bDelaySI() || g_System->bDelayDP())
{
m_RegWorkingSet.SetBlockCycleCount(m_RegWorkingSet.GetBlockCycleCount() - g_System->CountPerOp());
UpdateCounters(m_RegWorkingSet, false, true);
m_RegWorkingSet.SetBlockCycleCount(m_RegWorkingSet.GetBlockCycleCount() + g_System->CountPerOp());
}
if (m_Opcode.offset != 0) if (m_Opcode.offset != 0)
{ {
TempReg1 = Map_TempReg(x86_Any, -1, false); TempReg1 = Map_TempReg(x86_Any, -1, false);