LLVM 22.0.0git
llvm::orc::DebugObject Class Referenceabstract

The plugin creates a debug object from when JITLink starts processing the corresponding LinkGraph. More...

Inheritance diagram for llvm::orc::DebugObject:
[legend]

Public Types

using FinalizeContinuation = std::function<void(Expected<ExecutorAddrRange>)>

Public Member Functions

 DebugObject (JITLinkMemoryManager &MemMgr, const JITLinkDylib *JD, ExecutionSession &ES)
bool hasFlags (DebugObjectFlags F) const
void setFlags (DebugObjectFlags F)
void clearFlags (DebugObjectFlags F)
void finalizeAsync (FinalizeContinuation OnFinalize)
virtual ~DebugObject ()
virtual void reportSectionTargetMemoryRange (StringRef Name, SectionRange TargetMem)

Protected Types

using InFlightAlloc = JITLinkMemoryManager::InFlightAlloc
using FinalizedAlloc = JITLinkMemoryManager::FinalizedAlloc

Protected Member Functions

virtual Expected< SimpleSegmentAllocfinalizeWorkingMemory ()=0

Protected Attributes

JITLinkMemoryManagerMemMgr
const JITLinkDylibJD = nullptr
ExecutionSessionES

Detailed Description

The plugin creates a debug object from when JITLink starts processing the corresponding LinkGraph.

It provides access to the pass configuration of the LinkGraph and calls the finalization function, once the resulting link artifact was emitted.

Definition at line 114 of file DebugObjectManagerPlugin.cpp.

Member Typedef Documentation

◆ FinalizeContinuation

◆ FinalizedAlloc

◆ InFlightAlloc

Constructor & Destructor Documentation

◆ DebugObject()

llvm::orc::DebugObject::DebugObject ( JITLinkMemoryManager & MemMgr,
const JITLinkDylib * JD,
ExecutionSession & ES )
inline

Definition at line 116 of file DebugObjectManagerPlugin.cpp.

References ES, JD, and MemMgr.

◆ ~DebugObject()

virtual llvm::orc::DebugObject::~DebugObject ( )
inlinevirtual

Definition at line 132 of file DebugObjectManagerPlugin.cpp.

References ES, and MemMgr.

Member Function Documentation

◆ clearFlags()

void llvm::orc::DebugObject::clearFlags ( DebugObjectFlags F)
inline

Definition at line 124 of file DebugObjectManagerPlugin.cpp.

References F.

◆ finalizeAsync()

void llvm::orc::DebugObject::finalizeAsync ( FinalizeContinuation OnFinalize)

◆ finalizeWorkingMemory()

virtual Expected< SimpleSegmentAlloc > llvm::orc::DebugObject::finalizeWorkingMemory ( )
protectedpure virtual

Implemented in llvm::orc::ELFDebugObject.

Referenced by finalizeAsync().

◆ hasFlags()

bool llvm::orc::DebugObject::hasFlags ( DebugObjectFlags F) const
inline

Definition at line 120 of file DebugObjectManagerPlugin.cpp.

References F.

Referenced by llvm::orc::DebugObjectManagerPlugin::modifyPassConfig().

◆ reportSectionTargetMemoryRange()

virtual void llvm::orc::DebugObject::reportSectionTargetMemoryRange ( StringRef Name,
SectionRange TargetMem )
inlinevirtual

◆ setFlags()

void llvm::orc::DebugObject::setFlags ( DebugObjectFlags F)
inline

Definition at line 121 of file DebugObjectManagerPlugin.cpp.

References F.

Member Data Documentation

◆ ES

◆ JD

const JITLinkDylib* llvm::orc::DebugObject::JD = nullptr
protected

◆ MemMgr

JITLinkMemoryManager& llvm::orc::DebugObject::MemMgr
protected

The documentation for this class was generated from the following file: