Files
gps/tools/local/circt/include/llvm/ExecutionEngine/Orc/InProcessMemoryAccess.h
T
2026-07-12 11:01:51 +03:00

69 lines
2.5 KiB
C++

//===-- InProcessMemoryAccess.h - Direct, in-process mem access -*- C++ -*-===//
//
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
// See https://llvm.org/LICENSE.txt for license information.
// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
//
//===----------------------------------------------------------------------===//
//
// Accesses memory in the current process.
//
//===----------------------------------------------------------------------===//
#ifndef LLVM_EXECUTIONENGINE_ORC_INPROCESSMEMORYACCESS_H
#define LLVM_EXECUTIONENGINE_ORC_INPROCESSMEMORYACCESS_H
#include "llvm/ExecutionEngine/Orc/MemoryAccess.h"
namespace llvm::orc {
class LLVM_ABI InProcessMemoryAccess : public MemoryAccess {
public:
InProcessMemoryAccess(bool IsArch64Bit) : IsArch64Bit(IsArch64Bit) {}
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;
private:
bool IsArch64Bit;
};
} // namespace llvm::orc
#endif // LLVM_EXECUTIONENGINE_ORC_INPROCESSMEMORYACCESS_H