hotspot/src/share/vm/prims/jvmtiEnvBase.cpp
// perform initializations that must occur before any JVMTI environments
// are released but which should only be initialized once (no matter
// how many environments are created).
void
JvmtiEnvBase::globally_initialize() {
{- -------------------------------------------
(1) (assert)
---------------------------------------- -}
assert(Threads::number_of_threads() == 0 || JvmtiThreadState_lock->is_locked(), "sanity check");
assert(_globally_initialized == false, "bad call");
{- -------------------------------------------
(1) JVMTI の capability(権限)管理設定の初期化を行う.
---------------------------------------- -}
JvmtiManageCapabilities::initialize();
{- -------------------------------------------
(1) JvmtiExtensions::register_extensions() で,
HotSpot 独自の関数/イベントの初期化を行う.
---------------------------------------- -}
#ifndef JVMTI_KERNEL
// register extension functions and events
JvmtiExtensions::register_extensions();
#endif // !JVMTI_KERNEL
{- -------------------------------------------
(1) (デバッグ用の処理) (#ifdef JVMTI_TRACE 時にのみ実行)
---------------------------------------- -}
#ifdef JVMTI_TRACE
JvmtiTrace::initialize();
#endif
{- -------------------------------------------
(1) 大域的な初期化が終わった印を付けておく.
---------------------------------------- -}
_globally_initialized = true;
}
This document is available under the GNU GENERAL PUBLIC LICENSE Version 2.