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 <limits> |
| 6 |
5 #include "src/compiler/js-graph.h" | 7 #include "src/compiler/js-graph.h" |
6 #include "src/compiler/simplified-operator.h" | 8 #include "src/compiler/simplified-operator.h" |
7 #include "src/compiler/simplified-operator-reducer.h" | 9 #include "src/compiler/simplified-operator-reducer.h" |
8 #include "src/conversions.h" | 10 #include "src/conversions.h" |
9 #include "src/types.h" | 11 #include "src/types.h" |
10 #include "test/unittests/compiler/graph-unittest.h" | 12 #include "test/unittests/compiler/graph-unittest.h" |
11 #include "test/unittests/compiler/node-test-utils.h" | 13 #include "test/unittests/compiler/node-test-utils.h" |
12 | 14 |
13 namespace v8 { | 15 namespace v8 { |
14 namespace internal { | 16 namespace internal { |
(...skipping 28 matching lines...) Expand all Loading... |
43 public: | 45 public: |
44 explicit SimplifiedOperatorReducerTestWithParam(int num_parameters = 1) | 46 explicit SimplifiedOperatorReducerTestWithParam(int num_parameters = 1) |
45 : SimplifiedOperatorReducerTest(num_parameters) {} | 47 : SimplifiedOperatorReducerTest(num_parameters) {} |
46 virtual ~SimplifiedOperatorReducerTestWithParam() {} | 48 virtual ~SimplifiedOperatorReducerTestWithParam() {} |
47 }; | 49 }; |
48 | 50 |
49 | 51 |
50 namespace { | 52 namespace { |
51 | 53 |
52 static const double kFloat64Values[] = { | 54 static const double kFloat64Values[] = { |
53 -V8_INFINITY, -6.52696e+290, -1.05768e+290, -5.34203e+268, -1.01997e+268, | 55 -std::numeric_limits<double>::infinity(), -6.52696e+290, -1.05768e+290, |
54 -8.22758e+266, -1.58402e+261, -5.15246e+241, -5.92107e+226, -1.21477e+226, | 56 -5.34203e+268, -1.01997e+268, -8.22758e+266, -1.58402e+261, -5.15246e+241, |
55 -1.67913e+188, -1.6257e+184, -2.60043e+170, -2.52941e+168, -3.06033e+116, | 57 -5.92107e+226, -1.21477e+226, -1.67913e+188, -1.6257e+184, -2.60043e+170, |
56 -4.56201e+52, -3.56788e+50, -9.9066e+38, -3.07261e+31, -2.1271e+09, | 58 -2.52941e+168, -3.06033e+116, -4.56201e+52, -3.56788e+50, -9.9066e+38, |
57 -1.91489e+09, -1.73053e+09, -9.30675e+08, -26030, -20453, | 59 -3.07261e+31, -2.1271e+09, -1.91489e+09, -1.73053e+09, -9.30675e+08, -26030, |
58 -15790, -11699, -111, -97, -78, | 60 -20453, -15790, -11699, -111, -97, -78, -63, -58, -1.53858e-06, |
59 -63, -58, -1.53858e-06, -2.98914e-12, -1.14741e-39, | 61 -2.98914e-12, -1.14741e-39, -8.20347e-57, -1.48932e-59, -3.17692e-66, |
60 -8.20347e-57, -1.48932e-59, -3.17692e-66, -8.93103e-81, -3.91337e-83, | 62 -8.93103e-81, -3.91337e-83, -6.0489e-92, -8.83291e-113, -4.28266e-117, |
61 -6.0489e-92, -8.83291e-113, -4.28266e-117, -1.92058e-178, -2.0567e-192, | 63 -1.92058e-178, -2.0567e-192, -1.68167e-194, -1.51841e-214, -3.98738e-234, |
62 -1.68167e-194, -1.51841e-214, -3.98738e-234, -7.31851e-242, -2.21875e-253, | 64 -7.31851e-242, -2.21875e-253, -1.11612e-293, -0.0, 0.0, 2.22507e-308, |
63 -1.11612e-293, -0.0, 0.0, 2.22507e-308, 1.06526e-307, | 65 1.06526e-307, 4.16643e-227, 6.76624e-223, 2.0432e-197, 3.16254e-184, |
64 4.16643e-227, 6.76624e-223, 2.0432e-197, 3.16254e-184, 1.37315e-173, | 66 1.37315e-173, 2.88603e-172, 1.54155e-99, 4.42923e-81, 1.40539e-73, |
65 2.88603e-172, 1.54155e-99, 4.42923e-81, 1.40539e-73, 5.4462e-73, | 67 5.4462e-73, 1.24064e-58, 3.11167e-58, 2.75826e-39, 0.143815, 58, 67, 601, |
66 1.24064e-58, 3.11167e-58, 2.75826e-39, 0.143815, 58, | 68 7941, 11644, 13697, 25680, 29882, 1.32165e+08, 1.62439e+08, 4.16837e+08, |
67 67, 601, 7941, 11644, 13697, | 69 9.59097e+08, 1.32491e+09, 1.8728e+09, 1.0672e+17, 2.69606e+46, 1.98285e+79, |
68 25680, 29882, 1.32165e+08, 1.62439e+08, 4.16837e+08, | 70 1.0098e+82, 7.93064e+88, 3.67444e+121, 9.36506e+123, 7.27954e+162, |
69 9.59097e+08, 1.32491e+09, 1.8728e+09, 1.0672e+17, 2.69606e+46, | 71 3.05316e+168, 1.16171e+175, 1.64771e+189, 1.1622e+202, 2.00748e+239, |
70 1.98285e+79, 1.0098e+82, 7.93064e+88, 3.67444e+121, 9.36506e+123, | 72 2.51778e+244, 3.90282e+306, 1.79769e+308, |
71 7.27954e+162, 3.05316e+168, 1.16171e+175, 1.64771e+189, 1.1622e+202, | 73 std::numeric_limits<double>::infinity()}; |
72 2.00748e+239, 2.51778e+244, 3.90282e+306, 1.79769e+308, V8_INFINITY}; | |
73 | 74 |
74 | 75 |
75 static const int32_t kInt32Values[] = { | 76 static const int32_t kInt32Values[] = { |
76 -2147483647 - 1, -2104508227, -2103151830, -1435284490, -1378926425, | 77 -2147483647 - 1, -2104508227, -2103151830, -1435284490, -1378926425, |
77 -1318814539, -1289388009, -1287537572, -1279026536, -1241605942, | 78 -1318814539, -1289388009, -1287537572, -1279026536, -1241605942, |
78 -1226046939, -941837148, -779818051, -413830641, -245798087, | 79 -1226046939, -941837148, -779818051, -413830641, -245798087, |
79 -184657557, -127145950, -105483328, -32325, -26653, | 80 -184657557, -127145950, -105483328, -32325, -26653, |
80 -23858, -23834, -22363, -19858, -19044, | 81 -23858, -23834, -22363, -19858, -19044, |
81 -18744, -15528, -5309, -3372, -2093, | 82 -18744, -15528, -5309, -3372, -2093, |
82 -104, -98, -97, -93, -84, | 83 -104, -98, -97, -93, -84, |
(...skipping 391 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
474 Reduce(graph()->NewNode(simplified()->ChangeUint32ToTagged(), | 475 Reduce(graph()->NewNode(simplified()->ChangeUint32ToTagged(), |
475 Int32Constant(bit_cast<int32_t>(n)))); | 476 Int32Constant(bit_cast<int32_t>(n)))); |
476 ASSERT_TRUE(reduction.Changed()); | 477 ASSERT_TRUE(reduction.Changed()); |
477 EXPECT_THAT(reduction.replacement(), IsNumberConstant(FastUI2D(n))); | 478 EXPECT_THAT(reduction.replacement(), IsNumberConstant(FastUI2D(n))); |
478 } | 479 } |
479 } | 480 } |
480 | 481 |
481 } // namespace compiler | 482 } // namespace compiler |
482 } // namespace internal | 483 } // namespace internal |
483 } // namespace v8 | 484 } // namespace v8 |
OLD | NEW |