src/hotspot/share/memory/iterator.hpp
changeset 54150 5529640c5f67
parent 53889 6a84ea153af0
child 55251 92eec0732eed
child 58678 9cf78a70fa4f
equal deleted inserted replaced
54149:c61f09122d3b 54150:5529640c5f67
    34 class ReferenceDiscoverer;
    34 class ReferenceDiscoverer;
    35 class DataLayout;
    35 class DataLayout;
    36 class KlassClosure;
    36 class KlassClosure;
    37 class ClassLoaderData;
    37 class ClassLoaderData;
    38 class Symbol;
    38 class Symbol;
       
    39 class Metadata;
    39 
    40 
    40 // The following classes are C++ `closures` for iterating over objects, roots and spaces
    41 // The following classes are C++ `closures` for iterating over objects, roots and spaces
    41 
    42 
    42 class Closure : public StackObj { };
    43 class Closure : public StackObj { };
    43 
    44 
   120 };
   121 };
   121 
   122 
   122 class CLDClosure : public Closure {
   123 class CLDClosure : public Closure {
   123  public:
   124  public:
   124   virtual void do_cld(ClassLoaderData* cld) = 0;
   125   virtual void do_cld(ClassLoaderData* cld) = 0;
       
   126 };
       
   127 
       
   128 class MetadataClosure : public Closure {
       
   129  public:
       
   130   virtual void do_metadata(Metadata* md) = 0;
   125 };
   131 };
   126 
   132 
   127 
   133 
   128 class CLDToOopClosure : public CLDClosure {
   134 class CLDToOopClosure : public CLDClosure {
   129   OopClosure*       _oop_closure;
   135   OopClosure*       _oop_closure;