Mercurial > hg > graal-compiler
comparison src/share/vm/memory/generation.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 | 0fbdb4381b99 |
children | c18cbe5936b8 |
comparison
equal
deleted
inserted
replaced
1111:44f61c24ddab | 1145:e018e6884bd8 |
---|---|
179 // is true if the younger generation handles a promotion | 179 // is true if the younger generation handles a promotion |
180 // failure. | 180 // failure. |
181 virtual bool promotion_attempt_is_safe(size_t promotion_in_bytes, | 181 virtual bool promotion_attempt_is_safe(size_t promotion_in_bytes, |
182 bool younger_handles_promotion_failure) const; | 182 bool younger_handles_promotion_failure) const; |
183 | 183 |
184 // For a non-young generation, this interface can be used to inform a | |
185 // generation that a promotion attempt into that generation failed. | |
186 // Typically used to enable diagnostic output for post-mortem analysis, | |
187 // but other uses of the interface are not ruled out. | |
188 virtual void promotion_failure_occurred() { /* does nothing */ } | |
189 | |
184 // Return an estimate of the maximum allocation that could be performed | 190 // Return an estimate of the maximum allocation that could be performed |
185 // in the generation without triggering any collection or expansion | 191 // in the generation without triggering any collection or expansion |
186 // activity. It is "unsafe" because no locks are taken; the result | 192 // activity. It is "unsafe" because no locks are taken; the result |
187 // should be treated as an approximation, not a guarantee, for use in | 193 // should be treated as an approximation, not a guarantee, for use in |
188 // heuristic resizing decisions. | 194 // heuristic resizing decisions. |