RFR: 8253434: Shenandoah: Cleanup ShenandoahRootScanner

Roman Kennke rkennke at openjdk.java.net
Mon Sep 21 18:31:00 UTC 2020


On Mon, 21 Sep 2020 18:11:10 GMT, Zhengyu Gu <zgu at openjdk.org> wrote:

> After moving CLDG mark to concurrent phase, ShenandoahRootScanner::strong_roots_do() and
> ShenandoahRootScanner::roots_do() are practical the same, let's trim one.
> Test:
>   hotspot_gc_shenandoah

It looks to me you can also trim out the CLD closures altogether.

src/hotspot/share/gc/shenandoah/shenandoahRootProcessor.cpp line 192:

> 190:
> 191: void ShenandoahRootScanner::roots_do(uint worker_id, OopClosure* oops) {
> 192:   CLDToOopClosure clds_cl(oops, ClassLoaderData::_claim_none);

Are you sure that we don't have to claim CLDs? How would the threads avoid doubly-marking CLDs?

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

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


More information about the shenandoah-dev mailing list