From 598e4d2f6ccfc3dc774a28be53d8b1d78ebbd08d Mon Sep 17 00:00:00 2001
From: Lioncash <mathew1800@gmail.com>
Date: Tue, 25 Sep 2018 16:04:53 -0400
Subject: [PATCH] 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 +++---
 src/core/core_cpu.h   | 2 +-
 2 files changed, 4 insertions(+), 4 deletions(-)

diff --git a/src/core/core_cpu.cpp b/src/core/core_cpu.cpp
index 0140e97133..265f8ed9cc 100644
--- a/src/core/core_cpu.cpp
+++ b/src/core/core_cpu.cpp
@@ -55,13 +55,13 @@ Cpu::Cpu(std::shared_ptr<ExclusiveMonitor> exclusive_monitor,
 
     if (Settings::values.use_cpu_jit) {
 #ifdef ARCHITECTURE_x86_64
-        arm_interface = std::make_shared<ARM_Dynarmic>(exclusive_monitor, core_index);
+        arm_interface = std::make_unique<ARM_Dynarmic>(exclusive_monitor, core_index);
 #else
-        arm_interface = std::make_shared<ARM_Unicorn>();
+        arm_interface = std::make_unique<ARM_Unicorn>();
         LOG_WARNING(Core, "CPU JIT requested, but Dynarmic not available");
 #endif
     } else {
-        arm_interface = std::make_shared<ARM_Unicorn>();
+        arm_interface = std::make_unique<ARM_Unicorn>();
     }
 
     scheduler = std::make_shared<Kernel::Scheduler>(*arm_interface);
diff --git a/src/core/core_cpu.h b/src/core/core_cpu.h
index 6855329654..ee7e04abc8 100644
--- a/src/core/core_cpu.h
+++ b/src/core/core_cpu.h
@@ -76,7 +76,7 @@ public:
 private:
     void Reschedule();
 
-    std::shared_ptr<ARM_Interface> arm_interface;
+    std::unique_ptr<ARM_Interface> arm_interface;
     std::shared_ptr<CpuBarrier> cpu_barrier;
     std::shared_ptr<Kernel::Scheduler> scheduler;