R=vegorov@chromium.org
BUG=v8:1734
TEST=cctest/test-mark-compact/NoPromotion
Review URL: http://codereview.chromium.org/8051014
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9454
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
// 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;
}