< 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 >