v8
V8 is Google’s open source high-performance JavaScript and WebAssembly engine, written in C++.
Loading...
Searching...
No Matches
bytecode-graph-builder.h
Go to the documentation of this file.
1// Copyright 2015 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_COMPILER_BYTECODE_GRAPH_BUILDER_H_
6#define V8_COMPILER_BYTECODE_GRAPH_BUILDER_H_
7
11#include "src/utils/utils.h"
12
13namespace v8 {
14
15class TickCounter;
16
17namespace internal {
18
19class BytecodeArray;
20class FeedbackVector;
21class SharedFunctionInfo;
22class Zone;
23
24namespace compiler {
25
26class JSGraph;
27class NodeObserver;
28class SourcePositionTable;
29class NodeOriginTable;
30
31enum class BytecodeGraphBuilderFlag : uint8_t {
33 // TODO(neis): Remove liveness flag here when concurrent inlining is always
34 // on, because then the serializer will be the only place where we perform
35 // bytecode analysis.
38};
40
41// Note: {invocation_frequency} is taken by reference to work around a GCC bug
42// on AIX (v8:8193).
44 JSHeapBroker* broker, Zone* local_zone, SharedFunctionInfoRef shared_info,
45 BytecodeArrayRef bytecode, FeedbackCellRef feedback_cell,
46 BytecodeOffset osr_offset, JSGraph* jsgraph,
47 CallFrequency const& invocation_frequency,
49 int inlining_id, CodeKind code_kind, BytecodeGraphBuilderFlags flags,
50 TickCounter* tick_counter, ObserveNodeInfo const& observe_node_info = {});
51
52} // namespace compiler
53} // namespace internal
54} // namespace v8
55
56#endif // V8_COMPILER_BYTECODE_GRAPH_BUILDER_H_
JSGraph * jsgraph
friend Zone
Definition asm-types.cc:195
SourcePositionTable * source_positions
JSHeapBroker * broker
void BuildGraphFromBytecode(JSHeapBroker *broker, Zone *local_zone, SharedFunctionInfoRef shared_info, BytecodeArrayRef bytecode, FeedbackCellRef feedback_cell, BytecodeOffset osr_offset, JSGraph *jsgraph, CallFrequency const &invocation_frequency, SourcePositionTable *source_positions, NodeOriginTable *node_origins, int inlining_id, CodeKind code_kind, BytecodeGraphBuilderFlags flags, TickCounter *tick_counter, ObserveNodeInfo const &observe_node_info)