Please, review the following fix.

Issue : https://bugs.openjdk.java.net/browse/JDK-6656031
Webrev: http://cr.openjdk.java.net/~jbachorik/6656031/webrev.00

The issue is caused by using SystemDictionary.ClassAndLoaderVisitor to traverse the dictionary classes to get the numbers of the loaded classes per classloader. This visitor will visit all the combinations of a particular class and all its classloaders - the defining CL + all initiating CLs. This will cause completely wrong numbers to be reported.

The solution is to use SystemDictionary.ClassVisitor which walks only over the loaded classes (each class exactly once) and extract the defining CL from the visited Klass.

Thanks,

-JB-

Reply via email to