Mercurial > hg > graal-jvmci-8
comparison src/share/vm/gc_implementation/concurrentMarkSweep/concurrentMarkSweepGeneration.hpp @ 271:818a18cd69a8
6730514: assertion failure in mangling code when expanding by 0 bytes
Summary: An expansion by 0 bytes was not anticipated when the assertion was composed.
Reviewed-by: jjh, jcoomes, apetrusenko
author | jmasa |
---|---|
date | Wed, 30 Jul 2008 11:54:00 -0700 |
parents | d1605aabd0a1 |
children | 1ee8caae33af |
comparison
equal
deleted
inserted
replaced
269:850fdf70db2b | 271:818a18cd69a8 |
---|---|
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 |