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