-
Notifications
You must be signed in to change notification settings - Fork 15.4k
[ORC] Add CallViaEPC and CallSPSViaEPC utilities. #170464
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
These utilities simplify making typed async calls via ExecutorProcessControl::callWrapperAsync. CallViaEPC.h provides utilities for making typed async calls using a given Serializer to serialize arguments and deserialize results. callViaEPC takes a result handler function object (accepting Expected<T>), an EPC reference, a Serializer, a target function address, and arguments. The return type T is inferred from the handler's argument type using CallableTraitsHelper. EPCCaller wraps an ExecutorProcessControl& and Serializer, simplifying repeated calls with the same serialization. EPCCall wraps an EPCCaller and target function address, simplifying repeated calls to a specific wrapper function. CallSPSViaEPC.h provides utilities for using CallViaEPC with SPS serialization. SPSCallSerializer is a CallViaEPC-compatible serializer using SPS. SPSEPCCaller takes an SPS function signature as its template argument and applies SPS serialization to arguments and return values. SPSEPCCall wraps an SPSCaller and a target function address, simplifying repeated calls to a specific SPS wrapper function.
|
LLVM Buildbot has detected a new failure on builder Full details are available at: https://lab.llvm.org/buildbot/#/builders/157/builds/42727 Here is the relevant piece of the build log for the reference |
|
LLVM Buildbot has detected a new failure on builder Full details are available at: https://lab.llvm.org/buildbot/#/builders/110/builds/6629 Here is the relevant piece of the build log for the reference |
These utilities simplify making typed async calls via ExecutorProcessControl::callWrapperAsync. CallViaEPC.h provides utilities for making typed async calls using a given Serializer to serialize arguments and deserialize results. callViaEPC takes a result handler function object (accepting Expected<T>), an EPC reference, a Serializer, a target function address, and arguments. The return type T is inferred from the handler's argument type using CallableTraitsHelper. EPCCaller wraps an ExecutorProcessControl& and Serializer, simplifying repeated calls with the same serialization. EPCCall wraps an EPCCaller and target function address, simplifying repeated calls to a specific wrapper function. CallSPSViaEPC.h provides utilities for using CallViaEPC with SPS serialization. SPSCallSerializer is a CallViaEPC-compatible serializer using SPS. SPSEPCCaller takes an SPS function signature as its template argument and applies SPS serialization to arguments and return values. SPSEPCCall wraps an SPSCaller and a target function address, simplifying repeated calls to a specific SPS wrapper function.
|
LLVM Buildbot has detected a new failure on builder Full details are available at: https://lab.llvm.org/buildbot/#/builders/95/builds/19318 Here is the relevant piece of the build log for the reference |
These utilities simplify making typed async calls via ExecutorProcessControl::callWrapperAsync.
CallViaEPC.h provides utilities for making typed async calls using a given Serializer to serialize arguments and deserialize results.
callViaEPC takes a result handler function object (accepting Expected), an EPC reference, a Serializer, a target function address, and arguments. The return type T is inferred from the handler's argument type using CallableTraitsHelper.
EPCCaller wraps an ExecutorProcessControl& and Serializer, simplifying repeated calls with the same serialization.
EPCCall wraps an EPCCaller and target function address, simplifying repeated calls to a specific wrapper function.
CallSPSViaEPC.h provides utilities for using CallViaEPC with SPS serialization.
SPSCallSerializer is a CallViaEPC-compatible serializer using SPS.
SPSEPCCaller takes an SPS function signature as its template argument and applies SPS serialization to arguments and return values.
SPSEPCCall wraps an SPSCaller and a target function address, simplifying repeated calls to a specific SPS wrapper function.