| 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 "src/v8.h" | 5 #include "src/v8.h" |
| 6 #include "test/cctest/cctest.h" | 6 #include "test/cctest/cctest.h" |
| 7 | 7 |
| 8 #include "src/compiler/common-operator.h" | 8 #include "src/compiler/common-operator.h" |
| 9 #include "src/compiler/generic-node-inl.h" | 9 #include "src/compiler/generic-node-inl.h" |
| 10 #include "src/compiler/generic-node.h" | 10 #include "src/compiler/generic-node.h" |
| (...skipping 662 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 673 TEST(BuildScheduleIfSplitWithEffects) { | 673 TEST(BuildScheduleIfSplitWithEffects) { |
| 674 HandleAndZoneScope scope; | 674 HandleAndZoneScope scope; |
| 675 Isolate* isolate = scope.main_isolate(); | 675 Isolate* isolate = scope.main_isolate(); |
| 676 Graph graph(scope.main_zone()); | 676 Graph graph(scope.main_zone()); |
| 677 CommonOperatorBuilder common_builder(scope.main_zone()); | 677 CommonOperatorBuilder common_builder(scope.main_zone()); |
| 678 JSOperatorBuilder js_builder(scope.main_zone()); | 678 JSOperatorBuilder js_builder(scope.main_zone()); |
| 679 Operator* op; | 679 Operator* op; |
| 680 | 680 |
| 681 Handle<Object> object = | 681 Handle<Object> object = |
| 682 Handle<Object>(isolate->heap()->undefined_value(), isolate); | 682 Handle<Object>(isolate->heap()->undefined_value(), isolate); |
| 683 PrintableUnique<Object> unique_constant = | 683 Unique<Object> unique_constant = Unique<Object>::CreateUninitialized(object); |
| 684 PrintableUnique<Object>::CreateUninitialized(scope.main_zone(), object); | |
| 685 | 684 |
| 686 // Manually transcripted code for: | 685 // Manually transcripted code for: |
| 687 // function turbo_fan_test(a, b, c, y) { | 686 // function turbo_fan_test(a, b, c, y) { |
| 688 // if (a < b) { | 687 // if (a < b) { |
| 689 // return a + b - c * c - a + y; | 688 // return a + b - c * c - a + y; |
| 690 // } else { | 689 // } else { |
| 691 // return c * c - a; | 690 // return c * c - a; |
| 692 // } | 691 // } |
| 693 // } | 692 // } |
| 694 op = common_builder.Start(0); | 693 op = common_builder.Start(0); |
| (...skipping 124 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 819 TEST(BuildScheduleSimpleLoop) { | 818 TEST(BuildScheduleSimpleLoop) { |
| 820 HandleAndZoneScope scope; | 819 HandleAndZoneScope scope; |
| 821 Isolate* isolate = scope.main_isolate(); | 820 Isolate* isolate = scope.main_isolate(); |
| 822 Graph graph(scope.main_zone()); | 821 Graph graph(scope.main_zone()); |
| 823 CommonOperatorBuilder common_builder(scope.main_zone()); | 822 CommonOperatorBuilder common_builder(scope.main_zone()); |
| 824 JSOperatorBuilder js_builder(scope.main_zone()); | 823 JSOperatorBuilder js_builder(scope.main_zone()); |
| 825 Operator* op; | 824 Operator* op; |
| 826 | 825 |
| 827 Handle<Object> object = | 826 Handle<Object> object = |
| 828 Handle<Object>(isolate->heap()->undefined_value(), isolate); | 827 Handle<Object>(isolate->heap()->undefined_value(), isolate); |
| 829 PrintableUnique<Object> unique_constant = | 828 Unique<Object> unique_constant = Unique<Object>::CreateUninitialized(object); |
| 830 PrintableUnique<Object>::CreateUninitialized(scope.main_zone(), object); | |
| 831 | 829 |
| 832 // Manually transcripted code for: | 830 // Manually transcripted code for: |
| 833 // function turbo_fan_test(a, b) { | 831 // function turbo_fan_test(a, b) { |
| 834 // while (a < b) { | 832 // while (a < b) { |
| 835 // a++; | 833 // a++; |
| 836 // } | 834 // } |
| 837 // return a; | 835 // return a; |
| 838 // } | 836 // } |
| 839 op = common_builder.Start(0); | 837 op = common_builder.Start(0); |
| 840 Node* n0 = graph.NewNode(op); | 838 Node* n0 = graph.NewNode(op); |
| (...skipping 91 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 932 TEST(BuildScheduleComplexLoops) { | 930 TEST(BuildScheduleComplexLoops) { |
| 933 HandleAndZoneScope scope; | 931 HandleAndZoneScope scope; |
| 934 Isolate* isolate = scope.main_isolate(); | 932 Isolate* isolate = scope.main_isolate(); |
| 935 Graph graph(scope.main_zone()); | 933 Graph graph(scope.main_zone()); |
| 936 CommonOperatorBuilder common_builder(scope.main_zone()); | 934 CommonOperatorBuilder common_builder(scope.main_zone()); |
| 937 JSOperatorBuilder js_builder(scope.main_zone()); | 935 JSOperatorBuilder js_builder(scope.main_zone()); |
| 938 Operator* op; | 936 Operator* op; |
| 939 | 937 |
| 940 Handle<Object> object = | 938 Handle<Object> object = |
| 941 Handle<Object>(isolate->heap()->undefined_value(), isolate); | 939 Handle<Object>(isolate->heap()->undefined_value(), isolate); |
| 942 PrintableUnique<Object> unique_constant = | 940 Unique<Object> unique_constant = Unique<Object>::CreateUninitialized(object); |
| 943 PrintableUnique<Object>::CreateUninitialized(scope.main_zone(), object); | |
| 944 | 941 |
| 945 // Manually transcripted code for: | 942 // Manually transcripted code for: |
| 946 // function turbo_fan_test(a, b, c) { | 943 // function turbo_fan_test(a, b, c) { |
| 947 // while (a < b) { | 944 // while (a < b) { |
| 948 // a++; | 945 // a++; |
| 949 // while (c < b) { | 946 // while (c < b) { |
| 950 // c++; | 947 // c++; |
| 951 // } | 948 // } |
| 952 // } | 949 // } |
| 953 // while (a < b) { | 950 // while (a < b) { |
| (...skipping 226 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1180 TEST(BuildScheduleBreakAndContinue) { | 1177 TEST(BuildScheduleBreakAndContinue) { |
| 1181 HandleAndZoneScope scope; | 1178 HandleAndZoneScope scope; |
| 1182 Isolate* isolate = scope.main_isolate(); | 1179 Isolate* isolate = scope.main_isolate(); |
| 1183 Graph graph(scope.main_zone()); | 1180 Graph graph(scope.main_zone()); |
| 1184 CommonOperatorBuilder common_builder(scope.main_zone()); | 1181 CommonOperatorBuilder common_builder(scope.main_zone()); |
| 1185 JSOperatorBuilder js_builder(scope.main_zone()); | 1182 JSOperatorBuilder js_builder(scope.main_zone()); |
| 1186 Operator* op; | 1183 Operator* op; |
| 1187 | 1184 |
| 1188 Handle<Object> object = | 1185 Handle<Object> object = |
| 1189 Handle<Object>(isolate->heap()->undefined_value(), isolate); | 1186 Handle<Object>(isolate->heap()->undefined_value(), isolate); |
| 1190 PrintableUnique<Object> unique_constant = | 1187 Unique<Object> unique_constant = Unique<Object>::CreateUninitialized(object); |
| 1191 PrintableUnique<Object>::CreateUninitialized(scope.main_zone(), object); | |
| 1192 | 1188 |
| 1193 // Manually transcripted code for: | 1189 // Manually transcripted code for: |
| 1194 // function turbo_fan_test(a, b, c) { | 1190 // function turbo_fan_test(a, b, c) { |
| 1195 // var d = 0; | 1191 // var d = 0; |
| 1196 // while (a < b) { | 1192 // while (a < b) { |
| 1197 // a++; | 1193 // a++; |
| 1198 // while (c < b) { | 1194 // while (c < b) { |
| 1199 // c++; | 1195 // c++; |
| 1200 // if (d == 0) break; | 1196 // if (d == 0) break; |
| 1201 // a++; | 1197 // a++; |
| (...skipping 309 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1511 HandleAndZoneScope scope; | 1507 HandleAndZoneScope scope; |
| 1512 Isolate* isolate = scope.main_isolate(); | 1508 Isolate* isolate = scope.main_isolate(); |
| 1513 Graph graph(scope.main_zone()); | 1509 Graph graph(scope.main_zone()); |
| 1514 CommonOperatorBuilder common_builder(scope.main_zone()); | 1510 CommonOperatorBuilder common_builder(scope.main_zone()); |
| 1515 JSOperatorBuilder js_builder(scope.main_zone()); | 1511 JSOperatorBuilder js_builder(scope.main_zone()); |
| 1516 MachineOperatorBuilder machine_builder(scope.main_zone()); | 1512 MachineOperatorBuilder machine_builder(scope.main_zone()); |
| 1517 Operator* op; | 1513 Operator* op; |
| 1518 | 1514 |
| 1519 Handle<Object> object = | 1515 Handle<Object> object = |
| 1520 Handle<Object>(isolate->heap()->undefined_value(), isolate); | 1516 Handle<Object>(isolate->heap()->undefined_value(), isolate); |
| 1521 PrintableUnique<Object> unique_constant = | 1517 Unique<Object> unique_constant = Unique<Object>::CreateUninitialized(object); |
| 1522 PrintableUnique<Object>::CreateUninitialized(scope.main_zone(), object); | |
| 1523 | 1518 |
| 1524 // Manually transcripted code for: | 1519 // Manually transcripted code for: |
| 1525 // function turbo_fan_test(a, b, c) { | 1520 // function turbo_fan_test(a, b, c) { |
| 1526 // while (a < b) { | 1521 // while (a < b) { |
| 1527 // a += b + c; | 1522 // a += b + c; |
| 1528 // } | 1523 // } |
| 1529 // return a; | 1524 // return a; |
| 1530 // } | 1525 // } |
| 1531 op = common_builder.Start(0); | 1526 op = common_builder.Start(0); |
| 1532 Node* n0 = graph.NewNode(op); | 1527 Node* n0 = graph.NewNode(op); |
| (...skipping 176 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1709 Node* d3 = CreateDiamond(&graph, &common, add); | 1704 Node* d3 = CreateDiamond(&graph, &common, add); |
| 1710 Node* ret = graph.NewNode(common.Return(), d3, start, start); | 1705 Node* ret = graph.NewNode(common.Return(), d3, start, start); |
| 1711 Node* end = graph.NewNode(common.End(), ret, start); | 1706 Node* end = graph.NewNode(common.End(), ret, start); |
| 1712 | 1707 |
| 1713 graph.SetEnd(end); | 1708 graph.SetEnd(end); |
| 1714 | 1709 |
| 1715 ComputeAndVerifySchedule(33, &graph); | 1710 ComputeAndVerifySchedule(33, &graph); |
| 1716 } | 1711 } |
| 1717 | 1712 |
| 1718 #endif | 1713 #endif |
| OLD | NEW |