hotspot/src/share/vm/interpreter/linkResolver.cpp
void LinkResolver::resolve_virtual_call(CallInfo& result, Handle recv, KlassHandle receiver_klass, KlassHandle resolved_klass,
Symbol* method_name, Symbol* method_signature, KlassHandle current_klass,
bool check_access, bool check_null_and_abstract, TRAPS) {
{- -------------------------------------------
(1) (変数宣言など)
---------------------------------------- -}
methodHandle resolved_method;
{- -------------------------------------------
(1) LinkResolver::linktime_resolve_virtual_method() を呼んで,
対象メソッドの解決処理を行う.
---------------------------------------- -}
linktime_resolve_virtual_method(resolved_method, resolved_klass, method_name, method_signature, current_klass, check_access, CHECK);
{- -------------------------------------------
(1) LinkResolver::runtime_resolve_virtual_method() を呼んで,
解決結果をチェックし, 問題なければ result 引数に結果をセットする.
---------------------------------------- -}
runtime_resolve_virtual_method(result, resolved_method, resolved_klass, recv, receiver_klass, check_null_and_abstract, CHECK);
}
This document is available under the GNU GENERAL PUBLIC LICENSE Version 2.