< prev index next >

src/hotspot/share/runtime/safepointMechanism.cpp

Print this page

        

*** 82,105 **** os::set_polling_page((address)(polling_page)); } } void SafepointMechanism::block_if_requested_slow(JavaThread *thread) { ! if (uses_thread_local_poll()) { ! // local poll already checked if (global_poll()) { SafepointSynchronize::block(thread); } ! if (thread->has_handshake()) { thread->handshake_process_by_self(); } - } else { - // If we don't have per thread poll this could a handshake or a safepoint - if (global_poll()) { - SafepointSynchronize::block(thread); - } - } } void SafepointMechanism::initialize_header(JavaThread* thread) { disarm_local_poll(thread); } --- 82,98 ---- os::set_polling_page((address)(polling_page)); } } void SafepointMechanism::block_if_requested_slow(JavaThread *thread) { ! // local poll already checked, if used. if (global_poll()) { SafepointSynchronize::block(thread); } ! if (uses_thread_local_poll() && thread->has_handshake()) { thread->handshake_process_by_self(); } } void SafepointMechanism::initialize_header(JavaThread* thread) { disarm_local_poll(thread); }
< prev index next >