| Index: src/heap/heap.cc
|
| diff --git a/src/heap/heap.cc b/src/heap/heap.cc
|
| index 2e90174ba019021814d2b576e4b1be4e35cde7c4..8f50ca89cb91325ee8d13024b844ccee7657edcd 100644
|
| --- a/src/heap/heap.cc
|
| +++ b/src/heap/heap.cc
|
| @@ -1560,9 +1560,10 @@ void Heap::Scavenge() {
|
| isolate()->global_handles()->RemoveObjectGroups();
|
| isolate()->global_handles()->RemoveImplicitRefGroups();
|
|
|
| - isolate_->global_handles()->IdentifyNewSpaceWeakIndependentHandles(
|
| + isolate()->global_handles()->IdentifyNewSpaceWeakIndependentHandles(
|
| &IsUnscavengedHeapObject);
|
| - isolate_->global_handles()->IterateNewSpaceWeakIndependentRoots(
|
| +
|
| + isolate()->global_handles()->IterateNewSpaceWeakIndependentRoots(
|
| &scavenge_visitor);
|
| new_space_front = DoScavenge(&scavenge_visitor, new_space_front);
|
|
|
| @@ -1667,6 +1668,10 @@ void Heap::ProcessWeakReferences(WeakObjectRetainer* retainer) {
|
| // TODO(mvstanton): AllocationSites only need to be processed during
|
| // MARK_COMPACT, as they live in old space. Verify and address.
|
| ProcessAllocationSites(retainer);
|
| + // Collects callback info for handles that are pending (about to be
|
| + // collected) and either phantom or internal-fields. Releases the global
|
| + // handles. See also PostGarbageCollectionProcessing.
|
| + isolate()->global_handles()->CollectPhantomCallbackData();
|
| }
|
|
|
|
|
|
|