llvm-6502/include/llvm/ExecutionEngine/RuntimeDyld.h

46 lines
1.2 KiB
C
Raw Normal View History

//===-- RuntimeDyld.h - Run-time dynamic linker for MC-JIT ------*- C++ -*-===//
//
// The LLVM Compiler Infrastructure
//
// This file is distributed under the University of Illinois Open Source
// License. See LICENSE.TXT for details.
//
//===----------------------------------------------------------------------===//
//
// Interface for the runtime dynamic linker facilities of the MC-JIT.
//
//===----------------------------------------------------------------------===//
#ifndef LLVM_RUNTIME_DYLD_H
#define LLVM_RUNTIME_DYLD_H
#include "llvm/ADT/StringRef.h"
#include "llvm/Support/Memory.h"
namespace llvm {
class RuntimeDyldImpl;
class MemoryBuffer;
class RuntimeDyld {
RuntimeDyld(const RuntimeDyld &); // DO NOT IMPLEMENT
void operator=(const RuntimeDyld &); // DO NOT IMPLEMENT
// RuntimeDyldImpl is the actual class. RuntimeDyld is just the public
// interface.
RuntimeDyldImpl *Dyld;
public:
RuntimeDyld();
~RuntimeDyld();
bool loadObject(MemoryBuffer *InputBuffer);
void *getSymbolAddress(StringRef Name);
// FIXME: Should be parameterized to get the memory block associated with
// a particular loaded object.
sys::MemoryBlock getMemoryBlock();
};
} // end namespace llvm
#endif