| 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;
|
|
|