hotspot/src/share/vm/interpreter/linkResolver.cpp
void LinkResolver::resolve_invokespecial(CallInfo& result, constantPoolHandle pool, int index, TRAPS) {
{- -------------------------------------------
(1) (変数宣言など)
---------------------------------------- -}
KlassHandle resolved_klass;
Symbol* method_name = NULL;
Symbol* method_signature = NULL;
KlassHandle current_klass;
{- -------------------------------------------
(1) LinkResolver::resolve_pool() を呼んで,
処理対象のメソッドを含んでいるクラス, 及びメソッドのその他の情報を取得する
(resolved_klass 局所変数, 及び method_name, method_signature, current_klass 局所変数にセットされる).
---------------------------------------- -}
resolve_pool(resolved_klass, method_name, method_signature, current_klass, pool, index, CHECK);
{- -------------------------------------------
(1) LinkResolver::resolve_special_call() を呼んで,
対象メソッドを表す CallInfo 情報を取得する
(result 引数にセットされて返される).
---------------------------------------- -}
resolve_special_call(result, resolved_klass, method_name, method_signature, current_klass, true, CHECK);
}
This document is available under the GNU GENERAL PUBLIC LICENSE Version 2.