Merge pull request #6972 from JosJuice/default-jit

When CPU core is invalid, fall back to JIT instead of interpreter
This commit is contained in:
Léo Lam authored and GitHub committed 2018-05-26 20:18:31 +02:00
commit f568e41fac
2 files changed
+6 -11

No files matched your search

+3 -1
View File
@@ -64,7 +64,9 @@ CPUCoreBase* InitJitCore(int core)
break; break;
default: default:
PanicAlert("Unrecognizable cpu_core: %d", core); PanicAlertT("The selected CPU emulation core (%d) is not available. "
"Please select a different CPU emulation core in the settings.",
core);
g_jit = nullptr; g_jit = nullptr;
return nullptr; return nullptr;
} }
+3 -10
View File
@@ -164,20 +164,13 @@ static void InitializeCPUCore(int cpu_core)
s_cpu_core_base = JitInterface::InitJitCore(cpu_core); s_cpu_core_base = JitInterface::InitJitCore(cpu_core);
if (!s_cpu_core_base) // Handle Situations where JIT core isn't available if (!s_cpu_core_base) // Handle Situations where JIT core isn't available
{ {
WARN_LOG(POWERPC, "Jit core %d not available. Defaulting to interpreter.", cpu_core); WARN_LOG(POWERPC, "CPU core %d not available. Falling back to default.", cpu_core);
s_cpu_core_base = s_interpreter; s_cpu_core_base = JitInterface::InitJitCore(DefaultCPUCore());
} }
break; break;
} }
if (s_cpu_core_base != s_interpreter) s_mode = s_cpu_core_base == s_interpreter ? CoreMode::Interpreter : CoreMode::JIT;
{
s_mode = CoreMode::JIT;
}
else
{
s_mode = CoreMode::Interpreter;
}
} }
const std::vector<CPUCore>& AvailableCPUCores() const std::vector<CPUCore>& AvailableCPUCores()