src/share/vm/memory/generation.hpp
Index Unified diffs Context diffs Sdiffs Patch New Old Previous File Next File
*** old/src/share/vm/memory/generation.hpp	Fri Oct 17 16:28:46 2014
--- new/src/share/vm/memory/generation.hpp	Fri Oct 17 16:28:46 2014

*** 82,92 **** --- 82,91 ---- 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
*** 100,127 **** --- 99,119 ---- 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
*** 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 **** --- 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(int current_level, bool full) {} ! 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 **** --- 518,527 ---- // 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.
*** 636,647 **** --- 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, int level, GenRemSet* remset); ! 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 **** --- 688,699 ---- // 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), + 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