LLVM 20.0.0git
Public Types | Public Member Functions | Protected Types | Protected Member Functions | Protected Attributes | List of all members
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:
Inheritance graph
[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

Definition at line 128 of file DebugObjectManagerPlugin.cpp.

◆ FinalizedAlloc

Definition at line 146 of file DebugObjectManagerPlugin.cpp.

◆ InFlightAlloc

Definition at line 145 of file DebugObjectManagerPlugin.cpp.

Constructor & Destructor Documentation

◆ DebugObject()

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

Definition at line 116 of file DebugObjectManagerPlugin.cpp.

◆ ~DebugObject()

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

Member Function Documentation

◆ clearFlags()

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

Definition at line 124 of file DebugObjectManagerPlugin.cpp.

◆ 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

ExecutionSession& llvm::orc::DebugObject::ES
protected

◆ 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: