6412968: CMS Long initial mark pauses

Reviewed-by: rasbold, tschatzl, jmasa
This commit is contained in:
Hiroshi Yamauchi 2013-07-25 11:07:23 -07:00 committed by Jon Masamitsu
parent 7d582a33d1
commit 6060a2999c
5 changed files with 175 additions and 47 deletions

View file

@ -122,6 +122,22 @@ class MarkRefsIntoClosure: public CMSOopsInGenClosure {
}
};
class Par_MarkRefsIntoClosure: public CMSOopsInGenClosure {
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);
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 {