hotspot/src/share/vm/runtime/sharedRuntime.cpp
(なぜか #ifndef PRODUCT が二重にかかっているが... #TODO)
#ifndef PRODUCT
JRT_ENTRY(intptr_t, SharedRuntime::trace_bytecode(JavaThread* thread, intptr_t preserve_this_value, intptr_t tos, intptr_t tos2))
{- -------------------------------------------
(1) (変数宣言など)
---------------------------------------- -}
const frame f = thread->last_frame();
{- -------------------------------------------
(1) (assert)
---------------------------------------- -}
assert(f.is_interpreted_frame(), "must be an interpreted frame");
{- -------------------------------------------
(1) BytecodeTracer::trace() を呼び出すだけ.
---------------------------------------- -}
#ifndef PRODUCT
methodHandle mh(THREAD, f.interpreter_frame_method());
BytecodeTracer::trace(mh, f.interpreter_frame_bcp(), tos, tos2);
#endif // !PRODUCT
This document is available under the GNU GENERAL PUBLIC LICENSE Version 2.