comparison src/share/vm/gc_interface/collectedHeap.hpp @ 989:148e5441d916

6863023: need non-perm oops in code cache for JSR 292 Summary: Make a special root-list for those few nmethods which might contain non-perm oops. Reviewed-by: twisti, kvn, never, jmasa, ysr
author jrose
date Tue, 15 Sep 2009 21:53:47 -0700
parents df6caf649ff7
children 54b3b351d6f9
comparison
equal deleted inserted replaced
987:00977607da34 989:148e5441d916
254 254
255 bool is_in_permanent_or_null(const void *p) const { 255 bool is_in_permanent_or_null(const void *p) const {
256 return p == NULL || is_in_permanent(p); 256 return p == NULL || is_in_permanent(p);
257 } 257 }
258 258
259 // An object is scavengable if its location may move during a scavenge.
260 // (A scavenge is a GC which is not a full GC.)
261 // Currently, this just means it is not perm (and not null).
262 // This could change if we rethink what's in perm-gen.
263 bool is_scavengable(const void *p) const {
264 return !is_in_permanent_or_null(p);
265 }
266
259 // Returns "TRUE" if "p" is a method oop in the 267 // Returns "TRUE" if "p" is a method oop in the
260 // current heap, with high probability. This predicate 268 // current heap, with high probability. This predicate
261 // is not stable, in general. 269 // is not stable, in general.
262 bool is_valid_method(oop p) const; 270 bool is_valid_method(oop p) const;
263 271