Code review request: JDK-8005048,NMT: #loaded classes needs to just show the # defined classes
Zhengyu Gu
zhengyu.gu at oracle.com
Tue Dec 18 06:43:44 PST 2012
Hi David,
Thanks for reviewing.
On 12/17/2012 9:41 PM, David Holmes wrote:
> Hi Zhengyu,
>
> On 18/12/2012 6:11 AM, Zhengyu Gu wrote:
>> Current NMT implementation reports number of loaded classes at query
>> time, but number of defined classes is what is expected.
>>
>> This changset reflects two major changes:
>>
>> 1. It counts number of defined classes vs. number of loaded classes
>
> Can you explain what the distinction is please? I don't know what a
> "defined class" is.
>
"defined class" refers to class definition (InstanceKlass), "loaded
class" refers to instance.
>> 2. It counts number of defined classes for each generation, vs. counts
>> at query time. In this way, the number of defined classes that NMT
>> reports, should match the corresponding class metadata data. As the
>> result, the data should be more accurate.
>>
>>
>> Webrev: http://cr.openjdk.java.net/~zgu/8005048/webrev.00/
>
> I think we could benefit from NMT_ONLY(x) macros to get rid of the
> one-line conditional blocks eg in instanceKlass.cpp
After consulting Chris Plummer, it does not have to exclude for
embedded. But yes, have NMT_ONLY() macros will be very helpful, I will
keep this in mind.
>
> ---
>
> src/share/vm/oops/instanceKlass.hpp
>
> + #if INCLUDE_NMT
> + static int number_of_instance_classes() { return
> (int)_total_instanceKlass_count; }
> +
> + private:
> + static volatile jint _total_instanceKlass_count;
> + #endif
>
> Why are we mixing int and jint here?
Yes, it is bad idea. Will change to "int"
Thanks,
-Zhengyu
>
> ---
>
> I can't comment on the detailed memory management of the GenerationData.
>
> David
> -----
>
>
>>
>> Thanks,
>>
>> -Zhengyu
More information about the hotspot-dev
mailing list