| Index: src/json-stringifier.h
 | 
| diff --git a/src/json-stringifier.h b/src/json-stringifier.h
 | 
| index a154a4e99a3db613a6ddf555cec9a1762773fff4..3bab324e14c1d6583573963ffe64d2e8156825d9 100644
 | 
| --- a/src/json-stringifier.h
 | 
| +++ b/src/json-stringifier.h
 | 
| @@ -295,29 +295,23 @@ MaybeObject* BasicJsonStringifier::StringifyString(Isolate* isolate,
 | 
|      return stringifier.Stringify(object);
 | 
|    }
 | 
|  
 | 
| -  object = FlattenGetString(object);
 | 
| +  FlattenString(object);
 | 
|    ASSERT(object->IsFlat());
 | 
| -  if (object->IsOneByteRepresentation()) {
 | 
| +  if (object->IsOneByteRepresentationUnderneath()) {
 | 
|      Handle<String> result =
 | 
|          isolate->factory()->NewRawOneByteString(worst_case_length);
 | 
|      AssertNoAllocation no_alloc;
 | 
| -    const uint8_t* start = object->IsSeqOneByteString()
 | 
| -        ? SeqOneByteString::cast(*object)->GetChars()
 | 
| -        : ExternalAsciiString::cast(*object)->GetChars();
 | 
|      return StringifyString_<SeqOneByteString>(
 | 
|          isolate,
 | 
| -        Vector<const uint8_t>(start, object->length()),
 | 
| +        object->GetFlatContent().ToOneByteVector(),
 | 
|          result);
 | 
|    } else {
 | 
|      Handle<String> result =
 | 
|          isolate->factory()->NewRawTwoByteString(worst_case_length);
 | 
|      AssertNoAllocation no_alloc;
 | 
| -    const uc16* start = object->IsSeqTwoByteString()
 | 
| -        ? SeqTwoByteString::cast(*object)->GetChars()
 | 
| -        : ExternalTwoByteString::cast(*object)->GetChars();
 | 
|      return StringifyString_<SeqTwoByteString>(
 | 
|          isolate,
 | 
| -        Vector<const uc16>(start, object->length()),
 | 
| +        object->GetFlatContent().ToUC16Vector(),
 | 
|          result);
 | 
|    }
 | 
|  }
 | 
| 
 |