Integrated: 8351091: Shenandoah: global marking context completeness is not accurately maintained
Xiaolong Peng
xpeng at openjdk.org
Wed Apr 9 01:02:41 UTC 2025
On Tue, 4 Mar 2025 08:34:16 GMT, Xiaolong Peng <xpeng at openjdk.org> wrote:
> With the JEP 404: Generational Shenandoah implementation, there are generation specific marking completeness flags introduced, and the global marking context completeness flag is not updated at all after initialization, hence the global marking context completeness is not accurate anymore. This may cause expected behavior: [ShenandoahHeap::complete_marking_context()](https://github.com/openjdk/jdk/pull/23886/files#diff-d5ddf298c36b1c91bf33f9bff7bedcc063074edd68c298817f1fdf39d2ed970fL642) should throw assert error if the global marking context completeness flag is false, but now it always return the marking context even it marking is not complete, this may hide bugs where we expect the global/generational marking to be completed.
>
> This change PR fix the bug in global marking context completeness flag, and update all the places using `ShenandoahHeap::complete_marking_context()` to use proper API.
>
> ### Test
> - [x] hotspot_gc_shenandoah
> - [x] Tier 1
> - [x] Tier 2
This pull request has now been integrated.
Changeset: aec1fe0a
Author: Xiaolong Peng <xpeng at openjdk.org>
Committer: Y. Srinivas Ramakrishna <ysr at openjdk.org>
URL: https://git.openjdk.org/jdk/commit/aec1fe0a17fa6801e26a517d4d21656353409f7c
Stats: 71 lines in 17 files changed: 7 ins; 34 del; 30 mod
8351091: Shenandoah: global marking context completeness is not accurately maintained
Reviewed-by: ysr, wkemper
-------------
PR: https://git.openjdk.org/jdk/pull/23886
More information about the shenandoah-dev
mailing list