1// Copyright 2018 the V8 project authors. All rights reserved.
2// Use of this source code is governed by a BSD-style license that can be
3// found in the LICENSE file.
4
5#ifndef V8_WASM_BASELINE_LIFTOFF_COMPILER_H_
6#define V8_WASM_BASELINE_LIFTOFF_COMPILER_H_
7
8#include "src/base/macros.h"
9#include "src/wasm/function-compiler.h"
10
11namespace v8 {
12namespace internal {
13
14class AccountingAllocator;
15class Counters;
16
17namespace wasm {
18
19struct CompilationEnv;
20struct FunctionBody;
21class NativeModule;
22struct WasmFeatures;
23
24class LiftoffCompilationUnit final {
25 public:
26 LiftoffCompilationUnit() = default;
27
28 WasmCompilationResult ExecuteCompilation(AccountingAllocator*,
29 CompilationEnv*, const FunctionBody&,
30 Counters*,
31 WasmFeatures* detected_features);
32
33 private:
34 DISALLOW_COPY_AND_ASSIGN(LiftoffCompilationUnit);
35};
36
37} // namespace wasm
38} // namespace internal
39} // namespace v8
40
41#endif // V8_WASM_BASELINE_LIFTOFF_COMPILER_H_
42