Top


定義場所(file name)

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

名前(function name)

void MacroAssembler::call_VM(Register oop_result,
                             address entry_point,
                             bool check_exceptions) {

本体部(body)

  {- -------------------------------------------
  (1) コード生成:
      「一旦 call 命令でリターンアドレスをスタック状に積んだ後, 
        MacroAssembler::call_VM_helper() が生成するコードで, 指定のエントリポイントの呼び出しを行う」

      (一旦リターンアドレスを積んでいるのは, last_Java_pc を取得しやすくするため.
       詳細は MacroAssembler::call_VM_helper() 内のコメント参照)
      ---------------------------------------- -}

      Label C, E;
      call(C, relocInfo::none);
      jmp(E);

      bind(C);
      call_VM_helper(oop_result, entry_point, 0, check_exceptions);
      ret(0);

      bind(E);
    }

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