< prev index next >
src/hotspot/share/gc/g1/g1CollectedHeap.hpp
Print this page
rev 48034 : 8191564: Refactor GC related servicability code into GC specific subclasses
Reviewed-by: ehelin, eosterlund
@@ -48,10 +48,11 @@
#include "gc/shared/collectedHeap.hpp"
#include "gc/shared/gcHeapSummary.hpp"
#include "gc/shared/plab.hpp"
#include "gc/shared/preservedMarks.hpp"
#include "memory/memRegion.hpp"
+#include "services/memoryManager.hpp"
#include "utilities/stack.hpp"
// A "G1CollectedHeap" is an implementation of a java heap for HotSpot.
// It uses the "Garbage First" heap organization and algorithm, which
// may combine concurrent marking with parallel, incremental compaction of
@@ -62,10 +63,11 @@
class HRRSCleanupTask;
class GenerationSpec;
class G1ParScanThreadState;
class G1ParScanThreadStateSet;
class G1ParScanThreadState;
+class MemoryPool;
class ObjectClosure;
class SpaceClosure;
class CompactibleSpaceClosure;
class Space;
class G1CollectionSet;
@@ -147,10 +149,17 @@
G1YoungRemSetSamplingThread* _young_gen_sampling_thread;
WorkGang* _workers;
G1CollectorPolicy* _collector_policy;
+ GCMemoryManager _memory_manager;
+ GCMemoryManager _full_gc_memory_manager;
+
+ MemoryPool* _eden_pool;
+ MemoryPool* _survivor_pool;
+ MemoryPool* _old_pool;
+
static size_t _humongous_object_threshold_in_words;
// The secondary free list which contains regions that have been
// freed up during the cleanup process. This will be appended to
// the master free list when appropriate.
@@ -160,10 +169,12 @@
HeapRegionSet _old_set;
// It keeps track of the humongous regions.
HeapRegionSet _humongous_set;
+ virtual void initialize_serviceability();
+
void eagerly_reclaim_humongous_regions();
// Start a new incremental collection set for the next pause.
void start_new_collection_set();
// The number of regions we could create by expansion.
@@ -1004,10 +1015,13 @@
virtual CollectorPolicy* collector_policy() const;
// Adaptive size policy. No such thing for g1.
virtual AdaptiveSizePolicy* size_policy() { return NULL; }
+ virtual GrowableArray<GCMemoryManager*> memory_managers();
+ virtual GrowableArray<MemoryPool*> memory_pools();
+
// The rem set and barrier set.
G1RemSet* g1_rem_set() const { return _g1_rem_set; }
// Try to minimize the remembered set.
void scrub_rem_set();
< prev index next >