< prev index next >

src/hotspot/share/gc/shared/generation.hpp

Print this page
rev 47957 : 8191564: Refactor GC related servicability code into GC specific subclasses

*** 56,65 **** --- 56,66 ---- // // ParNewGeneration + ConcurrentMarkSweepGeneration // class DefNewGeneration; + class GCMemoryManager; class GenerationSpec; class CompactibleSpace; class ContiguousSpace; class CompactPoint; class OopsInGenClosure;
*** 84,93 **** --- 85,96 ---- private: jlong _time_of_last_gc; // time when last gc on this generation happened (ms) MemRegion _prev_used_region; // for collectors that want to "remember" a value for // used region at some specific point during collection. + GCMemoryManager* _memory_manager; + protected: // Minimum and maximum addresses for memory reserved (not necessarily // committed) for generation. // Used by card marking code. Must not overlap with address ranges of // other generations.
*** 104,114 **** // Statistics for garbage collection GCStats* _gc_stats; // Initialize the generation. ! Generation(ReservedSpace rs, size_t initial_byte_size); // Apply "cl->do_oop" to (the address of) (exactly) all the ref fields in // "sp" that point into younger generations. // The iteration is only over objects allocated at the start of the // iterations; objects allocated as a result of applying the closure are --- 107,117 ---- // Statistics for garbage collection GCStats* _gc_stats; // Initialize the generation. ! Generation(ReservedSpace rs, size_t initial_byte_size, GCMemoryManager* memory_manager); // Apply "cl->do_oop" to (the address of) (exactly) all the ref fields in // "sp" that point into younger generations. // The iteration is only over objects allocated at the start of the // iterations; objects allocated as a result of applying the closure are
*** 132,141 **** --- 135,148 ---- // (we expect its low byte to be zero - see implementation of post_barrier) LogOfGenGrain = 16 ARM32_ONLY(+1), GenGrain = 1 << LogOfGenGrain }; + GCMemoryManager* memory_manager() { + return _memory_manager; + } + // allocate and initialize ("weak") refs processing support virtual void ref_processor_init(); void set_ref_processor(ReferenceProcessor* rp) { assert(_ref_processor == NULL, "clobbering existing _ref_processor"); _ref_processor = rp;
< prev index next >