LLVM  6.0.0svn
Classes | Public Types | Public Member Functions | List of all members
llvm::orc::remote::OrcRemoteTargetServer< ChannelT, TargetT > Class Template Reference

#include "llvm/ExecutionEngine/Orc/OrcRemoteTargetServer.h"

Inheritance diagram for llvm::orc::remote::OrcRemoteTargetServer< ChannelT, TargetT >:
Inheritance graph
[legend]
Collaboration diagram for llvm::orc::remote::OrcRemoteTargetServer< ChannelT, TargetT >:
Collaboration graph
[legend]

Public Types

using SymbolLookupFtor = std::function< JITTargetAddress(const std::string &Name)>
 
using EHFrameRegistrationFtor = std::function< void(uint8_t *Addr, uint32_t Size)>
 

Public Member Functions

 OrcRemoteTargetServer (ChannelT &Channel, SymbolLookupFtor SymbolLookup, EHFrameRegistrationFtor EHFramesRegister, EHFrameRegistrationFtor EHFramesDeregister)
 
 OrcRemoteTargetServer (const OrcRemoteTargetServer &)=delete
 
OrcRemoteTargetServeroperator= (const OrcRemoteTargetServer &)=delete
 
 OrcRemoteTargetServer (OrcRemoteTargetServer &&Other)=default
 
OrcRemoteTargetServeroperator= (OrcRemoteTargetServer &&)=delete
 
Expected< JITTargetAddressrequestCompile (JITTargetAddress TrampolineAddr)
 
bool receivedTerminate () const
 
- Public Member Functions inherited from llvm::orc::rpc::SingleThreadedRPCEndpoint< rpc::RawByteChannel >
 SingleThreadedRPCEndpoint (rpc::RawByteChannel &C, bool LazyAutoNegotiation)
 
void addHandler (HandlerT Handler)
 
void addHandler (ClassT &Object, RetT(ClassT::*Method)(ArgTs...))
 
void addAsyncHandler (HandlerT Handler)
 
void addAsyncHandler (ClassT &Object, RetT(ClassT::*Method)(ArgTs...))
 Add a class-method as a handler. More...
 
detail::ResultTraits< AltRetT >::ErrorReturnType callB (const ArgTs &... Args)
 
- Public Member Functions inherited from llvm::orc::rpc::detail::RPCEndpointBase< SingleThreadedRPCEndpoint< rpc::RawByteChannel, uint32_t, uint32_t >, rpc::RawByteChannel, uint32_t, uint32_t >
 RPCEndpointBase (rpc::RawByteChannel &C, bool LazyAutoNegotiation)
 Construct an RPC instance on a channel. More...
 
Error negotiateFunction (bool Retry=false)
 Negotiate a function id for Func with the other end of the channel. More...
 
Error appendCallAsync (HandlerT Handler, const ArgTs &... Args)
 Append a call Func, does not call send on the channel. More...
 
Error sendAppendedCalls ()
 
Error callAsync (HandlerT Handler, const ArgTs &... Args)
 
Error handleOne ()
 Handle one incoming call. More...
 
void abandonPendingResponses ()
 Abandon all outstanding result handlers. More...
 
void removeHandler ()
 Remove the handler for the given function. More...
 
void clearHandlers ()
 Clear all handlers. More...
 

Additional Inherited Members

- Static Public Member Functions inherited from llvm::orc::rpc::detail::RPCEndpointBase< SingleThreadedRPCEndpoint< rpc::RawByteChannel, uint32_t, uint32_t >, rpc::RawByteChannel, uint32_t, uint32_t >
**static detail::ReadArgs< ArgTs... > readArgs (ArgTs &... Args)
 Helper for handling setter procedures - this method returns a functor that sets the variables referred to by Args... More...
 
- Protected Types inherited from llvm::orc::rpc::detail::RPCEndpointBase< SingleThreadedRPCEndpoint< rpc::RawByteChannel, uint32_t, uint32_t >, rpc::RawByteChannel, uint32_t, uint32_t >
using WrappedHandlerFn = std::function< Error(rpc::RawByteChannel &, uint32_t)>
 
- Protected Member Functions inherited from llvm::orc::rpc::detail::RPCEndpointBase< SingleThreadedRPCEndpoint< rpc::RawByteChannel, uint32_t, uint32_t >, rpc::RawByteChannel, uint32_t, uint32_t >
uint32_t getInvalidFunctionId () const
 
void addHandlerImpl (HandlerT Handler)
 Add the given handler to the handler map and make it available for autonegotiation and execution. More...
 
void addAsyncHandlerImpl (HandlerT Handler)
 
Error handleResponse (uint32_t SeqNo)
 
uint32_t handleNegotiate (const std::string &Name)
 
Expected< uint32_tgetRemoteFunctionId (bool NegotiateIfNotInMap, bool NegotiateIfInvalid)
 
WrappedHandlerFn wrapHandler (HandlerT Handler)
 
WrappedHandlerFn wrapAsyncHandler (HandlerT Handler)
 
- Protected Attributes inherited from llvm::orc::rpc::detail::RPCEndpointBase< SingleThreadedRPCEndpoint< rpc::RawByteChannel, uint32_t, uint32_t >, rpc::RawByteChannel, uint32_t, uint32_t >
rpc::RawByteChannelC
 
bool LazyAutoNegotiation
 
RPCFunctionIdAllocator< uint32_tFnIdAllocator
 
uint32_t ResponseId
 
std::map< std::string, uint32_tLocalFunctionIds
 
std::map< const char *, uint32_tRemoteFunctionIds
 
std::map< uint32_t, WrappedHandlerFnHandlers
 
std::mutex ResponsesMutex
 
detail::SequenceNumberManager< uint32_tSequenceNumberMgr
 
std::map< uint32_t, std::unique_ptr< detail::ResponseHandler< rpc::RawByteChannel > > > PendingResponses
 

Detailed Description

template<typename ChannelT, typename TargetT>
class llvm::orc::remote::OrcRemoteTargetServer< ChannelT, TargetT >

Definition at line 48 of file OrcRemoteTargetServer.h.

Member Typedef Documentation

◆ EHFrameRegistrationFtor

template<typename ChannelT , typename TargetT >
using llvm::orc::remote::OrcRemoteTargetServer< ChannelT, TargetT >::EHFrameRegistrationFtor = std::function<void(uint8_t *Addr, uint32_t Size)>

Definition at line 55 of file OrcRemoteTargetServer.h.

◆ SymbolLookupFtor

template<typename ChannelT , typename TargetT >
using llvm::orc::remote::OrcRemoteTargetServer< ChannelT, TargetT >::SymbolLookupFtor = std::function<JITTargetAddress(const std::string &Name)>

Definition at line 52 of file OrcRemoteTargetServer.h.

Constructor & Destructor Documentation

◆ OrcRemoteTargetServer() [1/3]

template<typename ChannelT , typename TargetT >
llvm::orc::remote::OrcRemoteTargetServer< ChannelT, TargetT >::OrcRemoteTargetServer ( ChannelT &  Channel,
SymbolLookupFtor  SymbolLookup,
EHFrameRegistrationFtor  EHFramesRegister,
EHFrameRegistrationFtor  EHFramesDeregister 
)
inline

◆ OrcRemoteTargetServer() [2/3]

template<typename ChannelT , typename TargetT >
llvm::orc::remote::OrcRemoteTargetServer< ChannelT, TargetT >::OrcRemoteTargetServer ( const OrcRemoteTargetServer< ChannelT, TargetT > &  )
delete

◆ OrcRemoteTargetServer() [3/3]

template<typename ChannelT , typename TargetT >
llvm::orc::remote::OrcRemoteTargetServer< ChannelT, TargetT >::OrcRemoteTargetServer ( OrcRemoteTargetServer< ChannelT, TargetT > &&  Other)
default

Member Function Documentation

◆ operator=() [1/2]

template<typename ChannelT , typename TargetT >
OrcRemoteTargetServer& llvm::orc::remote::OrcRemoteTargetServer< ChannelT, TargetT >::operator= ( const OrcRemoteTargetServer< ChannelT, TargetT > &  )
delete

◆ operator=() [2/2]

template<typename ChannelT , typename TargetT >
OrcRemoteTargetServer& llvm::orc::remote::OrcRemoteTargetServer< ChannelT, TargetT >::operator= ( OrcRemoteTargetServer< ChannelT, TargetT > &&  )
delete

◆ receivedTerminate()

template<typename ChannelT , typename TargetT >
bool llvm::orc::remote::OrcRemoteTargetServer< ChannelT, TargetT >::receivedTerminate ( ) const
inline

◆ requestCompile()

template<typename ChannelT , typename TargetT >
Expected<JITTargetAddress> llvm::orc::remote::OrcRemoteTargetServer< ChannelT, TargetT >::requestCompile ( JITTargetAddress  TrampolineAddr)
inline

Definition at line 101 of file OrcRemoteTargetServer.h.


The documentation for this class was generated from the following file: