Index: src/mark-compact.cc |
diff --git a/src/mark-compact.cc b/src/mark-compact.cc |
index 815cae5b5e397a6b874e23996db9db804cfe2b37..e646ba7ce07d33b5cea9546c2021e59bfddc1886 100644 |
--- a/src/mark-compact.cc |
+++ b/src/mark-compact.cc |
@@ -2734,11 +2734,15 @@ void MarkCompactCollector::MigrateObject(Address dst, |
if (heap_->InNewSpace(value)) { |
heap_->store_buffer()->Mark(dst_slot); |
- } else if (value->IsHeapObject() && IsOnEvacuationCandidate(value)) { |
- SlotsBuffer::AddTo(&slots_buffer_allocator_, |
- &migration_slots_buffer_, |
- reinterpret_cast<Object**>(dst_slot), |
- SlotsBuffer::IGNORE_OVERFLOW); |
+ } else if (value->IsHeapObject()) { |
+ CHECK(heap_->TargetSpace(HeapObject::FromAddress(src)) == |
Michael Starzinger
2013/07/23 21:10:47
Please add a TODO here that this should be turned
Hannes Payer (out of office)
2013/07/24 09:04:12
Done.
|
+ heap_->old_pointer_space()); |
+ if (IsOnEvacuationCandidate(value)) { |
+ SlotsBuffer::AddTo(&slots_buffer_allocator_, |
+ &migration_slots_buffer_, |
+ reinterpret_cast<Object**>(dst_slot), |
+ SlotsBuffer::IGNORE_OVERFLOW); |
+ } |
} |
src_slot += kPointerSize; |