LLVM  16.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
Collaboration diagram for llvm::orc::DebugObject:
Collaboration graph

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

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 

Definition at line 128 of file DebugObjectManagerPlugin.cpp.

◆ ~DebugObject()

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

Definition at line 139 of file DebugObjectManagerPlugin.cpp.

References move.

Member Function Documentation

◆ finalizeAsync()

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

Definition at line 169 of file DebugObjectManagerPlugin.cpp.

References assert(), move, and llvm::Expected< T >::takeError().

◆ finalizeWorkingMemory()

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

Implemented in llvm::orc::ELFDebugObject.

◆ has()

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

◆ reportSectionTargetMemoryRange()

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

◆ set()

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

Definition at line 132 of file DebugObjectManagerPlugin.cpp.

Member Data Documentation

◆ JD

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

Definition at line 158 of file DebugObjectManagerPlugin.cpp.

◆ MemMgr

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

Definition at line 157 of file DebugObjectManagerPlugin.cpp.

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