From f6bf7cdb0f17e45eb37dfe063ba1c1300e3a4d91 Mon Sep 17 00:00:00 2001 From: Omer Katz Date: Fri, 1 Jul 2022 14:49:42 +0200 Subject: [PATCH] [heap] Deduplicate MarkingWorklist MarkingWorklists and MinorMarkCompactCollector each had their own definition of MarkingWorklist. Both definition are identical. Drop MinorMarkCompactCollector's definition. Bug: v8:12612 Change-Id: I890f263e4de702aa34f00626a3aaa3ffb29c1ff2 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3740723 Commit-Queue: Omer Katz Reviewed-by: Michael Lippautz Cr-Commit-Position: refs/heads/main@{#81493} --- src/heap/mark-compact.cc | 27 +++++++++++++-------------- src/heap/mark-compact.h | 2 -- 2 files changed, 13 insertions(+), 16 deletions(-) diff --git a/src/heap/mark-compact.cc b/src/heap/mark-compact.cc index 7f6938da5f..307bbb242c 100644 --- a/src/heap/mark-compact.cc +++ b/src/heap/mark-compact.cc @@ -5337,9 +5337,8 @@ bool IsUnmarkedObjectForYoungGeneration(Heap* heap, FullObjectSlot p) { class YoungGenerationMarkingVisitor final : public NewSpaceVisitor { public: - YoungGenerationMarkingVisitor( - Isolate* isolate, MarkingState* marking_state, - MinorMarkCompactCollector::MarkingWorklist::Local* worklist_local) + YoungGenerationMarkingVisitor(Isolate* isolate, MarkingState* marking_state, + MarkingWorklist::Local* worklist_local) : NewSpaceVisitor(isolate), worklist_local_(worklist_local), marking_state_(marking_state) {} @@ -5413,7 +5412,7 @@ class YoungGenerationMarkingVisitor final } } - MinorMarkCompactCollector::MarkingWorklist::Local* worklist_local_; + MarkingWorklist::Local* worklist_local_; MarkingState* marking_state_; }; @@ -5426,7 +5425,7 @@ constexpr size_t MinorMarkCompactCollector::kMaxParallelTasks; MinorMarkCompactCollector::MinorMarkCompactCollector(Heap* heap) : heap_(heap), - worklist_(new MinorMarkCompactCollector::MarkingWorklist()), + worklist_(new MarkingWorklist()), main_thread_worklist_local_(worklist_), marking_state_(heap->isolate()), non_atomic_marking_state_(heap->isolate()), @@ -5833,9 +5832,9 @@ class YoungGenerationMarkingTask; class YoungGenerationMarkingTask { public: - YoungGenerationMarkingTask( - Isolate* isolate, MinorMarkCompactCollector* collector, - MinorMarkCompactCollector::MarkingWorklist* global_worklist) + YoungGenerationMarkingTask(Isolate* isolate, + MinorMarkCompactCollector* collector, + MarkingWorklist* global_worklist) : marking_worklist_local_(global_worklist), marking_state_(collector->marking_state()), visitor_(isolate, marking_state_, &marking_worklist_local_) {} @@ -5856,7 +5855,7 @@ class YoungGenerationMarkingTask { } private: - MinorMarkCompactCollector::MarkingWorklist::Local marking_worklist_local_; + MarkingWorklist::Local marking_worklist_local_; MarkingState* marking_state_; YoungGenerationMarkingVisitor visitor_; }; @@ -5926,10 +5925,10 @@ class PageMarkingItem : public ParallelWorkItem { class YoungGenerationMarkingJob : public v8::JobTask { public: - YoungGenerationMarkingJob( - Isolate* isolate, MinorMarkCompactCollector* collector, - MinorMarkCompactCollector::MarkingWorklist* global_worklist, - std::vector marking_items) + YoungGenerationMarkingJob(Isolate* isolate, + MinorMarkCompactCollector* collector, + MarkingWorklist* global_worklist, + std::vector marking_items) : isolate_(isolate), collector_(collector), global_worklist_(global_worklist), @@ -5998,7 +5997,7 @@ class YoungGenerationMarkingJob : public v8::JobTask { Isolate* isolate_; MinorMarkCompactCollector* collector_; - MinorMarkCompactCollector::MarkingWorklist* global_worklist_; + MarkingWorklist* global_worklist_; std::vector marking_items_; std::atomic_size_t remaining_marking_items_{0}; IndexGenerator generator_; diff --git a/src/heap/mark-compact.h b/src/heap/mark-compact.h index c4463c25d8..db696ccc8f 100644 --- a/src/heap/mark-compact.h +++ b/src/heap/mark-compact.h @@ -782,8 +782,6 @@ class MinorMarkCompactCollector final { MemoryChunk* chunk, RememberedSetUpdatingMode updating_mode); private: - using MarkingWorklist = - ::heap::base::Worklist; class RootMarkingVisitor; static const int kNumMarkers = 8;