| Index: src/heap/heap.cc
|
| diff --git a/src/heap/heap.cc b/src/heap/heap.cc
|
| index a7dfb80e5ac3a0face4bcf92b02c8a861a4cffff..06aa13d2c421098c10b77dabcd6dea6ad9bf79ba 100644
|
| --- a/src/heap/heap.cc
|
| +++ b/src/heap/heap.cc
|
| @@ -5108,7 +5108,7 @@ void Heap::IterateStrongRoots(RootVisitor* v, VisitMode mode) {
|
| // Iterate over the builtin code objects and code stubs in the
|
| // heap. Note that it is not necessary to iterate over code objects
|
| // on scavenge collections.
|
| - if (mode != VISIT_ALL_IN_SCAVENGE) {
|
| + if (mode != VISIT_ALL_IN_SCAVENGE && mode != VISIT_ALL_IN_MINOR_MC_UPDATE) {
|
| isolate_->builtins()->IterateBuiltins(v);
|
| v->Synchronize(VisitorSynchronization::kBuiltins);
|
| isolate_->interpreter()->IterateDispatchTable(v);
|
| @@ -5128,6 +5128,9 @@ void Heap::IterateStrongRoots(RootVisitor* v, VisitMode mode) {
|
| case VISIT_ALL_IN_SCAVENGE:
|
| isolate_->global_handles()->IterateNewSpaceStrongAndDependentRoots(v);
|
| break;
|
| + case VISIT_ALL_IN_MINOR_MC_UPDATE:
|
| + isolate_->global_handles()->IterateAllNewSpaceRoots(v);
|
| + break;
|
| case VISIT_ALL_IN_SWEEP_NEWSPACE:
|
| case VISIT_ALL:
|
| isolate_->global_handles()->IterateAllRoots(v);
|
| @@ -5136,7 +5139,7 @@ void Heap::IterateStrongRoots(RootVisitor* v, VisitMode mode) {
|
| v->Synchronize(VisitorSynchronization::kGlobalHandles);
|
|
|
| // Iterate over eternal handles.
|
| - if (mode == VISIT_ALL_IN_SCAVENGE) {
|
| + if (mode == VISIT_ALL_IN_SCAVENGE || mode == VISIT_ALL_IN_MINOR_MC_UPDATE) {
|
| isolate_->eternal_handles()->IterateNewSpaceRoots(v);
|
| } else {
|
| isolate_->eternal_handles()->IterateAllRoots(v);
|
|
|