OLD | NEW |
1 // Copyright 2014 the V8 project authors. All rights reserved. | 1 // Copyright 2014 the V8 project authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #include "test/cctest/compiler/simplified-graph-builder.h" | 5 #include "test/cctest/compiler/simplified-graph-builder.h" |
6 | 6 |
7 #include "src/compiler/operator-properties.h" | 7 #include "src/compiler/operator-properties.h" |
8 | 8 |
9 namespace v8 { | 9 namespace v8 { |
10 namespace internal { | 10 namespace internal { |
11 namespace compiler { | 11 namespace compiler { |
12 | 12 |
13 SimplifiedGraphBuilder::SimplifiedGraphBuilder( | 13 SimplifiedGraphBuilder::SimplifiedGraphBuilder( |
14 Isolate* isolate, Graph* graph, CommonOperatorBuilder* common, | 14 Isolate* isolate, Graph* graph, CommonOperatorBuilder* common, |
15 MachineOperatorBuilder* machine, SimplifiedOperatorBuilder* simplified) | 15 MachineOperatorBuilder* machine, SimplifiedOperatorBuilder* simplified) |
16 : GraphBuilder(isolate, graph), | 16 : GraphBuilder(isolate, graph), |
17 effect_(NULL), | 17 effect_(NULL), |
18 return_(NULL), | 18 return_(NULL), |
19 common_(common), | 19 common_(common), |
20 machine_(machine), | 20 machine_(machine), |
21 simplified_(simplified) {} | 21 simplified_(simplified) {} |
22 | 22 |
23 | 23 |
24 void SimplifiedGraphBuilder::Begin(int num_parameters) { | 24 void SimplifiedGraphBuilder::Begin(int num_parameters) { |
25 DCHECK(graph()->start() == NULL); | 25 DCHECK(graph()->start() == NULL); |
26 Node* start = graph()->NewNode(common()->Start(num_parameters)); | 26 Node* start = graph()->NewNode(common()->Start(num_parameters + 3)); |
27 graph()->SetStart(start); | 27 graph()->SetStart(start); |
28 effect_ = start; | 28 effect_ = start; |
29 } | 29 } |
30 | 30 |
31 | 31 |
32 void SimplifiedGraphBuilder::Return(Node* value) { | 32 void SimplifiedGraphBuilder::Return(Node* value) { |
33 return_ = | 33 return_ = |
34 graph()->NewNode(common()->Return(), value, effect_, graph()->start()); | 34 graph()->NewNode(common()->Return(), value, effect_, graph()->start()); |
35 effect_ = NULL; | 35 effect_ = NULL; |
36 } | 36 } |
(...skipping 41 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
78 // This graph builder does not support control flow. | 78 // This graph builder does not support control flow. |
79 CHECK_EQ(0, op->ControlOutputCount()); | 79 CHECK_EQ(0, op->ControlOutputCount()); |
80 } | 80 } |
81 | 81 |
82 return result; | 82 return result; |
83 } | 83 } |
84 | 84 |
85 } // namespace compiler | 85 } // namespace compiler |
86 } // namespace internal | 86 } // namespace internal |
87 } // namespace v8 | 87 } // namespace v8 |
OLD | NEW |