Index: src/spaces.cc |
diff --git a/src/spaces.cc b/src/spaces.cc |
index c96388b238293c148a7e24c72d760a4b539d5cb2..82852c71b0841e5b611de35bcd1384078a1a4870 100644 |
--- a/src/spaces.cc |
+++ b/src/spaces.cc |
@@ -881,6 +881,8 @@ void PagedSpace::ReleasePage(Page* page) { |
intptr_t size = free_list_.EvictFreeListItems(page); |
accounting_stats_.AllocateBytes(size); |
ASSERT_EQ(Page::kObjectAreaSize, static_cast<int>(size)); |
+ } else { |
+ DecreaseUnsweptFreeBytes(page); |
} |
if (Page::FromAllocationTop(allocation_info_.top) == page) { |
@@ -2280,7 +2282,7 @@ bool PagedSpace::AdvanceSweeper(intptr_t bytes_to_sweep) { |
PrintF("Sweeping 0x%" V8PRIxPTR " lazily advanced.\n", |
reinterpret_cast<intptr_t>(p)); |
} |
- unswept_free_bytes_ -= (Page::kObjectAreaSize - p->LiveBytes()); |
+ DecreaseUnsweptFreeBytes(p); |
freed_bytes += MarkCompactCollector::SweepConservatively(this, p); |
} |
p = next_page; |