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 |