8387129: Parallel: Wrong TaskTerminator in ParallelScavengeRefProcProxyTask

Reviewed-by: jsikstro, tschatzl
This commit is contained in:
Albert Mingkun Yang 2026-07-02 11:28:39 +00:00
parent c042ad289d
commit 36ca5bbc82
3 changed files with 2 additions and 2 deletions

View File

@ -60,7 +60,6 @@ public:
class ParCompactionManager : public CHeapObj<mtGC> {
friend class MarkFromRootsTask;
friend class ParallelCompactRefProcProxyTask;
friend class ParallelScavengeRefProcProxyTask;
friend class ParMarkBitMap;
friend class PSParallelCompact;
friend class FillDensePrefixAndCompactionTask;

View File

@ -55,6 +55,7 @@ class ParCompactionManager;
class PSPromotionManager {
friend class PSScavenge;
friend class ParallelScavengeRefProcProxyTask;
friend class ScavengeRootsTask;
private:

View File

@ -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");