| Index: src/mark-compact.cc
|
| diff --git a/src/mark-compact.cc b/src/mark-compact.cc
|
| index 956d0c953a0dbddcb3adcae3eadc80037cf10297..948a6be79538e02748f3cf5eedeb6ac043cf17db 100644
|
| --- a/src/mark-compact.cc
|
| +++ b/src/mark-compact.cc
|
| @@ -2690,8 +2690,10 @@ void MarkCompactCollector::EvacuatePages() {
|
| // Without room for expansion evacuation is not guaranteed to succeed.
|
| // Pessimistically abandon unevacuated pages.
|
| for (int j = i; j < npages; j++) {
|
| - evacuation_candidates_[j]->ClearEvacuationCandidate();
|
| - evacuation_candidates_[j]->SetFlag(Page::RESCAN_ON_EVACUATION);
|
| + Page* page = evacuation_candidates_[j];
|
| + slots_buffer_allocator_.DeallocateChain(page->slots_buffer_address());
|
| + page->ClearEvacuationCandidate();
|
| + page->SetFlag(Page::RESCAN_ON_EVACUATION);
|
| }
|
| return;
|
| }
|
|
|