From: Dylan Noblesmith Date: Mon, 25 Aug 2014 00:58:15 +0000 (+0000) Subject: EE/JIT: unique_ptr-ify X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=444aa2d525eb648a7bec31aca19e2571b2000eb2;p=llvm EE/JIT: unique_ptr-ify git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@216361 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/lib/ExecutionEngine/JIT/JITMemoryManager.cpp b/lib/ExecutionEngine/JIT/JITMemoryManager.cpp index 584b93f8150..0741f6ad94e 100644 --- a/lib/ExecutionEngine/JIT/JITMemoryManager.cpp +++ b/lib/ExecutionEngine/JIT/JITMemoryManager.cpp @@ -324,7 +324,7 @@ namespace { // When emitting code into a memory block, this is the block. MemoryRangeHeader *CurBlock; - uint8_t *GOTBase; // Target Specific reserved memory + std::unique_ptr GOTBase; // Target Specific reserved memory public: DefaultJITMemoryManager(); ~DefaultJITMemoryManager(); @@ -525,7 +525,7 @@ namespace { } uint8_t *getGOTBase() const override { - return GOTBase; + return GOTBase.get(); } void deallocateBlock(void *Block) { @@ -638,21 +638,17 @@ DefaultJITMemoryManager::DefaultJITMemoryManager() // Start out with the freelist pointing to Mem0. FreeMemoryList = Mem0; - - GOTBase = nullptr; } void DefaultJITMemoryManager::AllocateGOT() { assert(!GOTBase && "Cannot allocate the got multiple times"); - GOTBase = new uint8_t[sizeof(void*) * 8192]; + GOTBase = make_unique(sizeof(void*) * 8192); HasGOT = true; } DefaultJITMemoryManager::~DefaultJITMemoryManager() { for (unsigned i = 0, e = CodeSlabs.size(); i != e; ++i) sys::Memory::ReleaseRWX(CodeSlabs[i]); - - delete[] GOTBase; } sys::MemoryBlock DefaultJITMemoryManager::allocateNewSlab(size_t size) {