RFR: 8220343: Move scavenge_root_nmethods from shared code
Vladimir Kozlov
vladimir.kozlov at oracle.com
Mon Mar 11 16:55:36 UTC 2019
Looks good to me. Please, test with Graal (at least tier3).
Thanks,
Vladimir
On 3/11/19 7:23 AM, Stefan Karlsson wrote:
> Hi all,
>
> Please review this patch to move the scavenge root code out from CodeCache and nmethod.
>
> http://cr.openjdk.java.net/~stefank/8220343/webrev.01/
> https://bugs.openjdk.java.net/browse/JDK-8220343
>
> The CodeCache::scavenge_root_nmethods_do function and its implementation in CodeCache and nmethod, is only used by set
> of our GCs (Serial, Parallel, and CMS), but not by G1, ZGC, Shenandoah, or Epsilon. I want to move all of that into GC
> subsystem and then only let those GCs using it pay the cost of having that code.
>
> This is a continuation of the work of the GC Interface, where G1, ZGC, Shenandoah, and Epsilon, uses the
> register_nmethod, unregister_nmethod, and flush_nmethod calls, but the other GCs don't.
>
> This patch builds upon:
> JDK-8220411: Remove ScavengeRootsInCode=0 code
> https://bugs.openjdk.java.net/browse/JDK-8220411
>
> and also depends on the the resolution of:
> JDK-8220342: Remove scavenge_root_nmethods_do from VM_HeapWalkOperation::collect_simple_roots
> https://bugs.openjdk.java.net/browse/JDK-8220342
>
> Thanks,
> StefanK
More information about the hotspot-compiler-dev
mailing list