< prev index next >

src/share/vm/gc/shared/generation.cpp

Print this page




 276   ((Generation*)this)->space_iterate(&blk);
 277   return blk.is_obj;
 278 }
 279 
 280 class GenerationOopIterateClosure : public SpaceClosure {
 281  public:
 282   ExtendedOopClosure* _cl;
 283   virtual void do_space(Space* s) {
 284     s->oop_iterate(_cl);
 285   }
 286   GenerationOopIterateClosure(ExtendedOopClosure* cl) :
 287     _cl(cl) {}
 288 };
 289 
 290 void Generation::oop_iterate(ExtendedOopClosure* cl) {
 291   GenerationOopIterateClosure blk(cl);
 292   space_iterate(&blk);
 293 }
 294 
 295 void Generation::younger_refs_in_space_iterate(Space* sp,
 296                                                OopsInGenClosure* cl) {

 297   GenRemSet* rs = GenCollectedHeap::heap()->rem_set();
 298   rs->younger_refs_in_space_iterate(sp, cl);
 299 }
 300 
 301 class GenerationObjIterateClosure : public SpaceClosure {
 302  private:
 303   ObjectClosure* _cl;
 304  public:
 305   virtual void do_space(Space* s) {
 306     s->object_iterate(_cl);
 307   }
 308   GenerationObjIterateClosure(ObjectClosure* cl) : _cl(cl) {}
 309 };
 310 
 311 void Generation::object_iterate(ObjectClosure* cl) {
 312   GenerationObjIterateClosure blk(cl);
 313   space_iterate(&blk);
 314 }
 315 
 316 class GenerationSafeObjIterateClosure : public SpaceClosure {
 317  private:
 318   ObjectClosure* _cl;




 276   ((Generation*)this)->space_iterate(&blk);
 277   return blk.is_obj;
 278 }
 279 
 280 class GenerationOopIterateClosure : public SpaceClosure {
 281  public:
 282   ExtendedOopClosure* _cl;
 283   virtual void do_space(Space* s) {
 284     s->oop_iterate(_cl);
 285   }
 286   GenerationOopIterateClosure(ExtendedOopClosure* cl) :
 287     _cl(cl) {}
 288 };
 289 
 290 void Generation::oop_iterate(ExtendedOopClosure* cl) {
 291   GenerationOopIterateClosure blk(cl);
 292   space_iterate(&blk);
 293 }
 294 
 295 void Generation::younger_refs_in_space_iterate(Space* sp,
 296                                                OopsInGenClosure* cl,
 297                                                uint n_threads) {
 298   GenRemSet* rs = GenCollectedHeap::heap()->rem_set();
 299   rs->younger_refs_in_space_iterate(sp, cl, n_threads);
 300 }
 301 
 302 class GenerationObjIterateClosure : public SpaceClosure {
 303  private:
 304   ObjectClosure* _cl;
 305  public:
 306   virtual void do_space(Space* s) {
 307     s->object_iterate(_cl);
 308   }
 309   GenerationObjIterateClosure(ObjectClosure* cl) : _cl(cl) {}
 310 };
 311 
 312 void Generation::object_iterate(ObjectClosure* cl) {
 313   GenerationObjIterateClosure blk(cl);
 314   space_iterate(&blk);
 315 }
 316 
 317 class GenerationSafeObjIterateClosure : public SpaceClosure {
 318  private:
 319   ObjectClosure* _cl;


< prev index next >