hotspot/src/share/vm/memory/genCollectedHeap.cpp
void GenCollectedHeap::generation_iterate(GenClosure* cl,
bool old_to_young) {
{- -------------------------------------------
(1) New 領域と Old 領域に対して, 引数で与えられた GenClosure の GenClosure::do_generation() を適用する.
この際, 引数の bool 値 (以下の old_to_young) に応じて以下のどちらかの順で処理を行う.
* old_to_young が true:
まず Old 領域を処理し, 次に New 領域を処理する.
* old_to_young が false:
まず New 領域を処理し, 次に Old 領域を処理する.
---------------------------------------- -}
if (old_to_young) {
for (int i = _n_gens-1; i >= 0; i--) {
cl->do_generation(_gens[i]);
}
} else {
for (int i = 0; i < _n_gens; i++) {
cl->do_generation(_gens[i]);
}
}
}
This document is available under the GNU GENERAL PUBLIC LICENSE Version 2.