Index: src/mark-compact.cc |
diff --git a/src/mark-compact.cc b/src/mark-compact.cc |
index 0e8426702806379fd5290b781b7d7ffe0973c996..f065da1f94fb6ac507d0443bbd066f7c460a62bf 100644 |
--- a/src/mark-compact.cc |
+++ b/src/mark-compact.cc |
@@ -2743,12 +2743,10 @@ void MarkCompactCollector::MigrateObject(Address dst, |
int size, |
AllocationSpace dest) { |
HEAP_PROFILE(heap(), ObjectMoveEvent(src, dst)); |
- // TODO(hpayer): Replace that check with an assert. |
+ // TODO(hpayer): Replace these checks with asserts. |
+ CHECK(heap()->AllowedToBeMigrated(HeapObject::FromAddress(src), dest)); |
CHECK(dest != LO_SPACE && size <= Page::kMaxNonCodeHeapObjectSize); |
if (dest == OLD_POINTER_SPACE) { |
- // TODO(hpayer): Replace this check with an assert. |
- HeapObject* heap_object = HeapObject::FromAddress(src); |
- CHECK(heap_->TargetSpace(heap_object) == heap_->old_pointer_space()); |
Address src_slot = src; |
Address dst_slot = dst; |
ASSERT(IsAligned(size, kPointerSize)); |
@@ -2794,13 +2792,6 @@ void MarkCompactCollector::MigrateObject(Address dst, |
Code::cast(HeapObject::FromAddress(dst))->Relocate(dst - src); |
} else { |
ASSERT(dest == OLD_DATA_SPACE || dest == NEW_SPACE); |
- // Objects in old data space can just be moved by compaction to a different |
- // page in old data space. |
- // TODO(hpayer): Replace the following check with an assert. |
- CHECK(!heap_->old_data_space()->Contains(src) || |
- (heap_->old_data_space()->Contains(dst) && |
- heap_->TargetSpace(HeapObject::FromAddress(src)) == |
- heap_->old_data_space())); |
heap()->MoveBlock(dst, src, size); |
} |
Memory::Address_at(src) = dst; |