< prev index next >
src/hotspot/share/gc/cms/cmsHeap.hpp
Print this page
rev 48034 : 8191564: Refactor GC related servicability code into GC specific subclasses
Reviewed-by: ehelin, eosterlund
*** 27,39 ****
--- 27,42 ----
#include "gc/cms/concurrentMarkSweepGeneration.hpp"
#include "gc/shared/collectedHeap.hpp"
#include "gc/shared/gcCause.hpp"
#include "gc/shared/genCollectedHeap.hpp"
+ #include "utilities/growableArray.hpp"
class CLDClosure;
class GenCollectorPolicy;
+ class GCMemoryManager;
+ class MemoryPool;
class OopsInGenClosure;
class outputStream;
class StrongRootsScope;
class ThreadClosure;
class WorkGang;
*** 78,87 ****
--- 81,93 ----
void stop();
void safepoint_synchronize_begin();
void safepoint_synchronize_end();
+ virtual GrowableArray<GCMemoryManager*> memory_managers();
+ virtual GrowableArray<MemoryPool*> memory_pools();
+
// If "young_gen_as_roots" is false, younger generations are
// not scanned as roots; in this case, the caller must be arranging to
// scan the younger generations itself. (For example, a generation might
// explicitly mark reachable objects in younger generations, to avoid
// excess storage retention.)
*** 90,105 ****
--- 96,118 ----
ScanningOption so,
bool only_strong_roots,
OopsInGenClosure* root_closure,
CLDClosure* cld_closure);
+ GCMemoryManager* old_manager() const { return _old_manager; }
+
private:
WorkGang* _workers;
+ MemoryPool* _eden_pool;
+ MemoryPool* _survivor_pool;
+ MemoryPool* _old_pool;
virtual void gc_prologue(bool full);
virtual void gc_epilogue(bool full);
+ virtual void initialize_serviceability();
+
// Accessor for memory state verification support
NOT_PRODUCT(
virtual size_t skip_header_HeapWords() { return CMSCollector::skip_header_HeapWords(); }
)
< prev index next >