OLD | NEW |
1 // Copyright 2014 the V8 project authors. All rights reserved. Use of this | 1 // Copyright 2014 the V8 project authors. All rights reserved. Use of this |
2 // source code is governed by a BSD-style license that can be found in the | 2 // source code is governed by a BSD-style license that can be found in the |
3 // LICENSE file. | 3 // LICENSE file. |
4 | 4 |
5 #include <cmath> | 5 #include <cmath> |
6 #include <functional> | 6 #include <functional> |
7 #include <limits> | 7 #include <limits> |
8 | 8 |
9 #include "src/base/bits.h" | 9 #include "src/base/bits.h" |
10 #include "src/base/utils/random-number-generator.h" | 10 #include "src/base/utils/random-number-generator.h" |
(...skipping 5889 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
5900 } else { | 5900 } else { |
5901 m.Call(*i); | 5901 m.Call(*i); |
5902 CHECK_EQ(0, success); | 5902 CHECK_EQ(0, success); |
5903 } | 5903 } |
5904 } | 5904 } |
5905 } | 5905 } |
5906 | 5906 |
5907 | 5907 |
5908 TEST(RunTryTruncateFloat64ToUint64WithoutCheck) { | 5908 TEST(RunTryTruncateFloat64ToUint64WithoutCheck) { |
5909 BufferedRawMachineAssemblerTester<uint64_t> m(MachineType::Float64()); | 5909 BufferedRawMachineAssemblerTester<uint64_t> m(MachineType::Float64()); |
5910 m.Return(m.TruncateFloat64ToUint64(m.Parameter(0))); | 5910 m.Return(m.TryTruncateFloat64ToUint64(m.Parameter(0))); |
5911 | 5911 |
5912 FOR_UINT64_INPUTS(j) { | 5912 FOR_UINT64_INPUTS(j) { |
5913 double input = static_cast<double>(*j); | 5913 double input = static_cast<double>(*j); |
5914 | 5914 |
5915 if (input < static_cast<float>(UINT64_MAX)) { | 5915 if (input < static_cast<float>(UINT64_MAX)) { |
5916 CHECK_EQ(static_cast<uint64_t>(input), m.Call(input)); | 5916 CHECK_EQ(static_cast<uint64_t>(input), m.Call(input)); |
5917 } | 5917 } |
5918 } | 5918 } |
5919 } | 5919 } |
5920 | 5920 |
(...skipping 333 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
6254 r.Goto(&merge); | 6254 r.Goto(&merge); |
6255 r.Bind(&merge); | 6255 r.Bind(&merge); |
6256 Node* phi = r.Phi(MachineRepresentation::kWord32, fa, fb); | 6256 Node* phi = r.Phi(MachineRepresentation::kWord32, fa, fb); |
6257 r.Return(phi); | 6257 r.Return(phi); |
6258 CHECK_EQ(1, r.Call(1)); | 6258 CHECK_EQ(1, r.Call(1)); |
6259 } | 6259 } |
6260 | 6260 |
6261 } // namespace compiler | 6261 } // namespace compiler |
6262 } // namespace internal | 6262 } // namespace internal |
6263 } // namespace v8 | 6263 } // namespace v8 |
OLD | NEW |