mirror of
https://github.com/openjdk/jdk.git
synced 2025-08-26 22:34:27 +02:00
6710665: G1: guarantee(_cm->out_of_regions() && _cm->region_stack_empty() && _task_queue->size() == 0, ...)
Remove the incorrect assumptions from guarantee()s. Reviewed-by: ysr, tonyp
This commit is contained in:
parent
18f3386a98
commit
a82afd549a
1 changed files with 10 additions and 6 deletions
|
@ -3751,8 +3751,10 @@ void CMTask::do_marking_step(double time_target_ms) {
|
|||
|
||||
if (!has_aborted()) {
|
||||
// We cannot check whether the global stack is empty, since other
|
||||
// tasks might be pushing objects to it concurrently.
|
||||
tmp_guarantee_CM( _cm->out_of_regions() && _cm->region_stack_empty(),
|
||||
// tasks might be pushing objects to it concurrently. We also cannot
|
||||
// check if the region stack is empty because if a thread is aborting
|
||||
// it can push a partially done region back.
|
||||
tmp_guarantee_CM( _cm->out_of_regions(),
|
||||
"at this point we should be out of regions" );
|
||||
|
||||
if (_cm->verbose_low())
|
||||
|
@ -3774,9 +3776,10 @@ void CMTask::do_marking_step(double time_target_ms) {
|
|||
// we could. Let's try to do some stealing...
|
||||
|
||||
// We cannot check whether the global stack is empty, since other
|
||||
// tasks might be pushing objects to it concurrently.
|
||||
// tasks might be pushing objects to it concurrently. We also cannot
|
||||
// check if the region stack is empty because if a thread is aborting
|
||||
// it can push a partially done region back.
|
||||
guarantee( _cm->out_of_regions() &&
|
||||
_cm->region_stack_empty() &&
|
||||
_task_queue->size() == 0, "only way to reach here" );
|
||||
|
||||
if (_cm->verbose_low())
|
||||
|
@ -3811,9 +3814,10 @@ void CMTask::do_marking_step(double time_target_ms) {
|
|||
// termination protocol.
|
||||
if (!has_aborted()) {
|
||||
// We cannot check whether the global stack is empty, since other
|
||||
// tasks might be concurrently pushing objects on it.
|
||||
// tasks might be concurrently pushing objects on it. We also cannot
|
||||
// check if the region stack is empty because if a thread is aborting
|
||||
// it can push a partially done region back.
|
||||
guarantee( _cm->out_of_regions() &&
|
||||
_cm->region_stack_empty() &&
|
||||
_task_queue->size() == 0, "only way to reach here" );
|
||||
|
||||
if (_cm->verbose_low())
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue