Index: src/mark-compact.cc |
diff --git a/src/mark-compact.cc b/src/mark-compact.cc |
index 948a6be79538e02748f3cf5eedeb6ac043cf17db..4b0f7e232c5fd91a0f439cfff9fd63661ceafa11 100644 |
--- a/src/mark-compact.cc |
+++ b/src/mark-compact.cc |
@@ -3035,6 +3035,10 @@ void MarkCompactCollector::EvacuateNewSpaceAndCandidates() { |
// It's difficult to filter out slots recorded for large objects. |
LargeObjectIterator it(heap_->lo_space()); |
for (HeapObject* obj = it.Next(); obj != NULL; obj = it.Next()) { |
+ // LargeObjectSpace is not swept yet thus we have to skip |
+ // dead objects explicitly. |
+ if (!IsMarked(obj)) continue; |
+ |
Page* p = Page::FromAddress(obj->address()); |
if (p->IsFlagSet(Page::RESCAN_ON_EVACUATION)) { |
obj->Iterate(&updating_visitor); |