RFR: 8252289: Remove usage of OopsInGenClosure from full_process_roots

Kim Barrett kim.barrett at oracle.com
Thu Aug 27 02:18:48 UTC 2020


> On Aug 25, 2020, at 3:36 AM, Stefan Karlsson <stefan.karlsson at oracle.com> 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
> 
> 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

Looks good.



More information about the hotspot-gc-dev mailing list