From 5acfa9f0fd641906e520a6caaf644d03def27ae0 Mon Sep 17 00:00:00 2001 From: Jim Grosbach Date: Tue, 29 Mar 2011 21:03:05 +0000 Subject: Instantiate a JITMemoryManager for MCJIT Dyld git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@128485 91177308-0d34-0410-b5e6-96231b3b80d8 --- lib/ExecutionEngine/RuntimeDyld/RuntimeDyld.cpp | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) (limited to 'lib/ExecutionEngine/RuntimeDyld/RuntimeDyld.cpp') diff --git a/lib/ExecutionEngine/RuntimeDyld/RuntimeDyld.cpp b/lib/ExecutionEngine/RuntimeDyld/RuntimeDyld.cpp index c6b6a9ee88..c041c940de 100644 --- a/lib/ExecutionEngine/RuntimeDyld/RuntimeDyld.cpp +++ b/lib/ExecutionEngine/RuntimeDyld/RuntimeDyld.cpp @@ -18,6 +18,7 @@ #include "llvm/ADT/StringRef.h" #include "llvm/ADT/Twine.h" #include "llvm/ExecutionEngine/RuntimeDyld.h" +#include "llvm/ExecutionEngine/JITMemoryManager.h" #include "llvm/Object/MachOObject.h" #include "llvm/Support/Debug.h" #include "llvm/Support/ErrorHandling.h" @@ -34,6 +35,9 @@ class RuntimeDyldImpl { unsigned CPUType; unsigned CPUSubtype; + // The JITMemoryManager to load objects into. + JITMemoryManager *JMM; + // Master symbol table. As modules are loaded and external symbols are // resolved, their addresses are stored here. StringMap SymbolTable; @@ -68,7 +72,7 @@ class RuntimeDyldImpl { const InMemoryStruct &SymtabLC); public: - RuntimeDyldImpl() : HasError(false) {} + RuntimeDyldImpl(JITMemoryManager *jmm) : JMM(jmm), HasError(false) {} bool loadObject(MemoryBuffer *InputBuffer); @@ -526,8 +530,8 @@ bool RuntimeDyldImpl::loadObject(MemoryBuffer *InputBuffer) { //===----------------------------------------------------------------------===// // RuntimeDyld class implementation -RuntimeDyld::RuntimeDyld() { - Dyld = new RuntimeDyldImpl; +RuntimeDyld::RuntimeDyld(JITMemoryManager *JMM) { + Dyld = new RuntimeDyldImpl(JMM); } RuntimeDyld::~RuntimeDyld() { -- cgit v1.2.3-70-g09d2