< prev index next >
src/hotspot/share/gc/shared/collectedHeap.hpp
Print this page
rev 48034 : 8191564: Refactor GC related servicability code into GC specific subclasses
Reviewed-by: ehelin, eosterlund
*** 32,41 ****
--- 32,42 ----
#include "runtime/perfData.hpp"
#include "runtime/safepoint.hpp"
#include "utilities/debug.hpp"
#include "utilities/events.hpp"
#include "utilities/formatBuffer.hpp"
+ #include "utilities/growableArray.hpp"
// A "CollectedHeap" is an implementation of a java heap for HotSpot. This
// is an abstract class: there may be many different kinds of heaps. This
// class defines the functions that a heap must implement, and contains
// infrastructure common to all heaps.
*** 44,53 ****
--- 45,56 ----
class BarrierSet;
class CollectorPolicy;
class GCHeapSummary;
class GCTimer;
class GCTracer;
+ class GCMemoryManager;
+ class MemoryPool;
class MetaspaceSummary;
class Thread;
class ThreadClosure;
class VirtualSpaceSummary;
class WorkGang;
*** 215,225 ****
virtual jint initialize() = 0;
// In many heaps, there will be a need to perform some initialization activities
// after the Universe is fully formed, but before general heap allocation is allowed.
// This is the correct place to place such initialization methods.
! virtual void post_initialize() = 0;
// Stop any onging concurrent work and prepare for exit.
virtual void stop() {}
// Stop and resume concurrent GC threads interfering with safepoint operations
--- 218,228 ----
virtual jint initialize() = 0;
// In many heaps, there will be a need to perform some initialization activities
// after the Universe is fully formed, but before general heap allocation is allowed.
// This is the correct place to place such initialization methods.
! virtual void post_initialize();
// Stop any onging concurrent work and prepare for exit.
virtual void stop() {}
// Stop and resume concurrent GC threads interfering with safepoint operations
*** 483,492 ****
--- 486,498 ----
void increment_total_full_collections() { _total_full_collections++; }
// Return the CollectorPolicy for the heap
virtual CollectorPolicy* collector_policy() const = 0;
+ virtual GrowableArray<GCMemoryManager*> memory_managers() = 0;
+ virtual GrowableArray<MemoryPool*> memory_pools() = 0;
+
// Iterate over all objects, calling "cl.do_object" on each.
virtual void object_iterate(ObjectClosure* cl) = 0;
// Similar to object_iterate() except iterates only
// over live objects.
*** 527,536 ****
--- 533,545 ----
virtual void prepare_for_verify() = 0;
// Generate any dumps preceding or following a full gc
private:
void full_gc_dump(GCTimer* timer, bool before);
+
+ virtual void initialize_serviceability() = 0;
+
public:
void pre_full_gc_dump(GCTimer* timer);
void post_full_gc_dump(GCTimer* timer);
VirtualSpaceSummary create_heap_space_summary();
< prev index next >