From a19d0b648abeabd9772d736d51d8da9a435e139f Mon Sep 17 00:00:00 2001 From: Henrik Rydgard Date: Sun, 9 Nov 2014 14:54:39 +0100 Subject: [PATCH] x86 jit: Add a simple speedhack (ignore masking stack pointers) but disable due to low impact. --- Core/MIPS/x86/JitSafeMem.cpp | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/Core/MIPS/x86/JitSafeMem.cpp b/Core/MIPS/x86/JitSafeMem.cpp index a79052d1cd..b552c842e7 100644 --- a/Core/MIPS/x86/JitSafeMem.cpp +++ b/Core/MIPS/x86/JitSafeMem.cpp @@ -145,9 +145,11 @@ OpArg JitSafeMem::PrepareMemoryOpArg(ReadType type) { // We may not even need to move into EAX as a temporary. bool needTemp = alignMask_ != 0xFFFFFFFF; + #ifdef _M_IX86 + bool needMask = true; // raddr_ != MIPS_REG_SP; // Commented out this speedhack due to low impact // We always mask on 32 bit in fast memory mode. - needTemp = needTemp || fast_; + needTemp = needTemp || (fast_ && needMask); #endif if (jit_->gpr.R(raddr_).IsSimpleReg() && !needTemp) @@ -177,7 +179,9 @@ OpArg JitSafeMem::PrepareMemoryOpArg(ReadType type) else { #ifdef _M_IX86 - jit_->AND(32, R(EAX), Imm32(Memory::MEMVIEW32_MASK)); + if (needMask) { + jit_->AND(32, R(EAX), Imm32(Memory::MEMVIEW32_MASK)); + } #endif }