diff options
-rw-r--r-- | lib/ExecutionEngine/JIT/JITEmitter.cpp | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/lib/ExecutionEngine/JIT/JITEmitter.cpp b/lib/ExecutionEngine/JIT/JITEmitter.cpp index 2a62bd3557..00b23c1738 100644 --- a/lib/ExecutionEngine/JIT/JITEmitter.cpp +++ b/lib/ExecutionEngine/JIT/JITEmitter.cpp @@ -392,12 +392,14 @@ JITMemoryManager::JITMemoryManager(bool useGOT) { // Allocate the GOT. GOTBase = NULL; - if (useGOT) GOTBase = (unsigned char*)malloc(sizeof(void*) * 8192); + if (useGOT) GOTBase = new unsigned char[sizeof(void*) * 8192]; } JITMemoryManager::~JITMemoryManager() { for (unsigned i = 0, e = Blocks.size(); i != e; ++i) sys::Memory::ReleaseRWX(Blocks[i]); + + delete[] GOTBase; Blocks.clear(); } |