Request for review:7133260:Remove -Xaprof and the usage of Klass:_alloc_count and ArrayKlass::_alloc_size

Jiangli Zhou jiangli.zhou at oracle.com
Wed Jun 5 13:47:33 PDT 2013


Hi Coleen,

Thanks for the review!

Jiangli

On 06/05/2013 01:39 PM, Coleen Phillimore wrote:
>
> Jiangli,  This looks great!
>
> Thanks to Stefan for finding this function to remove
>
> -
> -void 
> CompactibleFreeListSpace::object_iterate_since_last_GC(ObjectClosure* 
> cl) {
> -  // ugghh... how would one do this efficiently for a non-contiguous 
> space?
> -  guarantee(false, "NYI");
> -}
>
> Coleen
>
> On 06/05/2013 04:29 PM, Jiangli Zhou wrote:
>> Hi Stefan,
>>
>> Here is updated webrev with object_iterate_since_last_GC and 
>> with_array_klasses_do removed.
>>
>>   http://cr.openjdk.java.net/~jiangli/7133260/webrev.01/
>>
>> Thanks,
>> Jiangli
>>
>> On 06/05/2013 09:44 AM, Jiangli Zhou wrote:
>>> Hi Stefan,
>>>
>>> On 06/05/2013 01:48 AM, Stefan Karlsson wrote:
>>>> On 06/05/2013 04:15 AM, Jiangli Zhou wrote:
>>>>> Hi,
>>>>>
>>>>> Please review following change for 7133260.
>>>>>
>>>>>   http://ccc.us.oracle.com/7133260
>>>>
>>>> I looked at:
>>>> http://cr.openjdk.java.net/~jiangli/7133260/webrev.00
>>>
>>> Thanks for doing that! Sorry for the wrong link.
>>>
>>>>
>>>> Looks good. Thanks for doing this cleanup.
>>>>
>>>> You remove the last usage of:
>>>>  object_iterate_since_last_GC
>>>>  with_array_klasses_do
>>>>
>>>> so there's even more cleanups that can be done here.
>>>
>>> That does appear to be the case. Thanks for noticing that. I'll try 
>>> to remove them as well.
>>>
>>>>
>>>>>
>>>>> In JDK8, -Xaprof support is outdated and broken. A new feature, 
>>>>> GC.class_stats command has been added to jcmd in JDK8. It provides 
>>>>> detailed class metadata memory statistics information. -Xaprof 
>>>>> uses Klass:_alloc_count and ArrayKlass::_alloc_size. Removing 
>>>>> -Xaprof and related fields would save 4bytes per class and 8bytes 
>>>>> per array class.
>>>>
>>>> FTR, I don't think you save 8 bytes for the array classes. The size 
>>>> of ArrayKlass increased so that the vtable offset matches the 
>>>> vtable offset of the InstanceKlasses. See ArrayKlass::static_size.
>>>
>>> Thanks for pointing out the ArrayKlass::static_size. You are right, 
>>> the array class size is increased to be the same as InstanceKlass 
>>> size in ArrayKlass::static_size. I will fix CCC. So removing fields 
>>> from ArrayKlass does not yield real saving. :( It also means any 
>>> size reduction in InstanceKlass would help array class. :) Any 
>>> reason why ArrayKlass and InstanceKlass vtable offset need to be 
>>> matched?
>>>
>>> Thanks for the review!
>>>
>>> Jiangli
>>>
>>>>
>>>> thanks
>>>> StefanK
>>>>
>>>>> Please see more information in the CCC request: 
>>>>> http://ccc.us.oracle.com/7133260.
>>>>>
>>>>> Tested with JPTR and vm.quick.testlist.
>>>>>
>>>>> Thanks,
>>>>> Jiangli
>>>>
>>>
>>
>



More information about the hotspot-runtime-dev mailing list