Skip to content
  • Lang Hames's avatar
    [ORC] Refactor OrcRemoteTarget code to expose its RPC API, reduce · 9e68b734
    Lang Hames authored
    code duplication in the client, and improve error propagation.
    
    This patch moves the OrcRemoteTarget rpc::Function declarations from
    OrcRemoteTargetRPCAPI into their own namespaces under llvm::orc::remote so that
    they can be used in new contexts (in particular, a remote-object-file adapter
    layer that I will commit shortly).
    
    Code duplication in OrcRemoteTargetClient (especially in loops processing the
    code, rw-data and ro-data allocations) is removed by moving the loop bodies
    into their own functions.
    
    Error propagation is (slightly) improved by adding an ErrorReporter functor to
    the OrcRemoteTargetClient -- Errors that can't be returned (because they occur
    in destructors, or behind stable APIs that don't provide error returns) can be
    sent to the ErrorReporter instead. Some methods in the Client API are also
    changed to make better use of the Expected class: returning Expected<T>s rather
    than returning Errors and taking T&s to store the results.
    
    llvm-svn: 312500
    9e68b734
Loading