From a58eefa7e42f156e4a9efead04c6d814286c2f10 Mon Sep 17 00:00:00 2001 From: Lioncash Date: Tue, 25 Sep 2018 16:00:14 -0400 Subject: kernel/scheduler: Take ARM_Interface instance by reference in the constructor It doesn't make sense to allow a scheduler to be constructed around a null pointer. --- src/core/core_cpu.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'src/core/core_cpu.cpp') diff --git a/src/core/core_cpu.cpp b/src/core/core_cpu.cpp index 21568ad50..0140e9713 100644 --- a/src/core/core_cpu.cpp +++ b/src/core/core_cpu.cpp @@ -64,7 +64,7 @@ Cpu::Cpu(std::shared_ptr exclusive_monitor, arm_interface = std::make_shared(); } - scheduler = std::make_shared(arm_interface.get()); + scheduler = std::make_shared(*arm_interface); } Cpu::~Cpu() = default; -- cgit v1.2.3 From 598e4d2f6ccfc3dc774a28be53d8b1d78ebbd08d Mon Sep 17 00:00:00 2001 From: Lioncash Date: Tue, 25 Sep 2018 16:04:53 -0400 Subject: core_cpu: Make arm_interface instances a std::unique_ptr This is only exposed by reference, so we can just make it a unique pointer to get rid of the need to also use reference counting for the pointer. --- src/core/core_cpu.cpp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'src/core/core_cpu.cpp') diff --git a/src/core/core_cpu.cpp b/src/core/core_cpu.cpp index 0140e9713..265f8ed9c 100644 --- a/src/core/core_cpu.cpp +++ b/src/core/core_cpu.cpp @@ -55,13 +55,13 @@ Cpu::Cpu(std::shared_ptr exclusive_monitor, if (Settings::values.use_cpu_jit) { #ifdef ARCHITECTURE_x86_64 - arm_interface = std::make_shared(exclusive_monitor, core_index); + arm_interface = std::make_unique(exclusive_monitor, core_index); #else - arm_interface = std::make_shared(); + arm_interface = std::make_unique(); LOG_WARNING(Core, "CPU JIT requested, but Dynarmic not available"); #endif } else { - arm_interface = std::make_shared(); + arm_interface = std::make_unique(); } scheduler = std::make_shared(*arm_interface); -- cgit v1.2.3