69 GCH_PS_FlatProfiler_oops_do,
70 GCH_PS_Management_oops_do,
71 GCH_PS_SystemDictionary_oops_do,
72 GCH_PS_ClassLoaderDataGraph_oops_do,
73 GCH_PS_jvmti_oops_do,
74 GCH_PS_CodeCache_oops_do,
75 GCH_PS_younger_gens,
76 // Leave this one last.
77 GCH_PS_NumElements
78 };
79
80 GenCollectedHeap::GenCollectedHeap(GenCollectorPolicy *policy) :
81 CollectedHeap(),
82 _rem_set(NULL),
83 _gen_policy(policy),
84 _process_strong_tasks(new SubTasksDone(GCH_PS_NumElements)),
85 _full_collections_completed(0)
86 {
87 assert(policy != NULL, "Sanity check");
88 if (UseConcMarkSweepGC) {
89 _workers = new FlexibleWorkGang("GC Thread", ParallelGCThreads,
90 /* are_GC_task_threads */true,
91 /* are_ConcurrentGC_threads */false);
92 _workers->initialize_workers();
93 } else {
94 // Serial GC does not use workers.
95 _workers = NULL;
96 }
97 }
98
99 jint GenCollectedHeap::initialize() {
100 CollectedHeap::pre_initialize();
101
102 // While there are no constraints in the GC code that HeapWordSize
103 // be any particular value, there are multiple other areas in the
104 // system which believe this to be true (e.g. oop->object_size in some
105 // cases incorrectly returns the size in wordSize units rather than
106 // HeapWordSize).
107 guarantee(HeapWordSize == wordSize, "HeapWordSize must equal wordSize");
108
109 // Allocate space for the heap.
|
69 GCH_PS_FlatProfiler_oops_do,
70 GCH_PS_Management_oops_do,
71 GCH_PS_SystemDictionary_oops_do,
72 GCH_PS_ClassLoaderDataGraph_oops_do,
73 GCH_PS_jvmti_oops_do,
74 GCH_PS_CodeCache_oops_do,
75 GCH_PS_younger_gens,
76 // Leave this one last.
77 GCH_PS_NumElements
78 };
79
80 GenCollectedHeap::GenCollectedHeap(GenCollectorPolicy *policy) :
81 CollectedHeap(),
82 _rem_set(NULL),
83 _gen_policy(policy),
84 _process_strong_tasks(new SubTasksDone(GCH_PS_NumElements)),
85 _full_collections_completed(0)
86 {
87 assert(policy != NULL, "Sanity check");
88 if (UseConcMarkSweepGC) {
89 _workers = new WorkGang("GC Thread", ParallelGCThreads,
90 /* are_GC_task_threads */true,
91 /* are_ConcurrentGC_threads */false);
92 _workers->initialize_workers();
93 } else {
94 // Serial GC does not use workers.
95 _workers = NULL;
96 }
97 }
98
99 jint GenCollectedHeap::initialize() {
100 CollectedHeap::pre_initialize();
101
102 // While there are no constraints in the GC code that HeapWordSize
103 // be any particular value, there are multiple other areas in the
104 // system which believe this to be true (e.g. oop->object_size in some
105 // cases incorrectly returns the size in wordSize units rather than
106 // HeapWordSize).
107 guarantee(HeapWordSize == wordSize, "HeapWordSize must equal wordSize");
108
109 // Allocate space for the heap.
|