Up Top

Serviceability 機能 : JVMTI 処理の概要


参考(for your information)

http://openjdk.java.net/groups/hotspot/docs/jvmtiImpl.pdf : JVM Tool Interface (JVM TI) Implementation in HotSpot, Copyright 2007, Sun Microsystems, Inc

概要(Summary)

内部構造は以下のようになっている.

JVMTI エージェントの管理

JVMTI 関数のエントリポイント

jvmtiEnter.cpp jvmtiEnterTrace.cpp
テーブル jvmtiInterface_1_ jvmti_Interface jvmtiInterface_1_ jvmtiTrace_Interface
テーブルに納められる関数 jvmti_${JVMTI 仕様で定められた関数名} という名前の JNICALL 関数 jvmtiTrace_${JVMTI 仕様で定められた関数名} という名前の JNICALL 関数
実際の処理を行う関数 JvmtiEnv クラスの「JVMTI 仕様で定められた関数名」と同名のメソッド (同左)

JVMTI のイベントの通知処理

JVMTI に関する内部状態管理

Per Thread All Thread
Per Environment JvmtiEnvThreadState JvmtiEnv(JvmtiEnvBase)
All Environment JvmtiThreadState
    ((cite: hotspot/src/share/vm/runtime/thread.hpp))
     private:
      JvmtiThreadState *_jvmti_thread_state;
    ((cite: hotspot/src/share/vm/prims/jvmtiThreadState.hpp))
      // for support of JvmtiEnvThreadState
      JvmtiEnvThreadState*   _head_env_thread_state;
    ((cite: hotspot/src/share/vm/prims/jvmtiEnvThreadState.hpp))
      JvmtiEnvThreadState *_next;

Subcategories


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