43 ParCompactionManager** ParCompactionManager::_manager_array = NULL;
44
45 RegionTaskQueue** ParCompactionManager::_region_list = NULL;
46
47 OopTaskQueueSet* ParCompactionManager::_stack_array = NULL;
48 ParCompactionManager::ObjArrayTaskQueueSet*
49 ParCompactionManager::_objarray_queues = NULL;
50 ObjectStartArray* ParCompactionManager::_start_array = NULL;
51 ParMarkBitMap* ParCompactionManager::_mark_bitmap = NULL;
52 RegionTaskQueueSet* ParCompactionManager::_region_array = NULL;
53
54 uint* ParCompactionManager::_recycled_stack_index = NULL;
55 int ParCompactionManager::_recycled_top = -1;
56 int ParCompactionManager::_recycled_bottom = -1;
57
58 ParCompactionManager::ParCompactionManager() :
59 _action(CopyAndUpdate),
60 _region_stack(NULL),
61 _region_stack_index((uint)max_uintx) {
62
63 ParallelScavengeHeap* heap = (ParallelScavengeHeap*)Universe::heap();
64 assert(heap->kind() == CollectedHeap::ParallelScavengeHeap, "Sanity");
65
66 _old_gen = heap->old_gen();
67 _start_array = old_gen()->start_array();
68
69 marking_stack()->initialize();
70 _objarray_stack.initialize();
71 }
72
73 ParCompactionManager::~ParCompactionManager() {
74 delete _recycled_stack_index;
75 }
76
77 void ParCompactionManager::initialize(ParMarkBitMap* mbm) {
78 assert(PSParallelCompact::gc_task_manager() != NULL,
79 "Needed for initialization");
80
81 _mark_bitmap = mbm;
82
83 uint parallel_gc_threads = PSParallelCompact::gc_task_manager()->workers();
84
|
43 ParCompactionManager** ParCompactionManager::_manager_array = NULL;
44
45 RegionTaskQueue** ParCompactionManager::_region_list = NULL;
46
47 OopTaskQueueSet* ParCompactionManager::_stack_array = NULL;
48 ParCompactionManager::ObjArrayTaskQueueSet*
49 ParCompactionManager::_objarray_queues = NULL;
50 ObjectStartArray* ParCompactionManager::_start_array = NULL;
51 ParMarkBitMap* ParCompactionManager::_mark_bitmap = NULL;
52 RegionTaskQueueSet* ParCompactionManager::_region_array = NULL;
53
54 uint* ParCompactionManager::_recycled_stack_index = NULL;
55 int ParCompactionManager::_recycled_top = -1;
56 int ParCompactionManager::_recycled_bottom = -1;
57
58 ParCompactionManager::ParCompactionManager() :
59 _action(CopyAndUpdate),
60 _region_stack(NULL),
61 _region_stack_index((uint)max_uintx) {
62
63 ParallelScavengeHeap* heap = ParallelScavengeHeap::heap();
64
65 _old_gen = heap->old_gen();
66 _start_array = old_gen()->start_array();
67
68 marking_stack()->initialize();
69 _objarray_stack.initialize();
70 }
71
72 ParCompactionManager::~ParCompactionManager() {
73 delete _recycled_stack_index;
74 }
75
76 void ParCompactionManager::initialize(ParMarkBitMap* mbm) {
77 assert(PSParallelCompact::gc_task_manager() != NULL,
78 "Needed for initialization");
79
80 _mark_bitmap = mbm;
81
82 uint parallel_gc_threads = PSParallelCompact::gc_task_manager()->workers();
83
|