Top


定義場所(file name)

hotspot/src/cpu/x86/vm/templateTable_x86_64.cpp

名前(function name)

void TemplateTable::invokevirtual(int byte_no) {

本体部(body)

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

      transition(vtos, vtos);

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

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

  {- -------------------------------------------
  (1) コード生成:
      「呼び出しに必要な前準備を行う」
      ---------------------------------------- -}

      prepare_invoke(rbx, noreg, byte_no);

  {- -------------------------------------------
  (1) (この時点では, 各レジスタには以下の値が入っているはず)
      ---------------------------------------- -}

      // rbx: index
      // rcx: receiver
      // rdx: flags

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

      invokevirtual_helper(rbx, rcx, rdx);
    }

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