Fixed where timing was off slightly between Interpreter and recompiler when going in to a permanent loop
This commit is contained in:
parent
cb46a4cc6b
commit
35890965a0
|
@ -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);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue