src/hotspot/share/gc/shared/ptrQueue.cpp
changeset 59250 a6deb69743d4
parent 59249 29b0d0b61615
child 59252 623722a6aeb9
--- a/src/hotspot/share/gc/shared/ptrQueue.cpp	Mon Nov 25 12:31:39 2019 +0100
+++ b/src/hotspot/share/gc/shared/ptrQueue.cpp	Mon Nov 25 12:32:07 2019 +0100
@@ -150,7 +150,7 @@
     // Decrement count after getting buffer from free list.  This, along
     // with incrementing count before adding to free list, ensures count
     // never underflows.
-    size_t count = Atomic::sub(1u, &_free_count);
+    size_t count = Atomic::sub(&_free_count, 1u);
     assert((count + 1) != 0, "_free_count underflow");
   }
   return node;
@@ -212,7 +212,7 @@
       last = next;
       ++count;
     }
-    Atomic::sub(count, &_pending_count);
+    Atomic::sub(&_pending_count, count);
 
     // Wait for any in-progress pops, to avoid ABA for them.
     GlobalCounter::write_synchronize();
@@ -236,7 +236,7 @@
     if (node == NULL) break;
     BufferNode::deallocate(node);
   }
-  size_t new_count = Atomic::sub(removed, &_free_count);
+  size_t new_count = Atomic::sub(&_free_count, removed);
   log_debug(gc, ptrqueue, freelist)
            ("Reduced %s free list by " SIZE_FORMAT " to " SIZE_FORMAT,
             name(), removed, new_count);