8209821: Make JVMTI GetClassLoaderClasses not walk CLDG

And also added function with KlassClosure to remove the hacks.

Reviewed-by: lfoltan, sspitsyn
This commit is contained in:
Coleen Phillimore 2018-08-25 11:10:21 -04:00
parent 51c04f947f
commit fd9fa38d21
10 changed files with 62 additions and 258 deletions

View file

@ -1254,15 +1254,6 @@ void ClassLoaderDataGraph::dictionary_classes_do(void f(InstanceKlass*, TRAPS),
}
}
// Walks all entries in the dictionary including entries initiated by this class loader.
void ClassLoaderDataGraph::dictionary_all_entries_do(void f(InstanceKlass*, ClassLoaderData*)) {
Thread* thread = Thread::current();
FOR_ALL_DICTIONARY(cld) {
Handle holder(thread, cld->holder_phantom());
cld->dictionary()->all_entries_do(f);
}
}
void ClassLoaderDataGraph::verify_dictionary() {
FOR_ALL_DICTIONARY(cld) {
cld->dictionary()->verify();