Index: src/json-parser.h |
diff --git a/src/json-parser.h b/src/json-parser.h |
index 4c2b479182db68654866d2fbb128dff6987548ed..e1ba80176029df840ddea891d78905faa6bc36ba 100644 |
--- a/src/json-parser.h |
+++ b/src/json-parser.h |
@@ -414,9 +414,8 @@ Handle<Object> JsonParser<seq_ascii>::ParseJsonObject() { |
if (value->FitsRepresentation(expected_representation)) { |
// If the target representation is double and the value is already |
// double, use the existing box. |
- if (value->IsSmi() && expected_representation.IsDouble()) { |
- value = factory()->NewHeapNumber( |
- Handle<Smi>::cast(value)->value()); |
+ if (expected_representation.IsDouble()) { |
+ value = factory()->NewMutableHeapNumber(value->Number()); |
} |
properties.Add(value, zone()); |
map = target; |