Mercurial > hg > truffle
diff src/share/vm/memory/generation.cpp @ 6725:da91efe96a93
6964458: Reimplement class meta-data storage to use native memory
Summary: Remove PermGen, allocate meta-data in metaspace linked to class loaders, rewrite GC walking, rewrite and rename metadata to be C++ classes
Reviewed-by: jmasa, stefank, never, coleenp, kvn, brutisso, mgerdin, dholmes, jrose, twisti, roland
Contributed-by: jmasa <jon.masamitsu@oracle.com>, stefank <stefan.karlsson@oracle.com>, mgerdin <mikael.gerdin@oracle.com>, never <tom.rodriguez@oracle.com>
author | coleenp |
---|---|
date | Sat, 01 Sep 2012 13:25:18 -0400 |
parents | b632e80fc9dc |
children | 8617e38bb4cb |
line wrap: on
line diff
--- a/src/share/vm/memory/generation.cpp Fri Aug 31 16:39:35 2012 -0700 +++ b/src/share/vm/memory/generation.cpp Sat Sep 01 13:25:18 2012 -0400 @@ -293,21 +293,21 @@ class GenerationOopIterateClosure : public SpaceClosure { public: - OopClosure* cl; + ExtendedOopClosure* cl; MemRegion mr; virtual void do_space(Space* s) { s->oop_iterate(mr, cl); } - GenerationOopIterateClosure(OopClosure* _cl, MemRegion _mr) : + GenerationOopIterateClosure(ExtendedOopClosure* _cl, MemRegion _mr) : cl(_cl), mr(_mr) {} }; -void Generation::oop_iterate(OopClosure* cl) { +void Generation::oop_iterate(ExtendedOopClosure* cl) { GenerationOopIterateClosure blk(cl, _reserved); space_iterate(&blk); } -void Generation::oop_iterate(MemRegion mr, OopClosure* cl) { +void Generation::oop_iterate(MemRegion mr, ExtendedOopClosure* cl) { GenerationOopIterateClosure blk(cl, mr); space_iterate(&blk); } @@ -435,7 +435,7 @@ success = grow_to_reserved(); } if (PrintGC && Verbose) { - if (success && GC_locker::is_active()) { + if (success && GC_locker::is_active_and_needs_gc()) { gclog_or_tty->print_cr("Garbage collection disabled, expanded heap instead"); } }