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