8249884: Shenandoah: Call report_num_dead() from ShParallelWeakRootsCleaningTask destructor
Reviewed-by: zgu
This commit is contained in:
parent
2d8e74ddea
commit
9b42f4786c
@ -2247,7 +2247,6 @@ void ShenandoahHeap::stw_process_weak_roots(bool full_gc) {
|
|||||||
ShenandoahParallelWeakRootsCleaningTask<ShenandoahForwardedIsAliveClosure, ShenandoahUpdateRefsClosure>
|
ShenandoahParallelWeakRootsCleaningTask<ShenandoahForwardedIsAliveClosure, ShenandoahUpdateRefsClosure>
|
||||||
cleaning_task(timing_phase, &is_alive, &keep_alive, num_workers, !ShenandoahConcurrentRoots::should_do_concurrent_class_unloading());
|
cleaning_task(timing_phase, &is_alive, &keep_alive, num_workers, !ShenandoahConcurrentRoots::should_do_concurrent_class_unloading());
|
||||||
_workers->run_task(&cleaning_task);
|
_workers->run_task(&cleaning_task);
|
||||||
cleaning_task.report_num_dead();
|
|
||||||
} else {
|
} else {
|
||||||
ShenandoahIsAliveClosure is_alive;
|
ShenandoahIsAliveClosure is_alive;
|
||||||
#ifdef ASSERT
|
#ifdef ASSERT
|
||||||
@ -2259,7 +2258,6 @@ void ShenandoahHeap::stw_process_weak_roots(bool full_gc) {
|
|||||||
cleaning_task(timing_phase, &is_alive, &do_nothing_cl, num_workers, !ShenandoahConcurrentRoots::should_do_concurrent_class_unloading());
|
cleaning_task(timing_phase, &is_alive, &do_nothing_cl, num_workers, !ShenandoahConcurrentRoots::should_do_concurrent_class_unloading());
|
||||||
#endif
|
#endif
|
||||||
_workers->run_task(&cleaning_task);
|
_workers->run_task(&cleaning_task);
|
||||||
cleaning_task.report_num_dead();
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -52,7 +52,6 @@ public:
|
|||||||
~ShenandoahParallelWeakRootsCleaningTask();
|
~ShenandoahParallelWeakRootsCleaningTask();
|
||||||
|
|
||||||
void work(uint worker_id);
|
void work(uint worker_id);
|
||||||
void report_num_dead();
|
|
||||||
};
|
};
|
||||||
|
|
||||||
// Perform class unloading at a pause
|
// Perform class unloading at a pause
|
||||||
|
@ -53,6 +53,7 @@ ShenandoahParallelWeakRootsCleaningTask<IsAlive, KeepAlive>::~ShenandoahParallel
|
|||||||
if (StringDedup::is_enabled()) {
|
if (StringDedup::is_enabled()) {
|
||||||
StringDedup::gc_epilogue();
|
StringDedup::gc_epilogue();
|
||||||
}
|
}
|
||||||
|
_weak_processing_task.report_num_dead();
|
||||||
}
|
}
|
||||||
|
|
||||||
template<typename IsAlive, typename KeepAlive>
|
template<typename IsAlive, typename KeepAlive>
|
||||||
@ -68,9 +69,4 @@ void ShenandoahParallelWeakRootsCleaningTask<IsAlive, KeepAlive>::work(uint work
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
template<typename IsAlive, typename KeepAlive>
|
|
||||||
void ShenandoahParallelWeakRootsCleaningTask<IsAlive, KeepAlive>::report_num_dead() {
|
|
||||||
_weak_processing_task.report_num_dead();
|
|
||||||
}
|
|
||||||
|
|
||||||
#endif // SHARE_GC_SHENANDOAH_SHENANDOAHPARALLELCLEANING_INLINE_HPP
|
#endif // SHARE_GC_SHENANDOAH_SHENANDOAHPARALLELCLEANING_INLINE_HPP
|
||||||
|
Loading…
x
Reference in New Issue
Block a user