(See: JVMTI 仕様)
内部実装としては JvmtiAgentThread クラスが使用される (See: JvmtiAgentThread).
JvmtiEnv::RunAgentThread() -> (1) 新しい JvmtiAgentThread オブジェクトを生成する -> JvmtiAgentThread::JvmtiAgentThread() (<= なお, エントリポイントとしては JvmtiAgentThread::start_function_wrapper() 関数が指定されている) -> JavaThread::JavaThread() -> (See: here for details) (1) 生成した JvmtiAgentThread オブジェクトを初期化する -> java_lang_Thread::set_thread() -> java_lang_Thread::set_priority() -> java_lang_Thread::set_daemon() -> JavaThread::set_threadObj() -> Threads::add() (1) 生成した JvmtiAgentThread の実行を開始させる. -> Thread::start() -> (See: here for details)
JvmtiAgentThread::start_function_wrapper() -> JvmtiAgentThread::call_start_function() -> コンストラクタ引数で指定された関数(= ユーザーが RunAgentThread() で指定した関数) を呼び出す.
See: here for details
See: here for details
See: here for details
See: here for details
See: here for details
See: here for details
See: here for details
See: here for details
See: here for details
This document is available under the GNU GENERAL PUBLIC LICENSE Version 2.