LLVM  8.0.0svn
Public Types | Public Member Functions | List of all members
llvm::JITSymbolResolver Class Referenceabstract

Symbol resolution interface. More...

#include "llvm/ExecutionEngine/JITSymbol.h"

Inheritance diagram for llvm::JITSymbolResolver:
Inheritance graph
[legend]

Public Types

using LookupSet = std::set< StringRef >
 
using LookupResult = std::map< StringRef, JITEvaluatedSymbol >
 
using LookupFlagsResult = std::map< StringRef, JITSymbolFlags >
 

Public Member Functions

virtual ~JITSymbolResolver ()=default
 
virtual Expected< LookupResultlookup (const LookupSet &Symbols)=0
 Returns the fully resolved address and flags for each of the given symbols. More...
 
virtual Expected< LookupFlagsResultlookupFlags (const LookupSet &Symbols)=0
 Returns the symbol flags for each of the given symbols. More...
 

Detailed Description

Symbol resolution interface.

Allows symbol flags and addresses to be looked up by name. Symbol queries are done in bulk (i.e. you request resolution of a set of symbols, rather than a single one) to reduce IPC overhead in the case of remote JITing, and expose opportunities for parallel compilation.

Definition at line 297 of file JITSymbol.h.

Member Typedef Documentation

◆ LookupFlagsResult

Definition at line 301 of file JITSymbol.h.

◆ LookupResult

Definition at line 300 of file JITSymbol.h.

◆ LookupSet

Definition at line 299 of file JITSymbol.h.

Constructor & Destructor Documentation

◆ ~JITSymbolResolver()

virtual llvm::JITSymbolResolver::~JITSymbolResolver ( )
virtualdefault

Member Function Documentation

◆ lookup()

virtual Expected<LookupResult> llvm::JITSymbolResolver::lookup ( const LookupSet Symbols)
pure virtual

Returns the fully resolved address and flags for each of the given symbols.

This method will return an error if any of the given symbols can not be resolved, or if the resolution process itself triggers an error.

Implemented in llvm::LegacyJITSymbolResolver, and llvm::orc::JITSymbolResolverAdapter.

Referenced by llvm::RuntimeDyldCheckerImpl::checkAllRulesInBuffer().

◆ lookupFlags()

virtual Expected<LookupFlagsResult> llvm::JITSymbolResolver::lookupFlags ( const LookupSet Symbols)
pure virtual

Returns the symbol flags for each of the given symbols.

This method does NOT return an error if any of the given symbols is missing. Instead, that symbol will be left out of the result map.

Implemented in llvm::LegacyJITSymbolResolver, and llvm::orc::JITSymbolResolverAdapter.


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