| Index: src/heap/mark-compact.cc
|
| diff --git a/src/heap/mark-compact.cc b/src/heap/mark-compact.cc
|
| index b5e8a1ec6b3996165314d5cc8ef01b444815ca13..fa366eefb6b6a2e5003aa1efe550bd74c4a7ca4f 100644
|
| --- a/src/heap/mark-compact.cc
|
| +++ b/src/heap/mark-compact.cc
|
| @@ -309,8 +309,6 @@ void MarkCompactCollector::CollectGarbage() {
|
|
|
| heap_->set_encountered_weak_cells(Smi::FromInt(0));
|
|
|
| - isolate()->global_handles()->CollectPhantomCallbackData();
|
| -
|
| #ifdef VERIFY_HEAP
|
| if (FLAG_verify_heap) {
|
| VerifyMarking(heap_);
|
| @@ -3548,6 +3546,11 @@ void MarkCompactCollector::EvacuateNewSpaceAndCandidates() {
|
| EvacuationWeakObjectRetainer evacuation_object_retainer;
|
| heap()->ProcessAllWeakReferences(&evacuation_object_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()->CollectAllPhantomCallbackData();
|
| +
|
| // Visit invalidated code (we ignored all slots on it) and clear mark-bits
|
| // under it.
|
| ProcessInvalidatedCode(&updating_visitor);
|
|
|