hotspot/src/share/vm/prims/jvmtiEventController.cpp
void
JvmtiEventControllerPrivate::env_initialize(JvmtiEnvBase *env) {
{- -------------------------------------------
(1) (変数宣言など)
---------------------------------------- -}
assert(Threads::number_of_threads() == 0 || JvmtiThreadState_lock->is_locked(), "sanity check");
{- -------------------------------------------
(1) (トレース出力)
---------------------------------------- -}
EC_TRACE(("JVMTI [*] # env initialize"));
{- -------------------------------------------
(1) JvmtiEventControllerPrivate::event_init() で初期化を行う.
---------------------------------------- -}
if (JvmtiEnvBase::is_vm_live()) {
// if we didn't initialize event info already (this is a late
// launched environment), do it now.
event_init();
}
{- -------------------------------------------
(1) JvmtiEnvBase::initialize() で初期化を行う.
---------------------------------------- -}
env->initialize();
{- -------------------------------------------
(1) 全ての JvmtiThreadState に対して JvmtiThreadState::add_env() を呼び出し,
env 引数に対応する JvmtiEnvThreadState の
作成と登録を行う.
---------------------------------------- -}
// add the JvmtiEnvThreadState to each JvmtiThreadState
for (JvmtiThreadState *state = JvmtiThreadState::first(); state != NULL; state = state->next()) {
state->add_env(env);
assert((JvmtiEnv*)(state->env_thread_state(env)->get_env()) == env, "sanity check");
}
{- -------------------------------------------
(1) JvmtiEventControllerPrivate::recompute_enabled() を呼んで,
"truly enabled event" 情報を更新する.
---------------------------------------- -}
JvmtiEventControllerPrivate::recompute_enabled();
}
This document is available under the GNU GENERAL PUBLIC LICENSE Version 2.