| Index: src/heap/mark-compact.cc
|
| diff --git a/src/heap/mark-compact.cc b/src/heap/mark-compact.cc
|
| index 1992c23925a061d7d334d12dc69b43dbc25b162e..a9ea707a9bff90a5fe4e56c9ca3f24a889a87a45 100644
|
| --- a/src/heap/mark-compact.cc
|
| +++ b/src/heap/mark-compact.cc
|
| @@ -2161,6 +2161,21 @@ void MarkCompactCollector::UncommitMarkingDeque() {
|
| }
|
|
|
|
|
| +void MarkCompactCollector::OverApproximateWeakClosure() {
|
| + GCTracer::Scope gc_scope(heap()->tracer(),
|
| + GCTracer::Scope::MC_INCREMENTAL_WEAKCLOSURE);
|
| +
|
| + RootMarkingVisitor root_visitor(heap());
|
| + isolate()->global_handles()->IterateObjectGroups(
|
| + &root_visitor, &IsUnmarkedHeapObjectWithHeap);
|
| + MarkImplicitRefGroups();
|
| +
|
| + // Remove object groups after marking phase.
|
| + heap()->isolate()->global_handles()->RemoveObjectGroups();
|
| + heap()->isolate()->global_handles()->RemoveImplicitRefGroups();
|
| +}
|
| +
|
| +
|
| void MarkCompactCollector::MarkLiveObjects() {
|
| GCTracer::Scope gc_scope(heap()->tracer(), GCTracer::Scope::MC_MARK);
|
| double start_time = 0.0;
|
|
|