added main look for the Recompiler where we are using Lookup and validate with TLB on

This commit is contained in:
zilmar 2012-09-26 17:10:47 +10:00
parent beb6b0c244
commit 3db4a1e595
1 changed files with 8 additions and 3 deletions

View File

@ -599,8 +599,6 @@ void CRecompiler::RecompilerMain_Lookup_validate( void )
void CRecompiler::RecompilerMain_Lookup_validate_TLB( void ) void CRecompiler::RecompilerMain_Lookup_validate_TLB( void )
{ {
_Notify->BreakPoint(__FILE__,__LINE__);
#ifdef tofix
DWORD PhysicalAddr; DWORD PhysicalAddr;
while(!m_EndEmulation) while(!m_EndEmulation)
@ -631,6 +629,14 @@ void CRecompiler::RecompilerMain_Lookup_validate_TLB( void )
_MMU->ProtectMemory(PROGRAM_COUNTER & ~0xFFF,PROGRAM_COUNTER | 0xFFF); _MMU->ProtectMemory(PROGRAM_COUNTER & ~0xFFF,PROGRAM_COUNTER | 0xFFF);
} }
JumpTable()[PhysicalAddr >> 2] = info; JumpTable()[PhysicalAddr >> 2] = info;
} else {
if (*(info->MemLocation(0)) != info->MemContents(0) ||
*(info->MemLocation(1)) != info->MemContents(1))
{
ClearRecompCode_Virt((info->EnterPC() - 0x1000) & ~0xFFF,0x3000,Remove_ValidateFunc);
info = NULL;
continue;
}
} }
(info->Function())(); (info->Function())();
} else { } else {
@ -649,7 +655,6 @@ void CRecompiler::RecompilerMain_Lookup_validate_TLB( void )
} }
} }
} }
#endif
} }
void CRecompiler::Reset() void CRecompiler::Reset()