| Index: src/heap/mark-compact.h
|
| diff --git a/src/heap/mark-compact.h b/src/heap/mark-compact.h
|
| index 20ac9f6c935873f164e2e062716757215ed68b41..2445434b6a9486f21820f8946e8a524670443bc4 100644
|
| --- a/src/heap/mark-compact.h
|
| +++ b/src/heap/mark-compact.h
|
| @@ -489,18 +489,19 @@ class MarkCompactCollector {
|
| // address range.
|
| void RemoveObjectSlots(Address start_slot, Address end_slot);
|
|
|
| - //
|
| - // Free lists filled by sweeper and consumed by corresponding spaces
|
| - // (including compaction spaces).
|
| - //
|
| - base::SmartPointer<FreeList>& free_list_old_space() {
|
| - return free_list_old_space_;
|
| - }
|
| - base::SmartPointer<FreeList>& free_list_code_space() {
|
| - return free_list_code_space_;
|
| - }
|
| - base::SmartPointer<FreeList>& free_list_map_space() {
|
| - return free_list_map_space_;
|
| + base::Mutex* swept_pages_mutex() { return &swept_pages_mutex_; }
|
| + List<Page*>* swept_pages(AllocationSpace id) {
|
| + switch (id) {
|
| + case OLD_SPACE:
|
| + return &swept_old_space_pages_;
|
| + case CODE_SPACE:
|
| + return &swept_code_space_pages_;
|
| + case MAP_SPACE:
|
| + return &swept_map_space_pages_;
|
| + default:
|
| + UNREACHABLE();
|
| + }
|
| + return nullptr;
|
| }
|
|
|
| private:
|
| @@ -755,9 +756,10 @@ class MarkCompactCollector {
|
| List<Page*> evacuation_candidates_;
|
| List<NewSpacePage*> newspace_evacuation_candidates_;
|
|
|
| - base::SmartPointer<FreeList> free_list_old_space_;
|
| - base::SmartPointer<FreeList> free_list_code_space_;
|
| - base::SmartPointer<FreeList> free_list_map_space_;
|
| + base::Mutex swept_pages_mutex_;
|
| + List<Page*> swept_old_space_pages_;
|
| + List<Page*> swept_code_space_pages_;
|
| + List<Page*> swept_map_space_pages_;
|
|
|
| SweepingList sweeping_list_old_space_;
|
| SweepingList sweeping_list_code_space_;
|
|
|