LLVM 20.0.0git
Classes | Public Types | Public Member Functions | Static Public Member Functions | List of all members
llvm::orc::SimpleLazyReexportsSpeculator Class Reference

#include "llvm/ExecutionEngine/Orc/LazyReexports.h"

Inheritance diagram for llvm::orc::SimpleLazyReexportsSpeculator:
Inheritance graph
[legend]

Classes

class  SpeculateTask
 

Public Types

using RecordExecutionFunction = unique_function< void(const CallThroughInfo &CTI)>
 
- Public Types inherited from llvm::orc::LazyReexportsManager::Listener
using CallThroughInfo = LazyReexportsManager::CallThroughInfo
 

Public Member Functions

 SimpleLazyReexportsSpeculator (SimpleLazyReexportsSpeculator &&)=delete
 
SimpleLazyReexportsSpeculatoroperator= (SimpleLazyReexportsSpeculator &&)=delete
 
 ~SimpleLazyReexportsSpeculator () override
 
void onLazyReexportsCreated (JITDylib &JD, ResourceKey K, const SymbolAliasMap &Reexports) override
 Called under the session lock when new lazy reexports are created.
 
void onLazyReexportsTransfered (JITDylib &JD, ResourceKey DstK, ResourceKey SrcK) override
 Called under the session lock when lazy reexports have their ownership transferred to a new ResourceKey.
 
Error onLazyReexportsRemoved (JITDylib &JD, ResourceKey K) override
 Called under the session lock when lazy reexports are removed.
 
void onLazyReexportCalled (const CallThroughInfo &CTI) override
 Called outside the session lock when a lazy reexport is called.
 
void addSpeculationSuggestions (std::vector< std::pair< std::string, SymbolStringPtr > > NewSuggestions)
 
- Public Member Functions inherited from llvm::orc::LazyReexportsManager::Listener
virtual ~Listener ()
 
virtual void onLazyReexportsCreated (JITDylib &JD, ResourceKey K, const SymbolAliasMap &Reexports)=0
 Called under the session lock when new lazy reexports are created.
 
virtual void onLazyReexportsTransfered (JITDylib &JD, ResourceKey DstK, ResourceKey SrcK)=0
 Called under the session lock when lazy reexports have their ownership transferred to a new ResourceKey.
 
virtual Error onLazyReexportsRemoved (JITDylib &JD, ResourceKey K)=0
 Called under the session lock when lazy reexports are removed.
 
virtual void onLazyReexportCalled (const CallThroughInfo &CTI)=0
 Called outside the session lock when a lazy reexport is called.
 

Static Public Member Functions

static std::shared_ptr< SimpleLazyReexportsSpeculatorCreate (ExecutionSession &ES, RecordExecutionFunction RecordExec={})
 

Detailed Description

Definition at line 271 of file LazyReexports.h.

Member Typedef Documentation

◆ RecordExecutionFunction

Definition at line 273 of file LazyReexports.h.

Constructor & Destructor Documentation

◆ SimpleLazyReexportsSpeculator()

llvm::orc::SimpleLazyReexportsSpeculator::SimpleLazyReexportsSpeculator ( SimpleLazyReexportsSpeculator &&  )
delete

◆ ~SimpleLazyReexportsSpeculator()

llvm::orc::SimpleLazyReexportsSpeculator::~SimpleLazyReexportsSpeculator ( )
override

Definition at line 467 of file LazyReexports.cpp.

References _.

Member Function Documentation

◆ addSpeculationSuggestions()

void llvm::orc::SimpleLazyReexportsSpeculator::addSpeculationSuggestions ( std::vector< std::pair< std::string, SymbolStringPtr > >  NewSuggestions)

Definition at line 535 of file LazyReexports.cpp.

◆ Create()

static std::shared_ptr< SimpleLazyReexportsSpeculator > llvm::orc::SimpleLazyReexportsSpeculator::Create ( ExecutionSession ES,
RecordExecutionFunction  RecordExec = {} 
)
inlinestatic

Definition at line 277 of file LazyReexports.h.

◆ onLazyReexportCalled()

void llvm::orc::SimpleLazyReexportsSpeculator::onLazyReexportCalled ( const CallThroughInfo CTI)
overridevirtual

Called outside the session lock when a lazy reexport is called.

NOTE: Since this is called outside the session lock there is a chance that the reexport referred to has already been removed. Listeners must be prepared to handle requests for stale reexports.

Implements llvm::orc::LazyReexportsManager::Listener.

Definition at line 529 of file LazyReexports.cpp.

◆ onLazyReexportsCreated()

void llvm::orc::SimpleLazyReexportsSpeculator::onLazyReexportsCreated ( JITDylib JD,
ResourceKey  K,
const SymbolAliasMap Reexports 
)
overridevirtual

Called under the session lock when new lazy reexports are created.

Implements llvm::orc::LazyReexportsManager::Listener.

Definition at line 472 of file LazyReexports.cpp.

References Name, and llvm::ThreadSafeRefCountedBase< Derived >::Retain().

◆ onLazyReexportsRemoved()

Error llvm::orc::SimpleLazyReexportsSpeculator::onLazyReexportsRemoved ( JITDylib JD,
ResourceKey  K 
)
overridevirtual

Called under the session lock when lazy reexports are removed.

Implements llvm::orc::LazyReexportsManager::Listener.

Definition at line 511 of file LazyReexports.cpp.

References I, llvm::ThreadSafeRefCountedBase< Derived >::Release(), and llvm::Error::success().

◆ onLazyReexportsTransfered()

void llvm::orc::SimpleLazyReexportsSpeculator::onLazyReexportsTransfered ( JITDylib JD,
ResourceKey  DstK,
ResourceKey  SrcK 
)
overridevirtual

Called under the session lock when lazy reexports have their ownership transferred to a new ResourceKey.

Implements llvm::orc::LazyReexportsManager::Listener.

Definition at line 485 of file LazyReexports.cpp.

References I.

◆ operator=()

SimpleLazyReexportsSpeculator & llvm::orc::SimpleLazyReexportsSpeculator::operator= ( SimpleLazyReexportsSpeculator &&  )
delete

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