comparison src/share/vm/memory/generation.cpp @ 517:e9be0e04635a

6689653: JMapPerm fails with UseConcMarkSweepIncGC and compressed oops off Summary: Added safe_object_iterate() for use by JMapPerm. Reviewed-by: tonyp
author jmasa
date Tue, 06 Jan 2009 07:05:05 -0800
parents 818a18cd69a8
children 0fbdb4381b99
comparison
equal deleted inserted replaced
500:ca7d48236048 517:e9be0e04635a
314 GenerationObjIterateClosure(ObjectClosure* cl) : _cl(cl) {} 314 GenerationObjIterateClosure(ObjectClosure* cl) : _cl(cl) {}
315 }; 315 };
316 316
317 void Generation::object_iterate(ObjectClosure* cl) { 317 void Generation::object_iterate(ObjectClosure* cl) {
318 GenerationObjIterateClosure blk(cl); 318 GenerationObjIterateClosure blk(cl);
319 space_iterate(&blk);
320 }
321
322 class GenerationSafeObjIterateClosure : public SpaceClosure {
323 private:
324 ObjectClosure* _cl;
325 public:
326 virtual void do_space(Space* s) {
327 s->safe_object_iterate(_cl);
328 }
329 GenerationSafeObjIterateClosure(ObjectClosure* cl) : _cl(cl) {}
330 };
331
332 void Generation::safe_object_iterate(ObjectClosure* cl) {
333 GenerationSafeObjIterateClosure blk(cl);
319 space_iterate(&blk); 334 space_iterate(&blk);
320 } 335 }
321 336
322 void Generation::prepare_for_compaction(CompactPoint* cp) { 337 void Generation::prepare_for_compaction(CompactPoint* cp) {
323 // Generic implementation, can be specialized 338 // Generic implementation, can be specialized