< prev index next >

src/hotspot/share/classfile/classLoaderData.hpp

Print this page




  87 
  88   // OOM has been seen in metaspace allocation. Used to prevent some
  89   // allocations until class unloading
  90   static bool _metaspace_oom;
  91 
  92   static volatile size_t  _num_instance_classes;
  93   static volatile size_t  _num_array_classes;
  94 
  95   static ClassLoaderData* add_to_graph(Handle class_loader, bool is_unsafe_anonymous);
  96   static ClassLoaderData* add(Handle class_loader, bool is_unsafe_anonymous);
  97 
  98  public:
  99   static ClassLoaderData* find_or_create(Handle class_loader);
 100   static void clean_module_and_package_info();
 101   static void purge();
 102   static void clear_claimed_marks();
 103   // Iteration through CLDG inside a safepoint; GC support
 104   static void cld_do(CLDClosure* cl);
 105   static void cld_unloading_do(CLDClosure* cl);
 106   static void roots_cld_do(CLDClosure* strong, CLDClosure* weak);
 107   static void keep_alive_cld_do(CLDClosure* cl);
 108   static void always_strong_cld_do(CLDClosure* cl);
 109   // klass do
 110   // Walking classes through the ClassLoaderDataGraph include array classes.  It also includes
 111   // classes that are allocated but not loaded, classes that have errors, and scratch classes
 112   // for redefinition.  These classes are removed during the next class unloading.
 113   // Walking the ClassLoaderDataGraph also includes unsafe anonymous classes.
 114   static void classes_do(KlassClosure* klass_closure);
 115   static void classes_do(void f(Klass* const));
 116   static void methods_do(void f(Method*));
 117   static void modules_do(void f(ModuleEntry*));
 118   static void modules_unloading_do(void f(ModuleEntry*));
 119   static void packages_do(void f(PackageEntry*));
 120   static void packages_unloading_do(void f(PackageEntry*));
 121   static void loaded_classes_do(KlassClosure* klass_closure);
 122   static void classes_unloading_do(void f(Klass* const));
 123   static bool do_unloading(bool do_cleaning);
 124 
 125   // Expose state to avoid logging overhead in safepoint cleanup tasks.
 126   static inline bool should_clean_metaspaces_and_reset();
 127   static void set_should_clean_deallocate_lists() { _should_clean_deallocate_lists = true; }




  87 
  88   // OOM has been seen in metaspace allocation. Used to prevent some
  89   // allocations until class unloading
  90   static bool _metaspace_oom;
  91 
  92   static volatile size_t  _num_instance_classes;
  93   static volatile size_t  _num_array_classes;
  94 
  95   static ClassLoaderData* add_to_graph(Handle class_loader, bool is_unsafe_anonymous);
  96   static ClassLoaderData* add(Handle class_loader, bool is_unsafe_anonymous);
  97 
  98  public:
  99   static ClassLoaderData* find_or_create(Handle class_loader);
 100   static void clean_module_and_package_info();
 101   static void purge();
 102   static void clear_claimed_marks();
 103   // Iteration through CLDG inside a safepoint; GC support
 104   static void cld_do(CLDClosure* cl);
 105   static void cld_unloading_do(CLDClosure* cl);
 106   static void roots_cld_do(CLDClosure* strong, CLDClosure* weak);

 107   static void always_strong_cld_do(CLDClosure* cl);
 108   // klass do
 109   // Walking classes through the ClassLoaderDataGraph include array classes.  It also includes
 110   // classes that are allocated but not loaded, classes that have errors, and scratch classes
 111   // for redefinition.  These classes are removed during the next class unloading.
 112   // Walking the ClassLoaderDataGraph also includes unsafe anonymous classes.
 113   static void classes_do(KlassClosure* klass_closure);
 114   static void classes_do(void f(Klass* const));
 115   static void methods_do(void f(Method*));
 116   static void modules_do(void f(ModuleEntry*));
 117   static void modules_unloading_do(void f(ModuleEntry*));
 118   static void packages_do(void f(PackageEntry*));
 119   static void packages_unloading_do(void f(PackageEntry*));
 120   static void loaded_classes_do(KlassClosure* klass_closure);
 121   static void classes_unloading_do(void f(Klass* const));
 122   static bool do_unloading(bool do_cleaning);
 123 
 124   // Expose state to avoid logging overhead in safepoint cleanup tasks.
 125   static inline bool should_clean_metaspaces_and_reset();
 126   static void set_should_clean_deallocate_lists() { _should_clean_deallocate_lists = true; }


< prev index next >