فهرست منبع

core: Use shared_ptr for cpu_core.

bunnei 8 سال پیش
والد
کامیت
2d4a6883bc
2فایلهای تغییر یافته به همراه4 افزوده شده و 6 حذف شده
  1. 3 3
      src/core/core.cpp
  2. 1 3
      src/core/core.h

+ 3 - 3
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;

+ 1 - 3
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