< prev index next >

src/hotspot/share/gc/shenandoah/shenandoahOldGeneration.hpp

Print this page

 71   size_t _promotion_potential;
 72 
 73   // When a region is selected to be promoted in place, the remaining free memory is filled
 74   // in to prevent additional allocations (preventing premature promotion of newly allocated
 75   // objects. This field records the total amount of padding used for such regions.
 76   size_t _pad_for_promote_in_place;
 77 
 78   // During construction of the collection set, we keep track of regions that are eligible
 79   // for promotion in place. These fields track the count of those humongous and regular regions.
 80   // This data is used to force the evacuation phase even when the collection set is otherwise
 81   // empty.
 82   size_t _promotable_humongous_regions;
 83   size_t _promotable_regular_regions;
 84 
 85   // True if old regions may be safely traversed by the remembered set scan.
 86   bool _is_parsable;
 87 
 88   bool coalesce_and_fill();
 89 
 90 public:
 91   ShenandoahOldGeneration(uint max_queues, size_t max_capacity, size_t soft_max_capacity);
 92 
 93   ShenandoahHeuristics* initialize_heuristics(ShenandoahMode* gc_mode) override;
 94 
 95   const char* name() const override {
 96     return "Old";
 97   }
 98 
 99   ShenandoahOldHeuristics* heuristics() const override {
100     return _old_heuristics;
101   }
102 
103   // See description in field declaration
104   void set_promoted_reserve(size_t new_val);
105   size_t get_promoted_reserve() const;
106 
107   // The promotion reserve is increased when rebuilding the free set transfers a region to the old generation
108   void augment_promoted_reserve(size_t increment);
109 
110   // This zeros out the expended promotion count after the promotion reserve is computed
111   void reset_promoted_expended();

 71   size_t _promotion_potential;
 72 
 73   // When a region is selected to be promoted in place, the remaining free memory is filled
 74   // in to prevent additional allocations (preventing premature promotion of newly allocated
 75   // objects. This field records the total amount of padding used for such regions.
 76   size_t _pad_for_promote_in_place;
 77 
 78   // During construction of the collection set, we keep track of regions that are eligible
 79   // for promotion in place. These fields track the count of those humongous and regular regions.
 80   // This data is used to force the evacuation phase even when the collection set is otherwise
 81   // empty.
 82   size_t _promotable_humongous_regions;
 83   size_t _promotable_regular_regions;
 84 
 85   // True if old regions may be safely traversed by the remembered set scan.
 86   bool _is_parsable;
 87 
 88   bool coalesce_and_fill();
 89 
 90 public:
 91   ShenandoahOldGeneration(uint max_queues, size_t max_capacity);
 92 
 93   ShenandoahHeuristics* initialize_heuristics(ShenandoahMode* gc_mode) override;
 94 
 95   const char* name() const override {
 96     return "Old";
 97   }
 98 
 99   ShenandoahOldHeuristics* heuristics() const override {
100     return _old_heuristics;
101   }
102 
103   // See description in field declaration
104   void set_promoted_reserve(size_t new_val);
105   size_t get_promoted_reserve() const;
106 
107   // The promotion reserve is increased when rebuilding the free set transfers a region to the old generation
108   void augment_promoted_reserve(size_t increment);
109 
110   // This zeros out the expended promotion count after the promotion reserve is computed
111   void reset_promoted_expended();
< prev index next >