RFR (M): 8151126: Clean up duplicate code for clearing the mark bitmaps
Jon Masamitsu
jon.masamitsu at oracle.com
Thu Mar 10 18:42:37 UTC 2016
http://cr.openjdk.java.net/~tschatzl/8151126/webrev/src/share/vm/gc/g1/g1ConcurrentMark.cpp.frames.html
728 void G1ConcurrentMark::clear_prev_bitmap(WorkGang* workers) {
729 assert(SafepointSynchronize::is_at_safepoint(), "Should only clear
the entire prev bitmap at a safepoint.");
730 clear_bitmap((G1CMBitMap*)_prevMarkBitMap, workers, false);
731 }
Would it be appropriate to move the assertion at 729 to
698 void G1ConcurrentMark::clear_bitmap(G1CMBitMap* bitmap, WorkGang*
workers, bool may_yield) { assert(may_yield ||SafepointSynchronize::is_at_safepoint(), "Should only clear the entire
bitmap at a safepoint."
699 G1ClearBitMapTask task(bitmap, this, workers->active_workers(),
may_yield);
700 workers->run_task(&task); 701 guarantee(!may_yield || task.is_complete(), "Must have completed
iteration when not yielding.");
702 }
Seems like you would get more coverage when needed for the assertion.
Otherwise, looks good.
Jon
On 03/10/2016 05:16 AM, Thomas Schatzl wrote:
> Hi Tom,
>
> I updated the current webrev with your suggestion.
>
> I also rebased it to tip.
>
> CR:
> https://bugs.openjdk.java.net/browse/JDK-8151126
> Webrev:
> http://cr.openjdk.java.net/~tschatzl/8151126/webrev/
> Testing:
> jprt
>
> Thanks,
> Thomas
>
More information about the hotspot-gc-dev
mailing list