| Index: src/heap/mark-compact.cc
|
| diff --git a/src/heap/mark-compact.cc b/src/heap/mark-compact.cc
|
| index 44262e42b162b58974cf7b2092ea141047856d2a..78da39f54c034f4a519048591d6a5daa7ba8ea4b 100644
|
| --- a/src/heap/mark-compact.cc
|
| +++ b/src/heap/mark-compact.cc
|
| @@ -2211,6 +2211,11 @@ void MarkCompactCollector::OverApproximateWeakClosure() {
|
| GCTracer::Scope gc_scope(heap()->tracer(),
|
| GCTracer::Scope::MC_INCREMENTAL_WEAKCLOSURE);
|
|
|
| + // Make sure that the marking deque is empty, even if it has overflown.
|
| + // Otherwise, we might miss some objects in an object group that would
|
| + // otherwise made the entire group alive.
|
| + ProcessMarkingDeque();
|
| +
|
| RootMarkingVisitor root_visitor(heap());
|
| isolate()->global_handles()->IterateObjectGroups(
|
| &root_visitor, &IsUnmarkedHeapObjectWithHeap);
|
|
|