13#ifndef LLVM_EXECUTIONENGINE_ORC_DEBUGOBJECTMANAGERPLUGIN_H
14#define LLVM_EXECUTIONENGINE_ORC_DEBUGOBJECTMANAGERPLUGIN_H
53 std::unique_ptr<DebugObjectRegistrar> Target);
71 std::unique_ptr<DebugObjectRegistrar> Target,
72 bool RequireDebugSections,
bool AutoRegisterCode);
93 using OwnedDebugObject = std::unique_ptr<DebugObject>;
94 std::map<MaterializationResponsibility *, OwnedDebugObject> PendingObjs;
95 std::map<ResourceKey, std::vector<OwnedDebugObject>> RegisteredObjs;
97 std::mutex PendingObjsLock;
98 std::mutex RegisteredObjsLock;
100 std::unique_ptr<DebugObjectRegistrar> Target;
101 bool RequireDebugSections;
102 bool AutoRegisterCode;
Lightweight error class with error context and mandatory checking.
Holds context for a single jitLink invocation.
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
DebugObjectManagerPlugin(ExecutionSession &ES, std::unique_ptr< DebugObjectRegistrar > Target)
The plugin creates a debug object from when JITLink starts processing the corresponding LinkGraph.
An ExecutionSession represents a running JIT program.
Represents a JIT'd dynamic library.
Plugin instances can be added to the ObjectLinkingLayer to receive callbacks when code is loaded or e...
Tracks responsibility for materialization, and mediates interactions between MaterializationUnits and...
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...