hotspot/src/share/vm/prims/jvmtiImpl.cpp
JvmtiDeferredEvent JvmtiDeferredEvent::compiled_method_load_event(
nmethod* nm) {
{- -------------------------------------------
(1) 新しい JvmtiDeferredEvent を作成し, フィールドを初期化した後, リターンする.
(ついでに, 作成したイベントが ServiceThread によって通知されるまでの間に
処理対象の nmethod が削除されないよう,
nmethodLocker を使ってここで処理対象の nmethod のロックを取っている.)
---------------------------------------- -}
JvmtiDeferredEvent event = JvmtiDeferredEvent(TYPE_COMPILED_METHOD_LOAD);
event._event_data.compiled_method_load = nm;
// Keep the nmethod alive until the ServiceThread can process
// this deferred event.
nmethodLocker::lock_nmethod(nm);
return event;
}
This document is available under the GNU GENERAL PUBLIC LICENSE Version 2.