From 36ca5bbc82f3fe3855016bc6e74e169cb3f2857a Mon Sep 17 00:00:00 2001 From: Albert Mingkun Yang Date: Thu, 2 Jul 2026 11:28:39 +0000 Subject: [PATCH] 8387129: Parallel: Wrong TaskTerminator in ParallelScavengeRefProcProxyTask Reviewed-by: jsikstro, tschatzl --- src/hotspot/share/gc/parallel/psCompactionManager.hpp | 1 - src/hotspot/share/gc/parallel/psPromotionManager.hpp | 1 + src/hotspot/share/gc/parallel/psScavenge.cpp | 2 +- 3 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/hotspot/share/gc/parallel/psCompactionManager.hpp b/src/hotspot/share/gc/parallel/psCompactionManager.hpp index ee8ab3f7df0..cd56bf1c91e 100644 --- a/src/hotspot/share/gc/parallel/psCompactionManager.hpp +++ b/src/hotspot/share/gc/parallel/psCompactionManager.hpp @@ -60,7 +60,6 @@ public: class ParCompactionManager : public CHeapObj { friend class MarkFromRootsTask; friend class ParallelCompactRefProcProxyTask; - friend class ParallelScavengeRefProcProxyTask; friend class ParMarkBitMap; friend class PSParallelCompact; friend class FillDensePrefixAndCompactionTask; diff --git a/src/hotspot/share/gc/parallel/psPromotionManager.hpp b/src/hotspot/share/gc/parallel/psPromotionManager.hpp index edce4861d4d..287808429d3 100644 --- a/src/hotspot/share/gc/parallel/psPromotionManager.hpp +++ b/src/hotspot/share/gc/parallel/psPromotionManager.hpp @@ -55,6 +55,7 @@ class ParCompactionManager; class PSPromotionManager { friend class PSScavenge; + friend class ParallelScavengeRefProcProxyTask; friend class ScavengeRootsTask; private: diff --git a/src/hotspot/share/gc/parallel/psScavenge.cpp b/src/hotspot/share/gc/parallel/psScavenge.cpp index 8dbd2485e76..883bcb81a50 100644 --- a/src/hotspot/share/gc/parallel/psScavenge.cpp +++ b/src/hotspot/share/gc/parallel/psScavenge.cpp @@ -193,7 +193,7 @@ class ParallelScavengeRefProcProxyTask : public RefProcProxyTask { public: ParallelScavengeRefProcProxyTask(uint max_workers) : RefProcProxyTask("ParallelScavengeRefProcProxyTask", max_workers), - _terminator(max_workers, ParCompactionManager::marking_stacks()) {} + _terminator(max_workers, PSPromotionManager::vm_thread_promotion_manager()->stack_array_depth()) {} void work(uint worker_id) override { assert(worker_id < _max_workers, "sanity");