Integrated: 8255847: Shenandoah: Shenandoah should not mark through weak roots

Zhengyu Gu zgu at openjdk.java.net
Thu Nov 5 15:32:59 UTC 2020


On Wed, 4 Nov 2020 00:09:13 GMT, Zhengyu Gu <zgu at openjdk.org> wrote:

> After moving weak root processing into concurrent phase, Shenandoah should no longer marks through weak roots, even when class unloading is disabled, given weak root processing no longer contributes to latency.
> 
> There are a couple of bugs:
> 1) ShenandoahRootVerifier was not updated to reflect the change.
> The problem did not show up due to SH::parallel_cleaning() uses wrong flag to determine if it should cleanup weak roots, and it will be addressed in separate CR.
> 
> 2) Concurrent roots scanner should not mark through string dedup roots.
> 
> Test:
> - [x]  hotspot_gc_shenandoah
> - [x]  hotspot_gc_shenandoah with -XX:+ShenandoahVerify -XX:-ClassUnloading
> - [x]  hotspot_gc_shenandoah with -XX:+ShenandoahVerify -XX:+UseStringDeduplication

This pull request has now been integrated.

Changeset: 31918c55
Author:    Zhengyu Gu <zgu at openjdk.org>
URL:       https://git.openjdk.java.net/jdk/commit/31918c55
Stats:     11 lines in 3 files changed: 0 ins; 11 del; 0 mod

8255847: Shenandoah: Shenandoah should not mark through weak roots

Reviewed-by: rkennke

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

PR: https://git.openjdk.java.net/jdk/pull/1050


More information about the hotspot-gc-dev mailing list