RFR 8227103: Shenandoah: Refactor ShenandoahNMethod in preparation of concurrent nmethod iteration

Roman Kennke rkennke at redhat.com
Tue Jul 2 17:59:39 UTC 2019


It looks good to me. Aleksey might want to look at this too. He's more
familiar with this code (he's written most of it).

Thanks,
Roman

> This refactor is one of subtasks for concurrent nmethod unloading [1].
> 
> It moves ShenandoahNMethod out of ShenandoahCodeRoots, in preparation
> for more complicated concurrent nmethod iteration.
> 
> Borrowing what ZGC does, only records oops embedded in relocation stream
> to reduce memory footprint. Also, attaches ShenandoahNMethod to
> nmethod's gc_data, so that it avoids additional searching during
> re-register nmethod.
> 
> Let's use shenandoah/jdk for concurrent nmethod unloading work, while we
> stabilize early concurrent root work in jdk/jdk.
> 
> Bug: https://bugs.openjdk.java.net/browse/JDK-8227103
> Webrev: http://cr.openjdk.java.net/~zgu/JDK-8227103/webrev.00/
> 
> Test:
>   hotspot_gc_shenandoah (fastdebug and release)
> 
> Thanks,
> 
> -Zhengyu
> 
> [1] https://bugs.openjdk.java.net/browse/JDK-8227102



More information about the shenandoah-dev mailing list