< prev index next >

src/hotspot/share/runtime/vm_operations.cpp

Print this page
rev 49294 : imported patch 8199813
rev 49295 : Move IdealGraphPrinter::clean_up() call so VM_Exit::set_shutdown_thread() can be removed.

*** 418,433 **** volatile bool VM_Exit::_vm_exited = false; Thread * volatile VM_Exit::_shutdown_thread = NULL; int VM_Exit::set_vm_exited() { Thread * thr_cur = Thread::current(); ! assert(_shutdown_thread == thr_cur, "_shutdown_thread should be current thread"); assert(SafepointSynchronize::is_at_safepoint(), "must be at safepoint already"); int num_active = 0; _vm_exited = true; // global flag for (JavaThreadIteratorWithHandle jtiwh; JavaThread *thr = jtiwh.next(); ) { if (thr!=thr_cur && thr->thread_state() == _thread_in_native) { ++num_active; thr->set_terminated(JavaThread::_vm_exited); // per-thread flag --- 418,435 ---- volatile bool VM_Exit::_vm_exited = false; Thread * volatile VM_Exit::_shutdown_thread = NULL; int VM_Exit::set_vm_exited() { + Thread * thr_cur = Thread::current(); ! assert(SafepointSynchronize::is_at_safepoint(), "must be at safepoint already"); int num_active = 0; + _shutdown_thread = thr_cur; _vm_exited = true; // global flag for (JavaThreadIteratorWithHandle jtiwh; JavaThread *thr = jtiwh.next(); ) { if (thr!=thr_cur && thr->thread_state() == _thread_in_native) { ++num_active; thr->set_terminated(JavaThread::_vm_exited); // per-thread flag
*** 498,512 **** // native==>Java/VM barriers. // Among 16276 JCK tests, 94% of them come here without any threads still // running in native; the other 6% are quiescent within 250ms (Ultra 80). wait_for_threads_in_native_to_block(); - // Remember the Thread that is shutting down the VM because it needs - // to be immune to some of the sanity checks and policies that have - // to happen at VM shutdown time. - VM_Exit::set_shutdown_thread(Thread::current()); - set_vm_exited(); // cleanup globals resources before exiting. exit_globals() currently // cleans up outputStream resources and PerfMemory resources. exit_globals(); --- 500,509 ----
< prev index next >