OLD | NEW |
1 // Copyright 2015 the V8 project authors. All rights reserved. | 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 | 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 // TODO(jochen): Remove this after the setting is turned on globally. | 5 // TODO(jochen): Remove this after the setting is turned on globally. |
6 #define V8_IMMINENT_DEPRECATION_WARNINGS | 6 #define V8_IMMINENT_DEPRECATION_WARNINGS |
7 | 7 |
8 #include "src/codegen.h" | 8 #include "src/codegen.h" |
9 #include "src/compiler/all-nodes.h" | 9 #include "src/compiler/all-nodes.h" |
10 #include "src/compiler/common-operator.h" | 10 #include "src/compiler/common-operator.h" |
11 #include "src/compiler/diamond.h" | 11 #include "src/compiler/diamond.h" |
12 #include "src/compiler/graph.h" | 12 #include "src/compiler/graph.h" |
13 #include "src/compiler/js-graph.h" | 13 #include "src/compiler/js-graph.h" |
14 #include "src/compiler/js-operator.h" | 14 #include "src/compiler/js-operator.h" |
15 #include "src/compiler/operator.h" | 15 #include "src/compiler/operator.h" |
16 #include "src/compiler/osr.h" | 16 #include "src/compiler/osr.h" |
17 #include "test/cctest/cctest.h" | 17 #include "test/cctest/cctest.h" |
18 | 18 |
19 using namespace v8::internal; | 19 namespace v8 { |
20 using namespace v8::internal::compiler; | 20 namespace internal { |
| 21 namespace compiler { |
21 | 22 |
22 // TODO(titzer): move this method to a common testing place. | 23 // TODO(titzer): move this method to a common testing place. |
23 | 24 |
24 static int CheckInputs(Node* node, Node* i0 = NULL, Node* i1 = NULL, | 25 static int CheckInputs(Node* node, Node* i0 = NULL, Node* i1 = NULL, |
25 Node* i2 = NULL, Node* i3 = NULL) { | 26 Node* i2 = NULL, Node* i3 = NULL) { |
26 int count = 4; | 27 int count = 4; |
27 if (i3 == NULL) count = 3; | 28 if (i3 == NULL) count = 3; |
28 if (i2 == NULL) count = 2; | 29 if (i2 == NULL) count = 2; |
29 if (i1 == NULL) count = 1; | 30 if (i1 == NULL) count = 1; |
30 if (i0 == NULL) count = 0; | 31 if (i0 == NULL) count = 0; |
(...skipping 528 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
559 | 560 |
560 Node* new_loop0_phi = new_ret->InputAt(0); | 561 Node* new_loop0_phi = new_ret->InputAt(0); |
561 CHECK_EQ(IrOpcode::kPhi, new_loop0_phi->opcode()); | 562 CHECK_EQ(IrOpcode::kPhi, new_loop0_phi->opcode()); |
562 CHECK_EQ(new_loop0_loop, NodeProperties::GetControlInput(new_loop0_phi)); | 563 CHECK_EQ(new_loop0_loop, NodeProperties::GetControlInput(new_loop0_phi)); |
563 CHECK_EQ(new_loop0_phi, FindSuccessor(new_loop0_loop, IrOpcode::kPhi)); | 564 CHECK_EQ(new_loop0_phi, FindSuccessor(new_loop0_loop, IrOpcode::kPhi)); |
564 | 565 |
565 // Check that the return returns the phi from the OSR loop and control | 566 // Check that the return returns the phi from the OSR loop and control |
566 // depends on the copy of the outer loop0. | 567 // depends on the copy of the outer loop0. |
567 CheckInputs(new_ret, new_loop0_phi, T.graph.start(), new_loop0_exit); | 568 CheckInputs(new_ret, new_loop0_phi, T.graph.start(), new_loop0_exit); |
568 } | 569 } |
| 570 |
| 571 } // namespace compiler |
| 572 } // namespace internal |
| 573 } // namespace v8 |
OLD | NEW |