< prev index next >

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

Print this page




 247   // Cast away const
 248   ((Generation*)this)->space_iterate(&blk);
 249   return blk.is_obj;
 250 }
 251 
 252 class GenerationOopIterateClosure : public SpaceClosure {
 253  public:
 254   OopIterateClosure* _cl;
 255   virtual void do_space(Space* s) {
 256     s->oop_iterate(_cl);
 257   }
 258   GenerationOopIterateClosure(OopIterateClosure* cl) :
 259     _cl(cl) {}
 260 };
 261 
 262 void Generation::oop_iterate(OopIterateClosure* cl) {
 263   GenerationOopIterateClosure blk(cl);
 264   space_iterate(&blk);
 265 }
 266 
 267 void Generation::younger_refs_in_space_iterate(Space* sp,
 268                                                OopsInGenClosure* cl,
 269                                                uint n_threads) {
 270   CardTableRS* rs = GenCollectedHeap::heap()->rem_set();
 271   rs->younger_refs_in_space_iterate(sp, cl, n_threads);
 272 }
 273 
 274 class GenerationObjIterateClosure : public SpaceClosure {
 275  private:
 276   ObjectClosure* _cl;
 277  public:
 278   virtual void do_space(Space* s) {
 279     s->object_iterate(_cl);
 280   }
 281   GenerationObjIterateClosure(ObjectClosure* cl) : _cl(cl) {}
 282 };
 283 
 284 void Generation::object_iterate(ObjectClosure* cl) {
 285   GenerationObjIterateClosure blk(cl);
 286   space_iterate(&blk);
 287 }
 288 
 289 #if INCLUDE_SERIALGC
 290 
 291 void Generation::prepare_for_compaction(CompactPoint* cp) {
 292   // Generic implementation, can be specialized
 293   CompactibleSpace* space = first_compaction_space();




 247   // Cast away const
 248   ((Generation*)this)->space_iterate(&blk);
 249   return blk.is_obj;
 250 }
 251 
 252 class GenerationOopIterateClosure : public SpaceClosure {
 253  public:
 254   OopIterateClosure* _cl;
 255   virtual void do_space(Space* s) {
 256     s->oop_iterate(_cl);
 257   }
 258   GenerationOopIterateClosure(OopIterateClosure* cl) :
 259     _cl(cl) {}
 260 };
 261 
 262 void Generation::oop_iterate(OopIterateClosure* cl) {
 263   GenerationOopIterateClosure blk(cl);
 264   space_iterate(&blk);
 265 }
 266 







 267 class GenerationObjIterateClosure : public SpaceClosure {
 268  private:
 269   ObjectClosure* _cl;
 270  public:
 271   virtual void do_space(Space* s) {
 272     s->object_iterate(_cl);
 273   }
 274   GenerationObjIterateClosure(ObjectClosure* cl) : _cl(cl) {}
 275 };
 276 
 277 void Generation::object_iterate(ObjectClosure* cl) {
 278   GenerationObjIterateClosure blk(cl);
 279   space_iterate(&blk);
 280 }
 281 
 282 #if INCLUDE_SERIALGC
 283 
 284 void Generation::prepare_for_compaction(CompactPoint* cp) {
 285   // Generic implementation, can be specialized
 286   CompactibleSpace* space = first_compaction_space();


< prev index next >