Top


定義場所(file name)

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

名前(function name)

void frame::gc_prologue() {

本体部(body)

  {- -------------------------------------------
  (1) もしこのフレームがインタープリタのフレームであれば, 
      フレーム中の bcp (byte code pointer, バイトコードを指すポインタ) を格納している箇所については
      methodOop が GC で移動すると不正になってしまうので, 
      代わりに bci (byte code index, そのバイトコードのメソッド先頭からのオフセット値) に変えておく.
      (frame::interpreter_frame_bci() で bcp から bci に変換した値を取得し, 
       それを frame::interpreter_frame_set_bcx() で元の場所に書き戻している.)
      ---------------------------------------- -}

      if (is_interpreted_frame()) {
        // set bcx to bci to become methodOop position independent during GC
        interpreter_frame_set_bcx(interpreter_frame_bci());
      }
    }

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