From 6490277a3192473408dd4622502c6aa4d7a31371 Mon Sep 17 00:00:00 2001 From: zilmar Date: Thu, 25 Oct 2012 19:38:58 +1100 Subject: [PATCH] compile TLB Miss with const --- Source/Project64/N64 System/Recompiler/Recompiler Ops.cpp | 7 +++++++ Source/Project64/N64 System/Recompiler/Recompiler Ops.h | 1 + 2 files changed, 8 insertions(+) diff --git a/Source/Project64/N64 System/Recompiler/Recompiler Ops.cpp b/Source/Project64/N64 System/Recompiler/Recompiler Ops.cpp index 2974623c9..e336d3af0 100644 --- a/Source/Project64/N64 System/Recompiler/Recompiler Ops.cpp +++ b/Source/Project64/N64 System/Recompiler/Recompiler Ops.cpp @@ -7,6 +7,13 @@ DWORD CRecompilerOps::m_CompilePC; OPCODE CRecompilerOps::m_Opcode; DWORD CRecompilerOps::m_BranchCompare = 0; +void CRecompilerOps::CompileReadTLBMiss (DWORD VirtualAddress, x86Reg LookUpReg ) +{ + MoveConstToVariable(VirtualAddress,_TLBLoadAddress,"TLBLoadAddress"); + TestX86RegToX86Reg(LookUpReg,LookUpReg); + m_Section->CompileExit(m_CompilePC, m_CompilePC,m_RegWorkingSet,CExitInfo::TLBReadMiss,FALSE,JeLabel32); +} + void CRecompilerOps::CompileReadTLBMiss (x86Reg AddressReg, x86Reg LookUpReg ) { MoveX86regToVariable(AddressReg,_TLBLoadAddress,"TLBLoadAddress"); diff --git a/Source/Project64/N64 System/Recompiler/Recompiler Ops.h b/Source/Project64/N64 System/Recompiler/Recompiler Ops.h index 3ed8802f5..43a9312d3 100644 --- a/Source/Project64/N64 System/Recompiler/Recompiler Ops.h +++ b/Source/Project64/N64 System/Recompiler/Recompiler Ops.h @@ -189,6 +189,7 @@ protected: static void AfterCallDirect ( CRegInfo & RegSet ); static void EnterCodeBlock ( void ); static void ExitCodeBlock ( void ); + static void CompileReadTLBMiss (DWORD VirtualAddress, x86Reg LookUpReg ); static void CompileReadTLBMiss (x86Reg AddressReg, x86Reg LookUpReg ); static void CompileWriteTLBMiss (x86Reg AddressReg, x86Reg LookUpReg ); static void UpdateSyncCPU (CRegInfo & RegSet, DWORD Cycles);