| Index: src/heap/mark-compact.cc
 | 
| diff --git a/src/heap/mark-compact.cc b/src/heap/mark-compact.cc
 | 
| index 8a32ba8bda28d08c91b6876a3c4d9ed038fad9f6..d0b7d8fe70b0485714b81b1e0a9396c24a38da75 100644
 | 
| --- a/src/heap/mark-compact.cc
 | 
| +++ b/src/heap/mark-compact.cc
 | 
| @@ -569,9 +569,6 @@ void MarkCompactCollector::EnsureSweepingCompleted() {
 | 
|    RefillFreeList(heap()->paged_space(OLD_SPACE));
 | 
|    RefillFreeList(heap()->paged_space(CODE_SPACE));
 | 
|    RefillFreeList(heap()->paged_space(MAP_SPACE));
 | 
| -  heap()->paged_space(OLD_SPACE)->ResetUnsweptFreeBytes();
 | 
| -  heap()->paged_space(CODE_SPACE)->ResetUnsweptFreeBytes();
 | 
| -  heap()->paged_space(MAP_SPACE)->ResetUnsweptFreeBytes();
 | 
|  
 | 
|  #ifdef VERIFY_HEAP
 | 
|    if (FLAG_verify_heap && !evacuation()) {
 | 
| @@ -606,9 +603,8 @@ void MarkCompactCollector::RefillFreeList(PagedSpace* space) {
 | 
|      return;
 | 
|    }
 | 
|  
 | 
| -  intptr_t freed_bytes = space->free_list()->Concatenate(free_list);
 | 
| -  space->AddToAccountingStats(freed_bytes);
 | 
| -  space->DecrementUnsweptFreeBytes(freed_bytes);
 | 
| +  intptr_t added = space->free_list()->Concatenate(free_list);
 | 
| +  space->accounting_stats_.IncreaseCapacity(added);
 | 
|  }
 | 
|  
 | 
|  
 | 
| @@ -3864,6 +3860,7 @@ void MarkCompactCollector::ReleaseEvacuationCandidates() {
 | 
|      space->Free(p->area_start(), p->area_size());
 | 
|      p->set_scan_on_scavenge(false);
 | 
|      p->ResetLiveBytes();
 | 
| +    CHECK(p->WasSwept());
 | 
|      space->ReleasePage(p);
 | 
|    }
 | 
|    evacuation_candidates_.Rewind(0);
 | 
| @@ -4355,9 +4352,6 @@ void MarkCompactCollector::SweepSpace(PagedSpace* space, SweeperType sweeper) {
 | 
|            PrintF("Sweeping 0x%" V8PRIxPTR " released page.\n",
 | 
|                   reinterpret_cast<intptr_t>(p));
 | 
|          }
 | 
| -        // Adjust unswept free bytes because releasing a page expects said
 | 
| -        // counter to be accurate for unswept pages.
 | 
| -        space->IncreaseUnsweptFreeBytes(p);
 | 
|          space->ReleasePage(p);
 | 
|          continue;
 | 
|        }
 | 
| @@ -4391,7 +4385,8 @@ void MarkCompactCollector::SweepSpace(PagedSpace* space, SweeperType sweeper) {
 | 
|                     reinterpret_cast<intptr_t>(p));
 | 
|            }
 | 
|            p->parallel_sweeping_state().SetValue(MemoryChunk::kSweepingPending);
 | 
| -          space->IncreaseUnsweptFreeBytes(p);
 | 
| +          int to_sweep = p->area_size() - p->LiveBytes();
 | 
| +          space->accounting_stats_.ShrinkSpace(to_sweep);
 | 
|          }
 | 
|          space->set_end_of_unswept_pages(p);
 | 
|          break;
 | 
| 
 |