GetJavaVM
,main_vm という変数に JNIInvokeInterface_ 型の値へのポインタが格納されているため, それをリターンするだけ.
((cite: hotspot/src/share/vm/prims/jni.cpp))
struct JavaVM_ main_vm = {&jni_InvokeInterface};
jni_InvokeInterface は以下のように定義されている.
((cite: hotspot/src/share/vm/prims/jni.cpp))
const struct JNIInvokeInterface_ jni_InvokeInterface = {
NULL,
NULL,
NULL,
jni_DestroyJavaVM,
jni_AttachCurrentThread,
jni_DetachCurrentThread,
jni_GetEnv,
jni_AttachCurrentThreadAsDaemon
};
jni_GetJavaVM()
See: here for details
This document is available under the GNU GENERAL PUBLIC LICENSE Version 2.