LLVM  6.0.0svn
Classes | Public Member Functions | List of all members
llvm::orc::RemoteObjectServerLayer< BaseLayerT, RPCEndpoint > Class Template Reference

RemoteObjectServerLayer acts as a server and handling RPC calls for the object layer API from the given RPC connection. More...

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

Inheritance diagram for llvm::orc::RemoteObjectServerLayer< BaseLayerT, RPCEndpoint >:
Inheritance graph
[legend]
Collaboration diagram for llvm::orc::RemoteObjectServerLayer< BaseLayerT, RPCEndpoint >:
Collaboration graph
[legend]

Public Member Functions

 RemoteObjectServerLayer (BaseLayerT &BaseLayer, RPCEndpoint &Remote, std::function< void(Error)> ReportError)
 Create a RemoteObjectServerLayer with the given base layer (which must be an object layer), RPC endpoint, and error reporter function. More...
 
- Public Member Functions inherited from llvm::orc::RemoteObjectLayer< RPCEndpoint >
 RemoteObjectLayer (RPCEndpoint &Remote, std::function< void(Error)> ReportError)
 

Additional Inherited Members

- Public Types inherited from llvm::orc::RemoteObjectLayerAPI
using ObjHandleT = remote::ResourceIdMgr::ResourceId
 
using BadSymbolHandleError = remote::ResourceNotFound< RemoteSymbolId >
 
using BadObjectHandleError = remote::ResourceNotFound< ObjHandleT >
 
- Protected Types inherited from llvm::orc::RemoteObjectLayerAPI
using RemoteSymbolId = remote::ResourceIdMgr::ResourceId
 
using RemoteSymbol = std::pair< RemoteSymbolId, JITSymbolFlags >
 
- Protected Member Functions inherited from llvm::orc::RemoteObjectLayer< RPCEndpoint >
RemoteSymbol nullRemoteSymbol ()
 Convenience function for getting a null remote symbol value. More...
 
Error teeLog (Error Err)
 Creates a StringError that contains a copy of Err's log message, then sends that StringError to ReportError. More...
 
Error badRemoteSymbolIdError (RemoteSymbolId Id)
 
Error badObjectHandleError (ObjHandleT H)
 
Expected< RemoteSymboljitSymbolToRemote (JITSymbol Sym)
 Create a RemoteSymbol wrapping the given JITSymbol. More...
 
JITSymbol remoteToJITSymbol (Expected< RemoteSymbol > RemoteSymOrErr)
 Convert an Expected<RemoteSymbol> to a JITSymbol. More...
 
- Protected Attributes inherited from llvm::orc::RemoteObjectLayer< RPCEndpoint >
RPCEndpoint & Remote
 
std::function< void(Error)> ReportError
 
- Static Protected Attributes inherited from llvm::orc::RemoteObjectLayerAPI
static const ObjHandleT InvalidObjectHandleId = 0
 
static const RemoteSymbolId NullSymbolId = 0
 

Detailed Description

template<typename BaseLayerT, typename RPCEndpoint>
class llvm::orc::RemoteObjectServerLayer< BaseLayerT, RPCEndpoint >

RemoteObjectServerLayer acts as a server and handling RPC calls for the object layer API from the given RPC connection.

This class can be composed on top of a 'real' object layer (e.g. RTDyldObjectLinkingLayer) to do the actual work of relocating objects and making them executable.

Definition at line 399 of file RemoteObjectLayer.h.

Constructor & Destructor Documentation

◆ RemoteObjectServerLayer()

template<typename BaseLayerT , typename RPCEndpoint >
llvm::orc::RemoteObjectServerLayer< BaseLayerT, RPCEndpoint >::RemoteObjectServerLayer ( BaseLayerT &  BaseLayer,
RPCEndpoint &  Remote,
std::function< void(Error)>  ReportError 
)
inline

Create a RemoteObjectServerLayer with the given base layer (which must be an object layer), RPC endpoint, and error reporter function.

Definition at line 421 of file RemoteObjectLayer.h.

References assert(), llvm::orc::createLambdaResolver(), llvm::object::ObjectFile::createObjectFile(), H, llvm::AArch64CC::HI, llvm::cl::init(), lookup(), and llvm::Error::success().


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