|
|
|
@ -186,8 +186,7 @@ std::shared_ptr<Dynarmic::A32::Jit> ARM_Dynarmic_32::MakeJit(Common::PageTable* |
|
|
|
if (!Settings::values.cpuopt_recompile_exclusives) { |
|
|
|
config.recompile_on_exclusive_fastmem_failure = false; |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
} else { |
|
|
|
// Unsafe optimizations
|
|
|
|
if (Settings::values.cpu_accuracy.GetValue() == Settings::CPUAccuracy::Unsafe) { |
|
|
|
config.unsafe_optimizations = true; |
|
|
|
@ -217,6 +216,13 @@ std::shared_ptr<Dynarmic::A32::Jit> ARM_Dynarmic_32::MakeJit(Common::PageTable* |
|
|
|
config.optimizations |= Dynarmic::OptimizationFlag::Unsafe_IgnoreGlobalMonitor; |
|
|
|
} |
|
|
|
|
|
|
|
// Paranoia mode for debugging optimizations
|
|
|
|
if (Settings::values.cpu_accuracy.GetValue() == Settings::CPUAccuracy::Paranoid) { |
|
|
|
config.unsafe_optimizations = false; |
|
|
|
config.optimizations = Dynarmic::no_optimizations; |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
return std::make_unique<Dynarmic::A32::Jit>(config); |
|
|
|
} |
|
|
|
|
|
|
|
|