LLVM 17.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]
Collaboration diagram for llvm::orc::DebugObject:
Collaboration graph
[legend]

Public Types

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

Public Member Functions

 DebugObject (JITLinkMemoryManager &MemMgr, const JITLinkDylib *JD, ExecutionSession &ES)
 
void set (Requirement Req)
 
bool has (Requirement Req) const
 
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
 

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 126 of file DebugObjectManagerPlugin.cpp.

Member Typedef Documentation

◆ FinalizeContinuation

Definition at line 135 of file DebugObjectManagerPlugin.cpp.

◆ FinalizedAlloc

Definition at line 153 of file DebugObjectManagerPlugin.cpp.

◆ InFlightAlloc

Definition at line 152 of file DebugObjectManagerPlugin.cpp.

Constructor & Destructor Documentation

◆ DebugObject()

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

Definition at line 128 of file DebugObjectManagerPlugin.cpp.

◆ ~DebugObject()

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

Member Function Documentation

◆ 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().

◆ has()

bool llvm::orc::DebugObject::has ( Requirement  Req) const
inline

◆ reportSectionTargetMemoryRange()

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

◆ set()

void llvm::orc::DebugObject::set ( Requirement  Req)
inline

Definition at line 132 of file DebugObjectManagerPlugin.cpp.

Member Data Documentation

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