src/hotspot/share/classfile/systemDictionary.hpp
changeset 55740 b3ff56f955c8
parent 55635 0fb70c9118ce
child 57828 35db8fba55f9
equal deleted inserted replaced
55739:ba2bd51ce67e 55740:b3ff56f955c8
   346   // Unload (that is, break root links to) all unmarked classes and
   346   // Unload (that is, break root links to) all unmarked classes and
   347   // loaders.  Returns "true" iff something was unloaded.
   347   // loaders.  Returns "true" iff something was unloaded.
   348   static bool do_unloading(GCTimer* gc_timer);
   348   static bool do_unloading(GCTimer* gc_timer);
   349 
   349 
   350   // Applies "f->do_oop" to all root oops in the system dictionary.
   350   // Applies "f->do_oop" to all root oops in the system dictionary.
   351   static void oops_do(OopClosure* f);
   351   // If include_handles is true (the default), then the handles in the
       
   352   // storage object returned by vm_global_oop_storage() are included.
       
   353   static void oops_do(OopClosure* f, bool include_handles = true);
   352 
   354 
   353   // System loader lock
   355   // System loader lock
   354   static oop system_loader_lock()           { return _system_loader_lock_obj; }
   356   static oop system_loader_lock()           { return _system_loader_lock_obj; }
   355 
   357 
   356   // Protection Domain Table
   358   // Protection Domain Table
   561   static SymbolPropertyTable*    _invoke_method_table;
   563   static SymbolPropertyTable*    _invoke_method_table;
   562 
   564 
   563   // ProtectionDomain cache
   565   // ProtectionDomain cache
   564   static ProtectionDomainCacheTable*   _pd_cache_table;
   566   static ProtectionDomainCacheTable*   _pd_cache_table;
   565 
   567 
   566   // VM weak OopStorage object.
   568   // VM OopStorage objects.
       
   569   static OopStorage*             _vm_global_oop_storage;
   567   static OopStorage*             _vm_weak_oop_storage;
   570   static OopStorage*             _vm_weak_oop_storage;
   568 
   571 
   569 protected:
   572 protected:
   570   static void validate_protection_domain(InstanceKlass* klass,
   573   static void validate_protection_domain(InstanceKlass* klass,
   571                                          Handle class_loader,
   574                                          Handle class_loader,
   619     assert(m != NULL, "Unexpected NULL Method*");
   622     assert(m != NULL, "Unexpected NULL Method*");
   620     return !m->is_public() && m->method_holder() == SystemDictionary::Object_klass();
   623     return !m->is_public() && m->method_holder() == SystemDictionary::Object_klass();
   621   }
   624   }
   622 
   625 
   623   static void initialize_oop_storage();
   626   static void initialize_oop_storage();
       
   627   static OopStorage* vm_global_oop_storage();
   624   static OopStorage* vm_weak_oop_storage();
   628   static OopStorage* vm_weak_oop_storage();
   625 
   629 
   626 protected:
   630 protected:
   627   // Setup link to hierarchy
   631   // Setup link to hierarchy
   628   static void add_to_hierarchy(InstanceKlass* k, TRAPS);
   632   static void add_to_hierarchy(InstanceKlass* k, TRAPS);