diff options
| author | Markus Wick <degasus@users.noreply.github.com> | 2017-03-04 12:14:35 +0100 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2017-03-04 12:14:35 +0100 |
| commit | 3c511f2a942e9c2b81cb04dd1ea148e82e9529d8 (patch) | |
| tree | c73d75a1b60298bbb6aa97a309cad140d107fb50 /Source | |
| parent | 01143d761e82d86c378d8420ebf1f6f670fb44d9 (diff) | |
| parent | 13757b7d35454e040cf7867f08b4864ac72bb5ed (diff) | |
Merge pull request #5003 from lioncash/memory
UICommon: Make GetNewDisassembler() return a unique_ptr
Diffstat (limited to 'Source')
| -rw-r--r-- | Source/Core/DolphinWX/Debugger/JitWindow.cpp | 6 | ||||
| -rw-r--r-- | Source/Core/UICommon/Disassembler.cpp | 16 | ||||
| -rw-r--r-- | Source/Core/UICommon/Disassembler.h | 3 |
3 files changed, 13 insertions, 12 deletions
diff --git a/Source/Core/DolphinWX/Debugger/JitWindow.cpp b/Source/Core/DolphinWX/Debugger/JitWindow.cpp index 1ca19b2195..a62d1ba2f2 100644 --- a/Source/Core/DolphinWX/Debugger/JitWindow.cpp +++ b/Source/Core/DolphinWX/Debugger/JitWindow.cpp @@ -47,11 +47,11 @@ CJitWindow::CJitWindow(wxWindow* parent, wxWindowID id, const wxPoint& pos, cons SetSizerAndFit(sizerBig); #if defined(_M_X86) - m_disassembler.reset(GetNewDisassembler("x86")); + m_disassembler = GetNewDisassembler("x86"); #elif defined(_M_ARM_64) - m_disassembler.reset(GetNewDisassembler("aarch64")); + m_disassembler = GetNewDisassembler("aarch64"); #else - m_disassembler.reset(GetNewDisassembler("UNK")); + m_disassembler = GetNewDisassembler("UNK"); #endif } diff --git a/Source/Core/UICommon/Disassembler.cpp b/Source/Core/UICommon/Disassembler.cpp index 14cab2ef9a..597669c99f 100644 --- a/Source/Core/UICommon/Disassembler.cpp +++ b/Source/Core/UICommon/Disassembler.cpp @@ -151,20 +151,20 @@ std::string HostDisassemblerX86::DisassembleHostBlock(const u8* code_start, cons return x86_disasm.str(); } -HostDisassembler* GetNewDisassembler(const std::string& arch) +std::unique_ptr<HostDisassembler> GetNewDisassembler(const std::string& arch) { #if defined(HAVE_LLVM) if (arch == "x86") - return new HostDisassemblerLLVM("x86_64-none-unknown"); - else if (arch == "aarch64") - return new HostDisassemblerLLVM("aarch64-none-unknown", 4, "cortex-a57"); - else if (arch == "armv7") - return new HostDisassemblerLLVM("armv7-none-unknown", 4, "cortex-a15"); + return std::make_unique<HostDisassemblerLLVM>("x86_64-none-unknown"); + if (arch == "aarch64") + return std::make_unique<HostDisassemblerLLVM>("aarch64-none-unknown", 4, "cortex-a57"); + if (arch == "armv7") + return std::make_unique<HostDisassemblerLLVM>("armv7-none-unknown", 4, "cortex-a15"); #elif defined(_M_X86) if (arch == "x86") - return new HostDisassemblerX86(); + return std::make_unique<HostDisassemblerX86>(); #endif - return new HostDisassembler(); + return std::make_unique<HostDisassembler>(); } std::string DisassembleBlock(HostDisassembler* disasm, u32* address, u32* host_instructions_count, diff --git a/Source/Core/UICommon/Disassembler.h b/Source/Core/UICommon/Disassembler.h index 5d1d7eabb4..6f3830122e 100644 --- a/Source/Core/UICommon/Disassembler.h +++ b/Source/Core/UICommon/Disassembler.h @@ -4,6 +4,7 @@ #pragma once +#include <memory> #include "Common/CommonTypes.h" class HostDisassembler @@ -17,6 +18,6 @@ public: } }; -HostDisassembler* GetNewDisassembler(const std::string& arch); +std::unique_ptr<HostDisassembler> GetNewDisassembler(const std::string& arch); std::string DisassembleBlock(HostDisassembler* disasm, u32* address, u32* host_instructions_count, u32* code_size); |
