< prev index next >

src/hotspot/share/classfile/classLoaderData.hpp

Access_GetLoadedClasses

212     void oops_do_chunk(OopClosure* f, Chunk* c, const juint size);                                                         
213 
214    public:                                                                                                                 
215     ChunkedHandleList() : _head(NULL) {}                                                                                   
216     ~ChunkedHandleList();                                                                                                  
217 
218     // Only one thread at a time can add, guarded by ClassLoaderData::metaspace_lock().                                    
219     // However, multiple threads can execute oops_do concurrently with add.                                                
220     oop* add(oop o);                                                                                                       
221 #ifdef ASSERT                                                                                                              
222     bool contains(oop* p);                                                                                                 
223 #endif                                                                                                                     
224     void oops_do(OopClosure* f);                                                                                           
225   };                                                                                                                       
226 
227   friend class ClassLoaderDataGraph;                                                                                       
228   friend class ClassLoaderDataGraphKlassIteratorAtomic;                                                                    
229   friend class ClassLoaderDataGraphKlassIteratorStatic;                                                                    
230   friend class ClassLoaderDataGraphMetaspaceIterator;                                                                      
231   friend class InstanceKlass;                                                                                              
                                                                                                                           
232   friend class MetaDataFactory;                                                                                            
233   friend class Method;                                                                                                     
234 
235   static ClassLoaderData * _the_null_class_loader_data;                                                                    
236 
237   oop _class_loader;          // oop used to uniquely identify a class loader                                              
238                               // class loader or a canonical class path                                                    
239   Dependencies _dependencies; // holds dependencies from this class loader                                                 
240                               // data to others.                                                                           
241 
242   Metaspace * volatile _metaspace;  // Meta-space where meta-data defined by the                                           
243                                     // classes in the class loader are allocated.                                          
244   Mutex* _metaspace_lock;  // Locks the metaspace for allocations and setup.                                               
245   bool _unloading;         // true if this class loader goes away                                                          
246   bool _is_anonymous;      // if this CLD is for an anonymous class                                                        
247 
248   // Remembered sets support for the oops in the class loader data.                                                        
249   bool _modified_oops;             // Card Table Equivalent (YC/CMS support)                                               
250   bool _accumulated_modified_oops; // Mod Union Equivalent (CMS support)                                                   

212     void oops_do_chunk(OopClosure* f, Chunk* c, const juint size);
213 
214    public:
215     ChunkedHandleList() : _head(NULL) {}
216     ~ChunkedHandleList();
217 
218     // Only one thread at a time can add, guarded by ClassLoaderData::metaspace_lock().
219     // However, multiple threads can execute oops_do concurrently with add.
220     oop* add(oop o);
221 #ifdef ASSERT
222     bool contains(oop* p);
223 #endif
224     void oops_do(OopClosure* f);
225   };
226 
227   friend class ClassLoaderDataGraph;
228   friend class ClassLoaderDataGraphKlassIteratorAtomic;
229   friend class ClassLoaderDataGraphKlassIteratorStatic;
230   friend class ClassLoaderDataGraphMetaspaceIterator;
231   friend class InstanceKlass;
232   friend class Klass;
233   friend class MetaDataFactory;
234   friend class Method;
235 
236   static ClassLoaderData * _the_null_class_loader_data;
237 
238   oop _class_loader;          // oop used to uniquely identify a class loader
239                               // class loader or a canonical class path
240   Dependencies _dependencies; // holds dependencies from this class loader
241                               // data to others.
242 
243   Metaspace * volatile _metaspace;  // Meta-space where meta-data defined by the
244                                     // classes in the class loader are allocated.
245   Mutex* _metaspace_lock;  // Locks the metaspace for allocations and setup.
246   bool _unloading;         // true if this class loader goes away
247   bool _is_anonymous;      // if this CLD is for an anonymous class
248 
249   // Remembered sets support for the oops in the class loader data.
250   bool _modified_oops;             // Card Table Equivalent (YC/CMS support)
251   bool _accumulated_modified_oops; // Mod Union Equivalent (CMS support)
< prev index next >