RFR: 8252289: Remove usage of OopsInGenClosure from full_process_roots

stefan.johansson at oracle.com stefan.johansson at oracle.com
Tue Aug 25 08:35:42 UTC 2020

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,

> 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