RFR: 8027675: Full collections with Serial slower in JDK 8 compared to 7u40

Jon Masamitsu jon.masamitsu at oracle.com
Fri Nov 22 08:21:38 PST 2013


Stefan,

Changes look good.  Just some questions to be sure I
understand what was previously happening.

Thanks.

Jon

On 11/21/2013 8:43 AM, Stefan Johansson wrote:
> Hi all,
>
> Can I have a couple reviews for this fix for:
> https://bugs.openjdk.java.net/browse/JDK-8027675
>
> Webrev:
> http://cr.openjdk.java.net/~sjohanss/8027675/webrev.00/
>
> Summary:
> When doing permgen removal we had to change the way classes were 
> marked and handled in the GC. When doing this we ended up doing some 
> things a little less efficient than before. The regression is easy to 
> reproduce and when doing a JFR recording we can see that we now spend 
> more time in both the mark and adjust phase.
>
> To improve the mark phase:
> * Enabled the calls to follow_klass to be inlined.
> * Reduce the extensive amount of calls to follow_class_loader in 
> follow_klass and instead just mark the klass holder (the class loader 
> or the java mirror) for the given klass.
The calls to follow_class_loader() were there just for the case
of the anonymous classes?

>
> To improve the adjust phase:
> * All calls to adjust_klass have been removed since this is already 
> handled by processing the ClassLoaderDataGraph.

So in the original code the call were made to
  ClassLoaderData::oops_do() and found the CLD
already claimed so did nothing?


>
> Testing:
> * Manually ran SPECjbb2005 to verify fixing the regression
> * JPRT for functional sanity testing
> * Nashorn tests to stress anonymous classes
>
> Thanks,
> StefanJ



More information about the hotspot-dev mailing list