< prev index next >

src/hotspot/share/utilities/singleWriterSynchronizer.cpp

Print this page

        

@@ -62,11 +62,11 @@
   // operations until this change of _enter succeeds.
   uint old;
   do {
     old = value;
     *new_ptr = ++value;
-    value = Atomic::cmpxchg(value, &_enter, old);
+    value = Atomic::cmpxchg(&_enter, old, value);
   } while (old != value);
   // Critical sections entered before we changed the polarity will use
   // the old exit counter.  Critical sections entered after the change
   // will use the new exit counter.
   volatile uint* old_ptr = &_exit[old & 1];
< prev index next >