hotspot/src/share/vm/gc_implementation/parallelScavenge/psParallelCompact.cpp
void PSParallelCompact::compact_perm(ParCompactionManager* cm) {
{- -------------------------------------------
(1) (トレース出力)
---------------------------------------- -}
EventMark m("4 compact perm");
TraceTime tm("compact perm gen", print_phases(), true, gclog_or_tty);
// trace("4");
{- -------------------------------------------
(1) これからオブジェクトを移動させるので, offset array (start array) の中身をクリアしておく.
(start array は, この後の PSParallelCompact::move_and_update() の中で
コンパクション後の内容に合った値へと変更される)
---------------------------------------- -}
gc_heap()->perm_gen()->start_array()->reset();
{- -------------------------------------------
(1) PSParallelCompact::move_and_update() を呼んで, 実際のオブジェクトの移動処理を行う.
---------------------------------------- -}
move_and_update(cm, perm_space_id);
}
This document is available under the GNU GENERAL PUBLIC LICENSE Version 2.