--- old/src/share/vm/gc_implementation/concurrentMarkSweep/cmsOopClosures.hpp 2013-05-21 15:17:01.132194000 -0700 +++ new/src/share/vm/gc_implementation/concurrentMarkSweep/cmsOopClosures.hpp 2013-05-21 15:17:00.915187000 -0700 @@ -122,6 +122,24 @@ } }; +class Par_MarkRefsIntoClosure: public OopsInGenClosure { + private: + const MemRegion _span; + CMSBitMap* _bitMap; + protected: + DO_OOP_WORK_DEFN + public: + Par_MarkRefsIntoClosure(MemRegion span, CMSBitMap* bitMap); + virtual void do_oop(oop* p); + virtual void do_oop(narrowOop* p); + inline void do_oop_nv(oop* p) { Par_MarkRefsIntoClosure::do_oop_work(p); } + inline void do_oop_nv(narrowOop* p) { Par_MarkRefsIntoClosure::do_oop_work(p); } + bool do_header() { return true; } + Prefetch::style prefetch_style() { + return Prefetch::do_read; + } +}; + // A variant of the above used in certain kinds of CMS // marking verification. class MarkRefsIntoVerifyClosure: public CMSOopsInGenClosure {