RFR: 8368006: Parallel: Skip full regions in dense prefix during Full GC

Guoxiong Li gli at openjdk.org
Fri Sep 19 14:40:58 UTC 2025


On Thu, 18 Sep 2025 18:00:18 GMT, Albert Mingkun Yang <ayang at openjdk.org> wrote:

> Implement skip-full-region optimization for filler related operations on dense-prefix. I constrained the filler-creation task to a single worker for simpler implementation. During the compaction phase, the most expensive part is almost always the non-dense-prefix part, so letting the rest of workers to start with the expensive tasks seems sensible.
> 
> Synthetic bms shows good reduction in full-gc time in debug build; perf-neutral for other bms (specjvm2008,specjbb2015) in release build.
> 
> Test: tier1-5

Changes requested by gli (Reviewer).

src/hotspot/share/gc/parallel/psParallelCompact.cpp line 1680:

> 1678:     if (worker_id == 0) {
> 1679:       auto start = Ticks::now();
> 1680:       PSParallelCompact::fill_dead_objs_in_dense_prefix(worker_id, _num_workers);

The method `PSParallelCompact::fill_dead_objs_in_dense_prefix` doesn't need the arguments `worker_id` and `num_workers` now.

-------------

PR Review: https://git.openjdk.org/jdk/pull/27369#pullrequestreview-3244908218
PR Review Comment: https://git.openjdk.org/jdk/pull/27369#discussion_r2362920705


More information about the hotspot-gc-dev mailing list