< prev index next >
src/hotspot/share/gc/g1/g1CollectedHeap.cpp
Print this page
rev 48000 : [mq]: open.patch
rev 48001 : [mq]: 8191564-diff.patch
@@ -1825,10 +1825,20 @@
// Do create of the monitoring and management support so that
// values in the heap have been properly initialized.
_g1mm = new G1MonitoringSupport(this);
+ G1StringDedup::initialize();
+
+ _preserved_marks_set.init(ParallelGCThreads);
+
+ _collection_set.initialize(max_regions());
+
+ return JNI_OK;
+}
+
+void G1CollectedHeap::initialize_serviceability() {
_eden_pool = new G1EdenPool(this);
_survivor_pool = new G1SurvivorPool(this);
_old_pool = new G1OldGenPool(this);
_full_gc_memory_manager.add_pool(_eden_pool);
@@ -1836,17 +1846,10 @@
_full_gc_memory_manager.add_pool(_old_pool);
_memory_manager.add_pool(_eden_pool);
_memory_manager.add_pool(_survivor_pool);
- G1StringDedup::initialize();
-
- _preserved_marks_set.init(ParallelGCThreads);
-
- _collection_set.initialize(max_regions());
-
- return JNI_OK;
}
void G1CollectedHeap::stop() {
// Stop all concurrent threads. We do this to make sure these threads
// do not continue to execute and access resources (e.g. logging)
@@ -1870,10 +1873,11 @@
size_t G1CollectedHeap::conservative_max_heap_alignment() {
return HeapRegion::max_region_size();
}
void G1CollectedHeap::post_initialize() {
+ CollectedHeap::post_initialize();
ref_processing_init();
}
void G1CollectedHeap::ref_processing_init() {
// Reference processing in G1 currently works as follows:
< prev index next >