[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