summaryrefslogtreecommitdiff
path: root/deps/v8/src/numbers/conversions-inl.h
diff options
context:
space:
mode:
Diffstat (limited to 'deps/v8/src/numbers/conversions-inl.h')
-rw-r--r--deps/v8/src/numbers/conversions-inl.h13
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,