Index: src/lookup.cc |
diff --git a/src/lookup.cc b/src/lookup.cc |
index bca0ab5d5f4379888605026c65528a1f7d5eb40c..34fa100775ffed3c0b235bebc74c8124a99755fc 100644 |
--- a/src/lookup.cc |
+++ b/src/lookup.cc |
@@ -316,6 +316,10 @@ bool LookupIterator::IsSpecialNumericIndex() const { |
double d = |
StringToDouble(isolate()->unicode_cache(), *name_string, NO_FLAGS); |
if (!std::isnan(d)) { |
+ if (String::Equals(isolate()->factory()->minus_zero_string(), |
+ name_string)) |
+ return true; |
+ |
Factory* factory = isolate()->factory(); |
Handle<Object> num = factory->NewNumber(d); |
Handle<String> roundtrip_string = factory->NumberToString(num); |