hotspot/src/share/vm/code/nmethod.cpp
jmethodID nmethod::get_and_cache_jmethod_id() {
{- -------------------------------------------
(1) _jmethod_id フィールドの値をリターンする.
なお, _jmethod_id フィールドが既に初期化済みであれば, それをリターンするだけ.
逆にまだ初期化されてなければ, methodOopDesc::jmethod_id() で新しい jmethodID を取得し,
それを _jmethod_id フィールドにセットした後でリターンする.
---------------------------------------- -}
if (_jmethod_id == NULL) {
// Cache the jmethod_id since it can no longer be looked up once the
// method itself has been marked for unloading.
_jmethod_id = method()->jmethod_id();
}
return _jmethod_id;
}
This document is available under the GNU GENERAL PUBLIC LICENSE Version 2.