class Platform
Declaration
class Platform { /* full declaration omitted */ };
Description
Platforms set up standard symbols and mediate interactions between dynamic initializers (e.g. C++ static constructors) and ExecutionSession state. Note that Platforms do not automatically run initializers: clients are still responsible for doing this.
Declared at: llvm/include/llvm/ExecutionEngine/Orc/Core.h:1302
Method Overview
- public static Expected<DenseMap<llvm::orc::JITDylib *, llvm::orc::SymbolMap>> lookupInitSymbols(llvm::orc::ExecutionSession & ES, const DenseMap<llvm::orc::JITDylib *, llvm::orc::SymbolLookupSet> & InitSyms)
- public static void lookupInitSymbolsAsync(unique_function<void (llvm::Error)> OnComplete, llvm::orc::ExecutionSession & ES, const DenseMap<llvm::orc::JITDylib *, llvm::orc::SymbolLookupSet> & InitSyms)
- public virtual llvm::Error notifyAdding(llvm::orc::ResourceTracker & RT, const llvm::orc::MaterializationUnit & MU)
- public virtual llvm::Error notifyRemoving(llvm::orc::ResourceTracker & RT)
- public virtual llvm::Error setupJITDylib(llvm::orc::JITDylib & JD)
- public virtual llvm::Error teardownJITDylib(llvm::orc::JITDylib & JD)
- public virtual ~Platform()
Methods
¶static Expected<DenseMap<llvm::orc::JITDylib*,
llvm::orc::SymbolMap>>
lookupInitSymbols(
llvm::orc::ExecutionSession& ES,
const DenseMap<llvm::orc::JITDylib*,
llvm::orc::SymbolLookupSet>&
InitSyms)
static Expected<DenseMap<llvm::orc::JITDylib*,
llvm::orc::SymbolMap>>
lookupInitSymbols(
llvm::orc::ExecutionSession& ES,
const DenseMap<llvm::orc::JITDylib*,
llvm::orc::SymbolLookupSet>&
InitSyms)
Description
A utility function for looking up initializer symbols. Performs a blocking lookup for the given symbols in each of the given JITDylibs. Note: This function is deprecated and will be removed in the near future.
Declared at: llvm/include/llvm/ExecutionEngine/Orc/Core.h:1330
Parameters
- llvm::orc::ExecutionSession& ES
- const DenseMap<llvm::orc::JITDylib*, llvm::orc::SymbolLookupSet>& InitSyms
¶static void lookupInitSymbolsAsync(
unique_function<void(llvm::Error)> OnComplete,
llvm::orc::ExecutionSession& ES,
const DenseMap<llvm::orc::JITDylib*,
llvm::orc::SymbolLookupSet>&
InitSyms)
static void lookupInitSymbolsAsync(
unique_function<void(llvm::Error)> OnComplete,
llvm::orc::ExecutionSession& ES,
const DenseMap<llvm::orc::JITDylib*,
llvm::orc::SymbolLookupSet>&
InitSyms)
Description
Performs an async lookup for the given symbols in each of the given JITDylibs, calling the given handler once all lookups have completed.
Declared at: llvm/include/llvm/ExecutionEngine/Orc/Core.h:1336
Parameters
- unique_function<void(llvm::Error)> OnComplete
- llvm::orc::ExecutionSession& ES
- const DenseMap<llvm::orc::JITDylib*, llvm::orc::SymbolLookupSet>& InitSyms
¶virtual llvm::Error notifyAdding(
llvm::orc::ResourceTracker& RT,
const llvm::orc::MaterializationUnit& MU)
virtual llvm::Error notifyAdding(
llvm::orc::ResourceTracker& RT,
const llvm::orc::MaterializationUnit& MU)
Description
This method will be called under the ExecutionSession lock each time a MaterializationUnit is added to a JITDylib.
Declared at: llvm/include/llvm/ExecutionEngine/Orc/Core.h:1318
Parameters
- llvm::orc::ResourceTracker& RT
- const llvm::orc::MaterializationUnit& MU
¶virtual llvm::Error notifyRemoving(
llvm::orc::ResourceTracker& RT)
virtual llvm::Error notifyRemoving(
llvm::orc::ResourceTracker& RT)
Description
This method will be called under the ExecutionSession lock when a ResourceTracker is removed.
Declared at: llvm/include/llvm/ExecutionEngine/Orc/Core.h:1323
Parameters
¶virtual llvm::Error setupJITDylib(
llvm::orc::JITDylib& JD)
virtual llvm::Error setupJITDylib(
llvm::orc::JITDylib& JD)
Description
This method will be called outside the session lock each time a JITDylib is created (unless it is created with EmptyJITDylib set) to allow the Platform to install any JITDylib specific standard symbols (e.g __dso_handle).
Declared at: llvm/include/llvm/ExecutionEngine/Orc/Core.h:1310
Parameters
¶virtual llvm::Error teardownJITDylib(
llvm::orc::JITDylib& JD)
virtual llvm::Error teardownJITDylib(
llvm::orc::JITDylib& JD)
Description
This method will be called outside the session lock each time a JITDylib is removed to allow the Platform to remove any JITDylib-specific data.
Declared at: llvm/include/llvm/ExecutionEngine/Orc/Core.h:1314
Parameters
¶virtual ~Platform()
virtual ~Platform()
Declared at: llvm/include/llvm/ExecutionEngine/Orc/Core.h:1304