Mercurial > hg > truffle
diff src/share/vm/gc_implementation/concurrentMarkSweep/concurrentMarkSweepGeneration.inline.hpp @ 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 | 6cd6d394f280 |
children | 63a4eb8bcd23 |
line wrap: on
line diff
--- a/src/share/vm/gc_implementation/concurrentMarkSweep/concurrentMarkSweepGeneration.inline.hpp Fri Aug 31 16:39:35 2012 -0700 +++ b/src/share/vm/gc_implementation/concurrentMarkSweep/concurrentMarkSweepGeneration.inline.hpp Sat Sep 01 13:25:18 2012 -0400 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2001, 2010, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2001, 2012, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -266,16 +266,12 @@ inline void CMSCollector::save_sweep_limits() { _cmsGen->save_sweep_limit(); - _permGen->save_sweep_limit(); } inline bool CMSCollector::is_dead_obj(oop obj) const { HeapWord* addr = (HeapWord*)obj; assert((_cmsGen->cmsSpace()->is_in_reserved(addr) - && _cmsGen->cmsSpace()->block_is_obj(addr)) - || - (_permGen->cmsSpace()->is_in_reserved(addr) - && _permGen->cmsSpace()->block_is_obj(addr)), + && _cmsGen->cmsSpace()->block_is_obj(addr)), "must be object"); return should_unload_classes() && _collectorState == Sweeping && @@ -453,6 +449,14 @@ } } +inline void PushOrMarkClosure::do_yield_check() { + _parent->do_yield_check(); +} + +inline void Par_PushOrMarkClosure::do_yield_check() { + _parent->do_yield_check(); +} + // Return value of "true" indicates that the on-going preclean // should be aborted. inline bool ScanMarkedObjectsAgainCarefullyClosure::do_yield_check() {