hotspot/src/share/vm/interpreter/templateInterpreter.cpp
// switch from the dispatch table which notices safepoints back to the
// normal dispatch table. So that we can notice single stepping points,
// keep the safepoint dispatch table if we are single stepping in JVMTI.
// Note that the should_post_single_step test is exactly as fast as the
// JvmtiExport::_enabled test and covers both cases.
void TemplateInterpreter::ignore_safepoints() {
{- -------------------------------------------
(1) (既に変更済みであれば, 何もしない)
---------------------------------------- -}
if (_notice_safepoints) {
{- -------------------------------------------
(1) (JVMTI の SingleStep イベントが有効になっている場合は, 元に戻す必要は無いので, 何もしない.
See: [here](no7882EDP.html) for details)
---------------------------------------- -}
if (!JvmtiExport::should_post_single_step()) {
{- -------------------------------------------
(1) copy_table() を呼んで, _normal_table の内容を _active_table にコピーする.
---------------------------------------- -}
// switch to normal dispatch table
_notice_safepoints = false;
copy_table((address*)&_normal_table, (address*)&_active_table, sizeof(_active_table) / sizeof(address));
}
}
}
This document is available under the GNU GENERAL PUBLIC LICENSE Version 2.