--- old/src/hotspot/share/runtime/thread.hpp Mon Nov 13 09:00:36 2017 +++ new/src/hotspot/share/runtime/thread.hpp Mon Nov 13 09:00:34 2017 @@ -2098,7 +2098,7 @@ // -XX:+EnableThreadSMRStatistics: static uint _smr_delete_lock_wait_cnt; static uint _smr_delete_lock_wait_max; - static volatile int _smr_delete_notify; + static volatile jint _smr_delete_notify; static volatile jint _smr_deleted_thread_cnt; static volatile jint _smr_deleted_thread_time_max; static volatile jint _smr_deleted_thread_times; --- old/src/hotspot/share/runtime/thread.inline.hpp Mon Nov 13 09:00:39 2017 +++ new/src/hotspot/share/runtime/thread.inline.hpp Mon Nov 13 09:00:38 2017 @@ -87,15 +87,15 @@ } 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() { @@ -190,13 +190,13 @@ 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 @@ -206,11 +206,11 @@ } 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() {