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)

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)

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)

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)

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

llvm::orc::ResourceTracker& RT

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

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

llvm::orc::JITDylib& JD

virtual ~Platform()

Declared at: llvm/include/llvm/ExecutionEngine/Orc/Core.h:1304