diff --git a/lib/ExecutionEngine/JIT/JITEmitter.cpp b/lib/ExecutionEngine/JIT/JITEmitter.cpp index 5758ebc432a..3ce5765cf49 100644 --- a/lib/ExecutionEngine/JIT/JITEmitter.cpp +++ b/lib/ExecutionEngine/JIT/JITEmitter.cpp @@ -22,7 +22,8 @@ #include "llvm/Target/TargetData.h" #include "llvm/Support/Debug.h" #include "llvm/ADT/Statistic.h" -#include "llvm/Support/SystemUtils.h" +#include "llvm/System/Memory.h" + using namespace llvm; namespace { @@ -37,6 +38,7 @@ namespace { /// are emitting is. This never bothers to release the memory, because when /// we are ready to destroy the JIT, the program exits. class JITMemoryManager { + sys::Memory MemBlock; // Virtual memory block allocated RWX unsigned char *MemBase; // Base of block of memory, start of stub mem unsigned char *FunctionBase; // Start of the function body area unsigned char *CurStubPtr, *CurFunctionPtr; @@ -51,7 +53,8 @@ namespace { JITMemoryManager::JITMemoryManager() { // Allocate a 16M block of memory... - MemBase = (unsigned char*)AllocateRWXMemory(16 << 20); + sys::Memory::AllocateRWX(MemBlock,(16 << 20)); + MemBase = reinterpret_cast(MemBlock.base()); FunctionBase = MemBase + 512*1024; // Use 512k for stubs // Allocate stubs backwards from the function base, allocate functions forward