#ifndef LLVM_EXECUTIONENGINE_ORC_SHARED_SIMPLEREMOTEEPCUTILS_H
#define LLVM_EXECUTIONENGINE_ORC_SHARED_SIMPLEREMOTEEPCUTILS_H
#include "llvm/ADT/ArrayRef.h"
#include "llvm/ADT/SmallVector.h"
#include "llvm/ADT/StringMap.h"
#include "llvm/ExecutionEngine/Orc/Shared/ExecutorAddress.h"
#include "llvm/ExecutionEngine/Orc/Shared/SimplePackedSerialization.h"
#include "llvm/Support/Error.h"
#include <atomic>
#include <mutex>
#include <string>
#include <thread>
namespace llvm {
namespace orc {
namespace SimpleRemoteEPCDefaultBootstrapSymbolNames {
extern const char *ExecutorSessionObjectName;
extern const char *DispatchFnName;
}
enum class SimpleRemoteEPCOpcode : uint8_t { … };
struct SimpleRemoteEPCExecutorInfo { … };
SimpleRemoteEPCArgBytesVector;
class SimpleRemoteEPCTransportClient { … };
class SimpleRemoteEPCTransport { … };
class FDSimpleRemoteEPCTransport : public SimpleRemoteEPCTransport { … };
struct RemoteSymbolLookupSetElement { … };
RemoteSymbolLookupSet;
struct RemoteSymbolLookup { … };
namespace shared {
SPSRemoteSymbolLookupSetElement;
SPSRemoteSymbolLookupSet;
SPSRemoteSymbolLookup;
SPSSimpleRemoteEPCExecutorInfo;
template <>
class SPSSerializationTraits<SPSRemoteSymbolLookupSetElement,
RemoteSymbolLookupSetElement> { … };
template <>
class SPSSerializationTraits<SPSRemoteSymbolLookup, RemoteSymbolLookup> { … };
template <>
class SPSSerializationTraits<SPSSimpleRemoteEPCExecutorInfo,
SimpleRemoteEPCExecutorInfo> { … };
SPSLoadDylibSignature;
SPSLookupSymbolsSignature;
}
}
}
#endif