src/share/vm/memory/generation.hpp
Index Unified diffs Context diffs Sdiffs Patch New Old Previous File Next File hotspot Cdiff src/share/vm/memory/generation.hpp

src/share/vm/memory/generation.hpp

Print this page
rev 7215 : imported patch remove_levels
rev 7216 : imported patch cleanup

*** 82,92 **** size_t num_words; HeapWord scratch_space[1]; // Actually, of size "num_words-2" (assuming // first two fields are word-sized.) }; - class Generation: public CHeapObj<mtGC> { friend class VMStructs; 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 --- 82,91 ----
*** 100,127 **** MemRegion _reserved; // Memory area reserved for generation VirtualSpace _virtual_space; - // Level in the generation hierarchy. - int _level; - // ("Weak") Reference processing support ReferenceProcessor* _ref_processor; // Performance Counters CollectorCounters* _gc_counters; // Statistics for garbage collection GCStats* _gc_stats; - // Returns the next generation in the configuration, or else NULL if this - // is the highest generation. - Generation* next_gen() const; - // Initialize the generation. ! Generation(ReservedSpace rs, size_t initial_byte_size, int level); // 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 --- 99,119 ---- MemRegion _reserved; // Memory area reserved for generation VirtualSpace _virtual_space; // ("Weak") Reference processing support ReferenceProcessor* _ref_processor; // Performance Counters CollectorCounters* _gc_counters; // 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
*** 136,145 **** --- 128,142 ---- MarkSweepCompact, ConcurrentMarkSweep, Other }; + enum Type { + Young, + Old + }; + enum SomePublicConstants { // Generations are GenGrain-aligned and have size that are multiples of // GenGrain. // Note: on ARM we add 1 bit for card_table_base to be properly aligned // (we expect its low byte to be zero - see implementation of post_barrier)
*** 436,446 **** // occurred. This allows the generation to decide what // statistics are valid to collect. For example, the // generation can decide to gather the amount of promoted data // if the collection of the younger generations has completed. GCStats* gc_stats() const { return _gc_stats; } ! virtual void update_gc_stats(int current_level, bool full) {} // Mark sweep support phase2 virtual void prepare_for_compaction(CompactPoint* cp); // Mark sweep support phase3 virtual void adjust_pointers(); --- 433,443 ---- // occurred. This allows the generation to decide what // statistics are valid to collect. For example, the // generation can decide to gather the amount of promoted data // if the collection of the younger generations has completed. GCStats* gc_stats() const { return _gc_stats; } ! virtual void update_gc_stats(Generation* current_generation, bool full) {} // Mark sweep support phase2 virtual void prepare_for_compaction(CompactPoint* cp); // Mark sweep support phase3 virtual void adjust_pointers();
*** 521,532 **** // Printing virtual const char* name() const = 0; virtual const char* short_name() const = 0; - int level() const { return _level; } - // Attributes // True iff the given generation may only be the youngest generation. virtual bool must_be_youngest() const = 0; // True iff the given generation may only be the oldest generation. --- 518,527 ----
*** 636,647 **** // These are gathered in the gc_prologue (and should_collect) // to control growing/shrinking policy in spite of promotions. size_t _capacity_at_prologue; size_t _used_at_prologue; ! CardGeneration(ReservedSpace rs, size_t initial_byte_size, int level, ! GenRemSet* remset); public: // Attempt to expand the generation by "bytes". Expand by at a // minimum "expand_bytes". Return true if some amount (not --- 631,641 ---- // These are gathered in the gc_prologue (and should_collect) // to control growing/shrinking policy in spite of promotions. size_t _capacity_at_prologue; size_t _used_at_prologue; ! CardGeneration(ReservedSpace rs, size_t initial_byte_size, GenRemSet* remset); public: // Attempt to expand the generation by "bytes". Expand by at a // minimum "expand_bytes". Return true if some amount (not
*** 694,706 **** // Accessing spaces ContiguousSpace* the_space() const { return _the_space; } public: OneContigSpaceCardGeneration(ReservedSpace rs, size_t initial_byte_size, ! int level, GenRemSet* remset, ! ContiguousSpace* space) : ! CardGeneration(rs, initial_byte_size, level, remset), _the_space(space) {} inline bool is_in(const void* p) const; --- 688,699 ---- // Accessing spaces ContiguousSpace* the_space() const { return _the_space; } public: OneContigSpaceCardGeneration(ReservedSpace rs, size_t initial_byte_size, ! GenRemSet* remset, ContiguousSpace* space) : ! CardGeneration(rs, initial_byte_size, remset), _the_space(space) {} inline bool is_in(const void* p) const;
src/share/vm/memory/generation.hpp
Index Unified diffs Context diffs Sdiffs Patch New Old Previous File Next File