95 // Expose state to avoid logging overhead in safepoint cleanup tasks.
96 static inline bool should_clean_metaspaces_and_reset();
97 static void set_should_clean_deallocate_lists() { _should_clean_deallocate_lists = true; }
98 static void clean_deallocate_lists(bool purge_previous_versions);
99 static void walk_metadata_and_clean_metaspaces();
100
101 // dictionary do
102 // Iterate over all klasses in dictionary, but
103 // just the classes from defining class loaders.
104 static void dictionary_classes_do(void f(InstanceKlass*));
105 // Added for initialize_itable_for_klass to handle exceptions.
106 static void dictionary_classes_do(void f(InstanceKlass*, TRAPS), TRAPS);
107
108 // VM_CounterDecay iteration support
109 static InstanceKlass* try_get_next_class();
110 static void adjust_saved_class(ClassLoaderData* cld);
111 static void adjust_saved_class(Klass* klass);
112
113 static void verify_dictionary();
114 static void print_dictionary(outputStream* st);
115 static void print_dictionary_statistics(outputStream* st);
116
117 // CMS support.
118 static void remember_new_clds(bool remember) { _saved_head = (remember ? _head : NULL); }
119 static GrowableArray<ClassLoaderData*>* new_clds();
120
121 static void set_should_purge(bool b) { _should_purge = b; }
122 static void purge_if_needed() {
123 // Only purge the CLDG for CMS if concurrent sweep is complete.
124 if (_should_purge) {
125 purge();
126 // reset for next time.
127 set_should_purge(false);
128 }
129 }
130
131 static int resize_if_needed();
132
133 static bool has_metaspace_oom() { return _metaspace_oom; }
134 static void set_metaspace_oom(bool value) { _metaspace_oom = value; }
135
|
95 // Expose state to avoid logging overhead in safepoint cleanup tasks.
96 static inline bool should_clean_metaspaces_and_reset();
97 static void set_should_clean_deallocate_lists() { _should_clean_deallocate_lists = true; }
98 static void clean_deallocate_lists(bool purge_previous_versions);
99 static void walk_metadata_and_clean_metaspaces();
100
101 // dictionary do
102 // Iterate over all klasses in dictionary, but
103 // just the classes from defining class loaders.
104 static void dictionary_classes_do(void f(InstanceKlass*));
105 // Added for initialize_itable_for_klass to handle exceptions.
106 static void dictionary_classes_do(void f(InstanceKlass*, TRAPS), TRAPS);
107
108 // VM_CounterDecay iteration support
109 static InstanceKlass* try_get_next_class();
110 static void adjust_saved_class(ClassLoaderData* cld);
111 static void adjust_saved_class(Klass* klass);
112
113 static void verify_dictionary();
114 static void print_dictionary(outputStream* st);
115 static void print_table_statistics(outputStream* st);
116
117 // CMS support.
118 static void remember_new_clds(bool remember) { _saved_head = (remember ? _head : NULL); }
119 static GrowableArray<ClassLoaderData*>* new_clds();
120
121 static void set_should_purge(bool b) { _should_purge = b; }
122 static void purge_if_needed() {
123 // Only purge the CLDG for CMS if concurrent sweep is complete.
124 if (_should_purge) {
125 purge();
126 // reset for next time.
127 set_should_purge(false);
128 }
129 }
130
131 static int resize_if_needed();
132
133 static bool has_metaspace_oom() { return _metaspace_oom; }
134 static void set_metaspace_oom(bool value) { _metaspace_oom = value; }
135
|