src/hotspot/share/runtime/thread.inline.hpp
changeset 59252 623722a6aeb9
parent 59247 56bf71d64d51
--- a/src/hotspot/share/runtime/thread.inline.hpp	Mon Nov 25 12:32:40 2019 +0100
+++ b/src/hotspot/share/runtime/thread.inline.hpp	Mon Nov 25 12:33:15 2019 +0100
@@ -37,14 +37,14 @@
   do {
     flags = _suspend_flags;
   }
-  while (Atomic::cmpxchg((flags | f), &_suspend_flags, flags) != flags);
+  while (Atomic::cmpxchg(&_suspend_flags, flags, (flags | f)) != flags);
 }
 inline void Thread::clear_suspend_flag(SuspendFlags f) {
   uint32_t flags;
   do {
     flags = _suspend_flags;
   }
-  while (Atomic::cmpxchg((flags & ~f), &_suspend_flags, flags) != flags);
+  while (Atomic::cmpxchg(&_suspend_flags, flags, (flags & ~f)) != flags);
 }
 
 inline void Thread::set_has_async_exception() {
@@ -83,7 +83,7 @@
 }
 
 inline ThreadsList* Thread::cmpxchg_threads_hazard_ptr(ThreadsList* exchange_value, ThreadsList* compare_value) {
-  return (ThreadsList*)Atomic::cmpxchg(exchange_value, &_threads_hazard_ptr, compare_value);
+  return (ThreadsList*)Atomic::cmpxchg(&_threads_hazard_ptr, compare_value, exchange_value);
 }
 
 inline ThreadsList* Thread::get_threads_hazard_ptr() {