class UnsupportedExecutorProcessControl

Declaration

class UnsupportedExecutorProcessControl
    : public ExecutorProcessControl { /* full declaration omitted */ };

Description

A ExecutorProcessControl instance that asserts if any of its methods are used. Suitable for use is unit tests, and by ORC clients who haven't moved to ExecutorProcessControl-based APIs yet.

Declared at: llvm/include/llvm/ExecutionEngine/Orc/ExecutorProcessControl.h:372

Inherits from: ExecutorProcessControl

Member Variables

Inherited from ExecutorProcessControl:

protected SSP
protected D
protected ES = nullptr
protected TargetTriple
protected PageSize = 0
protected JDI
protected MemAccess = nullptr
protected MemMgr = nullptr
protected BootstrapSymbols

Method Overview

  • public UnsupportedExecutorProcessControl(std::shared_ptr<SymbolStringPool> SSP = nullptr, std::unique_ptr<TaskDispatcher> D = nullptr, const std::string & TT = "", unsigned int PageSize = 0)
  • public void callWrapperAsync(llvm::orc::ExecutorAddr WrapperFnAddr, llvm::orc::ExecutorProcessControl::IncomingWFRHandler OnComplete, ArrayRef<char> ArgBuffer)
  • public llvm::Error disconnect()
  • public Expected<tpctypes::DylibHandle> loadDylib(const char * DylibPath)
  • public Expected<std::vector<tpctypes::LookupResult>> lookupSymbols(ArrayRef<llvm::orc::ExecutorProcessControl::LookupRequest> Request)
  • public Expected<int32_t> runAsMain(llvm::orc::ExecutorAddr MainFnAddr, ArrayRef<std::string> Args)

Inherited from ExecutorProcessControl:

Methods

UnsupportedExecutorProcessControl(
    std::shared_ptr<SymbolStringPool> SSP =
        nullptr,
    std::unique_ptr<TaskDispatcher> D = nullptr,
    const std::string& TT = "",
    unsigned int PageSize = 0)

Declared at: llvm/include/llvm/ExecutionEngine/Orc/ExecutorProcessControl.h:374

Parameters

std::shared_ptr<SymbolStringPool> SSP = nullptr
std::unique_ptr<TaskDispatcher> D = nullptr
const std::string& TT = ""
unsigned int PageSize = 0

void callWrapperAsync(
    llvm::orc::ExecutorAddr WrapperFnAddr,
    llvm::orc::ExecutorProcessControl::
        IncomingWFRHandler OnComplete,
    ArrayRef<char> ArgBuffer)

Description

Run a wrapper function in the executor. The given WFRHandler will be called on the result when it is returned. The wrapper function should be callable as: {.cpp}

Declared at: llvm/include/llvm/ExecutionEngine/Orc/ExecutorProcessControl.h:400

Parameters

llvm::orc::ExecutorAddr WrapperFnAddr
llvm::orc::ExecutorProcessControl:: IncomingWFRHandler OnComplete
ArrayRef<char> ArgBuffer

llvm::Error disconnect()

Description

Disconnect from the target process. This should be called after the JIT session is shut down.

Declared at: llvm/include/llvm/ExecutionEngine/Orc/ExecutorProcessControl.h:406

Expected<tpctypes::DylibHandle> loadDylib(
    const char* DylibPath)

Description

Load the dynamic library at the given path and return a handle to it. If LibraryPath is null this function will return the global handle for the target process.

Declared at: llvm/include/llvm/ExecutionEngine/Orc/ExecutorProcessControl.h:386

Parameters

const char* DylibPath

Expected<std::vector<tpctypes::LookupResult>>
lookupSymbols(
    ArrayRef<llvm::orc::ExecutorProcessControl::
                 LookupRequest> Request)

Description

Search for symbols in the target process. The result of the lookup is a 2-dimentional array of target addresses that correspond to the lookup order. If a required symbol is not found then this method will return an error. If a weakly referenced symbol is not found then it be assigned a '0' value.

Declared at: llvm/include/llvm/ExecutionEngine/Orc/ExecutorProcessControl.h:391

Parameters

ArrayRef<llvm::orc::ExecutorProcessControl:: LookupRequest> Request

Expected<int32_t> runAsMain(
    llvm::orc::ExecutorAddr MainFnAddr,
    ArrayRef<std::string> Args)

Description

Run function with a main-like signature.

Declared at: llvm/include/llvm/ExecutionEngine/Orc/ExecutorProcessControl.h:395

Parameters

llvm::orc::ExecutorAddr MainFnAddr
ArrayRef<std::string> Args