Top


定義場所(file name)

hotspot/src/cpu/sparc/vm/templateTable_sparc.cpp

名前(function name)

void TemplateTable::fast_invokevfinal(int byte_no) {

本体部(body)

  {- -------------------------------------------
  (1) (assert) (See: TemplateTable::transition())
      ---------------------------------------- -}

      transition(vtos, vtos);

  {- -------------------------------------------
  (1) (assert)
      ---------------------------------------- -}

      assert(byte_no == f2_byte, "use this argument");

  {- -------------------------------------------
  (1) コード生成:
      「対応する methodOop の情報を CPCache から取得し, G5_method レジスタに設定する.
        (なお, この時点で resolve が終わってなければ resolve も行う)」
      ---------------------------------------- -}

      load_invoke_cp_cache_entry(byte_no, G5_method, noreg, Lscratch, true,
                                 /*is_invokevfinal*/true, false);

  {- -------------------------------------------
  (1) コード生成:
      「SP の値を O5_savedSP レジスタに退避しておく」
      ---------------------------------------- -}

      __ mov(SP, O5_savedSP); // record SP that we wanted the callee to restore

  {- -------------------------------------------
  (1) コード生成:
      「実際の呼び出し処理を行う」
      ---------------------------------------- -}

      invokevfinal_helper(G3_scratch, Lscratch);
    }

This document is available under the GNU GENERAL PUBLIC LICENSE Version 2.