Chromium Code Reviews| Index: src/spaces.cc |
| diff --git a/src/spaces.cc b/src/spaces.cc |
| index b52c8214b3cd73112dbf3e9123b25dd3bdf132ba..ba429cafeac02c4312eb4692eec84423c524d706 100644 |
| --- a/src/spaces.cc |
| +++ b/src/spaces.cc |
| @@ -1930,8 +1930,10 @@ void PagedSpace::PrepareForMarkCompact() { |
| Page* last = last_unswept_page_->next_page(); |
| Page* p = first_unswept_page_; |
| do { |
| - if (ShouldBeSweptLazily(p)) { |
| - ASSERT(!p->WasSwept()); |
| + // Do not use ShouldBeSweptLazily predicate here. |
| + // New evacuation candidates were selected but they still have |
| + // to be swept before collection starts. |
| + if (!p->WasSwept()) { |
|
Vyacheslav Egorov (Chromium)
2011/09/22 15:30:11
The same regression test revealed a bug here.
We
|
| Bitmap::Clear(p); |
| if (FLAG_gc_verbose) { |
| PrintF("Sweeping 0x%" V8PRIxPTR " lazily abandoned.\n", |