Top


定義場所(file name)

hotspot/src/share/vm/interpreter/linkResolver.cpp

名前(function name)

void LinkResolver::resolve_invokespecial(CallInfo& result, constantPoolHandle pool, int index, TRAPS) {

本体部(body)

  {- -------------------------------------------
  (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.