Mercurial > hg > truffle
comparison src/share/vm/gc_implementation/g1/concurrentMark.cpp @ 1022:4c3458a31e17
6888316: G1: has_aborted() || _cm->region_stack_empty() fails
Summary: Remove incorrect guarantee.
Reviewed-by: apetrusenko, iveresov
author | tonyp |
---|---|
date | Wed, 07 Oct 2009 09:42:18 -0400 |
parents | 035d2e036a9b |
children | 11d4857fe5e1 |
comparison
equal
deleted
inserted
replaced
1021:1f19207eefc2 | 1022:4c3458a31e17 |
---|---|
3413 // break from while | 3413 // break from while |
3414 mr = MemRegion(); | 3414 mr = MemRegion(); |
3415 } | 3415 } |
3416 _region_finger = NULL; | 3416 _region_finger = NULL; |
3417 } | 3417 } |
3418 | |
3419 // We only push regions on the region stack during evacuation | |
3420 // pauses. So if we come out the above iteration because we region | |
3421 // stack is empty, it will remain empty until the next yield | |
3422 // point. So, the guarantee below is safe. | |
3423 guarantee( has_aborted() || _cm->region_stack_empty(), | |
3424 "only way to exit the loop" ); | |
3425 | 3418 |
3426 if (_cm->verbose_low()) | 3419 if (_cm->verbose_low()) |
3427 gclog_or_tty->print_cr("[%d] drained region stack, size = %d", | 3420 gclog_or_tty->print_cr("[%d] drained region stack, size = %d", |
3428 _task_id, _cm->region_stack_size()); | 3421 _task_id, _cm->region_stack_size()); |
3429 } | 3422 } |