src/hotspot/share/jfr/recorder/storage/jfrBuffer.cpp
changeset 59252 623722a6aeb9
parent 58863 c16ac7a2eba4
--- a/src/hotspot/share/jfr/recorder/storage/jfrBuffer.cpp	Mon Nov 25 12:32:40 2019 +0100
+++ b/src/hotspot/share/jfr/recorder/storage/jfrBuffer.cpp	Mon Nov 25 12:33:15 2019 +0100
@@ -104,7 +104,7 @@
 const u1* JfrBuffer::concurrent_top() const {
   do {
     const u1* current_top = stable_top();
-    if (Atomic::cmpxchg(MUTEX_CLAIM, &_top, current_top) == current_top) {
+    if (Atomic::cmpxchg(&_top, current_top, MUTEX_CLAIM) == current_top) {
       return current_top;
     }
   } while (true);
@@ -128,13 +128,13 @@
   const void* current_id;
   do {
     current_id = Atomic::load(&_identity);
-  } while (current_id != NULL || Atomic::cmpxchg(id, &_identity, current_id) != current_id);
+  } while (current_id != NULL || Atomic::cmpxchg(&_identity, current_id, id) != current_id);
 }
 
 bool JfrBuffer::try_acquire(const void* id) {
   assert(id != NULL, "invariant");
   const void* const current_id = Atomic::load(&_identity);
-  return current_id == NULL && Atomic::cmpxchg(id, &_identity, current_id) == current_id;
+  return current_id == NULL && Atomic::cmpxchg(&_identity, current_id, id) == current_id;
 }
 
 void JfrBuffer::release() {