1.1 --- a/src/share/vm/memory/iterator.hpp Mon Nov 26 12:31:03 2012 -0500 1.2 +++ b/src/share/vm/memory/iterator.hpp Tue Nov 27 10:13:20 2012 +0100 1.3 @@ -135,6 +135,20 @@ 1.4 virtual void do_klass(Klass* k); 1.5 }; 1.6 1.7 +class CLDToOopClosure { 1.8 + OopClosure* _oop_closure; 1.9 + KlassToOopClosure _klass_closure; 1.10 + bool _must_claim_cld; 1.11 + 1.12 + public: 1.13 + CLDToOopClosure(OopClosure* oop_closure, bool must_claim_cld = true) : 1.14 + _oop_closure(oop_closure), 1.15 + _klass_closure(oop_closure), 1.16 + _must_claim_cld(must_claim_cld) {} 1.17 + 1.18 + void do_cld(ClassLoaderData* cld); 1.19 +}; 1.20 + 1.21 // ObjectClosure is used for iterating through an object space 1.22 1.23 class ObjectClosure : public Closure {