Mercurial > hg > graal-compiler
diff src/share/vm/gc_interface/collectedHeap.hpp @ 941:8b46c4d82093
4957990: Perm heap bloat in JVM
Summary: Treat ProfileData in MDO's as a source of weak, not strong, roots. Fixes the bug for stop-world collection -- the case of concurrent collection will be fixed separately.
Reviewed-by: jcoomes, jmasa, kvn, never
author | ysr |
---|---|
date | Wed, 02 Sep 2009 00:04:29 -0700 |
parents | df6caf649ff7 |
children | 54b3b351d6f9 |
line wrap: on
line diff
--- a/src/share/vm/gc_interface/collectedHeap.hpp Mon Aug 31 05:27:29 2009 -0700 +++ b/src/share/vm/gc_interface/collectedHeap.hpp Wed Sep 02 00:04:29 2009 -0700 @@ -239,6 +239,9 @@ return p == NULL || is_in_closed_subset(p); } + // XXX is_permanent() and is_in_permanent() should be better named + // to distinguish one from the other. + // Returns "TRUE" if "p" is allocated as "permanent" data. // If the heap does not use "permanent" data, returns the same // value is_in_reserved() would return. @@ -247,13 +250,17 @@ // space). If you need the more conservative answer use is_permanent(). virtual bool is_in_permanent(const void *p) const = 0; + bool is_in_permanent_or_null(const void *p) const { + return p == NULL || is_in_permanent(p); + } + // Returns "TRUE" if "p" is in the committed area of "permanent" data. // If the heap does not use "permanent" data, returns the same // value is_in() would return. virtual bool is_permanent(const void *p) const = 0; - bool is_in_permanent_or_null(const void *p) const { - return p == NULL || is_in_permanent(p); + bool is_permanent_or_null(const void *p) const { + return p == NULL || is_permanent(p); } // Returns "TRUE" if "p" is a method oop in the