LLVM 22.0.0git
|
#include "llvm/ExecutionEngine/Orc/LazyReexports.h"
Classes | |
struct | CallThroughInfo |
class | Listener |
class | MU |
class | Plugin |
Public Types | |
using | OnTrampolinesReadyFn |
using | EmitTrampolinesFn |
Public Member Functions | |
LazyReexportsManager (LazyReexportsManager &&)=delete | |
LazyReexportsManager & | operator= (LazyReexportsManager &&)=delete |
Error | handleRemoveResources (JITDylib &JD, ResourceKey K) override |
This function will be called outside the session lock. | |
void | handleTransferResources (JITDylib &JD, ResourceKey DstK, ResourceKey SrcK) override |
This function will be called inside the session lock. | |
Public Member Functions inherited from llvm::orc::ResourceManager | |
virtual | ~ResourceManager () |
Static Public Member Functions | |
static Expected< std::unique_ptr< LazyReexportsManager > > | Create (EmitTrampolinesFn EmitTrampolines, RedirectableSymbolManager &RSMgr, JITDylib &PlatformJD, Listener *L=nullptr) |
Create a LazyReexportsManager that uses the ORC runtime for reentry. |
Friends | |
std::unique_ptr< MaterializationUnit > | lazyReexports (LazyReexportsManager &LRM, SymbolAliasMap Reexports) |
Define lazy-reexports based on the given SymbolAliasMap. |
Definition at line 179 of file LazyReexports.h.
Definition at line 218 of file LazyReexports.h.
Definition at line 216 of file LazyReexports.h.
|
delete |
References LazyReexportsManager().
Referenced by Create(), lazyReexports, LazyReexportsManager(), llvm::orc::LazyReexportsManager::MU::MU(), and operator=().
|
static |
Create a LazyReexportsManager that uses the ORC runtime for reentry.
This will work both in-process and out-of-process.
Definition at line 286 of file LazyReexports.cpp.
References Create(), LazyReexportsManager(), and llvm::Error::success().
Referenced by Create(), and llvm::orc::createJITLinkLazyReexportsManager().
|
overridevirtual |
This function will be called outside the session lock.
ResourceManagers should perform book-keeping under the session lock, and any expensive cleanup outside the session lock.
Implements llvm::orc::ResourceManager.
Definition at line 297 of file LazyReexports.cpp.
References assert(), llvm::orc::JITDylib::getExecutionSession(), handleRemoveResources(), I, llvm::orc::ExecutionSession::runSessionLocked(), and llvm::Error::success().
Referenced by handleRemoveResources(), and operator=().
|
overridevirtual |
This function will be called inside the session lock.
ResourceManagers DO NOT need to re-lock the session.
Implements llvm::orc::ResourceManager.
Definition at line 313 of file LazyReexports.cpp.
References llvm::append_range(), handleTransferResources(), and I.
Referenced by handleTransferResources(), and operator=().
|
delete |
References handleRemoveResources(), handleTransferResources(), and LazyReexportsManager().
|
friend |
Define lazy-reexports based on the given SymbolAliasMap.
Each lazy re-export is a callable symbol that will look up and dispatch to the given aliasee on first call. All subsequent calls will go directly to the aliasee.
Definition at line 270 of file LazyReexports.h.
References LazyReexportsManager().