1//===- ExecutorService.h - Provide bootstrap symbols to session -*- C++ -*-===//
2//
3// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
4// See https://llvm.org/LICENSE.txt for license information.
5// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
6//
7//===----------------------------------------------------------------------===//
8//
9// Provides a service by supplying some set of bootstrap symbols.
10//
11// FIXME: The functionality in this file should be moved to the ORC runtime.
12//
13//===----------------------------------------------------------------------===//
14
15#ifndef LLVM_EXECUTIONENGINE_ORC_TARGETPROCESS_EXECUTORBOOTSTRAPSERVICE_H
16#define LLVM_EXECUTIONENGINE_ORC_TARGETPROCESS_EXECUTORBOOTSTRAPSERVICE_H
17
18#include "llvm/ADT/StringMap.h"
19#include "llvm/ExecutionEngine/Orc/Shared/ExecutorAddress.h"
20
21namespace llvm {
22namespace orc {
23
24class ExecutorBootstrapService {
25public:
26 virtual ~ExecutorBootstrapService();
27
28 virtual void
29 addBootstrapSymbols(StringMap<ExecutorAddr> &BootstrapSymbols) = 0;
30 virtual Error shutdown() = 0;
31};
32
33} // end namespace orc
34} // end namespace llvm
35
36#endif // LLVM_EXECUTIONENGINE_ORC_TARGETPROCESS_EXECUTORBOOTSTRAPSERVICE_H
37

source code of llvm/include/llvm/ExecutionEngine/Orc/TargetProcess/ExecutorBootstrapService.h