v8
V8 is Google’s open source high-performance JavaScript and WebAssembly engine, written in C++.
Loading...
Searching...
No Matches
maglev-compiler.h
Go to the documentation of this file.
1// Copyright 2021 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_MAGLEV_MAGLEV_COMPILER_H_
6#define V8_MAGLEV_MAGLEV_COMPILER_H_
7
12
13namespace v8 {
14namespace internal {
15
16namespace compiler {
17class JSHeapBroker;
18}
19
20namespace maglev {
21
22class Graph;
23
24class MaglevCompiler : public AllStatic {
25 public:
26 // May be called from any thread.
27 static bool Compile(LocalIsolate* local_isolate,
28 MaglevCompilationInfo* compilation_info);
29
30 // Called on the main thread after Compile has completed.
31 // TODO(v8:7700): Move this to a different class?
32 static std::pair<MaybeHandle<Code>, BailoutReason> GenerateCode(
33 Isolate* isolate, MaglevCompilationInfo* compilation_info);
34};
35
36} // namespace maglev
37} // namespace internal
38} // namespace v8
39
40#endif // V8_MAGLEV_MAGLEV_COMPILER_H_
static bool Compile(LocalIsolate *local_isolate, MaglevCompilationInfo *compilation_info)
static std::pair< MaybeHandle< Code >, BailoutReason > GenerateCode(Isolate *isolate, MaglevCompilationInfo *compilation_info)