[prev in list] [next in list] [prev in thread] [next in thread]
List: openjdk-serviceability-dev
Subject: Re: RFR 6656031: SA: jmap -permstat number of classes is off by 1
From: Jaroslav Bachorik <jaroslav.bachorik () oracle ! com>
Date: 2013-12-20 7:21:09
Message-ID: 52B3EFE5.2050800 () oracle ! com
[Download RAW message or body]
Hi Dmitry,
On 19.12.2013 21:14, Dmitry Samersoff wrote:
> 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)
> }
Could you please elaborate on this? I am not that familiar with all the
details in the code - why is it necessary to use "loadedMap.get(loader)"?
Thanks,
-JB-
>
> -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-
>
>
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic