1046 // Fraction of current occupancy at which to start a CMS collection which |
1046 // Fraction of current occupancy at which to start a CMS collection which |
1047 // will collect this generation (at least). |
1047 // will collect this generation (at least). |
1048 double _initiating_occupancy; |
1048 double _initiating_occupancy; |
1049 |
1049 |
1050 protected: |
1050 protected: |
1051 // Grow generation by specified size (returns false if unable to grow) |
|
1052 bool grow_by(size_t bytes); |
|
1053 // Grow generation to reserved size. |
|
1054 bool grow_to_reserved(); |
|
1055 // Shrink generation by specified size (returns false if unable to shrink) |
1051 // Shrink generation by specified size (returns false if unable to shrink) |
1056 virtual void shrink_by(size_t bytes); |
1052 virtual void shrink_by(size_t bytes); |
1057 |
1053 |
1058 // Update statistics for GC |
1054 // Update statistics for GC |
1059 virtual void update_gc_stats(int level, bool full); |
1055 virtual void update_gc_stats(int level, bool full); |
1101 } |
1097 } |
1102 |
1098 |
1103 // Override |
1099 // Override |
1104 virtual void ref_processor_init(); |
1100 virtual void ref_processor_init(); |
1105 |
1101 |
|
1102 // Grow generation by specified size (returns false if unable to grow) |
|
1103 bool grow_by(size_t bytes); |
|
1104 // Grow generation to reserved size. |
|
1105 bool grow_to_reserved(); |
|
1106 |
1106 void clear_expansion_cause() { _expansion_cause = CMSExpansionCause::_no_expansion; } |
1107 void clear_expansion_cause() { _expansion_cause = CMSExpansionCause::_no_expansion; } |
1107 |
1108 |
1108 // Space enquiries |
1109 // Space enquiries |
1109 size_t capacity() const; |
1110 size_t capacity() const; |
1110 size_t used() const; |
1111 size_t used() const; |
1191 } |
1192 } |
1192 |
1193 |
1193 // Allocation failure |
1194 // Allocation failure |
1194 void expand(size_t bytes, size_t expand_bytes, |
1195 void expand(size_t bytes, size_t expand_bytes, |
1195 CMSExpansionCause::Cause cause); |
1196 CMSExpansionCause::Cause cause); |
|
1197 virtual bool expand(size_t bytes, size_t expand_bytes); |
1196 void shrink(size_t bytes); |
1198 void shrink(size_t bytes); |
1197 HeapWord* expand_and_par_lab_allocate(CMSParGCThreadState* ps, size_t word_sz); |
1199 HeapWord* expand_and_par_lab_allocate(CMSParGCThreadState* ps, size_t word_sz); |
1198 bool expand_and_ensure_spooling_space(PromotionInfo* promo); |
1200 bool expand_and_ensure_spooling_space(PromotionInfo* promo); |
1199 |
1201 |
1200 // Iteration support and related enquiries |
1202 // Iteration support and related enquiries |