hotspot/src/share/vm/memory/genCollectedHeap.cpp
#define GCH_SINCE_SAVE_MARKS_ITERATE_DEFN(OopClosureType, nv_suffix) \
void GenCollectedHeap:: \
oop_since_save_marks_iterate(int level, \
OopClosureType* cur, \
OopClosureType* older) { \
{- -------------------------------------------
(1) level 引数で指定された世代の Generation, 及びそれより上の世代の Generation に対して,
Generation::oop_since_save_marks_iterate_v() または Generation::oop_since_save_marks_iterate_nv()
(を各 Generation クラスのサブクラスがオーバーライドしたもの) を呼んで,
処理したオブジェクトから再帰的にたどれる範囲全てを処理する.
---------------------------------------- -}
_gens[level]->oop_since_save_marks_iterate##nv_suffix(cur); \
for (int i = level+1; i < n_gens(); i++) { \
_gens[i]->oop_since_save_marks_iterate##nv_suffix(older); \
} \
{- -------------------------------------------
(1) Perm 領域を表す Generation に対しても,
Generation::oop_since_save_marks_iterate_v() または Generation::oop_since_save_marks_iterate_nv()
(を Generation クラスの対応するサブクラスがオーバーライドしたもの) を呼んで,
処理したオブジェクトから再帰的にたどれる範囲全てを処理する.
---------------------------------------- -}
perm_gen()->oop_since_save_marks_iterate##nv_suffix(older); \
}
This document is available under the GNU GENERAL PUBLIC LICENSE Version 2.