1 //===-- RuntimeDyld.h - Run-time dynamic linker for MC-JIT ------*- C++ -*-===//
3 // The LLVM Compiler Infrastructure
5 // This file is distributed under the University of Illinois Open Source
6 // License. See LICENSE.TXT for details.
8 //===----------------------------------------------------------------------===//
10 // Interface for the runtime dynamic linker facilities of the MC-JIT.
12 //===----------------------------------------------------------------------===//
14 #ifndef LLVM_RUNTIME_DYLD_H
15 #define LLVM_RUNTIME_DYLD_H
17 #include "llvm/ADT/StringRef.h"
18 #include "llvm/Support/Memory.h"
22 class RuntimeDyldImpl;
26 RuntimeDyld(const RuntimeDyld &); // DO NOT IMPLEMENT
27 void operator=(const RuntimeDyld &); // DO NOT IMPLEMENT
29 // RuntimeDyldImpl is the actual class. RuntimeDyld is just the public
31 RuntimeDyldImpl *Dyld;
36 bool loadObject(MemoryBuffer *InputBuffer);
37 void *getSymbolAddress(StringRef Name);
38 // FIXME: Should be parameterized to get the memory block associated with
39 // a particular loaded object.
40 sys::MemoryBlock getMemoryBlock();
43 } // end namespace llvm