RFR: 8071462: Remove G1ParGCAllocator::alloc_buffer_waste

Michail Chernov michail.chernov at oracle.com
Tue Apr 7 14:26:23 UTC 2015


Can I have couple of reviews for next change?

Bug: https://bugs.openjdk.java.net/browse/JDK-8071462
Webrev: http://cr.openjdk.java.net/~eistepan/~mchernov/8071462/webrev.00/

G1ParGCAllocator has methods add_to_alloc_buffer_waste(size_t waste) and 
add_to_undo_waste(size_t waste) which are used wrong.
The main idea of fix is to track waste and undo to waste in PLAB. We 
cannot use PLABStats to store such values because PLABStats is shared 
between all PLAB and cannot store separate values of waste in itself. We 
can get waste and undo to waste values from ParGCAllocBuffer before 
ParGCAllocBuffer::flush_and_reture() which is called from 
G1ParScanThreadState destructor (destructor calls 
G1DefaultParGCAllocator::retire_alloc_buffers which calls 
ParGCAllocBuffer::flush_and_reture() ). Now destructor calls separate 
method which is invoked before G1ParScanThreadState destruction, so we 
can get waste and undo to waste to get termination stats.

Also removed unused methods in G1ParScanThreadState: 
add_to_alloc_buffer_waste and  add_to_undo_waste.

Fix was checked locally with -XX:+UseG1GC -XX:+PrintTerminationStats and 
was checked by JPRT.


More information about the hotspot-gc-dev mailing list