summaryrefslogtreecommitdiff
path: root/Source
diff options
context:
space:
mode:
authorMarkus Wick <degasus@users.noreply.github.com>2017-03-04 12:14:35 +0100
committerGitHub <noreply@github.com>2017-03-04 12:14:35 +0100
commit3c511f2a942e9c2b81cb04dd1ea148e82e9529d8 (patch)
treec73d75a1b60298bbb6aa97a309cad140d107fb50 /Source
parent01143d761e82d86c378d8420ebf1f6f670fb44d9 (diff)
parent13757b7d35454e040cf7867f08b4864ac72bb5ed (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.cpp6
-rw-r--r--Source/Core/UICommon/Disassembler.cpp16
-rw-r--r--Source/Core/UICommon/Disassembler.h3
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);