LLVM
15.0.0git
|
Represents an address in the executor process. More...
#include "llvm/ExecutionEngine/Orc/Shared/ExecutorAddress.h"
Public Member Functions | |
ExecutorAddr ()=default | |
constexpr | ExecutorAddr (uint64_t Addr) |
Create an ExecutorAddr from the given value. More... | |
template<typename T > | |
std::enable_if_t< std::is_pointer< T >::value, T > | toPtr () const |
Cast this ExecutorAddr to a pointer of the given type. More... | |
template<typename T > | |
std::enable_if_t< std::is_function< T >::value, T * > | toPtr () const |
Cast this ExecutorAddr to a pointer of the given function type. More... | |
uint64_t | getValue () const |
void | setValue (uint64_t Addr) |
bool | isNull () const |
operator bool () const | |
ExecutorAddr & | operator++ () |
ExecutorAddr & | operator-- () |
ExecutorAddr | operator++ (int) |
ExecutorAddr | operator-- (int) |
ExecutorAddr & | operator+= (const ExecutorAddrDiff &Delta) |
ExecutorAddr & | operator-= (const ExecutorAddrDiff &Delta) |
Static Public Member Functions | |
template<typename T > | |
static ExecutorAddr | fromPtr (T *Value) |
Create an ExecutorAddr from the given pointer. More... | |
Friends | |
bool | operator== (const ExecutorAddr &LHS, const ExecutorAddr &RHS) |
bool | operator!= (const ExecutorAddr &LHS, const ExecutorAddr &RHS) |
bool | operator< (const ExecutorAddr &LHS, const ExecutorAddr &RHS) |
bool | operator<= (const ExecutorAddr &LHS, const ExecutorAddr &RHS) |
bool | operator> (const ExecutorAddr &LHS, const ExecutorAddr &RHS) |
bool | operator>= (const ExecutorAddr &LHS, const ExecutorAddr &RHS) |
Represents an address in the executor process.
Definition at line 30 of file ExecutorAddress.h.
|
default |
Referenced by fromPtr(), operator++(), and operator--().
|
inlineexplicitconstexpr |
Create an ExecutorAddr from the given value.
Definition at line 35 of file ExecutorAddress.h.
References Addr.
|
inlinestatic |
Create an ExecutorAddr from the given pointer.
Warning: This should only be used when JITing in-process.
Definition at line 39 of file ExecutorAddress.h.
References ExecutorAddr().
Referenced by llvm::orc::rt_bootstrap::SimpleExecutorMemoryManager::addBootstrapSymbols(), llvm::orc::rt_bootstrap::SimpleExecutorDylibManager::addBootstrapSymbols(), llvm::orc::rt_bootstrap::addTo(), llvm::orc::rt_bootstrap::SimpleExecutorMemoryManager::allocate(), llvm::jitlink::InProcessMemoryManager::allocate(), llvm::orc::rt_bootstrap::SimpleExecutorDylibManager::lookup(), llvm::orc::InProcessMemoryMapper::reserve(), llvm::orc::SelfExecutorProcessControl::SelfExecutorProcessControl(), and llvm::orc::InProcessMemoryMapper::~InProcessMemoryMapper().
|
inline |
Definition at line 62 of file ExecutorAddress.h.
Referenced by llvm::jitlink::aarch64::applyFixup(), llvm::jitlink::SimpleSegmentAlloc::Create(), llvm::orc::SimpleRemoteEPC::handleMessage(), llvm::orc::SimpleRemoteEPCServer::handleMessage(), llvm::jitlink::makeAlignmentError(), llvm::jitlink::x86_64::optimizeGOTAndStubAccesses(), llvm::orc::FDSimpleRemoteEPCTransport::sendMessage(), llvm::orc::shared::SPSSerializationTraits< SPSExecutorAddr, ExecutorAddr >::serialize(), llvm::orc::ELFDebugObjectSection< ELFT >::setTargetMemoryRange(), and llvm::orc::shared::SPSSerializationTraits< SPSExecutorAddr, ExecutorAddr >::size().
|
inline |
Definition at line 64 of file ExecutorAddress.h.
|
inlineexplicit |
Definition at line 66 of file ExecutorAddress.h.
|
inline |
Definition at line 92 of file ExecutorAddress.h.
|
inline |
Definition at line 100 of file ExecutorAddress.h.
References ExecutorAddr().
|
inline |
Definition at line 103 of file ExecutorAddress.h.
|
inline |
Definition at line 96 of file ExecutorAddress.h.
|
inline |
Definition at line 101 of file ExecutorAddress.h.
References ExecutorAddr().
|
inline |
Definition at line 108 of file ExecutorAddress.h.
|
inline |
Definition at line 63 of file ExecutorAddress.h.
References Addr.
|
inline |
Cast this ExecutorAddr to a pointer of the given type.
Warning: This should only be used when JITing in-process.
Definition at line 47 of file ExecutorAddress.h.
Referenced by llvm::orc::SelfExecutorProcessControl::callWrapperAsync(), llvm::jitlink::InProcessEHFrameRegistrar::deregisterEHFrames(), deregisterEHFrameWrapper(), llvm::orc::InProcessMemoryMapper::initialize(), llvm::orc::shared::MethodWrapperHandler< RetT, ClassT, ArgTs >::operator()(), llvm::jitlink::InProcessEHFrameRegistrar::registerEHFrames(), registerEHFrameWrapper(), llvm::orc::shared::WrapperFunctionCall::run(), llvm::orc::SelfExecutorProcessControl::runAsMain(), and llvm::orc::rt_bootstrap::runAsMainWrapper().
|
inline |
Cast this ExecutorAddr to a pointer of the given function type.
Warning: This should only be used when JITing in-process.
Definition at line 56 of file ExecutorAddress.h.
|
friend |
Definition at line 72 of file ExecutorAddress.h.
|
friend |
Definition at line 76 of file ExecutorAddress.h.
|
friend |
Definition at line 80 of file ExecutorAddress.h.
|
friend |
Definition at line 68 of file ExecutorAddress.h.
|
friend |
Definition at line 84 of file ExecutorAddress.h.
|
friend |
Definition at line 88 of file ExecutorAddress.h.