Top


定義場所(file name)

hotspot/src/share/vm/runtime/interfaceSupport.hpp

名前(function name)

  ~ThreadInVMfromJava()  {

本体部(body)

  {- -------------------------------------------
  (1) ThreadStateTransition::trans() を呼び出して, JavaThreadState を _thread_in_Java に変更する.
      (Safepoint 処理が開始されていた場合は, この中でブロックする)
      ---------------------------------------- -}

        trans(_thread_in_vm, _thread_in_Java);

  {- -------------------------------------------
  (1) JavaThread::has_special_runtime_exit_condition() を呼んで
      処理対象のスレッドが例外を出していたりサスペンドされたりしていないかチェックしておく.
      もし何か起きていたら, JavaThread::handle_special_runtime_exit_condition() を呼んで対処する.

      (なお, ThreadInVMfromJavaNoAsyncException とは異なり, 
       JavaThread::handle_special_runtime_exit_condition() は, 引数を指定せずに呼び出す.
       See: ThreadInVMfromJavaNoAsyncException::~ThreadInVMfromJavaNoAsyncException())
      ---------------------------------------- -}

        // Check for pending. async. exceptions or suspends.
        if (_thread->has_special_runtime_exit_condition()) _thread->handle_special_runtime_exit_condition();
      }

This document is available under the GNU GENERAL PUBLIC LICENSE Version 2.