diff -r 8bd1e4487c18 -r b5489bb705c9 src/share/vm/gc_implementation/concurrentMarkSweep/cmsOopClosures.hpp --- a/src/share/vm/gc_implementation/concurrentMarkSweep/cmsOopClosures.hpp Sun May 04 03:29:31 2008 -0700 +++ b/src/share/vm/gc_implementation/concurrentMarkSweep/cmsOopClosures.hpp Tue May 06 15:37:36 2008 -0700 @@ -329,7 +329,7 @@ class CMSKeepAliveClosure: public OopClosure { private: CMSCollector* _collector; - MemRegion _span; + const MemRegion _span; CMSMarkStack* _mark_stack; CMSBitMap* _bit_map; protected: @@ -340,7 +340,9 @@ _collector(collector), _span(span), _bit_map(bit_map), - _mark_stack(mark_stack) { } + _mark_stack(mark_stack) { + assert(!_span.is_empty(), "Empty span could spell trouble"); + } virtual void do_oop(oop* p); virtual void do_oop(narrowOop* p); inline void do_oop_nv(oop* p) { CMSKeepAliveClosure::do_oop_work(p); }