LLVM 20.0.0git
|
#include "llvm/ExecutionEngine/Orc/Shared/WrapperFunctionUtils.h"
Static Public Member Functions | |
template<typename CallerFn , typename RetT , typename... ArgTs> | |
static Error | call (const CallerFn &Caller, RetT &Result, const ArgTs &...Args) |
Call a wrapper function. | |
template<typename AsyncCallerFn , typename SendDeserializedResultFn , typename... ArgTs> | |
static void | callAsync (AsyncCallerFn &&Caller, SendDeserializedResultFn &&SendDeserializedResult, const ArgTs &...Args) |
Call an async wrapper function. | |
template<typename HandlerT > | |
static WrapperFunctionResult | handle (const char *ArgData, size_t ArgSize, HandlerT &&Handler) |
Handle a call to a wrapper function. | |
template<typename HandlerT , typename SendResultT > | |
static void | handleAsync (const char *ArgData, size_t ArgSize, HandlerT &&Handler, SendResultT &&SendResult) |
Handle a call to an async wrapper function. | |
Definition at line 437 of file WrapperFunctionUtils.h.
|
inlinestatic |
Call a wrapper function.
Caller should be callable as WrapperFunctionResult Fn(const char *ArgData, size_t ArgSize);
Definition at line 446 of file WrapperFunctionUtils.h.
References llvm::orc::shared::WrapperFunctionResult::data(), llvm::orc::shared::detail::ResultDeserializer< SPSRetTagT, RetT >::deserialize(), llvm::orc::shared::WrapperFunctionResult::getOutOfBandError(), llvm::inconvertibleErrorCode(), llvm::orc::shared::detail::ResultDeserializer< SPSRetTagT, RetT >::makeSafe(), llvm::orc::Result, llvm::orc::shared::detail::serializeViaSPSToWrapperFunctionResult(), and llvm::orc::shared::WrapperFunctionResult::size().
|
inlinestatic |
Call an async wrapper function.
Caller should be callable as void Fn(unique_function<void(WrapperFunctionResult)> SendResult, WrapperFunctionResult ArgBuffer);
Definition at line 475 of file WrapperFunctionUtils.h.
References llvm::inconvertibleErrorCode(), llvm::orc::shared::detail::ResultDeserializer< SPSRetTagT, RetT >::makeSafe(), llvm::orc::shared::detail::ResultDeserializer< SPSRetTagT, RetT >::makeValue(), llvm::orc::shared::detail::serializeViaSPSToWrapperFunctionResult(), and llvm::Error::success().
|
inlinestatic |
Handle a call to a wrapper function.
Definition at line 519 of file WrapperFunctionUtils.h.
|
inlinestatic |
Handle a call to an async wrapper function.
Definition at line 529 of file WrapperFunctionUtils.h.