Reviewers: Jakob,

Description:
Ignore external strings in old pointer space migration invariant check.

BUG=

Please review this at https://codereview.chromium.org/20142008/

SVN Base: https://v8.googlecode.com/svn/branches/bleeding_edge

Affected files:
  M src/mark-compact.cc


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));


--
--
v8-dev mailing list
[email protected]
http://groups.google.com/group/v8-dev
--- You received this message because you are subscribed to the Google Groups "v8-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/groups/opt_out.


Reply via email to