RFR (S/M): 8200234: Cleanup Remark and Cleanup pause code (original) (raw)
Thomas Schatzl thomas.schatzl at oracle.com
Mon Mar 26 15:59:49 UTC 2018
- Previous message (by thread): RFR (M): 8151171: Bring g1ConcurrentMark files up to current coding conventions
- Next message (by thread): RFR (S/M): 8200234: Cleanup Remark and Cleanup pause code
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
Hi all,
can I have reviews for this change that cleans up Remark and Cleanup pause code?
It mainly moves the record_concurrent_mark_xxx_start/end() methods to the top/bottom of the remark() and cleanup() methods, and refactors the verification code into a single method.
There is one more somewhat tricky related change here that fixes the check_bitmaps() method of that verification: after we swapped bitmaps (in Cleanup right now) until the previous prev-bitmap has been cleared, its bits are invalid, and G1HeapVerifier::check_bitmaps() should not check the next bitmap.
Previously this has been done using the somewhat tricky condition
674 if (_g1h->collector_state()->mark_or_rebuild_in_progress() || !_g1h->_cmThread->in_progress()) { 675 res_n = verify_no_bits_over_tams("next", next_bitmap, ntams, end); 676 }
which you might immediately understand as the best way to prevent checking the next bitmap from the Cleanup until the (new) next bitmap has been cleared, but I did not. Further, there is no similarly easy condition if the bitmap swapping is moved to the Remark pause, so I created a new flag in G1CollectorState that directly records that we are currently clearing the next bitmap.
CR: https://bugs.openjdk.java.net/browse/JDK-8200234 Webrev: http://cr.openjdk.java.net/~tschatzl/8200234/webrev/ Testing: hs-tier 1-5
It is based on JDK-8151171 which is also out for review currently.
Thanks, Thomas
- Previous message (by thread): RFR (M): 8151171: Bring g1ConcurrentMark files up to current coding conventions
- Next message (by thread): RFR (S/M): 8200234: Cleanup Remark and Cleanup pause code
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]