< prev index next >

src/hotspot/share/runtime/thread.inline.hpp

Print this page
rev 47674 : Port 09.17.Thread_SMR_logging_update from JDK9 to JDK10
rev 47675 : sspitsyn, dcubed, eosterlund CR - minor changes prior to OpenJDK review.
rev 47676 : eosterlund, stefank CR - refactor code into threadSMR.cpp and threadSMR.hpp
rev 47677 : eosterlund CR - need more inline fixes.
rev 47678 : eosterlund, stefank CR - more inline and style cleanups
rev 47680 : Rebase to 2017.10.25 PIT snapshot.

@@ -85,19 +85,19 @@
   }
   return allocated_bytes;
 }
 
 inline ThreadsList* Thread::cmpxchg_threads_hazard_ptr(ThreadsList* exchange_value, ThreadsList* compare_value) {
-  return (ThreadsList*)Atomic::cmpxchg_ptr(exchange_value, (void* volatile*)&_threads_hazard_ptr, compare_value);
+  return (ThreadsList*)Atomic::cmpxchg(exchange_value, &_threads_hazard_ptr, compare_value);
 }
 
 inline ThreadsList* Thread::get_threads_hazard_ptr() {
-  return (ThreadsList*)OrderAccess::load_ptr_acquire((void* volatile*)&_threads_hazard_ptr);
+  return (ThreadsList*)OrderAccess::load_acquire(&_threads_hazard_ptr);
 }
 
 inline void Thread::set_threads_hazard_ptr(ThreadsList* new_list) {
-  OrderAccess::release_store_ptr_fence((void* volatile*)&_threads_hazard_ptr, (void*)new_list);
+  OrderAccess::release_store_fence(&_threads_hazard_ptr, new_list);
 }
 
 inline void JavaThread::set_ext_suspended() {
   set_suspend_flag (_ext_suspended);
 }

@@ -188,31 +188,31 @@
   return check_is_terminated(_terminated);
 }
 
 inline void JavaThread::set_terminated(TerminatedTypes t) {
   // use release-store so the setting of _terminated is seen more quickly
-  OrderAccess::release_store((volatile jint *) &_terminated, t);
+  OrderAccess::release_store((volatile jint *) &_terminated, (jint) t);
 }
 
 // special for Threads::remove() which is static:
 inline void JavaThread::set_terminated_value() {
   // use release-store so the setting of _terminated is seen more quickly
-  OrderAccess::release_store((volatile jint *) &_terminated, _thread_terminated);
+  OrderAccess::release_store((volatile jint *) &_terminated, (jint) _thread_terminated);
 }
 
 template <class T>
 inline void Threads::threads_do_smr(T *tc, Thread *self) {
   ThreadsListHandle handle(self);
   handle.threads_do(tc);
 }
 
 inline ThreadsList* Threads::get_smr_java_thread_list() {
-  return (ThreadsList*)OrderAccess::load_ptr_acquire((void* volatile*)&_smr_java_thread_list);
+  return (ThreadsList*)OrderAccess::load_acquire(&_smr_java_thread_list);
 }
 
 inline ThreadsList* Threads::xchg_smr_java_thread_list(ThreadsList* new_list) {
-  return (ThreadsList*)Atomic::xchg_ptr((void*)new_list, (volatile void*)&_smr_java_thread_list);
+  return (ThreadsList*)Atomic::xchg(new_list, &_smr_java_thread_list);
 }
 
 inline void Threads::inc_smr_deleted_thread_cnt() {
   Atomic::inc(&_smr_deleted_thread_cnt);
 }
< prev index next >