From 2d4a6883bcfa785e990c5dbf3fab9eb73a0ed277 Mon Sep 17 00:00:00 2001 From: bunnei Date: Sun, 18 Feb 2018 14:52:09 -0500 Subject: core: Use shared_ptr for cpu_core. --- src/core/core.cpp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'src/core/core.cpp') 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(); + cpu_core = std::make_shared(); break; case Settings::CpuCore::Dynarmic: default: #ifdef ARCHITECTURE_x86_64 - cpu_core = std::make_unique(); + cpu_core = std::make_shared(); #else - cpu_core = std::make_unique(); + cpu_core = std::make_shared(); LOG_WARNING(Core, "CPU JIT requested, but Dynarmic not available"); #endif break; -- cgit v1.2.3 From ac81c02ed9401b137e83bece2edd6dee8d0a0af2 Mon Sep 17 00:00:00 2001 From: bunnei Date: Sun, 18 Feb 2018 15:17:16 -0500 Subject: kernel: Use Scheduler class for threading. --- src/core/core.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'src/core/core.cpp') diff --git a/src/core/core.cpp b/src/core/core.cpp index 89bb2887e..cef697dfe 100644 --- a/src/core/core.cpp +++ b/src/core/core.cpp @@ -133,7 +133,7 @@ void System::Reschedule() { } reschedule_pending = false; - Kernel::Reschedule(); + Core::System::GetInstance().Scheduler().Reschedule(); } System::ResultStatus System::Init(EmuWindow* emu_window, u32 system_mode) { @@ -154,6 +154,7 @@ System::ResultStatus System::Init(EmuWindow* emu_window, u32 system_mode) { break; } + scheduler = std::make_unique(cpu_core); gpu_core = std::make_unique(); telemetry_session = std::make_unique(); -- cgit v1.2.3 From 8db80d8389689af5f1b8bf7f8a01f98b9cea4c09 Mon Sep 17 00:00:00 2001 From: bunnei Date: Mon, 19 Feb 2018 16:46:42 -0500 Subject: scheduler: Cleanup based on PR feedback. --- src/core/core.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'src/core/core.cpp') diff --git a/src/core/core.cpp b/src/core/core.cpp index cef697dfe..8c5dd3761 100644 --- a/src/core/core.cpp +++ b/src/core/core.cpp @@ -154,7 +154,7 @@ System::ResultStatus System::Init(EmuWindow* emu_window, u32 system_mode) { break; } - scheduler = std::make_unique(cpu_core); + scheduler = std::make_unique(cpu_core.get()); gpu_core = std::make_unique(); telemetry_session = std::make_unique(); -- cgit v1.2.3