< 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 >