RFR: 8252289: Remove usage of OopsInGenClosure from full_process_roots

Stefan Karlsson stefan.karlsson at oracle.com
Tue Aug 25 08:45:56 UTC 2020


Thanks, StefanJ.

StefanK

On 2020-08-25 10:35, stefan.johansson at oracle.com wrote:
> Hi StefanK,
> 
> On 2020-08-25 09:36, Stefan Karlsson wrote:
>> Hi all,
>>
>> Please review this patch to narrow the type used by 
>> GenCollectedHeap::full_process_roots.
>>
>> https://cr.openjdk.java.net/~stefank/8252289/webrev.01/
>> https://bugs.openjdk.java.net/browse/JDK-8252289
> 
> Looks good,
> StefanJ
> 
>>
>> This is a step towards cleaning up and finally getting rid of 
>> OopsInGenClosure.
>>
>> Both MarkSweep::FollowRootClosure and MarkSweep::AdjustPointerClosure 
>> inherits from BasiceOopsInGenClosure, but neither use any of the 
>> functionality provided by OopsInGenClosure. This means that we can 
>> change the super type to BasicOopIterateClosure and narrow the type 
>> used by full_process_roots.
>>
>> The changed closures are created statically, and could therefore not 
>> use the appropriate OopsInGenClosure constructor. A dummy constructor 
>> and a a post-creation step involving calling set_orig_generation was 
>> instead used. Since none of this is needed after the CMS removal, I've 
>> removed those parts as well.
>>
>> Thanks,
>> StefanK
>>


More information about the hotspot-gc-dev mailing list