diff options
Diffstat (limited to 'deps/v8/src/numbers/conversions-inl.h')
-rw-r--r-- | deps/v8/src/numbers/conversions-inl.h | 13 |
1 files changed, 5 insertions, 8 deletions
diff --git a/deps/v8/src/numbers/conversions-inl.h b/deps/v8/src/numbers/conversions-inl.h index 5eddfe8abe..8bfeb4787d 100644 --- a/deps/v8/src/numbers/conversions-inl.h +++ b/deps/v8/src/numbers/conversions-inl.h @@ -193,12 +193,12 @@ bool DoubleToUint32IfEqualToSelf(double value, uint32_t* uint32_value) { int32_t NumberToInt32(Object number) { if (number.IsSmi()) return Smi::ToInt(number); - return DoubleToInt32(number.Number()); + return DoubleToInt32(HeapNumber::cast(number).value()); } uint32_t NumberToUint32(Object number) { if (number.IsSmi()) return Smi::ToInt(number); - return DoubleToUint32(number.Number()); + return DoubleToUint32(HeapNumber::cast(number).value()); } uint32_t PositiveNumberToUint32(Object number) { @@ -207,8 +207,7 @@ uint32_t PositiveNumberToUint32(Object number) { if (value <= 0) return 0; return value; } - DCHECK(number.IsHeapNumber()); - double value = number.Number(); + double value = HeapNumber::cast(number).value(); // Catch all values smaller than 1 and use the double-negation trick for NANs. if (!(value >= 1)) return 0; uint32_t max = std::numeric_limits<uint32_t>::max(); @@ -218,7 +217,7 @@ uint32_t PositiveNumberToUint32(Object number) { int64_t NumberToInt64(Object number) { if (number.IsSmi()) return Smi::ToInt(number); - double d = number.Number(); + double d = HeapNumber::cast(number).value(); if (std::isnan(d)) return 0; if (d >= static_cast<double>(std::numeric_limits<int64_t>::max())) { return std::numeric_limits<int64_t>::max(); @@ -235,8 +234,7 @@ uint64_t PositiveNumberToUint64(Object number) { if (value <= 0) return 0; return value; } - DCHECK(number.IsHeapNumber()); - double value = number.Number(); + double value = HeapNumber::cast(number).value(); // Catch all values smaller than 1 and use the double-negation trick for NANs. if (!(value >= 1)) return 0; uint64_t max = std::numeric_limits<uint64_t>::max(); @@ -257,7 +255,6 @@ bool TryNumberToSize(Object number, size_t* result) { } return false; } else { - DCHECK(number.IsHeapNumber()); double value = HeapNumber::cast(number).value(); // If value is compared directly to the limit, the limit will be // casted to a double and could end up as limit + 1, |