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/base/bits.h" | 5 #include "src/base/bits.h" |
8 #include "src/base/division-by-constant.h" | 6 #include "src/base/division-by-constant.h" |
9 #include "src/compiler/js-graph.h" | 7 #include "src/compiler/js-graph.h" |
10 #include "src/compiler/machine-operator-reducer.h" | 8 #include "src/compiler/machine-operator-reducer.h" |
11 #include "src/compiler/typer.h" | 9 #include "src/compiler/typer.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 #include "testing/gmock-support.h" | 12 #include "testing/gmock-support.h" |
15 | 13 |
16 using testing::AllOf; | 14 using testing::AllOf; |
(...skipping 88 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
105 1.77219e+09f, 1.51116e+11f, 4.18193e+13f, | 103 1.77219e+09f, 1.51116e+11f, 4.18193e+13f, |
106 3.59167e+16f, 3.38211e+19f, 2.67488e+20f, | 104 3.59167e+16f, 3.38211e+19f, 2.67488e+20f, |
107 1.78831e+21f, 9.20914e+21f, 8.35654e+23f, | 105 1.78831e+21f, 9.20914e+21f, 8.35654e+23f, |
108 1.4495e+24f, 5.94015e+25f, 4.43608e+30f, | 106 1.4495e+24f, 5.94015e+25f, 4.43608e+30f, |
109 2.44502e+33f, 2.61152e+33f, 1.38178e+37f, | 107 2.44502e+33f, 2.61152e+33f, 1.38178e+37f, |
110 1.71306e+37f, 3.31899e+38f, 3.40282e+38f, | 108 1.71306e+37f, 3.31899e+38f, 3.40282e+38f, |
111 std::numeric_limits<float>::infinity()}; | 109 std::numeric_limits<float>::infinity()}; |
112 | 110 |
113 | 111 |
114 const double kFloat64Values[] = { | 112 const double kFloat64Values[] = { |
115 -std::numeric_limits<double>::infinity(), -4.23878e+275, -5.82632e+265, | 113 -V8_INFINITY, -4.23878e+275, -5.82632e+265, -6.60355e+220, -6.26172e+212, |
116 -6.60355e+220, -6.26172e+212, -2.56222e+211, -4.82408e+201, -1.84106e+157, | 114 -2.56222e+211, -4.82408e+201, -1.84106e+157, -1.63662e+127, -1.55772e+100, |
117 -1.63662e+127, -1.55772e+100, -1.67813e+72, -2.3382e+55, -3.179e+30, | 115 -1.67813e+72, -2.3382e+55, -3.179e+30, -1.441e+09, -1.0647e+09, |
118 -1.441e+09, -1.0647e+09, -7.99361e+08, -5.77375e+08, -2.20984e+08, -32757, | 116 -7.99361e+08, -5.77375e+08, -2.20984e+08, -32757, -13171, |
119 -13171, -9970, -3984, -107, -105, -92, -77, -61, -0.000208163, -1.86685e-06, | 117 -9970, -3984, -107, -105, -92, |
120 -1.17296e-10, -9.26358e-11, -5.08004e-60, -1.74753e-65, -1.06561e-71, | 118 -77, -61, -0.000208163, -1.86685e-06, -1.17296e-10, |
121 -5.67879e-79, -5.78459e-130, -2.90989e-171, -7.15489e-243, -3.76242e-252, | 119 -9.26358e-11, -5.08004e-60, -1.74753e-65, -1.06561e-71, -5.67879e-79, |
122 -1.05639e-263, -4.40497e-267, -2.19666e-273, -4.9998e-276, -5.59821e-278, | 120 -5.78459e-130, -2.90989e-171, -7.15489e-243, -3.76242e-252, -1.05639e-263, |
123 -2.03855e-282, -5.99335e-283, -7.17554e-284, -3.11744e-309, -0.0, 0.0, | 121 -4.40497e-267, -2.19666e-273, -4.9998e-276, -5.59821e-278, -2.03855e-282, |
124 2.22507e-308, 1.30127e-270, 7.62898e-260, 4.00313e-249, 3.16829e-233, | 122 -5.99335e-283, -7.17554e-284, -3.11744e-309, -0.0, 0.0, |
125 1.85244e-228, 2.03544e-129, 1.35126e-110, 1.01182e-106, 5.26333e-94, | 123 2.22507e-308, 1.30127e-270, 7.62898e-260, 4.00313e-249, 3.16829e-233, |
126 1.35292e-90, 2.85394e-83, 1.78323e-77, 5.4967e-57, 1.03207e-25, 4.57401e-25, | 124 1.85244e-228, 2.03544e-129, 1.35126e-110, 1.01182e-106, 5.26333e-94, |
127 1.58738e-05, 2, 125, 2310, 9636, 14802, 17168, 28945, 29305, 4.81336e+07, | 125 1.35292e-90, 2.85394e-83, 1.78323e-77, 5.4967e-57, 1.03207e-25, |
128 1.41207e+08, 4.65962e+08, 1.40499e+09, 2.12648e+09, 8.80006e+30, 1.4446e+45, | 126 4.57401e-25, 1.58738e-05, 2, 125, 2310, |
129 1.12164e+54, 2.48188e+89, 6.71121e+102, 3.074e+112, 4.9699e+152, | 127 9636, 14802, 17168, 28945, 29305, |
130 5.58383e+166, 4.30654e+172, 7.08824e+185, 9.6586e+214, 2.028e+223, | 128 4.81336e+07, 1.41207e+08, 4.65962e+08, 1.40499e+09, 2.12648e+09, |
131 6.63277e+243, 1.56192e+261, 1.23202e+269, 5.72883e+289, 8.5798e+290, | 129 8.80006e+30, 1.4446e+45, 1.12164e+54, 2.48188e+89, 6.71121e+102, |
132 1.40256e+294, 1.79769e+308, std::numeric_limits<double>::infinity()}; | 130 3.074e+112, 4.9699e+152, 5.58383e+166, 4.30654e+172, 7.08824e+185, |
| 131 9.6586e+214, 2.028e+223, 6.63277e+243, 1.56192e+261, 1.23202e+269, |
| 132 5.72883e+289, 8.5798e+290, 1.40256e+294, 1.79769e+308, V8_INFINITY}; |
133 | 133 |
134 | 134 |
135 const int32_t kInt32Values[] = { | 135 const int32_t kInt32Values[] = { |
136 std::numeric_limits<int32_t>::min(), -1914954528, -1698749618, | 136 std::numeric_limits<int32_t>::min(), -1914954528, -1698749618, |
137 -1578693386, -1577976073, -1573998034, | 137 -1578693386, -1577976073, -1573998034, |
138 -1529085059, -1499540537, -1299205097, | 138 -1529085059, -1499540537, -1299205097, |
139 -1090814845, -938186388, -806828902, | 139 -1090814845, -938186388, -806828902, |
140 -750927650, -520676892, -513661538, | 140 -750927650, -520676892, -513661538, |
141 -453036354, -433622833, -282638793, | 141 -453036354, -433622833, -282638793, |
142 -28375, -27788, -22770, | 142 -28375, -27788, -22770, |
(...skipping 1227 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1370 Reduction r = Reduce(node); | 1370 Reduction r = Reduce(node); |
1371 ASSERT_TRUE(r.Changed()); | 1371 ASSERT_TRUE(r.Changed()); |
1372 EXPECT_THAT(r.replacement(), | 1372 EXPECT_THAT(r.replacement(), |
1373 IsStore(rep, base, index, value, effect, control)); | 1373 IsStore(rep, base, index, value, effect, control)); |
1374 } | 1374 } |
1375 } | 1375 } |
1376 | 1376 |
1377 } // namespace compiler | 1377 } // namespace compiler |
1378 } // namespace internal | 1378 } // namespace internal |
1379 } // namespace v8 | 1379 } // namespace v8 |
OLD | NEW |