hotspot/src/share/vm/prims/jni.cpp
_JNI_IMPORT_OR_EXPORT_ jint JNICALL JNI_GetCreatedJavaVMs(JavaVM **vm_buf, jsize bufLen, jsize *numVMs) {
{- -------------------------------------------
(1) JNIWrapper はクラッシュを引き起こすとのことで, ここではコメントアウトされている.
---------------------------------------- -}
// See bug 4367188, the wrapper can sometimes cause VM crashes
// JNIWrapper("GetCreatedJavaVMs");
{- -------------------------------------------
(1) (DTrace のフック点)
---------------------------------------- -}
HS_DTRACE_PROBE3(hotspot_jni, GetCreatedJavaVMs__entry, \
vm_buf, bufLen, numVMs);
{- -------------------------------------------
(1) もし HotSpot が構築されていれば(vm_created が true なら),
引数の numVMs に (それが NULL でないなら) 1 を書き込み, 引数の vm_buf に (bufLen が 0 より大きければ) main_vm のポインタを書き込む.
逆に, HotSpot が構築されていなければ, 引数の numVMs に (それが NULL でないなら) 0 を書き込む.
---------------------------------------- -}
if (vm_created) {
if (numVMs != NULL) *numVMs = 1;
if (bufLen > 0) *vm_buf = (JavaVM *)(&main_vm);
} else {
if (numVMs != NULL) *numVMs = 0;
}
{- -------------------------------------------
(1) (DTrace のフック点)
---------------------------------------- -}
HS_DTRACE_PROBE1(hotspot_jni, GetCreatedJavaVMs__return, JNI_OK);
{- -------------------------------------------
(1) リターン
---------------------------------------- -}
return JNI_OK;
}
This document is available under the GNU GENERAL PUBLIC LICENSE Version 2.