src/share/vm/classfile/classLoaderData.hpp
Index Unified diffs Context diffs Sdiffs Wdiffs Patch New Old Previous File Next File 7198429 Sdiff src/share/vm/classfile

src/share/vm/classfile/classLoaderData.hpp

Print this page




 174   static ClassLoaderData* the_null_class_loader_data() {
 175     return _the_null_class_loader_data;
 176   }
 177 
 178   bool is_anonymous() const { return _is_anonymous; }
 179 
 180   static void init_null_class_loader_data() {
 181     assert(_the_null_class_loader_data == NULL, "cannot initialize twice");
 182     assert(ClassLoaderDataGraph::_head == NULL, "cannot initialize twice");
 183     _the_null_class_loader_data = new ClassLoaderData((oop)NULL, false);
 184     ClassLoaderDataGraph::_head = _the_null_class_loader_data;
 185     assert(_the_null_class_loader_data->is_the_null_class_loader_data(), "Must be");
 186     if (DumpSharedSpaces) {
 187       _the_null_class_loader_data->initialize_shared_metaspaces();
 188     }
 189   }
 190 
 191   bool is_the_null_class_loader_data() const {
 192     return this == _the_null_class_loader_data;
 193   }

 194 
 195   // The Metaspace is created lazily so may be NULL.  This
 196   // method will allocate a Metaspace if needed.
 197   Metaspace* metaspace_non_null();
 198 
 199   oop class_loader() const      { return _class_loader; }
 200 
 201   // Returns true if this class loader data is for a loader going away.
 202   bool is_unloading() const     {
 203     assert(!(is_the_null_class_loader_data() && _unloading), "The null class loader can never be unloaded");
 204     return _unloading;
 205   }
 206   // Anonymous class loader data doesn't have anything to keep them from
 207   // being unloaded during parsing the anonymous class.
 208   void set_keep_alive(bool value) { _keep_alive = value; }
 209 
 210   unsigned int identity_hash() {
 211     return _class_loader == NULL ? 0 : _class_loader->identity_hash();
 212   }
 213 




 174   static ClassLoaderData* the_null_class_loader_data() {
 175     return _the_null_class_loader_data;
 176   }
 177 
 178   bool is_anonymous() const { return _is_anonymous; }
 179 
 180   static void init_null_class_loader_data() {
 181     assert(_the_null_class_loader_data == NULL, "cannot initialize twice");
 182     assert(ClassLoaderDataGraph::_head == NULL, "cannot initialize twice");
 183     _the_null_class_loader_data = new ClassLoaderData((oop)NULL, false);
 184     ClassLoaderDataGraph::_head = _the_null_class_loader_data;
 185     assert(_the_null_class_loader_data->is_the_null_class_loader_data(), "Must be");
 186     if (DumpSharedSpaces) {
 187       _the_null_class_loader_data->initialize_shared_metaspaces();
 188     }
 189   }
 190 
 191   bool is_the_null_class_loader_data() const {
 192     return this == _the_null_class_loader_data;
 193   }
 194   bool is_ext_class_loader_data() const;
 195 
 196   // The Metaspace is created lazily so may be NULL.  This
 197   // method will allocate a Metaspace if needed.
 198   Metaspace* metaspace_non_null();
 199 
 200   oop class_loader() const      { return _class_loader; }
 201 
 202   // Returns true if this class loader data is for a loader going away.
 203   bool is_unloading() const     {
 204     assert(!(is_the_null_class_loader_data() && _unloading), "The null class loader can never be unloaded");
 205     return _unloading;
 206   }
 207   // Anonymous class loader data doesn't have anything to keep them from
 208   // being unloaded during parsing the anonymous class.
 209   void set_keep_alive(bool value) { _keep_alive = value; }
 210 
 211   unsigned int identity_hash() {
 212     return _class_loader == NULL ? 0 : _class_loader->identity_hash();
 213   }
 214 


src/share/vm/classfile/classLoaderData.hpp
Index Unified diffs Context diffs Sdiffs Wdiffs Patch New Old Previous File Next File