hotspot/src/share/vm/runtime/frame.cpp
void frame::gc_epilogue() {
  {- -------------------------------------------
  (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.