< prev index next >
src/hotspot/share/gc/shared/taskqueue.cpp
Print this page
@@ -242,11 +242,11 @@
if (current_offered == _n_threads) {
assert(!peek_in_queue_set(), "Precondition");
return true;
}
expected_value = current_offered;
- } while ((current_offered = Atomic::cmpxchg(current_offered - 1, &_offered_termination, current_offered)) != expected_value);
+ } while ((current_offered = Atomic::cmpxchg(&_offered_termination, current_offered, current_offered - 1)) != expected_value);
assert(_offered_termination < _n_threads, "Invariant");
return false;
}
< prev index next >