< prev index next >

src/hotspot/share/classfile/classLoaderDataGraph.hpp

Print this page
rev 60538 : imported patch jep387-misc.patch


 144 public:
 145   LockedClassesDo();  // For callers who provide their own do_klass
 146   LockedClassesDo(classes_do_func_t function);
 147   ~LockedClassesDo();
 148 
 149   void do_klass(Klass* k) {
 150     (*_function)(k);
 151   }
 152 };
 153 
 154 // An iterator that distributes Klasses to parallel worker threads.
 155 class ClassLoaderDataGraphKlassIteratorAtomic : public StackObj {
 156  Klass* volatile _next_klass;
 157  public:
 158   ClassLoaderDataGraphKlassIteratorAtomic();
 159   Klass* next_klass();
 160  private:
 161   static Klass* next_klass_in_cldg(Klass* klass);
 162 };
 163 
 164 class ClassLoaderDataGraphMetaspaceIterator : public StackObj {
 165   ClassLoaderData* _data;
 166  public:
 167   ClassLoaderDataGraphMetaspaceIterator();
 168   ~ClassLoaderDataGraphMetaspaceIterator();
 169   bool repeat() { return _data != NULL; }
 170   ClassLoaderMetaspace* get_next();
 171 };
 172 #endif // SHARE_CLASSFILE_CLASSLOADERDATAGRAPH_HPP


 144 public:
 145   LockedClassesDo();  // For callers who provide their own do_klass
 146   LockedClassesDo(classes_do_func_t function);
 147   ~LockedClassesDo();
 148 
 149   void do_klass(Klass* k) {
 150     (*_function)(k);
 151   }
 152 };
 153 
 154 // An iterator that distributes Klasses to parallel worker threads.
 155 class ClassLoaderDataGraphKlassIteratorAtomic : public StackObj {
 156  Klass* volatile _next_klass;
 157  public:
 158   ClassLoaderDataGraphKlassIteratorAtomic();
 159   Klass* next_klass();
 160  private:
 161   static Klass* next_klass_in_cldg(Klass* klass);
 162 };
 163 








 164 #endif // SHARE_CLASSFILE_CLASSLOADERDATAGRAPH_HPP
< prev index next >