class LegacyJITSymbolResolver

Declaration

class LegacyJITSymbolResolver : public JITSymbolResolver { /* full declaration omitted */ };

Description

Legacy symbol resolution interface.

Declared at: llvm/include/llvm/ExecutionEngine/JITSymbol.h:401

Inherits from: JITSymbolResolver

Method Overview

  • private void anchor()
  • public virtual llvm::JITSymbol findSymbol(const std::string & Name)
  • public virtual llvm::JITSymbol findSymbolInLogicalDylib(const std::string & Name)
  • public Expected<llvm::JITSymbolResolver::LookupSet> getResponsibilitySet(const llvm::JITSymbolResolver::LookupSet & Symbols)
  • public void lookup(const llvm::JITSymbolResolver::LookupSet & Symbols, llvm::JITSymbolResolver::OnResolvedFunction OnResolved)

Inherited from JITSymbolResolver:

Methods

void anchor()

Declared at: llvm/include/llvm/ExecutionEngine/JITSymbol.h:435

virtual llvm::JITSymbol findSymbol(
    const std::string& Name)

Description

This method returns the address of the specified function or variable. It is used to resolve symbols during module linking. If the returned symbol's address is equal to ~0ULL then RuntimeDyld will skip all relocations for that symbol, and the client will be responsible for handling them manually.

Declared at: llvm/include/llvm/ExecutionEngine/JITSymbol.h:432

Parameters

const std::string& Name

virtual llvm::JITSymbol findSymbolInLogicalDylib(
    const std::string& Name)

Description

This method returns the address of the specified symbol if it exists within the logical dynamic library represented by this JITSymbolResolver. Unlike findSymbol, queries through this interface should return addresses for hidden symbols. This is of particular importance for the Orc JIT APIs, which support lazy compilation by breaking up modules: Each of those broken out modules must be able to resolve hidden symbols provided by the others. Clients writing memory managers for MCJIT can usually ignore this method. This method will be queried by RuntimeDyld when checking for previous definitions of common symbols.

Declared at: llvm/include/llvm/ExecutionEngine/JITSymbol.h:424

Parameters

const std::string& Name

Expected<llvm::JITSymbolResolver::LookupSet>
getResponsibilitySet(
    const llvm::JITSymbolResolver::LookupSet&
        Symbols)

Description

Performs flags lookup by calling findSymbolInLogicalDylib and returning the flags value for that symbol.

Declared at: llvm/include/llvm/ExecutionEngine/JITSymbol.h:410

Parameters

const llvm::JITSymbolResolver::LookupSet& Symbols

void lookup(
    const llvm::JITSymbolResolver::LookupSet&
        Symbols,
    llvm::JITSymbolResolver::OnResolvedFunction
        OnResolved)

Description

Performs lookup by, for each symbol, first calling findSymbolInLogicalDylib and if that fails calling findSymbol.

Declared at: llvm/include/llvm/ExecutionEngine/JITSymbol.h:406

Parameters

const llvm::JITSymbolResolver::LookupSet& Symbols
llvm::JITSymbolResolver::OnResolvedFunction OnResolved