RFR: 8220343: Move scavenge_root_nmethods from shared code
Stefan Karlsson
stefan.karlsson at oracle.com
Wed Mar 13 17:11:44 UTC 2019
Thanks for fixing the link and reviewing!
StefanK
On 2019-03-13 18:10, Vladimir Kozlov wrote:
> New webrev link
> http://cr.openjdk.java.net/~stefank/8220343/webrev.03
>
> Thank you for testing, Stefan. Compiler changes looks fine to me.
>
> Thanks,
> Vladimir
>
> On 3/13/19 1:31 AM, Stefan Karlsson wrote:
>> Updates to the patch:
>> http://cr.openjdk.java.net/~stefank/8220343/webrev.03.delta/
>> http://cr.openjdk.java.net/~stefank/8220343/webrev.03.delta/
>>
>> - Removes anonymous namespace, which causes link problems on Windows.
>> - Fixed test that looks for _scavenge_root_nmethods
>>
>> Tested with tier1-3
>>
>> Thanks,
>> StefanK
>>
>> On 2019-03-11 15:23, 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