< prev index next >

src/hotspot/share/gc/z/zMarkStack.inline.hpp

Print this page

        

@@ -119,11 +119,11 @@
   uint32_t version = 0;
 
   for (;;) {
     decode_versioned_pointer(vstack, stack->next_addr(), &version);
     T* const new_vstack = encode_versioned_pointer(stack, version + 1);
-    T* const prev_vstack = Atomic::cmpxchg(new_vstack, &_head, vstack);
+    T* const prev_vstack = Atomic::cmpxchg(&_head, vstack, new_vstack);
     if (prev_vstack == vstack) {
       // Success
       break;
     }
 

@@ -143,11 +143,11 @@
     if (stack == NULL) {
       return NULL;
     }
 
     T* const new_vstack = encode_versioned_pointer(stack->next(), version + 1);
-    T* const prev_vstack = Atomic::cmpxchg(new_vstack, &_head, vstack);
+    T* const prev_vstack = Atomic::cmpxchg(&_head, vstack, new_vstack);
     if (prev_vstack == vstack) {
       // Success
       return stack;
     }
 
< prev index next >