| Index: src/heap-inl.h
|
| diff --git a/src/heap-inl.h b/src/heap-inl.h
|
| index e12895a28348e011bf0bdf9cddc6c4e06f94d7cb..6c0baedd0b74bee1cd0b186a0f3f2f7189a38ebc 100644
|
| --- a/src/heap-inl.h
|
| +++ b/src/heap-inl.h
|
| @@ -595,12 +595,24 @@ void ExternalStringTable::Iterate(ObjectVisitor* v) {
|
| void ExternalStringTable::Verify() {
|
| #ifdef DEBUG
|
| for (int i = 0; i < new_space_strings_.length(); ++i) {
|
| - ASSERT(heap_->InNewSpace(new_space_strings_[i]));
|
| - ASSERT(new_space_strings_[i] != HEAP->raw_unchecked_the_hole_value());
|
| + Object* obj = Object::cast(new_space_strings_[i]);
|
| + // TODO(yangguo): check that the object is indeed an external string.
|
| + ASSERT(heap_->InNewSpace(obj));
|
| + ASSERT(obj != HEAP->raw_unchecked_the_hole_value());
|
| + if (obj->IsExternalAsciiString()) {
|
| + ExternalAsciiString* string = ExternalAsciiString::cast(obj);
|
| + ASSERT(String::IsAscii(string->GetChars(), string->length()));
|
| + }
|
| }
|
| for (int i = 0; i < old_space_strings_.length(); ++i) {
|
| - ASSERT(!heap_->InNewSpace(old_space_strings_[i]));
|
| - ASSERT(old_space_strings_[i] != HEAP->raw_unchecked_the_hole_value());
|
| + Object* obj = Object::cast(new_space_strings_[i]);
|
| + // TODO(yangguo): check that the object is indeed an external string.
|
| + ASSERT(!heap_->InNewSpace(obj));
|
| + ASSERT(obj != HEAP->raw_unchecked_the_hole_value());
|
| + if (obj->IsExternalAsciiString()) {
|
| + ExternalAsciiString* string = ExternalAsciiString::cast(obj);
|
| + ASSERT(String::IsAscii(string->GetChars(), string->length()));
|
| + }
|
| }
|
| #endif
|
| }
|
|
|