V8 API Reference, 7.2.502.16 (for Deno 0.2.4)
control-flow-optimizer.h
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_CONTROL_FLOW_OPTIMIZER_H_
6
#define V8_COMPILER_CONTROL_FLOW_OPTIMIZER_H_
7
8
#include "src/compiler/node-marker.h"
9
#include "src/globals.h"
10
#include "src/zone/zone-containers.h"
11
12
namespace
v8
{
13
namespace
internal {
14
namespace
compiler {
15
16
// Forward declarations.
17
class
CommonOperatorBuilder;
18
class
Graph;
19
class
MachineOperatorBuilder;
20
class
Node;
21
22
class
V8_EXPORT_PRIVATE
ControlFlowOptimizer
final {
23
public
:
24
ControlFlowOptimizer
(
Graph
* graph,
CommonOperatorBuilder
* common,
25
MachineOperatorBuilder
* machine,
Zone
* zone);
26
27
void
Optimize();
28
29
private
:
30
void
Enqueue(
Node
* node);
31
void
VisitNode(
Node
* node);
32
void
VisitBranch(
Node
* node);
33
34
bool
TryBuildSwitch(
Node
* node);
35
bool
TryCloneBranch(
Node
* node);
36
37
Graph
* graph()
const
{
return
graph_; }
38
CommonOperatorBuilder
* common()
const
{
return
common_; }
39
MachineOperatorBuilder
* machine()
const
{
return
machine_; }
40
Zone
* zone()
const
{
return
zone_; }
41
42
Graph
*
const
graph_;
43
CommonOperatorBuilder
*
const
common_;
44
MachineOperatorBuilder
*
const
machine_;
45
ZoneQueue<Node*>
queue_;
46
NodeMarker<bool>
queued_;
47
Zone
*
const
zone_;
48
49
DISALLOW_COPY_AND_ASSIGN(
ControlFlowOptimizer
);
50
};
51
52
}
// namespace compiler
53
}
// namespace internal
54
}
// namespace v8
55
56
#endif // V8_COMPILER_CONTROL_FLOW_OPTIMIZER_H_
v8::internal::compiler::NodeMarker< bool >
v8
Definition:
libplatform.h:13
v8::internal::Zone
Definition:
zone.h:42
v8::internal::compiler::MachineOperatorBuilder
Definition:
machine-operator.h:118
v8::internal::compiler::Graph
Definition:
graph.h:35
v8::internal::compiler::Node
Definition:
node.h:43
v8::internal::ZoneQueue
Definition:
zone-containers.h:104
v8::internal::compiler::ControlFlowOptimizer
Definition:
control-flow-optimizer.h:22
v8::internal::compiler::CommonOperatorBuilder
Definition:
common-operator.h:445
v8
src
compiler
control-flow-optimizer.h
Generated on Tue Dec 25 2018 14:38:34 by
1.8.14