summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/core/core.cpp6
-rw-r--r--src/core/core.h4
2 files changed, 4 insertions, 6 deletions
diff --git a/src/core/core.cpp b/src/core/core.cpp
index 613a98b4c..89bb2887e 100644
--- a/src/core/core.cpp
+++ b/src/core/core.cpp
@@ -141,14 +141,14 @@ System::ResultStatus System::Init(EmuWindow* emu_window, u32 system_mode) {
switch (Settings::values.cpu_core) {
case Settings::CpuCore::Unicorn:
- cpu_core = std::make_unique<ARM_Unicorn>();
+ cpu_core = std::make_shared<ARM_Unicorn>();
break;
case Settings::CpuCore::Dynarmic:
default:
#ifdef ARCHITECTURE_x86_64
- cpu_core = std::make_unique<ARM_Dynarmic>();
+ cpu_core = std::make_shared<ARM_Dynarmic>();
#else
- cpu_core = std::make_unique<ARM_Unicorn>();
+ cpu_core = std::make_shared<ARM_Unicorn>();
LOG_WARNING(Core, "CPU JIT requested, but Dynarmic not available");
#endif
break;
diff --git a/src/core/core.h b/src/core/core.h
index f63cc47cc..e7599e18c 100644
--- a/src/core/core.h
+++ b/src/core/core.h
@@ -140,9 +140,7 @@ private:
/// AppLoader used to load the current executing application
std::unique_ptr<Loader::AppLoader> app_loader;
- ///< ARM11 CPU core
- std::unique_ptr<ARM_Interface> cpu_core;
-
+ std::shared_ptr<ARM_Interface> cpu_core;
std::unique_ptr<Tegra::GPU> gpu_core;
/// When true, signals that a reschedule should happen