LLVM 24.0.0git
llvm::orc::EPCGenericMemoryAccess Class Reference

#include "llvm/ExecutionEngine/Orc/EPCGenericMemoryAccess.h"

Inheritance diagram for llvm::orc::EPCGenericMemoryAccess:
[legend]

Classes

struct  Funcs
 Proxies for the executor-side memory-access functions. More...

Public Member Functions

 EPCGenericMemoryAccess (ExecutionSession &ES, Funcs Fns)
 Create an EPCGenericMemoryAccess instance from a given set of memory access proxies.
void writeUInt8sAsync (ArrayRef< tpctypes::UInt8Write > Ws, WriteResultFn OnWriteComplete) override
void writeUInt16sAsync (ArrayRef< tpctypes::UInt16Write > Ws, WriteResultFn OnWriteComplete) override
void writeUInt32sAsync (ArrayRef< tpctypes::UInt32Write > Ws, WriteResultFn OnWriteComplete) override
void writeUInt64sAsync (ArrayRef< tpctypes::UInt64Write > Ws, WriteResultFn OnWriteComplete) override
void writePointersAsync (ArrayRef< tpctypes::PointerWrite > Ws, WriteResultFn OnWriteComplete) override
void writeBuffersAsync (ArrayRef< tpctypes::BufferWrite > Ws, WriteResultFn OnWriteComplete) override
void readUInt8sAsync (ArrayRef< ExecutorAddr > Rs, OnReadUIntsCompleteFn< uint8_t > OnComplete) override
void readUInt16sAsync (ArrayRef< ExecutorAddr > Rs, OnReadUIntsCompleteFn< uint16_t > OnComplete) override
void readUInt32sAsync (ArrayRef< ExecutorAddr > Rs, OnReadUIntsCompleteFn< uint32_t > OnComplete) override
void readUInt64sAsync (ArrayRef< ExecutorAddr > Rs, OnReadUIntsCompleteFn< uint64_t > OnComplete) override
void readPointersAsync (ArrayRef< ExecutorAddr > Rs, OnReadPointersCompleteFn OnComplete) override
void readBuffersAsync (ArrayRef< ExecutorAddrRange > Rs, OnReadBuffersCompleteFn OnComplete) override
void readStringsAsync (ArrayRef< ExecutorAddr > Rs, OnReadStringsCompleteFn OnComplete) override
Public Member Functions inherited from llvm::orc::MemoryAccess
virtual ~MemoryAccess ()
Error writeUInt8s (ArrayRef< tpctypes::UInt8Write > Ws)
Error writeUInt16s (ArrayRef< tpctypes::UInt16Write > Ws)
Error writeUInt32s (ArrayRef< tpctypes::UInt32Write > Ws)
Error writeUInt64s (ArrayRef< tpctypes::UInt64Write > Ws)
Error writePointers (ArrayRef< tpctypes::PointerWrite > Ws)
Error writeBuffers (ArrayRef< tpctypes::BufferWrite > Ws)
Expected< ReadUIntsResult< uint8_t > > readUInt8s (ArrayRef< ExecutorAddr > Rs)
Expected< ReadUIntsResult< uint16_t > > readUInt16s (ArrayRef< ExecutorAddr > Rs)
Expected< ReadUIntsResult< uint32_t > > readUInt32s (ArrayRef< ExecutorAddr > Rs)
Expected< ReadUIntsResult< uint64_t > > readUInt64s (ArrayRef< ExecutorAddr > Rs)
Expected< ReadPointersResultreadPointers (ArrayRef< ExecutorAddr > Rs)
Expected< ReadBuffersResultreadBuffers (ArrayRef< ExecutorAddrRange > Rs)
Expected< ReadStringsResultreadStrings (ArrayRef< ExecutorAddr > Rs)

Static Public Member Functions

static Expected< std::unique_ptr< MemoryAccess > > Create (ExecutionSession &ES)
 Create an EPCGenericMemoryAccess instance that reaches the memory-access wrappers in ES's bootstrap JITDylib via the runtime's SPS controller interface.

Additional Inherited Members

Public Types inherited from llvm::orc::MemoryAccess
using WriteResultFn = unique_function<void(Error)>
 Callback function for asynchronous writes.
template<typename T>
using ReadUIntsResult = std::vector<T>
template<typename T>
using OnReadUIntsCompleteFn
using ReadPointersResult = std::vector<ExecutorAddr>
using OnReadPointersCompleteFn
using ReadBuffersResult = std::vector<std::vector<uint8_t>>
using OnReadBuffersCompleteFn
using ReadStringsResult = std::vector<std::string>
using OnReadStringsCompleteFn

Detailed Description

Definition at line 30 of file EPCGenericMemoryAccess.h.

Constructor & Destructor Documentation

◆ EPCGenericMemoryAccess()

llvm::orc::EPCGenericMemoryAccess::EPCGenericMemoryAccess ( ExecutionSession & ES,
Funcs Fns )
inline

Create an EPCGenericMemoryAccess instance from a given set of memory access proxies.

Definition at line 78 of file EPCGenericMemoryAccess.h.

References llvm::move().

Member Function Documentation

◆ Create()

Expected< std::unique_ptr< MemoryAccess > > llvm::orc::EPCGenericMemoryAccess::Create ( ExecutionSession & ES)
inlinestatic

Create an EPCGenericMemoryAccess instance that reaches the memory-access wrappers in ES's bootstrap JITDylib via the runtime's SPS controller interface.

Definition at line 55 of file EPCGenericMemoryAccess.h.

References llvm::orc::rt::buildProxies(), and llvm::orc::rt::proxyInit().

Referenced by llvm::orc::InProcessEPC::createDefaultMemoryAccess(), and llvm::orc::SimpleRemoteEPC::createDefaultMemoryAccess().

◆ readBuffersAsync()

void llvm::orc::EPCGenericMemoryAccess::readBuffersAsync ( ArrayRef< ExecutorAddrRange > Rs,
OnReadBuffersCompleteFn OnComplete )
inlineoverridevirtual

Implements llvm::orc::MemoryAccess.

Definition at line 136 of file EPCGenericMemoryAccess.h.

◆ readPointersAsync()

void llvm::orc::EPCGenericMemoryAccess::readPointersAsync ( ArrayRef< ExecutorAddr > Rs,
OnReadPointersCompleteFn OnComplete )
inlineoverridevirtual

Implements llvm::orc::MemoryAccess.

Definition at line 131 of file EPCGenericMemoryAccess.h.

◆ readStringsAsync()

void llvm::orc::EPCGenericMemoryAccess::readStringsAsync ( ArrayRef< ExecutorAddr > Rs,
OnReadStringsCompleteFn OnComplete )
inlineoverridevirtual

Implements llvm::orc::MemoryAccess.

Definition at line 141 of file EPCGenericMemoryAccess.h.

◆ readUInt16sAsync()

void llvm::orc::EPCGenericMemoryAccess::readUInt16sAsync ( ArrayRef< ExecutorAddr > Rs,
OnReadUIntsCompleteFn< uint16_t > OnComplete )
inlineoverridevirtual

Implements llvm::orc::MemoryAccess.

Definition at line 116 of file EPCGenericMemoryAccess.h.

◆ readUInt32sAsync()

void llvm::orc::EPCGenericMemoryAccess::readUInt32sAsync ( ArrayRef< ExecutorAddr > Rs,
OnReadUIntsCompleteFn< uint32_t > OnComplete )
inlineoverridevirtual

Implements llvm::orc::MemoryAccess.

Definition at line 121 of file EPCGenericMemoryAccess.h.

◆ readUInt64sAsync()

void llvm::orc::EPCGenericMemoryAccess::readUInt64sAsync ( ArrayRef< ExecutorAddr > Rs,
OnReadUIntsCompleteFn< uint64_t > OnComplete )
inlineoverridevirtual

Implements llvm::orc::MemoryAccess.

Definition at line 126 of file EPCGenericMemoryAccess.h.

◆ readUInt8sAsync()

void llvm::orc::EPCGenericMemoryAccess::readUInt8sAsync ( ArrayRef< ExecutorAddr > Rs,
OnReadUIntsCompleteFn< uint8_t > OnComplete )
inlineoverridevirtual

Implements llvm::orc::MemoryAccess.

Definition at line 111 of file EPCGenericMemoryAccess.h.

◆ writeBuffersAsync()

void llvm::orc::EPCGenericMemoryAccess::writeBuffersAsync ( ArrayRef< tpctypes::BufferWrite > Ws,
WriteResultFn OnWriteComplete )
inlineoverridevirtual

Implements llvm::orc::MemoryAccess.

Definition at line 106 of file EPCGenericMemoryAccess.h.

◆ writePointersAsync()

void llvm::orc::EPCGenericMemoryAccess::writePointersAsync ( ArrayRef< tpctypes::PointerWrite > Ws,
WriteResultFn OnWriteComplete )
inlineoverridevirtual

Implements llvm::orc::MemoryAccess.

Definition at line 101 of file EPCGenericMemoryAccess.h.

◆ writeUInt16sAsync()

void llvm::orc::EPCGenericMemoryAccess::writeUInt16sAsync ( ArrayRef< tpctypes::UInt16Write > Ws,
WriteResultFn OnWriteComplete )
inlineoverridevirtual

Implements llvm::orc::MemoryAccess.

Definition at line 86 of file EPCGenericMemoryAccess.h.

◆ writeUInt32sAsync()

void llvm::orc::EPCGenericMemoryAccess::writeUInt32sAsync ( ArrayRef< tpctypes::UInt32Write > Ws,
WriteResultFn OnWriteComplete )
inlineoverridevirtual

Implements llvm::orc::MemoryAccess.

Definition at line 91 of file EPCGenericMemoryAccess.h.

◆ writeUInt64sAsync()

void llvm::orc::EPCGenericMemoryAccess::writeUInt64sAsync ( ArrayRef< tpctypes::UInt64Write > Ws,
WriteResultFn OnWriteComplete )
inlineoverridevirtual

Implements llvm::orc::MemoryAccess.

Definition at line 96 of file EPCGenericMemoryAccess.h.

◆ writeUInt8sAsync()

void llvm::orc::EPCGenericMemoryAccess::writeUInt8sAsync ( ArrayRef< tpctypes::UInt8Write > Ws,
WriteResultFn OnWriteComplete )
inlineoverridevirtual

Implements llvm::orc::MemoryAccess.

Definition at line 81 of file EPCGenericMemoryAccess.h.


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