| Index: src/heap/mark-compact.cc
|
| diff --git a/src/heap/mark-compact.cc b/src/heap/mark-compact.cc
|
| index d161b1853d8afb662193e416dfa471380f93164b..848a48e2bdf10367ea2f5635dad1d222d8cbf663 100644
|
| --- a/src/heap/mark-compact.cc
|
| +++ b/src/heap/mark-compact.cc
|
| @@ -3783,6 +3783,14 @@ void MarkCompactCollector::EvacuateNewSpaceAndCandidates() {
|
| SkipList* list = p->skip_list();
|
| if (list != NULL) list->Clear();
|
| }
|
| +
|
| + if (p->IsEvacuationCandidate() &&
|
| + p->IsFlagSet(Page::RESCAN_ON_EVACUATION)) {
|
| + // Case where we've aborted compacting a page. Clear the flag here to
|
| + // avoid release the page later on.
|
| + p->ClearEvacuationCandidate();
|
| + }
|
| +
|
| if (p->IsFlagSet(Page::RESCAN_ON_EVACUATION)) {
|
| if (FLAG_gc_verbose) {
|
| PrintF("Sweeping 0x%" V8PRIxPTR " during evacuation.\n",
|
| @@ -3813,12 +3821,6 @@ void MarkCompactCollector::EvacuateNewSpaceAndCandidates() {
|
| break;
|
| }
|
| }
|
| - if (p->IsEvacuationCandidate() &&
|
| - p->IsFlagSet(Page::RESCAN_ON_EVACUATION)) {
|
| - // Case where we've aborted compacting a page. Clear the flag here to
|
| - // avoid release the page later on.
|
| - p->ClearEvacuationCandidate();
|
| - }
|
| }
|
| }
|
|
|
|
|