|
LLVM 22.0.0git
|
C++ wrapper function buffer: Same as CWrapperFunctionBuffer but auto-releases memory. More...
#include "llvm/ExecutionEngine/Orc/Shared/WrapperFunctionUtils.h"
Public Member Functions | |
| WrapperFunctionBuffer () | |
| Create a default WrapperFunctionBuffer. | |
| WrapperFunctionBuffer (CWrapperFunctionBuffer R) | |
| Create a WrapperFunctionBuffer by taking ownership of a CWrapperFunctionBuffer. | |
| WrapperFunctionBuffer (const WrapperFunctionBuffer &)=delete | |
| WrapperFunctionBuffer & | operator= (const WrapperFunctionBuffer &)=delete |
| WrapperFunctionBuffer (WrapperFunctionBuffer &&Other) | |
| WrapperFunctionBuffer & | operator= (WrapperFunctionBuffer &&Other) |
| ~WrapperFunctionBuffer () | |
| CWrapperFunctionBuffer | release () |
| Release ownership of the contained CWrapperFunctionBuffer. | |
| char * | data () |
| Get a pointer to the data contained in this instance. | |
| const char * | data () const |
| Get a const pointer to the data contained in this instance. | |
| size_t | size () const |
| Returns the size of the data contained in this instance. | |
| bool | empty () const |
| Returns true if this value is equivalent to a default-constructed WrapperFunctionBuffer. | |
| const char * | getOutOfBandError () const |
| If this value is an out-of-band error then this returns the error message, otherwise returns nullptr. | |
Static Public Member Functions | |
| static WrapperFunctionBuffer | allocate (size_t Size) |
| Create a WrapperFunctionBuffer with the given size and return a pointer to the underlying memory. | |
| static WrapperFunctionBuffer | copyFrom (const char *Source, size_t Size) |
| Copy from the given char range. | |
| static WrapperFunctionBuffer | copyFrom (const char *Source) |
| Copy from the given null-terminated string (includes the null-terminator). | |
| static WrapperFunctionBuffer | copyFrom (const std::string &Source) |
| Copy from the given std::string (includes the null terminator). | |
| static WrapperFunctionBuffer | createOutOfBandError (const char *Msg) |
| Create an out-of-band error by copying the given string. | |
| static WrapperFunctionBuffer | createOutOfBandError (const std::string &Msg) |
| Create an out-of-band error by copying the given string. | |
C++ wrapper function buffer: Same as CWrapperFunctionBuffer but auto-releases memory.
Definition at line 40 of file WrapperFunctionUtils.h.
|
inline |
Create a default WrapperFunctionBuffer.
Definition at line 43 of file WrapperFunctionUtils.h.
Referenced by allocate(), copyFrom(), copyFrom(), copyFrom(), createOutOfBandError(), createOutOfBandError(), operator=(), operator=(), WrapperFunctionBuffer(), and WrapperFunctionBuffer().
|
inlineexplicit |
Create a WrapperFunctionBuffer by taking ownership of a CWrapperFunctionBuffer.
Warning: This should only be used by clients writing wrapper-function caller utilities (like TargetProcessControl).
Definition at line 50 of file WrapperFunctionUtils.h.
|
delete |
References WrapperFunctionBuffer().
|
inline |
Definition at line 58 of file WrapperFunctionUtils.h.
References llvm::Other, std::swap(), and WrapperFunctionBuffer().
|
inline |
Definition at line 69 of file WrapperFunctionUtils.h.
|
inlinestatic |
Create a WrapperFunctionBuffer with the given size and return a pointer to the underlying memory.
Definition at line 113 of file WrapperFunctionUtils.h.
References llvm::orc::shared::CWrapperFunctionBuffer::Data, Size, llvm::orc::shared::CWrapperFunctionBuffer::Size, llvm::orc::shared::CWrapperFunctionBufferDataUnion::Value, llvm::orc::shared::CWrapperFunctionBufferDataUnion::ValuePtr, and WrapperFunctionBuffer().
Referenced by copyFrom(), llvm::orc::detail::SPSCallSerializationImpl< SPSRetT, SPSArgTs >::serialize(), and llvm::orc::shared::detail::serializeViaSPSToWrapperFunctionBuffer().
|
inlinestatic |
Copy from the given null-terminated string (includes the null-terminator).
Definition at line 130 of file WrapperFunctionUtils.h.
References copyFrom(), and WrapperFunctionBuffer().
|
inlinestatic |
Copy from the given char range.
Definition at line 123 of file WrapperFunctionUtils.h.
References allocate(), Size, and WrapperFunctionBuffer().
Referenced by copyFrom(), and copyFrom().
|
inlinestatic |
Copy from the given std::string (includes the null terminator).
Definition at line 135 of file WrapperFunctionUtils.h.
References copyFrom(), and WrapperFunctionBuffer().
|
inlinestatic |
Create an out-of-band error by copying the given string.
Definition at line 140 of file WrapperFunctionUtils.h.
References llvm::orc::shared::CWrapperFunctionBuffer::Data, llvm::orc::shared::CWrapperFunctionBufferDataUnion::ValuePtr, and WrapperFunctionBuffer().
Referenced by llvm::orc::shared::detail::WrapperFunctionHandlerHelper< RetT(ArgTs...), ResultSerializer, SPSTagTs... >::apply(), llvm::orc::shared::detail::WrapperFunctionAsyncHandlerHelper< RetT(SendResultT, ArgTs...), ResultSerializer, SPSTagTs... >::applyAsync(), llvm::orc::SimpleRemoteEPC::callWrapperAsync(), createOutOfBandError(), llvm::orc::SimpleRemoteEPC::handleDisconnect(), llvm::orc::SimpleRemoteEPCServer::handleDisconnect(), llvm::orc::ExecutionSession::runJITDispatchHandler(), and llvm::orc::shared::detail::serializeViaSPSToWrapperFunctionBuffer().
|
inlinestatic |
Create an out-of-band error by copying the given string.
Definition at line 150 of file WrapperFunctionUtils.h.
References createOutOfBandError(), and WrapperFunctionBuffer().
|
inline |
Get a pointer to the data contained in this instance.
Definition at line 87 of file WrapperFunctionUtils.h.
References assert().
Referenced by llvm::orc::shared::WrapperFunction< SPSRetTagT(SPSTagTs...)>::call(), and llvm::orc::SPSCallSerializer< SPSSig >::deserialize().
Get a const pointer to the data contained in this instance.
Definition at line 94 of file WrapperFunctionUtils.h.
References assert().
|
inline |
Returns true if this value is equivalent to a default-constructed WrapperFunctionBuffer.
Definition at line 109 of file WrapperFunctionUtils.h.
Referenced by llvm::orc::SPSCallSerializer< void(SPSArgTs...)>::deserialize().
If this value is an out-of-band error then this returns the error message, otherwise returns nullptr.
Definition at line 156 of file WrapperFunctionUtils.h.
Referenced by llvm::orc::shared::WrapperFunction< SPSRetTagT(SPSTagTs...)>::call().
|
delete |
References WrapperFunctionBuffer().
|
inline |
Definition at line 63 of file WrapperFunctionUtils.h.
References llvm::Other, std::swap(), and WrapperFunctionBuffer().
|
inline |
Release ownership of the contained CWrapperFunctionBuffer.
Warning: Do not use – this method will be removed in the future. It only exists to temporarily support some code that will eventually be moved to the ORC runtime.
Definition at line 79 of file WrapperFunctionUtils.h.
References std::swap().
|
inline |
Returns the size of the data contained in this instance.
Definition at line 101 of file WrapperFunctionUtils.h.
References assert().
Referenced by llvm::orc::shared::WrapperFunction< SPSRetTagT(SPSTagTs...)>::call(), and llvm::orc::SPSCallSerializer< SPSSig >::deserialize().