< prev index next >

src/share/vm/runtime/thread.cpp

Print this page
rev 13142 : 8183198: Factor out thread state serialization into a proper helper function
Reviewed-by:

*** 2395,2414 **** // after restoring the state and make sure we won't leave while a safepoint // is in progress. thread->set_thread_state(_thread_blocked); thread->java_suspend_self(); thread->set_thread_state(state); ! // Make sure new state is seen by VM thread ! if (os::is_MP()) { ! if (UseMembar) { ! // Force a fence between the write above and read below ! OrderAccess::fence(); ! } else { ! // Must use this rather than serialization page in particular on Windows ! InterfaceSupport::serialize_memory(thread); ! } ! } } if (SafepointSynchronize::do_call_back()) { // If we are safepointing, then block the caller which may not be // the same as the target thread (see above). --- 2395,2406 ---- // after restoring the state and make sure we won't leave while a safepoint // is in progress. thread->set_thread_state(_thread_blocked); thread->java_suspend_self(); thread->set_thread_state(state); ! ! InterfaceSupport::serialize_thread_state_with_handler(thread); } if (SafepointSynchronize::do_call_back()) { // If we are safepointing, then block the caller which may not be // the same as the target thread (see above).
< prev index next >