[llvm] r263951 - [Orc] Switch RPC Procedure to take a function type, rather than an arg list.
Lang Hames via llvm-commits
llvm-commits at lists.llvm.org
Mon Mar 21 09:56:25 PDT 2016
Author: lhames
Date: Mon Mar 21 11:56:25 2016
New Revision: 263951
URL: http://llvm.org/viewvc/llvm-project?rev=263951&view=rev
Log:
[Orc] Switch RPC Procedure to take a function type, rather than an arg list.
No functional change, just a little more readable.
Modified:
llvm/trunk/include/llvm/ExecutionEngine/Orc/OrcRemoteTargetRPCAPI.h
llvm/trunk/include/llvm/ExecutionEngine/Orc/RPCUtils.h
llvm/trunk/unittests/ExecutionEngine/Orc/RPCUtilsTest.cpp
Modified: llvm/trunk/include/llvm/ExecutionEngine/Orc/OrcRemoteTargetRPCAPI.h
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/include/llvm/ExecutionEngine/Orc/OrcRemoteTargetRPCAPI.h?rev=263951&r1=263950&r2=263951&view=diff
==============================================================================
--- llvm/trunk/include/llvm/ExecutionEngine/Orc/OrcRemoteTargetRPCAPI.h (original)
+++ llvm/trunk/include/llvm/ExecutionEngine/Orc/OrcRemoteTargetRPCAPI.h Mon Mar 21 11:56:25 2016
@@ -82,108 +82,109 @@ public:
static const char *getJITProcIdName(JITProcId Id);
- typedef Procedure<CallIntVoidId, TargetAddress /* FnAddr */> CallIntVoid;
+ typedef Procedure<CallIntVoidId, void(TargetAddress Addr)> CallIntVoid;
- typedef Procedure<CallIntVoidResponseId, int /* Result */>
- CallIntVoidResponse;
+ typedef Procedure<CallIntVoidResponseId, void(int Result)>
+ CallIntVoidResponse;
- typedef Procedure<CallMainId, TargetAddress /* FnAddr */,
- std::vector<std::string> /* Args */>
+ typedef Procedure<CallMainId, void(TargetAddress Addr,
+ std::vector<std::string> Args)>
CallMain;
- typedef Procedure<CallMainResponseId, int /* Result */> CallMainResponse;
+ typedef Procedure<CallMainResponseId, void(int Result)> CallMainResponse;
- typedef Procedure<CallVoidVoidId, TargetAddress /* FnAddr */> CallVoidVoid;
+ typedef Procedure<CallVoidVoidId, void(TargetAddress FnAddr)> CallVoidVoid;
- typedef Procedure<CallVoidVoidResponseId> CallVoidVoidResponse;
+ typedef Procedure<CallVoidVoidResponseId, void()> CallVoidVoidResponse;
typedef Procedure<CreateRemoteAllocatorId,
- ResourceIdMgr::ResourceId /* Allocator ID */>
+ void(ResourceIdMgr::ResourceId AllocatorID)>
CreateRemoteAllocator;
typedef Procedure<CreateIndirectStubsOwnerId,
- ResourceIdMgr::ResourceId /* StubsOwner ID */>
- CreateIndirectStubsOwner;
+ void(ResourceIdMgr::ResourceId StubOwnerID)>
+ CreateIndirectStubsOwner;
- typedef Procedure<DeregisterEHFramesId, TargetAddress /* Addr */,
- uint32_t /* Size */>
+ typedef Procedure<DeregisterEHFramesId,
+ void(TargetAddress Addr, uint32_t Size)>
DeregisterEHFrames;
typedef Procedure<DestroyRemoteAllocatorId,
- ResourceIdMgr::ResourceId /* Allocator ID */>
+ void(ResourceIdMgr::ResourceId AllocatorID)>
DestroyRemoteAllocator;
typedef Procedure<DestroyIndirectStubsOwnerId,
- ResourceIdMgr::ResourceId /* StubsOwner ID */>
+ void(ResourceIdMgr::ResourceId StubsOwnerID)>
DestroyIndirectStubsOwner;
typedef Procedure<EmitIndirectStubsId,
- ResourceIdMgr::ResourceId /* StubsOwner ID */,
- uint32_t /* NumStubsRequired */>
+ void(ResourceIdMgr::ResourceId StubsOwnerID,
+ uint32_t NumStubsRequired)>
EmitIndirectStubs;
- typedef Procedure<
- EmitIndirectStubsResponseId, TargetAddress /* StubsBaseAddr */,
- TargetAddress /* PtrsBaseAddr */, uint32_t /* NumStubsEmitted */>
+ typedef Procedure<EmitIndirectStubsResponseId,
+ void(TargetAddress StubsBaseAddr,
+ TargetAddress PtrsBaseAddr,
+ uint32_t NumStubsEmitted)>
EmitIndirectStubsResponse;
- typedef Procedure<EmitResolverBlockId> EmitResolverBlock;
+ typedef Procedure<EmitResolverBlockId, void()> EmitResolverBlock;
- typedef Procedure<EmitTrampolineBlockId> EmitTrampolineBlock;
+ typedef Procedure<EmitTrampolineBlockId, void()> EmitTrampolineBlock;
typedef Procedure<EmitTrampolineBlockResponseId,
- TargetAddress /* BlockAddr */,
- uint32_t /* NumTrampolines */>
+ void(TargetAddress BlockAddr, uint32_t NumTrampolines)>
EmitTrampolineBlockResponse;
- typedef Procedure<GetSymbolAddressId, std::string /*SymbolName*/>
+ typedef Procedure<GetSymbolAddressId, void(std::string SymbolName)>
GetSymbolAddress;
- typedef Procedure<GetSymbolAddressResponseId, uint64_t /* SymbolAddr */>
+ typedef Procedure<GetSymbolAddressResponseId, void(uint64_t SymbolAddr)>
GetSymbolAddressResponse;
- typedef Procedure<GetRemoteInfoId> GetRemoteInfo;
+ typedef Procedure<GetRemoteInfoId, void()> GetRemoteInfo;
- typedef Procedure<GetRemoteInfoResponseId, std::string /* Triple */,
- uint32_t /* PointerSize */, uint32_t /* PageSize */,
- uint32_t /* TrampolineSize */,
- uint32_t /* IndirectStubSize */>
+ typedef Procedure<GetRemoteInfoResponseId,
+ void(std::string Triple, uint32_t PointerSize,
+ uint32_t PageSize, uint32_t TrampolineSize,
+ uint32_t IndirectStubSize)>
GetRemoteInfoResponse;
- typedef Procedure<ReadMemId, TargetAddress /* Src */, uint64_t /* Size */>
+ typedef Procedure<ReadMemId, void(TargetAddress Src, uint64_t Size)>
ReadMem;
- typedef Procedure<ReadMemResponseId> ReadMemResponse;
+ typedef Procedure<ReadMemResponseId, void()> ReadMemResponse;
- typedef Procedure<RegisterEHFramesId, TargetAddress /* Addr */,
- uint32_t /* Size */>
+ typedef Procedure<RegisterEHFramesId,
+ void(TargetAddress Addr, uint32_t Size)>
RegisterEHFrames;
- typedef Procedure<ReserveMemId, ResourceIdMgr::ResourceId /* Id */,
- uint64_t /* Size */, uint32_t /* Align */>
+ typedef Procedure<ReserveMemId,
+ void(ResourceIdMgr::ResourceId AllocID, uint64_t Size,
+ uint32_t Align)>
ReserveMem;
- typedef Procedure<ReserveMemResponseId, TargetAddress /* Addr */>
+ typedef Procedure<ReserveMemResponseId, void(TargetAddress Addr)>
ReserveMemResponse;
- typedef Procedure<RequestCompileId, TargetAddress /* TrampolineAddr */>
+ typedef Procedure<RequestCompileId, void(TargetAddress TrampolineAddr)>
RequestCompile;
- typedef Procedure<RequestCompileResponseId, TargetAddress /* ImplAddr */>
+ typedef Procedure<RequestCompileResponseId, void(TargetAddress ImplAddr)>
RequestCompileResponse;
- typedef Procedure<SetProtectionsId, ResourceIdMgr::ResourceId /* Id */,
- TargetAddress /* Dst */, uint32_t /* ProtFlags */>
+ typedef Procedure<SetProtectionsId,
+ void(ResourceIdMgr::ResourceId AllocID, TargetAddress Dst,
+ uint32_t ProtFlags)>
SetProtections;
- typedef Procedure<TerminateSessionId> TerminateSession;
+ typedef Procedure<TerminateSessionId, void()> TerminateSession;
- typedef Procedure<WriteMemId, TargetAddress /* Dst */, uint64_t /* Size */
- /* Data should follow */>
+ typedef Procedure<WriteMemId,
+ void(TargetAddress Dst, uint64_t Size /* Data to follow */)>
WriteMem;
- typedef Procedure<WritePtrId, TargetAddress /* Dst */,
- TargetAddress /* Val */>
+ typedef Procedure<WritePtrId, void(TargetAddress Dst, TargetAddress Val)>
WritePtr;
};
Modified: llvm/trunk/include/llvm/ExecutionEngine/Orc/RPCUtils.h
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/include/llvm/ExecutionEngine/Orc/RPCUtils.h?rev=263951&r1=263950&r2=263951&view=diff
==============================================================================
--- llvm/trunk/include/llvm/ExecutionEngine/Orc/RPCUtils.h (original)
+++ llvm/trunk/include/llvm/ExecutionEngine/Orc/RPCUtils.h Mon Mar 21 11:56:25 2016
@@ -26,7 +26,7 @@ namespace remote {
// partially specialized.
class RPCBase {
protected:
- template <typename ProcedureIdT, ProcedureIdT ProcId, typename... Ts>
+ template <typename ProcedureIdT, ProcedureIdT ProcId, typename FnT>
class ProcedureHelper {
public:
static const ProcedureIdT Id = ProcId;
@@ -36,7 +36,8 @@ protected:
template <typename ChannelT, typename ProcedureIdT, ProcedureIdT ProcId,
typename... ArgTs>
- class CallHelper<ChannelT, ProcedureHelper<ProcedureIdT, ProcId, ArgTs...>> {
+ class CallHelper<ChannelT,
+ ProcedureHelper<ProcedureIdT, ProcId, void(ArgTs...)>> {
public:
static std::error_code call(ChannelT &C, const ArgTs &... Args) {
if (auto EC = serialize(C, ProcId))
@@ -52,7 +53,7 @@ protected:
template <typename ChannelT, typename ProcedureIdT, ProcedureIdT ProcId,
typename... ArgTs>
class HandlerHelper<ChannelT,
- ProcedureHelper<ProcedureIdT, ProcId, ArgTs...>> {
+ ProcedureHelper<ProcedureIdT, ProcId, void(ArgTs...)>> {
public:
template <typename HandlerT>
static std::error_code handle(ChannelT &C, HandlerT Handler) {
@@ -179,8 +180,8 @@ public:
/// })
/// /* handle EC */;
///
- template <ProcedureIdT ProcId, typename... Ts>
- using Procedure = ProcedureHelper<ProcedureIdT, ProcId, Ts...>;
+ template <ProcedureIdT ProcId, typename FnT>
+ using Procedure = ProcedureHelper<ProcedureIdT, ProcId, FnT>;
/// Serialize Args... to channel C, but do not call C.send().
///
Modified: llvm/trunk/unittests/ExecutionEngine/Orc/RPCUtilsTest.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/unittests/ExecutionEngine/Orc/RPCUtilsTest.cpp?rev=263951&r1=263950&r2=263951&view=diff
==============================================================================
--- llvm/trunk/unittests/ExecutionEngine/Orc/RPCUtilsTest.cpp (original)
+++ llvm/trunk/unittests/ExecutionEngine/Orc/RPCUtilsTest.cpp Mon Mar 21 11:56:25 2016
@@ -44,18 +44,10 @@ private:
class DummyRPC : public testing::Test,
public RPC<QueueChannel> {
public:
- typedef Procedure<1, bool> Proc1;
- typedef Procedure<2, int8_t,
- uint8_t,
- int16_t,
- uint16_t,
- int32_t,
- uint32_t,
- int64_t,
- uint64_t,
- bool,
- std::string,
- std::vector<int>> AllTheTypes;
+ typedef Procedure<1, void(bool)> Proc1;
+ typedef Procedure<2, void(int8_t, uint8_t, int16_t, uint16_t,
+ int32_t, uint32_t, int64_t, uint64_t,
+ bool, std::string, std::vector<int>)> AllTheTypes;
};
More information about the llvm-commits
mailing list