comparison src/share/vm/classfile/classLoaderData.hpp @ 20619:b12a2a9b05ca

8056240: Investigate increased GC remark time after class unloading changes in CRM Fuse Reviewed-by: mgerdin, coleenp, bdelsart
author stefank
date Thu, 02 Oct 2014 10:55:36 +0200
parents 2c6ef90f030a
children 82d3e7b5277a
comparison
equal deleted inserted replaced
20618:7024b693c8f9 20619:b12a2a9b05ca
69 static ClassLoaderData* _saved_unloading; 69 static ClassLoaderData* _saved_unloading;
70 static bool _should_purge; 70 static bool _should_purge;
71 71
72 static ClassLoaderData* add(Handle class_loader, bool anonymous, TRAPS); 72 static ClassLoaderData* add(Handle class_loader, bool anonymous, TRAPS);
73 static void post_class_unload_events(void); 73 static void post_class_unload_events(void);
74 static void clean_metaspaces();
74 public: 75 public:
75 static ClassLoaderData* find_or_create(Handle class_loader, TRAPS); 76 static ClassLoaderData* find_or_create(Handle class_loader, TRAPS);
76 static void purge(); 77 static void purge();
77 static void clear_claimed_marks(); 78 static void clear_claimed_marks();
78 // oops do 79 // oops do
87 // klass do 88 // klass do
88 static void classes_do(KlassClosure* klass_closure); 89 static void classes_do(KlassClosure* klass_closure);
89 static void classes_do(void f(Klass* const)); 90 static void classes_do(void f(Klass* const));
90 static void loaded_classes_do(KlassClosure* klass_closure); 91 static void loaded_classes_do(KlassClosure* klass_closure);
91 static void classes_unloading_do(void f(Klass* const)); 92 static void classes_unloading_do(void f(Klass* const));
92 static bool do_unloading(BoolObjectClosure* is_alive); 93 static bool do_unloading(BoolObjectClosure* is_alive, bool clean_alive);
93 94
94 // CMS support. 95 // CMS support.
95 static void remember_new_clds(bool remember) { _saved_head = (remember ? _head : NULL); } 96 static void remember_new_clds(bool remember) { _saved_head = (remember ? _head : NULL); }
96 static GrowableArray<ClassLoaderData*>* new_clds(); 97 static GrowableArray<ClassLoaderData*>* new_clds();
97 98
102 purge(); 103 purge();
103 // reset for next time. 104 // reset for next time.
104 set_should_purge(false); 105 set_should_purge(false);
105 } 106 }
106 } 107 }
108
109 static void free_deallocate_lists();
107 110
108 static void dump_on(outputStream * const out) PRODUCT_RETURN; 111 static void dump_on(outputStream * const out) PRODUCT_RETURN;
109 static void dump() { dump_on(tty); } 112 static void dump() { dump_on(tty); }
110 static void verify(); 113 static void verify();
111 114