--- old/src/share/vm/classfile/systemDictionary.cpp 2017-03-08 11:10:16.466509075 -0500 +++ new/src/share/vm/classfile/systemDictionary.cpp 2017-03-08 11:10:16.111213968 -0500 @@ -1979,31 +1979,6 @@ invoke_method_table()->oops_do(f); } -// Extended Class redefinition support. -// If one of these classes is replaced, we need to replace it in these places. -// KlassClosure::do_klass should take the address of a class but we can -// change that later. -void SystemDictionary::preloaded_classes_do(KlassClosure* f) { - for (int k = (int)FIRST_WKID; k < (int)WKID_LIMIT; k++) { - f->do_klass(_well_known_klasses[k]); - } - - { - for (int i = 0; i < T_VOID+1; i++) { - if (_box_klasses[i] != NULL) { - assert(i >= T_BOOLEAN, "checking"); - f->do_klass(_box_klasses[i]); - } - } - } - - FilteredFieldsMap::classes_do(f); -} - -void SystemDictionary::lazily_loaded_classes_do(KlassClosure* f) { - f->do_klass(_abstract_ownable_synchronizer_klass); -} - // Just the classes from defining class loaders // Don't iterate over placeholders void SystemDictionary::classes_do(void f(Klass*)) { @@ -2023,12 +1998,8 @@ dictionary()->classes_do(f); } -void SystemDictionary::placeholders_do(void f(Symbol*)) { - placeholders()->entries_do(f); -} - void SystemDictionary::methods_do(void f(Method*)) { - dictionary()->methods_do(f); + ClassLoaderDataGraph::methods_do(f); invoke_method_table()->methods_do(f); }