Top


定義場所(file name)

hotspot/src/share/vm/prims/jvmtiExport.cpp

名前(function name)

void JvmtiExport::cleanup_thread(JavaThread* thread) {

本体部(body)

  {- -------------------------------------------
  (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.