Fixed where timing was off slightly between Interpreter and recompiler when going in to a permanent loop

This commit is contained in:
zilmar 2012-09-24 08:20:43 +10:00
parent cb46a4cc6b
commit 35890965a0
1 changed files with 4 additions and 4 deletions

View File

@ -371,12 +371,12 @@ void CCodeSection::GenerateSectionLinkage (void)
if (CRecompilerOps::m_CompilePC == m_Jump.TargetPC && (m_Cont.FallThrough == false)) { if (CRecompilerOps::m_CompilePC == m_Jump.TargetPC && (m_Cont.FallThrough == false)) {
if (!DelaySlotEffectsJump(CompilePC())) { if (!DelaySlotEffectsJump(CompilePC())) {
MoveConstToVariable(CompilePC(),_PROGRAM_COUNTER,"PROGRAM_COUNTER"); MoveConstToVariable(CompilePC(),_PROGRAM_COUNTER,"PROGRAM_COUNTER");
m_RegWorkingSet.WriteBackRegisters(); m_Jump.RegSet.WriteBackRegisters();
UpdateCounters(m_RegWorkingSet,false, true); UpdateCounters(m_Jump.RegSet,false, true);
Call_Direct(InPermLoop,"InPermLoop"); Call_Direct(InPermLoop,"InPermLoop");
UpdateCounters(m_RegWorkingSet,true,true); UpdateCounters(m_Jump.RegSet,true,true);
CPU_Message("CompileSystemCheck 3"); CPU_Message("CompileSystemCheck 3");
CompileSystemCheck(-1,m_RegWorkingSet); CompileSystemCheck(-1,m_Jump.RegSet);
} }
} }
} }