RFR (M): 8035330: Remove G1ParScanPartialArrayClosure and G1ParScanHeapEvacClosure

Stefan Karlsson stefan.karlsson at oracle.com
Thu Feb 20 01:21:29 PST 2014


Hi Thomas,

On 2014-02-19 16:13, Thomas Schatzl wrote:
> Hi all,
>
>    can I have reviews for the following change that changes the
> G1ParScanPartialArrayClosure and G1ParScanHeapEvacClosure closures into
> methods of G1ParScanThreadState?
>
> G1ParScanPartialArrayClosure and G1ParScanHeapEvacClosure are two
> closures which do_oop_nv method is always called directly and from a
> single location, i.e. G1ParScanThreadState.
>
> This change removes the boiler plate code of these "closures" to avoid
> more confusion (G1ParScanHeapEvacClosure was a candidate for oop closure
> specialization although it was never called on an oop_iterate() method),
> makes the do_oop_nv() methods into two methods of G1ParScanThreadState,
> in addition to moving related code also into the vicinity.
>
> Another minor change is that do_oop_evac() (the replacement for
> G1ParScanHeapEvacClosure::do_oop_nc()) is stripped of the not-required
> NULL check.
>
> CR:
> https://bugs.openjdk.java.net/browse/JDK-8035330
>
> Webrev:
> http://cr.openjdk.java.net/~tschatzl/8035330/webrev/

You move a lot of code into g1CollectedHeap.hpp. Could you change the 
code so that it ends up in the .cpp (or .inline.hpp) file instead?

thanks,
StefanK

>
> Based on the changes for 8035326 recently posted here.
>
> Testing:
> jprt
>
> Thanks,
>    Thomas
>
>



More information about the hotspot-gc-dev mailing list