JNI の GetEnv() 関数は, 引数で指定されたバージョンに応じて以下のどれかを返す.
指定されたバージョンが JVMTI のものである場合:
JvmtiExport::get_jvmti_interface() で jvmtiEnv を取得してリターン (See: here for details)
指定されたバージョンが JNI のものである場合:
JavaThread::jni_environment() で JNIEnv を取得してリターン.
それ以外の場合:
エラー
jni_GetEnv() -> JvmtiExport::is_jvmti_version() -> (See: here for details) -> JvmtiExport::get_jvmti_interface() -> (See: here for details) -> Threads::is_supported_jni_version_including_1_1() -> Threads::is_supported_jni_version() -> JavaThread::jni_environment()
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.