Top


定義場所(file name)

hotspot/src/share/vm/runtime/frame.cpp

名前(function name)

void frame::gc_epilogue() {

本体部(body)

  {- -------------------------------------------
  (1) もしこのフレームがインタープリタのフレームであれば, 
      フレーム中の bcp (byte code pointer, バイトコードを指すポインタ) を格納している箇所については
      GC 前に frame::gc_prologue() で bcp から bci へと変更していたので
      元に戻しておく.
      (frame::interpreter_frame_bcp() で bci から bcp に変換した値を取得し, 
       それを frame::interpreter_frame_set_bcx() で元の場所に書き戻している.)    
      ---------------------------------------- -}

      if (is_interpreted_frame()) {
        // set bcx back to bcp for interpreter
        interpreter_frame_set_bcx((intptr_t)interpreter_frame_bcp());
      }

  {- -------------------------------------------
  (1) 環境依存(platform depenent)な処理が必要かもしれないので, 
      frame::pd_gc_epilog() も呼び出しておく.
      ---------------------------------------- -}

      // call processor specific epilog function
      pd_gc_epilog();
    }

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