RFR: 8028993: Full collections with ParallelScavenge slower in JDK 8 compared to 7u40
stefan.johansson at oracle.com
Mon Dec 9 01:33:00 PST 2013
Updated one thing in the webrev after an offline comment. The new webrev
The only change was to move the definition of follow_klass() in
psParallelCompact.hpp to be below the definition of mark_and_push().
This might help inlining for some compilers, and it also maps to how the
declarations are ordered.
Please review this fix,
On 2013-12-04 17:48, Stefan Johansson wrote:
> Can I have some reviews for this change to fix:
> While fixing JDK-8027675 we realized that we should have a similar
> regression with ParallelGC. The regression is not as big as with
> serial but the logic changes are the same and I've been able to
> measure a significant improvement with this fix, taking us on par with
> The theory behind the fix is the same as when fixing serial:
> 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.
> To improve the adjust phase:
> * All calls to adjust_klass have been removed since this is already
> handled by processing the ClassLoaderDataGraph.
> * Building and basic testing through JPRT
> * Some manual testing running Nashorn tests
> * Performance testing with SPECjbb2005
More information about the hotspot-dev