RFR: 8329203: Parallel: Investigate Mark-Compact for Full GC to decrease memory usage [v3]

Roman Kennke rkennke at openjdk.org
Mon May 13 08:56:16 UTC 2024


On Sat, 11 May 2024 10:41:42 GMT, Albert Mingkun Yang <ayang at openjdk.org> wrote:

>> Refactor Parallel full-gc to use the same algorithm (mark-compact) as Serial and G1 full-GC. This removes the obj-end bitmap. When GC threads are few, the old implementation can be more efficient because it requires fewer heap iterations. The new full-GC implementation, on the other hand, is more scalable because it introduces more phases (`forward_to_new_addr` and `adjust_pointers`) that can partition work effectively.
>> 
>> The diff is rather large, so reading the new code directly from `invoke_no_policy` is probably easier.
>> 
>> Test: tier1-6; some improvement in Dacapo-h2, CacheStresser, but no difference in specjbb2015, specjvm2008.
>
> Albert Mingkun Yang has updated the pull request with a new target base due to a merge or a rebase. The incremental webrev excludes the unrelated changes brought in by the merge/rebase. The pull request contains five additional commits since the last revision:
> 
>  - remove-comment
>  - Merge branch 'master' into pgc-full-gc
>  - review
>  - Merge branch 'master' into pgc-full-gc
>  - pgc-full-gc

Changes requested by rkennke (Reviewer).

src/hotspot/share/gc/parallel/psParallelCompact.hpp line 758:

> 756: // https://doi.org/10.1145/3313808.3313820
> 757: 
> 758: class PSParallelCompact : AllStatic {

I believe the big comment here is no longer correct and needs to be updated.

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

PR Review: https://git.openjdk.org/jdk/pull/19101#pullrequestreview-2052087875
PR Review Comment: https://git.openjdk.org/jdk/pull/19101#discussion_r1598111501


More information about the hotspot-gc-dev mailing list