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

Coleen Phillimore coleen.phillimore at oracle.com
Wed Jun 5 13:39:43 PDT 2013


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