| Index: src/objects-debug.cc | 
| diff --git a/src/objects-debug.cc b/src/objects-debug.cc | 
| index 29632317a5e9309ee456c2e0ce9042b0b4c48cdf..84c08dcd26dc723a20a5aab9145b1af1f382d997 100644 | 
| --- a/src/objects-debug.cc | 
| +++ b/src/objects-debug.cc | 
| @@ -349,6 +349,31 @@ void String::StringVerify() { | 
| if (IsSymbol()) { | 
| CHECK(!HEAP->InNewSpace(this)); | 
| } | 
| +  if (IsConsString()) { | 
| +    ConsString::cast(this)->ConsStringVerify(); | 
| +  } else if (IsSlicedString()) { | 
| +    SlicedString::cast(this)->SlicedStringVerify(); | 
| +  } | 
| +} | 
| + | 
| + | 
| +void ConsString::ConsStringVerify() { | 
| +  CHECK(this->first()->IsString()); | 
| +  CHECK(this->second() == GetHeap()->empty_string() || | 
| +        this->second()->IsString()); | 
| +  CHECK(this->length() >= String::kMinNonFlatLength); | 
| +  if (this->IsFlat()) { | 
| +    // A flat cons can only be created by String::SlowTryFlatten. | 
| +    // Afterwards, the first part may be externalized. | 
| +    CHECK(this->first()->IsSeqString() || this->first()->IsExternalString()); | 
| +  } | 
| +} | 
| + | 
| + | 
| +void SlicedString::SlicedStringVerify() { | 
| +  CHECK(!this->parent()->IsConsString()); | 
| +  CHECK(!this->parent()->IsSlicedString()); | 
| +  CHECK(this->length() >= SlicedString::kMinLength); | 
| } | 
|  | 
|  | 
|  |