hotspot/src/share/vm/prims/jvmtiImpl.cpp
void VM_ChangeBreakpoints::doit() {
{- -------------------------------------------
(1) (この関数の処理は, コンストラクタ引数の値(_operation)に応じて分岐)
---------------------------------------- -}
switch (_operation) {
{- -------------------------------------------
(1) (以下は, コンストラクタ引数が VM_ChangeBreakpoints::SET_BREAKPOINT だった場合)
JvmtiBreakpoints::set_at_safepoint() を呼んで, 指定された箇所をブレークポイントにする.
---------------------------------------- -}
case SET_BREAKPOINT:
_breakpoints->set_at_safepoint(*_bp);
break;
{- -------------------------------------------
(1) (以下は, コンストラクタ引数が VM_ChangeBreakpoints::CLEAR_BREAKPOINT だった場合)
JvmtiBreakpoints::clear_at_safepoint() を呼んで, 指定された箇所をブレークポイントから元に戻す.
---------------------------------------- -}
case CLEAR_BREAKPOINT:
_breakpoints->clear_at_safepoint(*_bp);
break;
{- -------------------------------------------
(1) (以下は, コンストラクタ引数が VM_ChangeBreakpoints::CLEAR_ALL_BREAKPOINT だった場合)
JvmtiBreakpoints::clearall_at_safepoint() を呼んで, 全ての箇所をブレークポイントから元に戻す.
---------------------------------------- -}
case CLEAR_ALL_BREAKPOINT:
_breakpoints->clearall_at_safepoint();
break;
{- -------------------------------------------
(1) (以下は決して到達しないパス)
---------------------------------------- -}
default:
assert(false, "Unknown operation");
}
}
This document is available under the GNU GENERAL PUBLIC LICENSE Version 2.