Index: src/objects-inl.h |
diff --git a/src/objects-inl.h b/src/objects-inl.h |
index 43db240fd9c3d71538411c63fd468d741aaea534..2bfdedd87f4398938b5e71f9ce8faaba69fd1737 100644 |
--- a/src/objects-inl.h |
+++ b/src/objects-inl.h |
@@ -2289,19 +2289,12 @@ void FixedArray::set(int index, Object* value) { |
inline bool FixedDoubleArray::is_the_hole_nan(double value) { |
- return bit_cast<uint64_t, double>(value) == kHoleNanInt64; |
+ return bit_cast<uint64_t>(value) == kHoleNanInt64; |
} |
inline double FixedDoubleArray::hole_nan_as_double() { |
- return bit_cast<double, uint64_t>(kHoleNanInt64); |
-} |
- |
- |
-inline double FixedDoubleArray::canonical_not_the_hole_nan_as_double() { |
- DCHECK(bit_cast<uint64_t>(base::OS::nan_value()) != kHoleNanInt64); |
- DCHECK((bit_cast<uint64_t>(base::OS::nan_value()) >> 32) != kHoleNanUpper32); |
- return base::OS::nan_value(); |
+ return bit_cast<double>(kHoleNanInt64); |
} |
@@ -2336,7 +2329,9 @@ void FixedDoubleArray::set(int index, double value) { |
DCHECK(map() != GetHeap()->fixed_cow_array_map() && |
map() != GetHeap()->fixed_array_map()); |
int offset = kHeaderSize + index * kDoubleSize; |
- if (std::isnan(value)) value = canonical_not_the_hole_nan_as_double(); |
+ if (std::isnan(value)) { |
+ value = std::numeric_limits<double>::quiet_NaN(); |
+ } |
WRITE_DOUBLE_FIELD(this, offset, value); |
} |