Top


定義場所(file name)

hotspot/src/share/vm/gc_implementation/parallelScavenge/psParallelCompact.cpp

名前(function name)

void PSParallelCompact::compact_perm(ParCompactionManager* cm) {

本体部(body)

  {- -------------------------------------------
  (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.