Index: src/ast-value-factory.cc |
diff --git a/src/ast-value-factory.cc b/src/ast-value-factory.cc |
index a819483eccbc417ea76e5e687dc59a3f304461d9..1634a54451118087d9d36396b9eb0de97002696b 100644 |
--- a/src/ast-value-factory.cc |
+++ b/src/ast-value-factory.cc |
@@ -140,6 +140,7 @@ bool AstValue::BooleanValue() const { |
case SYMBOL: |
UNREACHABLE(); |
break; |
+ case NUMBER_WITH_DOT: |
case NUMBER: |
return DoubleToBoolean(number_); |
case SMI: |
@@ -175,6 +176,7 @@ void AstValue::Internalize(Isolate* isolate) { |
value_ = isolate->factory()->home_object_symbol(); |
} |
break; |
+ case NUMBER_WITH_DOT: |
case NUMBER: |
value_ = isolate->factory()->NewNumber(number_, TENURED); |
break; |
@@ -290,8 +292,11 @@ const AstValue* AstValueFactory::NewSymbol(const char* name) { |
} |
-const AstValue* AstValueFactory::NewNumber(double number) { |
+const AstValue* AstValueFactory::NewNumber(double number, bool with_dot) { |
AstValue* value = new (zone_) AstValue(number); |
+ if (with_dot) { |
+ value->MarkWithDot(); |
+ } |
if (isolate_) { |
value->Internalize(isolate_); |
} |