Convert the Emitter to use the lib/System "Memory" interface instead of the

old SystemUtils.h interface to allocate RWX blocks of memory.

llvm-svn: 16286
This commit is contained in:
Reid Spencer 2004-09-11 04:31:03 +00:00
parent 0bb062e55d
commit 96019262ca
1 changed files with 5 additions and 2 deletions

View File

@ -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<unsigned char*>(MemBlock.base());
FunctionBase = MemBase + 512*1024; // Use 512k for stubs
// Allocate stubs backwards from the function base, allocate functions forward