hotspot/src/share/vm/gc_implementation/parallelScavenge/gcTaskThread.cpp
GCTaskThread::GCTaskThread(GCTaskManager* manager,
uint which,
uint processor_id) :
{- -------------------------------------------
(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.