13#ifndef LLVM_EXECUTIONENGINE_ORC_DEBUGOBJECTMANAGERPLUGIN_H
14#define LLVM_EXECUTIONENGINE_ORC_DEBUGOBJECTMANAGERPLUGIN_H
52 std::unique_ptr<DebugObjectRegistrar>
Target);
70 std::unique_ptr<DebugObjectRegistrar>
Target,
71 bool RequireDebugSections,
bool AutoRegisterCode);
92 using OwnedDebugObject = std::unique_ptr<DebugObject>;
93 std::map<MaterializationResponsibility *, OwnedDebugObject> PendingObjs;
94 std::map<ResourceKey, std::vector<OwnedDebugObject>> RegisteredObjs;
96 std::mutex PendingObjsLock;
97 std::mutex RegisteredObjsLock;
99 std::unique_ptr<DebugObjectRegistrar>
Target;
100 bool RequireDebugSections;
101 bool AutoRegisterCode;
Lightweight error class with error context and mandatory checking.
Target - Wrapper for Target specific information.
Holds context for a single jitLink invocation.
Creates and manages DebugObjects for JITLink artifacts.
Error notifyRemovingResources(JITDylib &JD, ResourceKey K) override
void notifyTransferringResources(JITDylib &JD, ResourceKey DstKey, ResourceKey SrcKey) override
Error notifyFailed(MaterializationResponsibility &MR) override
Error notifyEmitted(MaterializationResponsibility &MR) override
~DebugObjectManagerPlugin()
void notifyMaterializing(MaterializationResponsibility &MR, jitlink::LinkGraph &G, jitlink::JITLinkContext &Ctx, MemoryBufferRef InputObject) override
void modifyPassConfig(MaterializationResponsibility &MR, jitlink::LinkGraph &LG, jitlink::PassConfiguration &PassConfig) override
An ExecutionSession represents a running JIT program.
Represents a JIT'd dynamic library.
Tracks responsibility for materialization, and mediates interactions between MaterializationUnits and...
Plugin instances can be added to the ObjectLinkingLayer to receive callbacks when code is loaded or e...
This is an optimization pass for GlobalISel generic memory operations.
An LinkGraph pass configuration, consisting of a list of pre-prune, post-prune, and post-fixup passes...