From: mstarzinger@chromium.org Date: Tue, 27 Sep 2011 13:35:04 +0000 (+0000) Subject: Fix slot buffers of abandoned evacuation candidates. X-Git-Tag: upstream/4.7.83~18346 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=a79d4395869bdf13226d1a80c9f8879f6a5554de;p=platform%2Fupstream%2Fv8.git Fix slot buffers of abandoned evacuation candidates. 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 --- diff --git a/src/mark-compact.cc b/src/mark-compact.cc index 956d0c9..948a6be 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; }