Merge pull request #1159 from FioraAeterna/blocklinkdebug

JIT: enable block linking and idle skipping in debug mode
This commit is contained in:
skidau 2014-09-30 13:24:16 +10:00
commit 9d9984e96f
1 changed files with 4 additions and 18 deletions

View File

@ -174,26 +174,12 @@ bool Jit64::HandleFault(uintptr_t access_address, SContext* ctx)
void Jit64::Init() void Jit64::Init()
{ {
jo.optimizeStack = true; jo.optimizeStack = true;
/* This will enable block linking in JitBlockCache::FinalizeBlock(), it gives faster execution but may not jo.enableBlocklink = true;
be as stable as the alternative (to not link the blocks). However, I have not heard about any good examples if (!SConfig::GetInstance().m_LocalCoreStartupParameter.bJITBlockLinking ||
where this cause problems, so I'm enabling this by default, since I seem to get perhaps as much as 20% more SConfig::GetInstance().m_LocalCoreStartupParameter.bMMU)
fps with this option enabled. If you suspect that this option cause problems you can also disable it from the
debugging window. */
if (SConfig::GetInstance().m_LocalCoreStartupParameter.bEnableDebugging)
{ {
// TODO: support block linking with MMU
jo.enableBlocklink = false; jo.enableBlocklink = false;
SConfig::GetInstance().m_LocalCoreStartupParameter.bSkipIdle = false;
}
else
{
if (!SConfig::GetInstance().m_LocalCoreStartupParameter.bJITBlockLinking)
{
jo.enableBlocklink = false;
}
else
{
jo.enableBlocklink = !SConfig::GetInstance().m_LocalCoreStartupParameter.bMMU;
}
} }
jo.fpAccurateFcmp = SConfig::GetInstance().m_LocalCoreStartupParameter.bEnableFPRF; jo.fpAccurateFcmp = SConfig::GetInstance().m_LocalCoreStartupParameter.bEnableFPRF;
jo.optimizeGatherPipe = true; jo.optimizeGatherPipe = true;