hotspot/src/share/vm/interpreter/interpreter.cpp
void interpreter_init() {
{- -------------------------------------------
(1) Interpreter::initialize() を呼び出して, Interpreter を構築する.
---------------------------------------- -}
Interpreter::initialize();
{- -------------------------------------------
(1) (トレース出力用の処理) (See: BytecodeTracer)
---------------------------------------- -}
#ifndef PRODUCT
if (TraceBytecodes) BytecodeTracer::set_closure(BytecodeTracer::std_closure());
#endif // PRODUCT
{- -------------------------------------------
(1) (デバッグ用の処理)
(生成した stub を Forte::register_stub() で Forte に登録する)
(See: Forte)
---------------------------------------- -}
// need to hit every safepoint in order to call zapping routine
// register the interpreter
Forte::register_stub(
"Interpreter",
AbstractInterpreter::code()->code_start(),
AbstractInterpreter::code()->code_end()
);
{- -------------------------------------------
(1) (JVMTI のフック点)
---------------------------------------- -}
// notify JVMTI profiler
if (JvmtiExport::should_post_dynamic_code_generated()) {
JvmtiExport::post_dynamic_code_generated("Interpreter",
AbstractInterpreter::code()->code_start(),
AbstractInterpreter::code()->code_end());
}
}
This document is available under the GNU GENERAL PUBLIC LICENSE Version 2.