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() {