src/hotspot/share/classfile/classLoaderDataGraph.hpp
changeset 59258 4c2557ab304e
parent 58291 a013100f7a35
equal deleted inserted replaced
59255:a74627659f96 59258:4c2557ab304e
    41   friend class VMStructs;
    41   friend class VMStructs;
    42  private:
    42  private:
    43   // All CLDs (except the null CLD) can be reached by walking _head->_next->...
    43   // All CLDs (except the null CLD) can be reached by walking _head->_next->...
    44   static ClassLoaderData* volatile _head;
    44   static ClassLoaderData* volatile _head;
    45   static ClassLoaderData* _unloading;
    45   static ClassLoaderData* _unloading;
    46   // CMS support.
       
    47   static ClassLoaderData* _saved_head;
       
    48   static ClassLoaderData* _saved_unloading;
       
    49   static bool _should_purge;
       
    50 
    46 
    51   // Set if there's anything to purge in the deallocate lists or previous versions
    47   // Set if there's anything to purge in the deallocate lists or previous versions
    52   // during a safepoint after class unloading in a full GC.
    48   // during a safepoint after class unloading in a full GC.
    53   static bool _should_clean_deallocate_lists;
    49   static bool _should_clean_deallocate_lists;
    54   static bool _safepoint_cleanup_needed;
    50   static bool _safepoint_cleanup_needed;
   113 
   109 
   114   static void verify_dictionary();
   110   static void verify_dictionary();
   115   static void print_dictionary(outputStream* st);
   111   static void print_dictionary(outputStream* st);
   116   static void print_table_statistics(outputStream* st);
   112   static void print_table_statistics(outputStream* st);
   117 
   113 
   118   // CMS support.
       
   119   static void remember_new_clds(bool remember) { _saved_head = (remember ? _head : NULL); }
       
   120   static GrowableArray<ClassLoaderData*>* new_clds();
       
   121 
       
   122   static void set_should_purge(bool b) { _should_purge = b; }
       
   123   static bool should_purge_and_reset() {
       
   124     bool res = _should_purge;
       
   125     // reset for next time.
       
   126     set_should_purge(false);
       
   127     return res;
       
   128   }
       
   129 
       
   130   static int resize_dictionaries();
   114   static int resize_dictionaries();
   131 
   115 
   132   static bool has_metaspace_oom()           { return _metaspace_oom; }
   116   static bool has_metaspace_oom()           { return _metaspace_oom; }
   133   static void set_metaspace_oom(bool value) { _metaspace_oom = value; }
   117   static void set_metaspace_oom(bool value) { _metaspace_oom = value; }
   134 
   118