RFR 6656031: SA: jmap -permstat number of classes is off by 1
Dmitry Samersoff
dmitry.samersoff at oracle.com
Thu Dec 19 12:14:11 PST 2013
Jaroslav,
Changes looks good for me, but
I would prefer to re-order if at ll. 112 like:
LoaderData ld = bootstrapLoaderData;
Oop loader = ((InstanceKlass) k).getClassLoader();
if (loader != Null){
ld = loaderMap.get(loader)
}
-Dmitry
On 2013-12-17 15:54, Jaroslav Bachorik wrote:
> 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-
--
Dmitry Samersoff
Oracle Java development team, Saint Petersburg, Russia
* I would love to change the world, but they won't give me the sources.
More information about the serviceability-dev
mailing list