diff --git a/src/hotspot/share/gc/epsilon/epsilonHeap.hpp b/src/hotspot/share/gc/epsilon/epsilonHeap.hpp index 03f9b6cd19786..24b43fe354140 100644 --- a/src/hotspot/share/gc/epsilon/epsilonHeap.hpp +++ b/src/hotspot/share/gc/epsilon/epsilonHeap.hpp @@ -49,6 +49,9 @@ class EpsilonHeap : public CollectedHeap { volatile size_t _last_counter_update; volatile size_t _last_heap_print; + void print_tracing_info() const override; + void stop() override {}; + public: static EpsilonHeap* heap(); @@ -67,8 +70,6 @@ class EpsilonHeap : public CollectedHeap { jint initialize() override; void initialize_serviceability() override; - void stop() override {}; - GrowableArray memory_managers() override; GrowableArray memory_pools() override; @@ -130,7 +131,6 @@ class EpsilonHeap : public CollectedHeap { void print_heap_on(outputStream* st) const override; void print_gc_on(outputStream* st) const override {} - void print_tracing_info() const override; bool print_location(outputStream* st, void* addr) const override; private: diff --git a/src/hotspot/share/gc/g1/g1CollectedHeap.hpp b/src/hotspot/share/gc/g1/g1CollectedHeap.hpp index 5305ef475b6e5..050f7b6e5673b 100644 --- a/src/hotspot/share/gc/g1/g1CollectedHeap.hpp +++ b/src/hotspot/share/gc/g1/g1CollectedHeap.hpp @@ -882,6 +882,10 @@ class G1CollectedHeap : public CollectedHeap { private: jint initialize_concurrent_refinement(); jint initialize_service_thread(); + + void print_tracing_info() const override; + void stop() override; + public: // Initialize the G1CollectedHeap to have the initial and // maximum sizes and remembered and barrier sets @@ -891,7 +895,6 @@ class G1CollectedHeap : public CollectedHeap { // Returns whether concurrent mark threads (and the VM) are about to terminate. bool concurrent_mark_is_terminating() const; - void stop() override; void safepoint_synchronize_begin() override; void safepoint_synchronize_end() override; @@ -1309,9 +1312,6 @@ class G1CollectedHeap : public CollectedHeap { void gc_threads_do(ThreadClosure* tc) const override; - // Override - void print_tracing_info() const override; - // Used to print information about locations in the hs_err file. bool print_location(outputStream* st, void* addr) const override; }; diff --git a/src/hotspot/share/gc/parallel/parallelScavengeHeap.hpp b/src/hotspot/share/gc/parallel/parallelScavengeHeap.hpp index daa72ffc2ea3d..68900c8dbf2dc 100644 --- a/src/hotspot/share/gc/parallel/parallelScavengeHeap.hpp +++ b/src/hotspot/share/gc/parallel/parallelScavengeHeap.hpp @@ -111,6 +111,9 @@ class ParallelScavengeHeap : public CollectedHeap { void do_full_collection(bool clear_all_soft_refs) override; + void print_tracing_info() const override; + void stop() override {}; + public: ParallelScavengeHeap() : CollectedHeap(), @@ -155,8 +158,6 @@ class ParallelScavengeHeap : public CollectedHeap { void post_initialize() override; void update_counters(); - void stop() override {}; - size_t capacity() const override; size_t used() const override; @@ -214,7 +215,6 @@ class ParallelScavengeHeap : public CollectedHeap { void print_heap_on(outputStream* st) const override; void print_gc_on(outputStream* st) const override; void gc_threads_do(ThreadClosure* tc) const override; - void print_tracing_info() const override; WorkerThreads* safepoint_workers() override { return &_workers; } diff --git a/src/hotspot/share/gc/serial/serialHeap.hpp b/src/hotspot/share/gc/serial/serialHeap.hpp index 3cc4bb7abf559..d93e895d20983 100644 --- a/src/hotspot/share/gc/serial/serialHeap.hpp +++ b/src/hotspot/share/gc/serial/serialHeap.hpp @@ -118,6 +118,9 @@ class SerialHeap : public CollectedHeap { void gc_prologue(); void gc_epilogue(bool full); + void print_tracing_info() const override; + void stop() override {}; + public: // Returns JNI_OK on success jint initialize() override; @@ -125,8 +128,6 @@ class SerialHeap : public CollectedHeap { // Does operations required after initialization has been done. void post_initialize() override; - void stop() override {}; - bool is_in_reserved(const void* addr) const { return _reserved.contains(addr); } // Performance Counter support @@ -211,7 +212,6 @@ class SerialHeap : public CollectedHeap { void print_heap_on(outputStream* st) const override; void print_gc_on(outputStream* st) const override; void gc_threads_do(ThreadClosure* tc) const override; - void print_tracing_info() const override; // Used to print information about locations in the hs_err file. bool print_location(outputStream* st, void* addr) const override; diff --git a/src/hotspot/share/gc/shared/collectedHeap.hpp b/src/hotspot/share/gc/shared/collectedHeap.hpp index 3e0431bf92561..621f3a0bbc728 100644 --- a/src/hotspot/share/gc/shared/collectedHeap.hpp +++ b/src/hotspot/share/gc/shared/collectedHeap.hpp @@ -208,6 +208,10 @@ class CollectedHeap : public CHeapObj { return static_cast(heap); } + // Print any relevant tracing info that flags imply. + // Default implementation does nothing. + virtual void print_tracing_info() const = 0; + // Stop any onging concurrent work and prepare for exit. virtual void stop() = 0; @@ -459,10 +463,6 @@ class CollectedHeap : public CHeapObj { // Iterator for all GC threads (other than VM thread) virtual void gc_threads_do(ThreadClosure* tc) const = 0; - // Print any relevant tracing info that flags imply. - // Default implementation does nothing. - virtual void print_tracing_info() const = 0; - double elapsed_gc_cpu_time() const; void print_before_gc() const; diff --git a/src/hotspot/share/gc/shenandoah/shenandoahGenerationalHeap.hpp b/src/hotspot/share/gc/shenandoah/shenandoahGenerationalHeap.hpp index ed5a6f3d9a550..930c8ef7105c7 100644 --- a/src/hotspot/share/gc/shenandoah/shenandoahGenerationalHeap.hpp +++ b/src/hotspot/share/gc/shenandoah/shenandoahGenerationalHeap.hpp @@ -36,6 +36,9 @@ class ShenandoahGenerationalControlThread; class ShenandoahAgeCensus; class ShenandoahGenerationalHeap : public ShenandoahHeap { + void print_tracing_info() const override; + void stop() override; + public: explicit ShenandoahGenerationalHeap(ShenandoahCollectorPolicy* policy); void post_initialize() override; @@ -53,7 +56,6 @@ class ShenandoahGenerationalHeap : public ShenandoahHeap { } void print_init_logger() const override; - void print_tracing_info() const override; size_t unsafe_max_tlab_alloc(Thread *thread) const override; @@ -126,8 +128,6 @@ class ShenandoahGenerationalHeap : public ShenandoahHeap { void gc_threads_do(ThreadClosure* tcl) const override; - void stop() override; - bool requires_barriers(stackChunkOop obj) const override; // Used for logging the result of a region transfer outside the heap lock diff --git a/src/hotspot/share/gc/shenandoah/shenandoahHeap.hpp b/src/hotspot/share/gc/shenandoah/shenandoahHeap.hpp index 4124bf8be7f5a..31046dc01cfb7 100644 --- a/src/hotspot/share/gc/shenandoah/shenandoahHeap.hpp +++ b/src/hotspot/share/gc/shenandoah/shenandoahHeap.hpp @@ -159,6 +159,10 @@ class ShenandoahHeap : public CollectedHeap { // updated at each STW pause associated with a ShenandoahVMOp. ShenandoahGeneration* _active_generation; +protected: + void print_tracing_info() const override; + void stop() override; + public: ShenandoahHeapLock* lock() { return &_lock; @@ -204,11 +208,8 @@ class ShenandoahHeap : public CollectedHeap { void print_heap_on(outputStream* st) const override; void print_gc_on(outputStream *st) const override; - void print_tracing_info() const override; void print_heap_regions_on(outputStream* st) const; - void stop() override; - void prepare_for_verify() override; void verify(VerifyOption vo) override; diff --git a/src/hotspot/share/gc/z/zCollectedHeap.hpp b/src/hotspot/share/gc/z/zCollectedHeap.hpp index 871ff81bfdf5d..3d466564b5436 100644 --- a/src/hotspot/share/gc/z/zCollectedHeap.hpp +++ b/src/hotspot/share/gc/z/zCollectedHeap.hpp @@ -55,6 +55,9 @@ class ZCollectedHeap : public CollectedHeap { size_t requested_size, size_t* actual_size) override; + void print_tracing_info() const override; + void stop() override; + public: static ZCollectedHeap* heap(); @@ -63,7 +66,6 @@ class ZCollectedHeap : public CollectedHeap { const char* name() const override; jint initialize() override; void initialize_serviceability() override; - void stop() override; size_t max_capacity() const override; size_t capacity() const override; @@ -116,7 +118,6 @@ class ZCollectedHeap : public CollectedHeap { void print_heap_on(outputStream* st) const override; void print_gc_on(outputStream* st) const override; - void print_tracing_info() const override; bool print_location(outputStream* st, void* addr) const override; void prepare_for_verify() override;