63 if (_process_strong_tasks == NULL || !_process_strong_tasks->valid()) { |
63 if (_process_strong_tasks == NULL || !_process_strong_tasks->valid()) { |
64 vm_exit_during_initialization("Failed necessary allocation."); |
64 vm_exit_during_initialization("Failed necessary allocation."); |
65 } |
65 } |
66 _sh = this; // ch is static, should be set only once. |
66 _sh = this; // ch is static, should be set only once. |
67 if ((UseParNewGC || |
67 if ((UseParNewGC || |
68 (UseConcMarkSweepGC && CMSParallelRemarkEnabled) || |
68 (UseConcMarkSweepGC && (CMSParallelInitialMarkEnabled || |
|
69 CMSParallelRemarkEnabled)) || |
69 UseG1GC) && |
70 UseG1GC) && |
70 ParallelGCThreads > 0) { |
71 ParallelGCThreads > 0) { |
71 _workers = new FlexibleWorkGang("Parallel GC Threads", ParallelGCThreads, |
72 _workers = new FlexibleWorkGang("Parallel GC Threads", ParallelGCThreads, |
72 /* are_GC_task_threads */true, |
73 /* are_GC_task_threads */true, |
73 /* are_ConcurrentGC_threads */false); |
74 /* are_ConcurrentGC_threads */false); |