RFR: 8252289: Remove usage of OopsInGenClosure from full_process_roots

Stefan Karlsson stefan.karlsson at oracle.com
Tue Aug 25 07:36:28 UTC 2020


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




More information about the hotspot-gc-dev mailing list