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