ΒΆvoid lookupAndRecordAddrs(
    unique_function<void(llvm::Error)> OnRecorded,
    llvm::orc::ExecutionSession& ES,
    llvm::orc::LookupKind K,
    const llvm::orc::JITDylibSearchOrder&
        SearchOrder,
    std::vector<std::pair<SymbolStringPtr,
                          ExecutorAddr*>> Pairs,
    llvm::orc::SymbolLookupFlags LookupFlags =
        SymbolLookupFlags::RequiredSymbol)

Description

Record addresses of the given symbols in the given ExecutorAddrs. Useful for making permanent records of symbol addreses to call or access in the executor (e.g. runtime support functions in Platform subclasses). By default the symbols are looked up using SymbolLookupFlags::RequiredSymbol, and an error will be generated if any of the requested symbols are not defined. If SymbolLookupFlags::WeaklyReferencedSymbol is used then any missing symbols will have their corresponding address objects set to zero, and this function will never generate an error (the caller will need to check addresses before using them). Asynchronous version.

Declared at: llvm/include/llvm/ExecutionEngine/Orc/LookupAndRecordAddrs.h:44

Parameters

unique_function<void(llvm::Error)> OnRecorded
llvm::orc::ExecutionSession& ES
llvm::orc::LookupKind K
const llvm::orc::JITDylibSearchOrder& SearchOrder
std::vector< std::pair<SymbolStringPtr, ExecutorAddr*>> Pairs
llvm::orc::SymbolLookupFlags LookupFlags = SymbolLookupFlags::RequiredSymbol