From 2d5c0a509c69aa289d6b4853502f5fc640c7dbd0 Mon Sep 17 00:00:00 2001 From: John Peterson Date: Wed, 4 Feb 2009 03:35:35 +0000 Subject: [PATCH] JIT: Made block linking the default option, it's faster and seems stable to me, you can turn it off from the debugger git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@2102 8ced0084-cf51-0410-be5f-012b33b47a6e --- Source/Core/Core/Src/PowerPC/Jit64/Jit.cpp | 9 +++++++-- Source/Core/DebuggerWX/Src/CodeWindow.cpp | 4 ++-- 2 files changed, 9 insertions(+), 4 deletions(-) diff --git a/Source/Core/Core/Src/PowerPC/Jit64/Jit.cpp b/Source/Core/Core/Src/PowerPC/Jit64/Jit.cpp index 26546e56f9..01ff3c763b 100644 --- a/Source/Core/Core/Src/PowerPC/Jit64/Jit.cpp +++ b/Source/Core/Core/Src/PowerPC/Jit64/Jit.cpp @@ -176,7 +176,12 @@ namespace CPUCompare asm_routines.compareEnabled = ::Core::g_CoreStartupParameter.bRunCompareClient; jo.optimizeStack = true; - jo.enableBlocklink = false; // Speed boost, but not 100% safe + /* This will enable block linking in JitBlockCache::FinalizeBlock(), it gives faster execution but may not + be as stable as the alternative (to not link the blocks). However, I have not heard about any good examples + where this cause problems, so I'm enabling this by default, since I seem to get perhaps as much as 20% more + fps with this option enabled. If you suspect that this option cause problems you can also disable it from the + debugging window. */ + jo.enableBlocklink = true; #ifdef _M_X64 jo.enableFastMem = Core::GetStartupParameter().bUseFastMem; #else @@ -195,7 +200,7 @@ namespace CPUCompare if (Core::g_CoreStartupParameter.bJITUnlimitedCache) CODE_SIZE = 1024*1024*8*8; if (Core::g_CoreStartupParameter.bJITBlockLinking) - { jo.enableBlocklink = true; SuccessAlert("Your game was started with JIT Block Linking"); } + { jo.enableBlocklink = false; SuccessAlert("Your game was started without JIT Block Linking"); } trampolines.Init(); AllocCodeSpace(CODE_SIZE); diff --git a/Source/Core/DebuggerWX/Src/CodeWindow.cpp b/Source/Core/DebuggerWX/Src/CodeWindow.cpp index e15b2475c9..18d50db5cf 100644 --- a/Source/Core/DebuggerWX/Src/CodeWindow.cpp +++ b/Source/Core/DebuggerWX/Src/CodeWindow.cpp @@ -469,8 +469,8 @@ void CCodeWindow::CreateMenu(const SCoreStartupParameter& _LocalCoreStartupParam pCoreMenu->AppendSeparator(); - jitblocklinking = pCoreMenu->Append(IDM_JITBLOCKLINKING, _T("&JIT Block Linking"), - _T("Speed up the execution by linking the JIT blocks." + jitblocklinking = pCoreMenu->Append(IDM_JITBLOCKLINKING, _T("&JIT Block Linking off"), + _T("Provide safer execution by not linking the JIT blocks." ), wxITEM_CHECK); jitunlimited = pCoreMenu->Append(IDM_JITUNLIMITED, _T("&Unlimited JIT Cache"),