Top


定義場所(file name)

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

名前(function name)

GCTaskThread::GCTaskThread(GCTaskManager* manager,
                           uint           which,
                           uint           processor_id) :

本体部(body)

  {- -------------------------------------------
  (1) 
      ---------------------------------------- -}

      _manager(manager),
      _processor_id(processor_id),
      _time_stamps(NULL),
      _time_stamp_index(0)
    {

  {- -------------------------------------------
  (1) os::create_thread() を呼んで, 新しいスレッドを生成する.
      (失敗したら vm_exit_out_of_memory())
      ---------------------------------------- -}

      if (!os::create_thread(this, os::pgc_thread))
        vm_exit_out_of_memory(0, "Cannot create GC thread. Out of system resources.");

  {- -------------------------------------------
  (1) (トレース出力用の処理) (See: GCTaskTimeStamp)
      ---------------------------------------- -}

      if (PrintGCTaskTimeStamps) {
        _time_stamps = NEW_C_HEAP_ARRAY(GCTaskTimeStamp, GCTaskTimeStampEntries );

        guarantee(_time_stamps != NULL, "Sanity");
      }

  {- -------------------------------------------
  (1) フィールドの初期化
      ---------------------------------------- -}

      set_id(which);
      set_name("GC task thread#%d (ParallelGC)", which);
    }

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