diff --git a/src/hotspot/share/gc/epsilon/epsilonHeap.hpp b/src/hotspot/share/gc/epsilon/epsilonHeap.hpp index 741f1d656036d..f22d1c22ac8a7 100644 --- a/src/hotspot/share/gc/epsilon/epsilonHeap.hpp +++ b/src/hotspot/share/gc/epsilon/epsilonHeap.hpp @@ -37,7 +37,6 @@ class EpsilonHeap : public CollectedHeap { friend class VMStructs; private: - SoftRefPolicy _soft_ref_policy; EpsilonMonitoringSupport* _monitoring_support; MemoryPool* _pool; GCMemoryManager _memory_manager; @@ -65,10 +64,6 @@ class EpsilonHeap : public CollectedHeap { return "Epsilon"; } - SoftRefPolicy* soft_ref_policy() override { - return &_soft_ref_policy; - } - jint initialize() override; void initialize_serviceability() override; diff --git a/src/hotspot/share/gc/g1/g1CollectedHeap.cpp b/src/hotspot/share/gc/g1/g1CollectedHeap.cpp index 10e5b1d8b58ee..802049d9b2f05 100644 --- a/src/hotspot/share/gc/g1/g1CollectedHeap.cpp +++ b/src/hotspot/share/gc/g1/g1CollectedHeap.cpp @@ -1137,7 +1137,6 @@ G1CollectedHeap::G1CollectedHeap() : _workers(nullptr), _card_table(nullptr), _collection_pause_end(Ticks::now()), - _soft_ref_policy(), _old_set("Old Region Set", new OldRegionSetChecker()), _humongous_set("Humongous Region Set", new HumongousRegionSetChecker()), _bot(nullptr), @@ -1526,10 +1525,6 @@ void G1CollectedHeap::ref_processing_init() { &_is_alive_closure_stw); // is alive closure } -SoftRefPolicy* G1CollectedHeap::soft_ref_policy() { - return &_soft_ref_policy; -} - size_t G1CollectedHeap::capacity() const { return _hrm.length() * HeapRegion::GrainBytes; } diff --git a/src/hotspot/share/gc/g1/g1CollectedHeap.hpp b/src/hotspot/share/gc/g1/g1CollectedHeap.hpp index 4245fb1b0cbfb..189a09fe04241 100644 --- a/src/hotspot/share/gc/g1/g1CollectedHeap.hpp +++ b/src/hotspot/share/gc/g1/g1CollectedHeap.hpp @@ -178,8 +178,6 @@ class G1CollectedHeap : public CollectedHeap { Ticks _collection_pause_end; - SoftRefPolicy _soft_ref_policy; - static size_t _humongous_object_threshold_in_words; // These sets keep track of old and humongous regions respectively. @@ -927,8 +925,6 @@ class G1CollectedHeap : public CollectedHeap { inline bool is_collection_set_candidate(const HeapRegion* r) const; - SoftRefPolicy* soft_ref_policy() override; - void initialize_serviceability() override; MemoryUsage memory_usage() override; GrowableArray memory_managers() override; diff --git a/src/hotspot/share/gc/parallel/parallelScavengeHeap.hpp b/src/hotspot/share/gc/parallel/parallelScavengeHeap.hpp index eec32a2c1c2f5..0b8ff00e2cbcd 100644 --- a/src/hotspot/share/gc/parallel/parallelScavengeHeap.hpp +++ b/src/hotspot/share/gc/parallel/parallelScavengeHeap.hpp @@ -80,8 +80,6 @@ class ParallelScavengeHeap : public CollectedHeap { static PSAdaptiveSizePolicy* _size_policy; static PSGCAdaptivePolicyCounters* _gc_policy_counters; - SoftRefPolicy _soft_ref_policy; - unsigned int _death_march_count; GCMemoryManager* _young_manager; @@ -135,8 +133,6 @@ class ParallelScavengeHeap : public CollectedHeap { return "Parallel"; } - SoftRefPolicy* soft_ref_policy() override { return &_soft_ref_policy; } - GrowableArray memory_managers() override; GrowableArray memory_pools() override; diff --git a/src/hotspot/share/gc/serial/serialHeap.cpp b/src/hotspot/share/gc/serial/serialHeap.cpp index 4d1ad497b8537..47ee5a089b996 100644 --- a/src/hotspot/share/gc/serial/serialHeap.cpp +++ b/src/hotspot/share/gc/serial/serialHeap.cpp @@ -94,7 +94,6 @@ SerialHeap::SerialHeap() : _young_gen(nullptr), _old_gen(nullptr), _rem_set(nullptr), - _soft_ref_policy(), _gc_policy_counters(new GCPolicyCounters("Copy:MSC", 2, 2)), _incremental_collection_failed(false), _young_manager(nullptr), diff --git a/src/hotspot/share/gc/serial/serialHeap.hpp b/src/hotspot/share/gc/serial/serialHeap.hpp index c9a2d5ca81a56..3376e166703a6 100644 --- a/src/hotspot/share/gc/serial/serialHeap.hpp +++ b/src/hotspot/share/gc/serial/serialHeap.hpp @@ -90,8 +90,6 @@ class SerialHeap : public CollectedHeap { // The singleton CardTable Remembered Set. CardTableRS* _rem_set; - SoftRefPolicy _soft_ref_policy; - GCPolicyCounters* _gc_policy_counters; // Indicates that the most recent previous incremental collection failed. @@ -154,8 +152,6 @@ class SerialHeap : public CollectedHeap { MemRegion reserved_region() const { return _reserved; } bool is_in_reserved(const void* addr) const { return _reserved.contains(addr); } - SoftRefPolicy* soft_ref_policy() override { return &_soft_ref_policy; } - // Performance Counter support GCPolicyCounters* counters() { return _gc_policy_counters; } diff --git a/src/hotspot/share/gc/shared/collectedHeap.hpp b/src/hotspot/share/gc/shared/collectedHeap.hpp index 0ac7faa06f057..b503d38c5051e 100644 --- a/src/hotspot/share/gc/shared/collectedHeap.hpp +++ b/src/hotspot/share/gc/shared/collectedHeap.hpp @@ -27,6 +27,7 @@ #include "gc/shared/gcCause.hpp" #include "gc/shared/gcWhen.hpp" +#include "gc/shared/softRefPolicy.hpp" #include "gc/shared/verifyOption.hpp" #include "memory/allocation.hpp" #include "memory/metaspace.hpp" @@ -56,7 +57,6 @@ class GCMemoryManager; class MemoryPool; class MetaspaceSummary; class ReservedHeapSpace; -class SoftRefPolicy; class Thread; class ThreadClosure; class VirtualSpaceSummary; @@ -105,6 +105,8 @@ class CollectedHeap : public CHeapObj { size_t _capacity_at_last_gc; size_t _used_at_last_gc; + SoftRefPolicy _soft_ref_policy; + // First, set it to java_lang_Object. // Then, set it to FillerObject after the FillerObject_klass loading is complete. static Klass* _filler_object_klass; @@ -403,7 +405,7 @@ class CollectedHeap : public CHeapObj { void increment_total_full_collections() { _total_full_collections++; } // Return the SoftRefPolicy for the heap; - virtual SoftRefPolicy* soft_ref_policy() = 0; + SoftRefPolicy* soft_ref_policy() { return &_soft_ref_policy; } virtual MemoryUsage memory_usage(); virtual GrowableArray memory_managers() = 0; diff --git a/src/hotspot/share/gc/shenandoah/shenandoahHeap.cpp b/src/hotspot/share/gc/shenandoah/shenandoahHeap.cpp index 7e1a3e54077ba..dbcf7fe453121 100644 --- a/src/hotspot/share/gc/shenandoah/shenandoahHeap.cpp +++ b/src/hotspot/share/gc/shenandoah/shenandoahHeap.cpp @@ -517,7 +517,6 @@ ShenandoahHeap::ShenandoahHeap(ShenandoahCollectorPolicy* policy) : _stw_memory_manager("Shenandoah Pauses"), _cycle_memory_manager("Shenandoah Cycles"), _gc_timer(new ConcurrentGCTimer()), - _soft_ref_policy(), _log_min_obj_alignment_in_bytes(LogMinObjAlignmentInBytes), _ref_processor(new ShenandoahReferenceProcessor(MAX2(_max_workers, 1U))), _marking_context(nullptr), diff --git a/src/hotspot/share/gc/shenandoah/shenandoahHeap.hpp b/src/hotspot/share/gc/shenandoah/shenandoahHeap.hpp index 21ec329c27192..b3312f3e8496a 100644 --- a/src/hotspot/share/gc/shenandoah/shenandoahHeap.hpp +++ b/src/hotspot/share/gc/shenandoah/shenandoahHeap.hpp @@ -432,15 +432,12 @@ class ShenandoahHeap : public CollectedHeap, public ShenandoahSpaceInfo { GCMemoryManager _stw_memory_manager; GCMemoryManager _cycle_memory_manager; ConcurrentGCTimer* _gc_timer; - SoftRefPolicy _soft_ref_policy; - // For exporting to SA int _log_min_obj_alignment_in_bytes; public: ShenandoahMonitoringSupport* monitoring_support() { return _monitoring_support; } GCMemoryManager* cycle_memory_manager() { return &_cycle_memory_manager; } GCMemoryManager* stw_memory_manager() { return &_stw_memory_manager; } - SoftRefPolicy* soft_ref_policy() override { return &_soft_ref_policy; } GrowableArray memory_managers() override; GrowableArray memory_pools() override; diff --git a/src/hotspot/share/gc/x/xCollectedHeap.cpp b/src/hotspot/share/gc/x/xCollectedHeap.cpp index e22006dfaed11..cabe7c3c77b96 100644 --- a/src/hotspot/share/gc/x/xCollectedHeap.cpp +++ b/src/hotspot/share/gc/x/xCollectedHeap.cpp @@ -50,7 +50,6 @@ XCollectedHeap* XCollectedHeap::heap() { } XCollectedHeap::XCollectedHeap() : - _soft_ref_policy(), _barrier_set(), _initialize(&_barrier_set), _heap(), @@ -95,10 +94,6 @@ void XCollectedHeap::stop() { gc_threads_do(&cl); } -SoftRefPolicy* XCollectedHeap::soft_ref_policy() { - return &_soft_ref_policy; -} - size_t XCollectedHeap::max_capacity() const { return _heap.max_capacity(); } diff --git a/src/hotspot/share/gc/x/xCollectedHeap.hpp b/src/hotspot/share/gc/x/xCollectedHeap.hpp index 302963ca2c46b..940524ab99787 100644 --- a/src/hotspot/share/gc/x/xCollectedHeap.hpp +++ b/src/hotspot/share/gc/x/xCollectedHeap.hpp @@ -42,7 +42,6 @@ class XCollectedHeap : public CollectedHeap { friend class ::VMStructs; private: - SoftRefPolicy _soft_ref_policy; XBarrierSet _barrier_set; XInitialize _initialize; XHeap _heap; @@ -65,8 +64,6 @@ class XCollectedHeap : public CollectedHeap { void initialize_serviceability() override; void stop() override; - SoftRefPolicy* soft_ref_policy() override; - size_t max_capacity() const override; size_t capacity() const override; size_t used() const override; diff --git a/src/hotspot/share/gc/z/zCollectedHeap.cpp b/src/hotspot/share/gc/z/zCollectedHeap.cpp index d53cdad3c5e06..12608a32c84fc 100644 --- a/src/hotspot/share/gc/z/zCollectedHeap.cpp +++ b/src/hotspot/share/gc/z/zCollectedHeap.cpp @@ -58,8 +58,7 @@ ZCollectedHeap* ZCollectedHeap::heap() { } ZCollectedHeap::ZCollectedHeap() - : _soft_ref_policy(), - _barrier_set(), + : _barrier_set(), _initialize(&_barrier_set), _heap(), _driver_minor(new ZDriverMinor()), @@ -106,10 +105,6 @@ void ZCollectedHeap::stop() { gc_threads_do(&cl); } -SoftRefPolicy* ZCollectedHeap::soft_ref_policy() { - return &_soft_ref_policy; -} - size_t ZCollectedHeap::max_capacity() const { return _heap.max_capacity(); } diff --git a/src/hotspot/share/gc/z/zCollectedHeap.hpp b/src/hotspot/share/gc/z/zCollectedHeap.hpp index 2b83f61400958..48ebae5388c7f 100644 --- a/src/hotspot/share/gc/z/zCollectedHeap.hpp +++ b/src/hotspot/share/gc/z/zCollectedHeap.hpp @@ -42,7 +42,6 @@ class ZCollectedHeap : public CollectedHeap { friend class VMStructs; private: - SoftRefPolicy _soft_ref_policy; ZBarrierSet _barrier_set; ZInitialize _initialize; ZHeap _heap; @@ -66,8 +65,6 @@ class ZCollectedHeap : public CollectedHeap { void initialize_serviceability() override; void stop() override; - SoftRefPolicy* soft_ref_policy() override; - size_t max_capacity() const override; size_t capacity() const override; size_t used() const override;