[Project64] Remove CompileNow from CompileExit
This commit is contained in:
parent
ec0a027339
commit
70b174b160
|
@ -241,7 +241,7 @@ void CCodeSection::GenerateSectionLinkage()
|
||||||
else if (TargetSection[i] == NULL && JumpInfo[i]->FallThrough)
|
else if (TargetSection[i] == NULL && JumpInfo[i]->FallThrough)
|
||||||
{
|
{
|
||||||
m_RecompilerOps->LinkJump(*JumpInfo[i], (uint32_t)-1);
|
m_RecompilerOps->LinkJump(*JumpInfo[i], (uint32_t)-1);
|
||||||
m_RecompilerOps->CompileExit(JumpInfo[i]->JumpPC, JumpInfo[i]->TargetPC, JumpInfo[i]->RegSet, JumpInfo[i]->ExitReason, true);
|
m_RecompilerOps->CompileExit(JumpInfo[i]->JumpPC, JumpInfo[i]->TargetPC, JumpInfo[i]->RegSet, JumpInfo[i]->ExitReason);
|
||||||
JumpInfo[i]->FallThrough = false;
|
JumpInfo[i]->FallThrough = false;
|
||||||
}
|
}
|
||||||
else if (TargetSection[i] != NULL && JumpInfo[i] != NULL)
|
else if (TargetSection[i] != NULL && JumpInfo[i] != NULL)
|
||||||
|
@ -249,7 +249,7 @@ void CCodeSection::GenerateSectionLinkage()
|
||||||
if (!JumpInfo[i]->FallThrough) { continue; }
|
if (!JumpInfo[i]->FallThrough) { continue; }
|
||||||
if (JumpInfo[i]->TargetPC == TargetSection[i]->m_EnterPC) { continue; }
|
if (JumpInfo[i]->TargetPC == TargetSection[i]->m_EnterPC) { continue; }
|
||||||
m_RecompilerOps->LinkJump(*JumpInfo[i], (uint32_t)-1);
|
m_RecompilerOps->LinkJump(*JumpInfo[i], (uint32_t)-1);
|
||||||
m_RecompilerOps->CompileExit(JumpInfo[i]->JumpPC, JumpInfo[i]->TargetPC, JumpInfo[i]->RegSet, JumpInfo[i]->ExitReason, true);
|
m_RecompilerOps->CompileExit(JumpInfo[i]->JumpPC, JumpInfo[i]->TargetPC, JumpInfo[i]->RegSet, JumpInfo[i]->ExitReason);
|
||||||
//FreeSection(TargetSection[i],Section);
|
//FreeSection(TargetSection[i],Section);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -356,7 +356,7 @@ void CCodeSection::GenerateSectionLinkage()
|
||||||
{
|
{
|
||||||
CPU_Message("ExitBlock (from %d):", m_SectionID);
|
CPU_Message("ExitBlock (from %d):", m_SectionID);
|
||||||
m_RecompilerOps->LinkJump(*JumpInfo[i], (uint32_t)-1);
|
m_RecompilerOps->LinkJump(*JumpInfo[i], (uint32_t)-1);
|
||||||
m_RecompilerOps->CompileExit(JumpInfo[i]->JumpPC, JumpInfo[i]->TargetPC, JumpInfo[i]->RegSet, JumpInfo[i]->ExitReason, true);
|
m_RecompilerOps->CompileExit(JumpInfo[i]->JumpPC, JumpInfo[i]->TargetPC, JumpInfo[i]->RegSet, JumpInfo[i]->ExitReason);
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
if (JumpInfo[i]->TargetPC != TargetSection[i]->m_EnterPC)
|
if (JumpInfo[i]->TargetPC != TargetSection[i]->m_EnterPC)
|
||||||
|
@ -742,11 +742,11 @@ bool CCodeSection::GenerateNativeCode(uint32_t Test)
|
||||||
{
|
{
|
||||||
if (m_DelaySlot)
|
if (m_DelaySlot)
|
||||||
{
|
{
|
||||||
m_RecompilerOps->CompileExit(m_RecompilerOps->GetCurrentPC(), m_Jump.TargetPC, m_RecompilerOps->GetRegWorkingSet(), CExitInfo::Normal, true);
|
m_RecompilerOps->CompileExit(m_RecompilerOps->GetCurrentPC(), m_Jump.TargetPC, m_RecompilerOps->GetRegWorkingSet(), CExitInfo::Normal);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
m_RecompilerOps->CompileExit(m_RecompilerOps->GetCurrentPC(), m_RecompilerOps->GetCurrentPC() + 4, m_RecompilerOps->GetRegWorkingSet(), CExitInfo::Normal, true);
|
m_RecompilerOps->CompileExit(m_RecompilerOps->GetCurrentPC(), m_RecompilerOps->GetCurrentPC() + 4, m_RecompilerOps->GetRegWorkingSet(), CExitInfo::Normal);
|
||||||
}
|
}
|
||||||
m_RecompilerOps->SetNextStepType(END_BLOCK);
|
m_RecompilerOps->SetNextStepType(END_BLOCK);
|
||||||
}
|
}
|
||||||
|
@ -779,7 +779,7 @@ bool CCodeSection::GenerateNativeCode(uint32_t Test)
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
m_RecompilerOps->CompileExit(m_Jump.JumpPC, m_Jump.TargetPC, m_RecompilerOps->GetRegWorkingSet(), CExitInfo::Normal, true);
|
m_RecompilerOps->CompileExit(m_Jump.JumpPC, m_Jump.TargetPC, m_RecompilerOps->GetRegWorkingSet(), CExitInfo::Normal);
|
||||||
}
|
}
|
||||||
m_RecompilerOps->SetNextStepType(END_BLOCK);
|
m_RecompilerOps->SetNextStepType(END_BLOCK);
|
||||||
}
|
}
|
||||||
|
|
|
@ -205,7 +205,7 @@ public:
|
||||||
virtual void CompileCop1Test() = 0;
|
virtual void CompileCop1Test() = 0;
|
||||||
virtual void CompileInPermLoop(CRegInfo & RegSet, uint32_t ProgramCounter) = 0;
|
virtual void CompileInPermLoop(CRegInfo & RegSet, uint32_t ProgramCounter) = 0;
|
||||||
virtual void SyncRegState(const CRegInfo & SyncTo) = 0;
|
virtual void SyncRegState(const CRegInfo & SyncTo) = 0;
|
||||||
virtual void CompileExit(uint32_t JumpPC, uint32_t TargetPC, CRegInfo &ExitRegSet, CExitInfo::EXIT_REASON reason, bool CompileNow) = 0;
|
virtual void CompileExit(uint32_t JumpPC, uint32_t TargetPC, CRegInfo &ExitRegSet, CExitInfo::EXIT_REASON reason) = 0;
|
||||||
virtual void CompileSystemCheck(uint32_t TargetPC, const CRegInfo & RegSet) = 0;
|
virtual void CompileSystemCheck(uint32_t TargetPC, const CRegInfo & RegSet) = 0;
|
||||||
virtual CRegInfo & GetRegWorkingSet(void) = 0;
|
virtual CRegInfo & GetRegWorkingSet(void) = 0;
|
||||||
virtual void SetRegWorkingSet(const CRegInfo & RegInfo) = 0;
|
virtual void SetRegWorkingSet(const CRegInfo & RegInfo) = 0;
|
||||||
|
|
|
@ -9756,9 +9756,9 @@ void CX86RecompilerOps::OverflowDelaySlot(bool TestTimer)
|
||||||
m_NextInstruction = END_BLOCK;
|
m_NextInstruction = END_BLOCK;
|
||||||
}
|
}
|
||||||
|
|
||||||
void CX86RecompilerOps::CompileExit(uint32_t JumpPC, uint32_t TargetPC, CRegInfo &ExitRegSet, CExitInfo::EXIT_REASON reason, bool CompileNow)
|
void CX86RecompilerOps::CompileExit(uint32_t JumpPC, uint32_t TargetPC, CRegInfo &ExitRegSet, CExitInfo::EXIT_REASON reason)
|
||||||
{
|
{
|
||||||
CompileExit(JumpPC, TargetPC, ExitRegSet, reason, CompileNow, NULL);
|
CompileExit(JumpPC, TargetPC, ExitRegSet, reason, true, NULL);
|
||||||
}
|
}
|
||||||
|
|
||||||
void CX86RecompilerOps::CompileExit(uint32_t JumpPC, uint32_t TargetPC, CRegInfo &ExitRegSet, CExitInfo::EXIT_REASON reason, bool CompileNow, void(*x86Jmp)(const char * Label, uint32_t Value))
|
void CX86RecompilerOps::CompileExit(uint32_t JumpPC, uint32_t TargetPC, CRegInfo &ExitRegSet, CExitInfo::EXIT_REASON reason, bool CompileNow, void(*x86Jmp)(const char * Label, uint32_t Value))
|
||||||
|
|
|
@ -227,7 +227,7 @@ public:
|
||||||
const OPCODE & GetOpcode(void) const;
|
const OPCODE & GetOpcode(void) const;
|
||||||
void PreCompileOpcode(void);
|
void PreCompileOpcode(void);
|
||||||
void PostCompileOpcode(void);
|
void PostCompileOpcode(void);
|
||||||
void CompileExit(uint32_t JumpPC, uint32_t TargetPC, CRegInfo &ExitRegSet, CExitInfo::EXIT_REASON reason, bool CompileNow);
|
void CompileExit(uint32_t JumpPC, uint32_t TargetPC, CRegInfo &ExitRegSet, CExitInfo::EXIT_REASON reason);
|
||||||
|
|
||||||
void CompileReadTLBMiss(uint32_t VirtualAddress, x86Reg LookUpReg);
|
void CompileReadTLBMiss(uint32_t VirtualAddress, x86Reg LookUpReg);
|
||||||
void CompileReadTLBMiss(x86Reg AddressReg, x86Reg LookUpReg);
|
void CompileReadTLBMiss(x86Reg AddressReg, x86Reg LookUpReg);
|
||||||
|
|
Loading…
Reference in New Issue