--- old/src/hotspot/share/gc/shared/taskqueue.cpp 2019-11-21 11:57:30.783328718 +0100 +++ new/src/hotspot/share/gc/shared/taskqueue.cpp 2019-11-21 11:57:30.355321489 +0100 @@ -244,7 +244,7 @@ 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;