Integrated: 8273559: Shenandoah: Shenandoah should support multi-threaded heap dump

Zhengyu Gu zgu at openjdk.java.net
Wed Sep 15 13:13:02 UTC 2021


On Fri, 10 Sep 2021 18:17:50 GMT, Zhengyu Gu <zgu at openjdk.org> wrote:

> At the point when Shenandoah implemented heap dump, there was no ClassLoaderData::_claim_other flag. To avoid CLDG iteration interfering concurrent GC, we chosen single-threaded CLDG iteration with ClassLoaderData::_claim_none and ensured that by asserting calling thread has to be VMThread.
> 
>  JDK-8237354 broke the assumption, as it uses safepoint worker to execute heap dump, so that the thread executes CLDG iteration is not necessary VMThread.
> 
> Now, with new ClassLoaderData::_claim_other, we can enable multi-threaded CLDG iteration during heap dump.
> 
> Test:
> 
> - [x] hotspot_gc_shenandoah
> - [x] tier1 with Shenandoah GC

This pull request has now been integrated.

Changeset: 8132bfd2
Author:    Zhengyu Gu <zgu at openjdk.org>
URL:       https://git.openjdk.java.net/jdk/commit/8132bfd23f2f7fb52e502a3e6fe488fbdb537df0
Stats:     206 lines in 6 files changed: 161 ins; 10 del; 35 mod

8273559: Shenandoah: Shenandoah should support multi-threaded heap dump

Reviewed-by: shade, rkennke, sgehwolf

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

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



More information about the hotspot-gc-dev mailing list