295 return blk.is_obj; |
295 return blk.is_obj; |
296 } |
296 } |
297 |
297 |
298 class GenerationOopIterateClosure : public SpaceClosure { |
298 class GenerationOopIterateClosure : public SpaceClosure { |
299 public: |
299 public: |
300 ExtendedOopClosure* cl; |
300 ExtendedOopClosure* _cl; |
301 MemRegion mr; |
|
302 virtual void do_space(Space* s) { |
301 virtual void do_space(Space* s) { |
303 s->oop_iterate(mr, cl); |
302 s->oop_iterate(_cl); |
304 } |
303 } |
305 GenerationOopIterateClosure(ExtendedOopClosure* _cl, MemRegion _mr) : |
304 GenerationOopIterateClosure(ExtendedOopClosure* cl) : |
306 cl(_cl), mr(_mr) {} |
305 _cl(cl) {} |
307 }; |
306 }; |
308 |
307 |
309 void Generation::oop_iterate(ExtendedOopClosure* cl) { |
308 void Generation::oop_iterate(ExtendedOopClosure* cl) { |
310 GenerationOopIterateClosure blk(cl, _reserved); |
309 GenerationOopIterateClosure blk(cl); |
311 space_iterate(&blk); |
|
312 } |
|
313 |
|
314 void Generation::oop_iterate(MemRegion mr, ExtendedOopClosure* cl) { |
|
315 GenerationOopIterateClosure blk(cl, mr); |
|
316 space_iterate(&blk); |
310 space_iterate(&blk); |
317 } |
311 } |
318 |
312 |
319 void Generation::younger_refs_in_space_iterate(Space* sp, |
313 void Generation::younger_refs_in_space_iterate(Space* sp, |
320 OopsInGenClosure* cl) { |
314 OopsInGenClosure* cl) { |