< prev index next >

src/hotspot/share/runtime/thread.cpp

Print this page

        

*** 248,258 **** // the handle mark links itself to last_handle_mark new HandleMark(this); // plain initialization debug_only(_owned_locks = NULL;) ! NOT_PRODUCT(_allow_safepoint_count = 0;) NOT_PRODUCT(_skip_gcalot = false;) _jvmti_env_iteration_count = 0; set_allocated_bytes(0); _vm_operation_started_count = 0; _vm_operation_completed_count = 0; --- 248,258 ---- // the handle mark links itself to last_handle_mark new HandleMark(this); // plain initialization debug_only(_owned_locks = NULL;) ! NOT_PRODUCT(_no_safepoint_count = 0;) NOT_PRODUCT(_skip_gcalot = false;) _jvmti_env_iteration_count = 0; set_allocated_bytes(0); _vm_operation_started_count = 0; _vm_operation_completed_count = 0;
*** 1018,1028 **** // The flag: potential_vm_operation notifies if this particular safepoint state could potentially // invoke the vm-thread (e.g., an oop allocation). In that case, we also have to make sure that // no locks which allow_vm_block's are held void Thread::check_for_valid_safepoint_state(bool potential_vm_operation) { // Check if current thread is allowed to block at a safepoint ! if (!(_allow_safepoint_count == 0)) { fatal("Possible safepoint reached by thread that does not allow it"); } if (is_Java_thread() && ((JavaThread*)this)->thread_state() != _thread_in_vm) { fatal("LEAF method calling lock?"); } --- 1018,1028 ---- // The flag: potential_vm_operation notifies if this particular safepoint state could potentially // invoke the vm-thread (e.g., an oop allocation). In that case, we also have to make sure that // no locks which allow_vm_block's are held void Thread::check_for_valid_safepoint_state(bool potential_vm_operation) { // Check if current thread is allowed to block at a safepoint ! if (_no_safepoint_count > 0) { fatal("Possible safepoint reached by thread that does not allow it"); } if (is_Java_thread() && ((JavaThread*)this)->thread_state() != _thread_in_vm) { fatal("LEAF method calling lock?"); }
*** 3541,3551 **** // All JavaThreads #define ALL_JAVA_THREADS(X) DO_JAVA_THREADS(ThreadsSMRSupport::get_java_thread_list(), X) // All NonJavaThreads (i.e., every non-JavaThread in the system). void Threads::non_java_threads_do(ThreadClosure* tc) { ! NoSafepointVerifier nsv(!SafepointSynchronize::is_at_safepoint(), false); for (NonJavaThread::Iterator njti; !njti.end(); njti.step()) { tc->do_thread(njti.current()); } } --- 3541,3551 ---- // All JavaThreads #define ALL_JAVA_THREADS(X) DO_JAVA_THREADS(ThreadsSMRSupport::get_java_thread_list(), X) // All NonJavaThreads (i.e., every non-JavaThread in the system). void Threads::non_java_threads_do(ThreadClosure* tc) { ! NoSafepointVerifier nsv; for (NonJavaThread::Iterator njti; !njti.end(); njti.step()) { tc->do_thread(njti.current()); } }
< prev index next >