< prev index next >

src/share/vm/classfile/classLoaderData.hpp

Print this page
rev 13113 : imported patch 8181917-refactor-ul-logstream


 112   // CMS support.
 113   static void remember_new_clds(bool remember) { _saved_head = (remember ? _head : NULL); }
 114   static GrowableArray<ClassLoaderData*>* new_clds();
 115 
 116   static void set_should_purge(bool b) { _should_purge = b; }
 117   static void purge_if_needed() {
 118     // Only purge the CLDG for CMS if concurrent sweep is complete.
 119     if (_should_purge) {
 120       purge();
 121       // reset for next time.
 122       set_should_purge(false);
 123     }
 124   }
 125 
 126   static bool has_metaspace_oom()           { return _metaspace_oom; }
 127   static void set_metaspace_oom(bool value) { _metaspace_oom = value; }
 128 
 129   static void dump_on(outputStream * const out) PRODUCT_RETURN;
 130   static void dump() { dump_on(tty); }
 131   static void verify();
 132   static void log_creation(Handle loader, ClassLoaderData* cld, TRAPS);
 133 
 134   static bool unload_list_contains(const void* x);
 135 #ifndef PRODUCT
 136   static bool contains_loader_data(ClassLoaderData* loader_data);
 137 #endif
 138 
 139 #if INCLUDE_TRACE
 140  private:
 141   static Ticks _class_unload_time;
 142   static void class_unload_event(Klass* const k);
 143 #endif
 144 };
 145 
 146 // ClassLoaderData class
 147 
 148 class ClassLoaderData : public CHeapObj<mtClass> {
 149   friend class VMStructs;
 150  private:
 151   class Dependencies VALUE_OBJ_CLASS_SPEC {
 152     objArrayOop _list_head;




 112   // CMS support.
 113   static void remember_new_clds(bool remember) { _saved_head = (remember ? _head : NULL); }
 114   static GrowableArray<ClassLoaderData*>* new_clds();
 115 
 116   static void set_should_purge(bool b) { _should_purge = b; }
 117   static void purge_if_needed() {
 118     // Only purge the CLDG for CMS if concurrent sweep is complete.
 119     if (_should_purge) {
 120       purge();
 121       // reset for next time.
 122       set_should_purge(false);
 123     }
 124   }
 125 
 126   static bool has_metaspace_oom()           { return _metaspace_oom; }
 127   static void set_metaspace_oom(bool value) { _metaspace_oom = value; }
 128 
 129   static void dump_on(outputStream * const out) PRODUCT_RETURN;
 130   static void dump() { dump_on(tty); }
 131   static void verify();
 132   static void print_creation(outputStream* out, Handle loader, ClassLoaderData* cld, TRAPS);
 133 
 134   static bool unload_list_contains(const void* x);
 135 #ifndef PRODUCT
 136   static bool contains_loader_data(ClassLoaderData* loader_data);
 137 #endif
 138 
 139 #if INCLUDE_TRACE
 140  private:
 141   static Ticks _class_unload_time;
 142   static void class_unload_event(Klass* const k);
 143 #endif
 144 };
 145 
 146 // ClassLoaderData class
 147 
 148 class ClassLoaderData : public CHeapObj<mtClass> {
 149   friend class VMStructs;
 150  private:
 151   class Dependencies VALUE_OBJ_CLASS_SPEC {
 152     objArrayOop _list_head;


< prev index next >