< prev index next >

src/hotspot/share/classfile/classLoaderDataGraph.hpp

Print this page
rev 57511 : [mq]: metaspace-improvement


 159 public:
 160   LockedClassesDo();  // For callers who provide their own do_klass
 161   LockedClassesDo(classes_do_func_t function);
 162   ~LockedClassesDo();
 163 
 164   void do_klass(Klass* k) {
 165     (*_function)(k);
 166   }
 167 };
 168 
 169 // An iterator that distributes Klasses to parallel worker threads.
 170 class ClassLoaderDataGraphKlassIteratorAtomic : public StackObj {
 171  Klass* volatile _next_klass;
 172  public:
 173   ClassLoaderDataGraphKlassIteratorAtomic();
 174   Klass* next_klass();
 175  private:
 176   static Klass* next_klass_in_cldg(Klass* klass);
 177 };
 178 
 179 class ClassLoaderDataGraphMetaspaceIterator : public StackObj {
 180   ClassLoaderData* _data;
 181  public:
 182   ClassLoaderDataGraphMetaspaceIterator();
 183   ~ClassLoaderDataGraphMetaspaceIterator();
 184   bool repeat() { return _data != NULL; }
 185   ClassLoaderMetaspace* get_next();
 186 };
 187 #endif // SHARE_CLASSFILE_CLASSLOADERDATAGRAPH_HPP


 159 public:
 160   LockedClassesDo();  // For callers who provide their own do_klass
 161   LockedClassesDo(classes_do_func_t function);
 162   ~LockedClassesDo();
 163 
 164   void do_klass(Klass* k) {
 165     (*_function)(k);
 166   }
 167 };
 168 
 169 // An iterator that distributes Klasses to parallel worker threads.
 170 class ClassLoaderDataGraphKlassIteratorAtomic : public StackObj {
 171  Klass* volatile _next_klass;
 172  public:
 173   ClassLoaderDataGraphKlassIteratorAtomic();
 174   Klass* next_klass();
 175  private:
 176   static Klass* next_klass_in_cldg(Klass* klass);
 177 };
 178 








 179 #endif // SHARE_CLASSFILE_CLASSLOADERDATAGRAPH_HPP
< prev index next >