From b038b61a29cd67a46c6779db776e75e799e2e0b7 Mon Sep 17 00:00:00 2001 From: Ryan Houdek Date: Mon, 25 May 2015 23:36:28 -0500 Subject: [PATCH] [ARMv7] Extend the life of the JIT Recompiler. Until loadstores are fully investigated, let's artificially extend the life of it by disabling all of them. These instructions break in a very terrible way and eventually all loadstores end up attempting to access memory region (u32)-1. Disable until someone has enough time to investigate further. --- Source/Core/Core/PowerPC/JitArm32/Jit.cpp | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/Source/Core/Core/PowerPC/JitArm32/Jit.cpp b/Source/Core/Core/PowerPC/JitArm32/Jit.cpp index 8eb430b7b4..8fc99c28cc 100644 --- a/Source/Core/Core/PowerPC/JitArm32/Jit.cpp +++ b/Source/Core/Core/PowerPC/JitArm32/Jit.cpp @@ -40,6 +40,13 @@ void JitArm::Init() code_block.m_fpa = &js.fpa; analyzer.SetOption(PPCAnalyst::PPCAnalyzer::OPTION_CONDITIONAL_CONTINUE); InitBackpatch(); + + // Disable all loadstores + // Ever since the MMU has been optimized for x86, loadstores on ARMv7 have been knackered + // XXX: Investigate exactly why these are broken + SConfig::GetInstance().m_LocalCoreStartupParameter.bJITLoadStoreOff = true; + SConfig::GetInstance().m_LocalCoreStartupParameter.bJITLoadStoreFloatingOff = true; + SConfig::GetInstance().m_LocalCoreStartupParameter.bJITLoadStorePairedOff= true; } void JitArm::ClearCache()