Index: src/heap/mark-compact.cc |
diff --git a/src/heap/mark-compact.cc b/src/heap/mark-compact.cc |
index 08472e5b10448949ef761f91de3fbdaedeead34b..aae6593cc5ab0c47e3a2eb24bcb45b1aac0b2052 100644 |
--- a/src/heap/mark-compact.cc |
+++ b/src/heap/mark-compact.cc |
@@ -3865,6 +3865,12 @@ int MarkCompactCollector::Sweeper::ParallelSweepPage(Page* page, |
} else { |
max_freed = RawSweep(page, REBUILD_FREE_LIST, free_space_mode); |
} |
+ |
+ // After finishing sweeping of a page we clean up its remembered set. |
+ if (page->typed_old_to_new_slots()) { |
+ page->typed_old_to_new_slots()->FreeToBeFreedChunks(); |
+ } |
+ |
{ |
base::LockGuard<base::Mutex> guard(&mutex_); |
swept_list_[identity].Add(page); |