Index: src/mark-compact.cc |
diff --git a/src/mark-compact.cc b/src/mark-compact.cc |
index fb546bf0d0a2204a8ea9493e6d932c0296a9b0a8..59492e16430432238cc04619af2f11d0be0f49b8 100644 |
--- a/src/mark-compact.cc |
+++ b/src/mark-compact.cc |
@@ -2742,8 +2742,9 @@ void MarkCompactCollector::MigrateObject(Address dst, |
CHECK(dest != LO_SPACE && size <= Page::kMaxNonCodeHeapObjectSize); |
if (dest == OLD_POINTER_SPACE) { |
// TODO(hpayer): Replace this check with an assert. |
- CHECK(heap_->TargetSpace(HeapObject::FromAddress(src)) == |
- heap_->old_pointer_space()); |
+ HeapObject* heap_object = HeapObject::FromAddress(src); |
+ CHECK(heap_object->IsExternalString() || |
+ heap_->TargetSpace(heap_object) == heap_->old_pointer_space()); |
Address src_slot = src; |
Address dst_slot = dst; |
ASSERT(IsAligned(size, kPointerSize)); |