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-gc-dev mailing list