hotspot/src/share/vm/prims/jvmtiExport.cpp
void JvmtiExport::cleanup_thread(JavaThread* thread) {
{- -------------------------------------------
(1) (assert)
---------------------------------------- -}
assert(JavaThread::current() == thread, "thread is not current");
{- -------------------------------------------
(1) (以下の処理は JvmtiThreadState_lock で排他して行う)
---------------------------------------- -}
MutexLocker mu(JvmtiThreadState_lock);
{- -------------------------------------------
(1) もし引数で指定されたスレッドが JvmtiThreadState を持っていれば,
JvmtiEventController::thread_ended() を呼んでメモリを開放しておく.
---------------------------------------- -}
if (thread->jvmti_thread_state() != NULL) {
// This has to happen after the thread state is removed, which is
// why it is not in post_thread_end_event like its complement
// Maybe both these functions should be rolled into the posts?
JvmtiEventController::thread_ended(thread);
}
}
This document is available under the GNU GENERAL PUBLIC LICENSE Version 2.