Top


定義場所(file name)

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

名前(function name)

void UpdateDensePrefixTask::do_it(GCTaskManager* manager, uint which) {

本体部(body)

  {- -------------------------------------------
  (1) (トレース出力)
      ---------------------------------------- -}

      NOT_PRODUCT(TraceTime tm("UpdateDensePrefixTask",
        PrintGCDetails && TraceParallelOldGCTasks, true, gclog_or_tty));

  {- -------------------------------------------
  (1) ParCompactionManager::gc_thread_compaction_manager() で, 
      これを実行している GCTaskThread 用の ParCompactionManager オブジェクトを取得する.
      ---------------------------------------- -}

      ParCompactionManager* cm =
        ParCompactionManager::gc_thread_compaction_manager(which);

  {- -------------------------------------------
  (1) PSParallelCompact::update_and_deadwood_in_dense_prefix() を呼んで, 
      dense prefix 部分について
      live オブジェクト内のポインタの修正処理, 及び 
      dead オブジェクトをダミーオブジェクトで上書きする処理を行う.
      ---------------------------------------- -}

      PSParallelCompact::update_and_deadwood_in_dense_prefix(cm,
                                                             _space_id,
                                                             _region_index_start,
                                                             _region_index_end);
    }

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