# HG changeset patch # User tonyp # Date 1254922938 14400 # Node ID 192f653066bb4f7d1f0e3ef07284f4695fa7b4cc # Parent b90cfcea70311ef7ff1bfe7e0defbfed67e40cf2 6888316: G1: has_aborted() || _cm->region_stack_empty() fails Summary: Remove incorrect guarantee. Reviewed-by: apetrusenko, iveresov diff -r b90cfcea7031 -r 192f653066bb hotspot/src/share/vm/gc_implementation/g1/concurrentMark.cpp --- a/hotspot/src/share/vm/gc_implementation/g1/concurrentMark.cpp Mon Oct 05 12:05:48 2009 -0400 +++ b/hotspot/src/share/vm/gc_implementation/g1/concurrentMark.cpp Wed Oct 07 09:42:18 2009 -0400 @@ -3416,13 +3416,6 @@ _region_finger = NULL; } - // We only push regions on the region stack during evacuation - // pauses. So if we come out the above iteration because we region - // stack is empty, it will remain empty until the next yield - // point. So, the guarantee below is safe. - guarantee( has_aborted() || _cm->region_stack_empty(), - "only way to exit the loop" ); - if (_cm->verbose_low()) gclog_or_tty->print_cr("[%d] drained region stack, size = %d", _task_id, _cm->region_stack_size());