Top


定義場所(file name)

hotspot/src/share/vm/memory/defNewGeneration.cpp

説明(description)

#define DefNew_SINCE_SAVE_MARKS_DEFN(OopClosureType, nv_suffix) \
                                                                \

名前(function name)

void DefNewGeneration::                                         \
oop_since_save_marks_iterate##nv_suffix(OopClosureType* cl) {   \

本体部(body)

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

      cl->set_generation(this);                                     \

  {- -------------------------------------------
  (1) Eden 領域内のオブジェクトについて, 
      ContiguousSpace::oop_since_save_marks_iterate_v() または  
      ContiguousSpace::oop_since_save_marks_iterate_nv() を呼んで, 
      処理したオブジェクトから再帰的にたどれる範囲についても全て処理する.
      ---------------------------------------- -}

      eden()->oop_since_save_marks_iterate##nv_suffix(cl);          \

  {- -------------------------------------------
  (1) To 領域内のオブジェクトについて, 
      ContiguousSpace::oop_since_save_marks_iterate_v() または  
      ContiguousSpace::oop_since_save_marks_iterate_nv() を呼んで, 
      処理したオブジェクトから再帰的にたどれる範囲についても全て処理する.
      ---------------------------------------- -}

      to()->oop_since_save_marks_iterate##nv_suffix(cl);            \

  {- -------------------------------------------
  (1) From 領域内のオブジェクトについて, 
      ContiguousSpace::oop_since_save_marks_iterate_v() または  
      ContiguousSpace::oop_since_save_marks_iterate_nv() を呼んで, 
      処理したオブジェクトから再帰的にたどれる範囲についても全て処理する.
      ---------------------------------------- -}

      from()->oop_since_save_marks_iterate##nv_suffix(cl);          \

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

      cl->reset_generation();                                       \

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

      save_marks();                                                 \
    }

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