| Index: src/json-stringifier.h
 | 
| diff --git a/src/json-stringifier.h b/src/json-stringifier.h
 | 
| index f89a19fd4a9b06abf2b1dd4e17a86ef09d38cdd0..1ec6873b1104027cb0396b28fa4129f07068cb05 100644
 | 
| --- a/src/json-stringifier.h
 | 
| +++ b/src/json-stringifier.h
 | 
| @@ -652,8 +652,15 @@ BasicJsonStringifier::Result BasicJsonStringifier::SerializeJSObject(
 | 
|        if (details.IsDontEnum()) continue;
 | 
|        Handle<Object> property;
 | 
|        if (details.type() == FIELD && *map == object->map()) {
 | 
| -        property = Handle<Object>(object->RawFastPropertyAt(
 | 
| -            FieldIndex::ForDescriptor(*map, i)), isolate_);
 | 
| +        FieldIndex field_index = FieldIndex::ForDescriptor(*map, i);
 | 
| +        Isolate* isolate = object->GetIsolate();
 | 
| +        if (object->IsUnboxedDoubleField(field_index)) {
 | 
| +          double value = object->RawFastDoublePropertyAt(field_index);
 | 
| +          property = isolate->factory()->NewHeapNumber(value);
 | 
| +
 | 
| +        } else {
 | 
| +          property = handle(object->RawFastPropertyAt(field_index), isolate);
 | 
| +        }
 | 
|        } else {
 | 
|          ASSIGN_RETURN_ON_EXCEPTION_VALUE(
 | 
|              isolate_, property,
 | 
| 
 |