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 Types

using WriteUInt8sProxy = Proxy<void(ArrayRef<tpctypes::UInt8Write>)>
using WriteUInt16sProxy = Proxy<void(ArrayRef<tpctypes::UInt16Write>)>
using WriteUInt32sProxy = Proxy<void(ArrayRef<tpctypes::UInt32Write>)>
using WriteUInt64sProxy = Proxy<void(ArrayRef<tpctypes::UInt64Write>)>
using WritePointersProxy = Proxy<void(ArrayRef<tpctypes::PointerWrite>)>
using WriteBuffersProxy = Proxy<void(ArrayRef<tpctypes::BufferWrite>)>
using ReadUInt8sProxy = Proxy<std::vector<uint8_t>(ArrayRef<ExecutorAddr>)>
using ReadUInt16sProxy = Proxy<std::vector<uint16_t>(ArrayRef<ExecutorAddr>)>
using ReadUInt32sProxy = Proxy<std::vector<uint32_t>(ArrayRef<ExecutorAddr>)>
using ReadUInt64sProxy = Proxy<std::vector<uint64_t>(ArrayRef<ExecutorAddr>)>
using ReadPointersProxy
using ReadBuffersProxy
using ReadStringsProxy
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

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)

Detailed Description

Definition at line 36 of file EPCGenericMemoryAccess.h.

Member Typedef Documentation

◆ ReadBuffersProxy

Initial value:
Represent a constant reference to an array (0 or more elements consecutively in memory),...
Definition ArrayRef.h:40

Definition at line 50 of file EPCGenericMemoryAccess.h.

◆ ReadPointersProxy

◆ ReadStringsProxy

◆ ReadUInt16sProxy

◆ ReadUInt32sProxy

◆ ReadUInt64sProxy

◆ ReadUInt8sProxy

◆ WriteBuffersProxy

◆ WritePointersProxy

◆ WriteUInt16sProxy

◆ WriteUInt32sProxy

◆ WriteUInt64sProxy

◆ WriteUInt8sProxy

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 77 of file EPCGenericMemoryAccess.h.

References llvm::move().

Member Function Documentation

◆ readBuffersAsync()

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

Implements llvm::orc::MemoryAccess.

Definition at line 135 of file EPCGenericMemoryAccess.h.

◆ readPointersAsync()

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

Implements llvm::orc::MemoryAccess.

Definition at line 130 of file EPCGenericMemoryAccess.h.

◆ readStringsAsync()

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

Implements llvm::orc::MemoryAccess.

Definition at line 140 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 115 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 120 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 125 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 110 of file EPCGenericMemoryAccess.h.

◆ writeBuffersAsync()

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

Implements llvm::orc::MemoryAccess.

Definition at line 105 of file EPCGenericMemoryAccess.h.

◆ writePointersAsync()

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

Implements llvm::orc::MemoryAccess.

Definition at line 100 of file EPCGenericMemoryAccess.h.

◆ writeUInt16sAsync()

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

Implements llvm::orc::MemoryAccess.

Definition at line 85 of file EPCGenericMemoryAccess.h.

◆ writeUInt32sAsync()

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

Implements llvm::orc::MemoryAccess.

Definition at line 90 of file EPCGenericMemoryAccess.h.

◆ writeUInt64sAsync()

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

Implements llvm::orc::MemoryAccess.

Definition at line 95 of file EPCGenericMemoryAccess.h.

◆ writeUInt8sAsync()

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

Implements llvm::orc::MemoryAccess.

Definition at line 80 of file EPCGenericMemoryAccess.h.


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