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
This commit is contained in:
John Peterson 2009-02-04 03:35:35 +00:00
parent 5f0ae71fd1
commit 2d5c0a509c
2 changed files with 9 additions and 4 deletions

View File

@ -176,7 +176,12 @@ namespace CPUCompare
asm_routines.compareEnabled = ::Core::g_CoreStartupParameter.bRunCompareClient; asm_routines.compareEnabled = ::Core::g_CoreStartupParameter.bRunCompareClient;
jo.optimizeStack = true; 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 #ifdef _M_X64
jo.enableFastMem = Core::GetStartupParameter().bUseFastMem; jo.enableFastMem = Core::GetStartupParameter().bUseFastMem;
#else #else
@ -195,7 +200,7 @@ namespace CPUCompare
if (Core::g_CoreStartupParameter.bJITUnlimitedCache) if (Core::g_CoreStartupParameter.bJITUnlimitedCache)
CODE_SIZE = 1024*1024*8*8; CODE_SIZE = 1024*1024*8*8;
if (Core::g_CoreStartupParameter.bJITBlockLinking) 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(); trampolines.Init();
AllocCodeSpace(CODE_SIZE); AllocCodeSpace(CODE_SIZE);

View File

@ -469,8 +469,8 @@ void CCodeWindow::CreateMenu(const SCoreStartupParameter& _LocalCoreStartupParam
pCoreMenu->AppendSeparator(); pCoreMenu->AppendSeparator();
jitblocklinking = pCoreMenu->Append(IDM_JITBLOCKLINKING, _T("&JIT Block Linking"), jitblocklinking = pCoreMenu->Append(IDM_JITBLOCKLINKING, _T("&JIT Block Linking off"),
_T("Speed up the execution by linking the JIT blocks." _T("Provide safer execution by not linking the JIT blocks."
), wxITEM_CHECK); ), wxITEM_CHECK);
jitunlimited = pCoreMenu->Append(IDM_JITUNLIMITED, _T("&Unlimited JIT Cache"), jitunlimited = pCoreMenu->Append(IDM_JITUNLIMITED, _T("&Unlimited JIT Cache"),