comparison src/share/vm/gc_implementation/parNew/parNewGeneration.hpp @ 1145:e018e6884bd8

6631166: CMS: better heuristics when combatting fragmentation Summary: Autonomic per-worker free block cache sizing, tunable coalition policies, fixes to per-size block statistics, retuned gain and bandwidth of some feedback loop filters to allow quicker reactivity to abrupt changes in ambient demand, and other heuristics to reduce fragmentation of the CMS old gen. Also tightened some assertions, including those related to locking. Reviewed-by: jmasa
author ysr
date Wed, 23 Dec 2009 09:23:54 -0800
parents becb17ad5e51
children c18cbe5936b8
comparison
equal deleted inserted replaced
1111:44f61c24ddab 1145:e018e6884bd8
95 bool _to_space_full; 95 bool _to_space_full;
96 96
97 int _pushes, _pops, _steals, _steal_attempts, _term_attempts; 97 int _pushes, _pops, _steals, _steal_attempts, _term_attempts;
98 int _overflow_pushes, _overflow_refills, _overflow_refill_objs; 98 int _overflow_pushes, _overflow_refills, _overflow_refill_objs;
99 99
100 // Stats for promotion failure
101 size_t _promotion_failure_size;
102
100 // Timing numbers. 103 // Timing numbers.
101 double _start; 104 double _start;
102 double _start_strong_roots; 105 double _start_strong_roots;
103 double _strong_roots_time; 106 double _strong_roots_time;
104 double _start_term; 107 double _start_term;
166 _young_old_boundary = boundary; 169 _young_old_boundary = boundary;
167 } 170 }
168 171
169 // Undo the most recent allocation ("obj", of "word_sz"). 172 // Undo the most recent allocation ("obj", of "word_sz").
170 void undo_alloc_in_to_space(HeapWord* obj, size_t word_sz); 173 void undo_alloc_in_to_space(HeapWord* obj, size_t word_sz);
174
175 // Promotion failure stats
176 size_t promotion_failure_size() { return promotion_failure_size(); }
177 void log_promotion_failure(size_t sz) {
178 if (_promotion_failure_size == 0) {
179 _promotion_failure_size = sz;
180 }
181 }
182 void print_and_clear_promotion_failure_size();
171 183
172 int pushes() { return _pushes; } 184 int pushes() { return _pushes; }
173 int pops() { return _pops; } 185 int pops() { return _pops; }
174 int steals() { return _steals; } 186 int steals() { return _steals; }
175 int steal_attempts() { return _steal_attempts; } 187 int steal_attempts() { return _steal_attempts; }