LLVM 22.0.0git
llvm::orc::MemoryAccess Class Referenceabstract

APIs for manipulating memory in the target process. More...

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

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

Public Types

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

virtual ~MemoryAccess ()
virtual void writeUInt8sAsync (ArrayRef< tpctypes::UInt8Write > Ws, WriteResultFn OnWriteComplete)=0
virtual void writeUInt16sAsync (ArrayRef< tpctypes::UInt16Write > Ws, WriteResultFn OnWriteComplete)=0
virtual void writeUInt32sAsync (ArrayRef< tpctypes::UInt32Write > Ws, WriteResultFn OnWriteComplete)=0
virtual void writeUInt64sAsync (ArrayRef< tpctypes::UInt64Write > Ws, WriteResultFn OnWriteComplete)=0
virtual void writePointersAsync (ArrayRef< tpctypes::PointerWrite > Ws, WriteResultFn OnWriteComplete)=0
virtual void writeBuffersAsync (ArrayRef< tpctypes::BufferWrite > Ws, WriteResultFn OnWriteComplete)=0
virtual void readUInt8sAsync (ArrayRef< ExecutorAddr > Rs, OnReadUIntsCompleteFn< uint8_t > OnComplete)=0
virtual void readUInt16sAsync (ArrayRef< ExecutorAddr > Rs, OnReadUIntsCompleteFn< uint16_t > OnComplete)=0
virtual void readUInt32sAsync (ArrayRef< ExecutorAddr > Rs, OnReadUIntsCompleteFn< uint32_t > OnComplete)=0
virtual void readUInt64sAsync (ArrayRef< ExecutorAddr > Rs, OnReadUIntsCompleteFn< uint64_t > OnComplete)=0
virtual void readPointersAsync (ArrayRef< ExecutorAddr > Rs, OnReadPointersCompleteFn OnComplete)=0
virtual void readBuffersAsync (ArrayRef< ExecutorAddrRange > Rs, OnReadBuffersCompleteFn OnComplete)=0
virtual void readStringsAsync (ArrayRef< ExecutorAddr > Rs, OnReadStringsCompleteFn OnComplete)=0
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

APIs for manipulating memory in the target process.

Definition at line 26 of file MemoryAccess.h.

Member Typedef Documentation

◆ OnReadBuffersCompleteFn

Initial value:
Tagged union holding either a T or a Error.
Definition Error.h:485
unique_function is a type-erasing functor similar to std::function.

Definition at line 41 of file MemoryAccess.h.

◆ OnReadPointersCompleteFn

◆ OnReadStringsCompleteFn

◆ OnReadUIntsCompleteFn

Initial value:

Definition at line 33 of file MemoryAccess.h.

◆ ReadBuffersResult

using llvm::orc::MemoryAccess::ReadBuffersResult = std::vector<std::vector<uint8_t>>

Definition at line 40 of file MemoryAccess.h.

◆ ReadPointersResult

Definition at line 36 of file MemoryAccess.h.

◆ ReadStringsResult

using llvm::orc::MemoryAccess::ReadStringsResult = std::vector<std::string>

Definition at line 44 of file MemoryAccess.h.

◆ ReadUIntsResult

template<typename T>
using llvm::orc::MemoryAccess::ReadUIntsResult = std::vector<T>

Definition at line 31 of file MemoryAccess.h.

◆ WriteResultFn

Callback function for asynchronous writes.

Definition at line 29 of file MemoryAccess.h.

Constructor & Destructor Documentation

◆ ~MemoryAccess()

llvm::orc::MemoryAccess::~MemoryAccess ( )
virtualdefault

Member Function Documentation

◆ readBuffers()

Expected< ReadBuffersResult > llvm::orc::MemoryAccess::readBuffers ( ArrayRef< ExecutorAddrRange > Rs)
inline

Definition at line 176 of file MemoryAccess.h.

References P, readBuffersAsync(), and llvm::orc::Result.

◆ readBuffersAsync()

virtual void llvm::orc::MemoryAccess::readBuffersAsync ( ArrayRef< ExecutorAddrRange > Rs,
OnReadBuffersCompleteFn OnComplete )
pure virtual

◆ readPointers()

Expected< ReadPointersResult > llvm::orc::MemoryAccess::readPointers ( ArrayRef< ExecutorAddr > Rs)
inline

Definition at line 168 of file MemoryAccess.h.

References P, readPointersAsync(), and llvm::orc::Result.

◆ readPointersAsync()

virtual void llvm::orc::MemoryAccess::readPointersAsync ( ArrayRef< ExecutorAddr > Rs,
OnReadPointersCompleteFn OnComplete )
pure virtual

◆ readStrings()

Expected< ReadStringsResult > llvm::orc::MemoryAccess::readStrings ( ArrayRef< ExecutorAddr > Rs)
inline

Definition at line 184 of file MemoryAccess.h.

References P, readStringsAsync(), and llvm::orc::Result.

◆ readStringsAsync()

virtual void llvm::orc::MemoryAccess::readStringsAsync ( ArrayRef< ExecutorAddr > Rs,
OnReadStringsCompleteFn OnComplete )
pure virtual

◆ readUInt16s()

Expected< ReadUIntsResult< uint16_t > > llvm::orc::MemoryAccess::readUInt16s ( ArrayRef< ExecutorAddr > Rs)
inline

Definition at line 144 of file MemoryAccess.h.

References P, readUInt16sAsync(), and llvm::orc::Result.

◆ readUInt16sAsync()

virtual void llvm::orc::MemoryAccess::readUInt16sAsync ( ArrayRef< ExecutorAddr > Rs,
OnReadUIntsCompleteFn< uint16_t > OnComplete )
pure virtual

◆ readUInt32s()

Expected< ReadUIntsResult< uint32_t > > llvm::orc::MemoryAccess::readUInt32s ( ArrayRef< ExecutorAddr > Rs)
inline

Definition at line 152 of file MemoryAccess.h.

References P, readUInt32sAsync(), and llvm::orc::Result.

◆ readUInt32sAsync()

virtual void llvm::orc::MemoryAccess::readUInt32sAsync ( ArrayRef< ExecutorAddr > Rs,
OnReadUIntsCompleteFn< uint32_t > OnComplete )
pure virtual

◆ readUInt64s()

Expected< ReadUIntsResult< uint64_t > > llvm::orc::MemoryAccess::readUInt64s ( ArrayRef< ExecutorAddr > Rs)
inline

Definition at line 160 of file MemoryAccess.h.

References P, readUInt64sAsync(), and llvm::orc::Result.

◆ readUInt64sAsync()

virtual void llvm::orc::MemoryAccess::readUInt64sAsync ( ArrayRef< ExecutorAddr > Rs,
OnReadUIntsCompleteFn< uint64_t > OnComplete )
pure virtual

◆ readUInt8s()

Expected< ReadUIntsResult< uint8_t > > llvm::orc::MemoryAccess::readUInt8s ( ArrayRef< ExecutorAddr > Rs)
inline

Definition at line 136 of file MemoryAccess.h.

References P, readUInt8sAsync(), and llvm::orc::Result.

◆ readUInt8sAsync()

virtual void llvm::orc::MemoryAccess::readUInt8sAsync ( ArrayRef< ExecutorAddr > Rs,
OnReadUIntsCompleteFn< uint8_t > OnComplete )
pure virtual

◆ writeBuffers()

Error llvm::orc::MemoryAccess::writeBuffers ( ArrayRef< tpctypes::BufferWrite > Ws)
inline

Definition at line 128 of file MemoryAccess.h.

References writeBuffersAsync().

◆ writeBuffersAsync()

virtual void llvm::orc::MemoryAccess::writeBuffersAsync ( ArrayRef< tpctypes::BufferWrite > Ws,
WriteResultFn OnWriteComplete )
pure virtual

◆ writePointers()

Error llvm::orc::MemoryAccess::writePointers ( ArrayRef< tpctypes::PointerWrite > Ws)
inline

Definition at line 120 of file MemoryAccess.h.

References writePointersAsync().

◆ writePointersAsync()

virtual void llvm::orc::MemoryAccess::writePointersAsync ( ArrayRef< tpctypes::PointerWrite > Ws,
WriteResultFn OnWriteComplete )
pure virtual

◆ writeUInt16s()

Error llvm::orc::MemoryAccess::writeUInt16s ( ArrayRef< tpctypes::UInt16Write > Ws)
inline

Definition at line 96 of file MemoryAccess.h.

References writeUInt16sAsync().

◆ writeUInt16sAsync()

virtual void llvm::orc::MemoryAccess::writeUInt16sAsync ( ArrayRef< tpctypes::UInt16Write > Ws,
WriteResultFn OnWriteComplete )
pure virtual

◆ writeUInt32s()

Error llvm::orc::MemoryAccess::writeUInt32s ( ArrayRef< tpctypes::UInt32Write > Ws)
inline

Definition at line 104 of file MemoryAccess.h.

References writeUInt32sAsync().

◆ writeUInt32sAsync()

virtual void llvm::orc::MemoryAccess::writeUInt32sAsync ( ArrayRef< tpctypes::UInt32Write > Ws,
WriteResultFn OnWriteComplete )
pure virtual

◆ writeUInt64s()

Error llvm::orc::MemoryAccess::writeUInt64s ( ArrayRef< tpctypes::UInt64Write > Ws)
inline

Definition at line 112 of file MemoryAccess.h.

References writeUInt64sAsync().

◆ writeUInt64sAsync()

virtual void llvm::orc::MemoryAccess::writeUInt64sAsync ( ArrayRef< tpctypes::UInt64Write > Ws,
WriteResultFn OnWriteComplete )
pure virtual

◆ writeUInt8s()

Error llvm::orc::MemoryAccess::writeUInt8s ( ArrayRef< tpctypes::UInt8Write > Ws)
inline

Definition at line 89 of file MemoryAccess.h.

References writeUInt8sAsync().

◆ writeUInt8sAsync()

virtual void llvm::orc::MemoryAccess::writeUInt8sAsync ( ArrayRef< tpctypes::UInt8Write > Ws,
WriteResultFn OnWriteComplete )
pure virtual

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