< prev index next >

src/hotspot/share/gc/shared/satbMarkQueue.cpp

Print this page

        

@@ -134,11 +134,11 @@
   do {
     old = value;
     value += 2;
     assert(value > old, "overflow");
     if (value > threshold) value |= 1;
-    value = Atomic::cmpxchg(value, cfptr, old);
+    value = Atomic::cmpxchg(cfptr, old, value);
   } while (value != old);
 }
 
 // Decrement count.  If count == 0, clear flag, else maintain flag.
 static void decrement_count(volatile size_t* cfptr) {

@@ -147,11 +147,11 @@
   do {
     assert((value >> 1) != 0, "underflow");
     old = value;
     value -= 2;
     if (value <= 1) value = 0;
-    value = Atomic::cmpxchg(value, cfptr, old);
+    value = Atomic::cmpxchg(cfptr, old, value);
   } while (value != old);
 }
 
 void SATBMarkQueueSet::set_process_completed_buffers_threshold(size_t value) {
   // Scale requested threshold to align with count field.  If scaling
< prev index next >