1.1 --- a/src/share/vm/gc_implementation/concurrentMarkSweep/concurrentMarkSweepGeneration.inline.hpp Fri Aug 31 16:39:35 2012 -0700 1.2 +++ b/src/share/vm/gc_implementation/concurrentMarkSweep/concurrentMarkSweepGeneration.inline.hpp Sat Sep 01 13:25:18 2012 -0400 1.3 @@ -1,5 +1,5 @@ 1.4 /* 1.5 - * Copyright (c) 2001, 2010, Oracle and/or its affiliates. All rights reserved. 1.6 + * Copyright (c) 2001, 2012, Oracle and/or its affiliates. All rights reserved. 1.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 1.8 * 1.9 * This code is free software; you can redistribute it and/or modify it 1.10 @@ -266,16 +266,12 @@ 1.11 1.12 inline void CMSCollector::save_sweep_limits() { 1.13 _cmsGen->save_sweep_limit(); 1.14 - _permGen->save_sweep_limit(); 1.15 } 1.16 1.17 inline bool CMSCollector::is_dead_obj(oop obj) const { 1.18 HeapWord* addr = (HeapWord*)obj; 1.19 assert((_cmsGen->cmsSpace()->is_in_reserved(addr) 1.20 - && _cmsGen->cmsSpace()->block_is_obj(addr)) 1.21 - || 1.22 - (_permGen->cmsSpace()->is_in_reserved(addr) 1.23 - && _permGen->cmsSpace()->block_is_obj(addr)), 1.24 + && _cmsGen->cmsSpace()->block_is_obj(addr)), 1.25 "must be object"); 1.26 return should_unload_classes() && 1.27 _collectorState == Sweeping && 1.28 @@ -453,6 +449,14 @@ 1.29 } 1.30 } 1.31 1.32 +inline void PushOrMarkClosure::do_yield_check() { 1.33 + _parent->do_yield_check(); 1.34 +} 1.35 + 1.36 +inline void Par_PushOrMarkClosure::do_yield_check() { 1.37 + _parent->do_yield_check(); 1.38 +} 1.39 + 1.40 // Return value of "true" indicates that the on-going preclean 1.41 // should be aborted. 1.42 inline bool ScanMarkedObjectsAgainCarefullyClosure::do_yield_check() {