79 _mark_bitmap = mbm; |
79 _mark_bitmap = mbm; |
80 |
80 |
81 uint parallel_gc_threads = PSParallelCompact::gc_task_manager()->workers(); |
81 uint parallel_gc_threads = PSParallelCompact::gc_task_manager()->workers(); |
82 |
82 |
83 assert(_manager_array == NULL, "Attempt to initialize twice"); |
83 assert(_manager_array == NULL, "Attempt to initialize twice"); |
84 _manager_array = NEW_C_HEAP_ARRAY(ParCompactionManager*, parallel_gc_threads+1 ); |
84 _manager_array = NEW_C_HEAP_ARRAY(ParCompactionManager*, parallel_gc_threads+1, mtGC); |
85 guarantee(_manager_array != NULL, "Could not allocate manager_array"); |
85 guarantee(_manager_array != NULL, "Could not allocate manager_array"); |
86 |
86 |
87 _region_list = NEW_C_HEAP_ARRAY(RegionTaskQueue*, |
87 _region_list = NEW_C_HEAP_ARRAY(RegionTaskQueue*, |
88 parallel_gc_threads+1); |
88 parallel_gc_threads+1, mtGC); |
89 guarantee(_region_list != NULL, "Could not initialize promotion manager"); |
89 guarantee(_region_list != NULL, "Could not initialize promotion manager"); |
90 |
90 |
91 _recycled_stack_index = NEW_C_HEAP_ARRAY(uint, parallel_gc_threads); |
91 _recycled_stack_index = NEW_C_HEAP_ARRAY(uint, parallel_gc_threads, mtGC); |
92 |
92 |
93 // parallel_gc-threads + 1 to be consistent with the number of |
93 // parallel_gc-threads + 1 to be consistent with the number of |
94 // compaction managers. |
94 // compaction managers. |
95 for(uint i=0; i<parallel_gc_threads + 1; i++) { |
95 for(uint i=0; i<parallel_gc_threads + 1; i++) { |
96 _region_list[i] = new RegionTaskQueue(); |
96 _region_list[i] = new RegionTaskQueue(); |