#include <memory>
#include "llvm/ExecutionEngine/Orc/RTDyldObjectLinkingLayer.h"
#include "llvm/Object/COFF.h"
namespace {
usingnamespacellvm;
usingnamespacellvm::orc;
class JITDylibSearchOrderResolver : public JITSymbolResolver { … };
}
namespace llvm {
namespace orc {
char RTDyldObjectLinkingLayer::ID;
BaseT;
RTDyldObjectLinkingLayer::RTDyldObjectLinkingLayer(
ExecutionSession &ES, GetMemoryManagerFunction GetMemoryManager)
: … { … }
RTDyldObjectLinkingLayer::~RTDyldObjectLinkingLayer() { … }
void RTDyldObjectLinkingLayer::emit(
std::unique_ptr<MaterializationResponsibility> R,
std::unique_ptr<MemoryBuffer> O) { … }
void RTDyldObjectLinkingLayer::registerJITEventListener(JITEventListener &L) { … }
void RTDyldObjectLinkingLayer::unregisterJITEventListener(JITEventListener &L) { … }
Error RTDyldObjectLinkingLayer::onObjLoad(
MaterializationResponsibility &R, const object::ObjectFile &Obj,
RuntimeDyld::MemoryManager &MemMgr,
RuntimeDyld::LoadedObjectInfo &LoadedObjInfo,
std::map<StringRef, JITEvaluatedSymbol> Resolved,
std::set<StringRef> &InternalSymbols) { … }
void RTDyldObjectLinkingLayer::onObjEmit(
MaterializationResponsibility &R,
object::OwningBinary<object::ObjectFile> O,
std::unique_ptr<RuntimeDyld::MemoryManager> MemMgr,
std::unique_ptr<RuntimeDyld::LoadedObjectInfo> LoadedObjInfo,
std::unique_ptr<SymbolDependenceMap> Deps, Error Err) { … }
Error RTDyldObjectLinkingLayer::handleRemoveResources(JITDylib &JD,
ResourceKey K) { … }
void RTDyldObjectLinkingLayer::handleTransferResources(JITDylib &JD,
ResourceKey DstKey,
ResourceKey SrcKey) { … }
}
}