Request for review: 8005895: Inefficient InstanceKlass field packing wasts memory

Coleen Phillimore coleen.phillimore at oracle.com
Fri Jan 11 05:30:29 PST 2013


On 1/10/2013 9:01 PM, Jiangli Zhou wrote:
> Hi Coleen and Aleksey,
>
> Here is the updated weber that also packs _has_default_methods with 
> the misc_flags:
>
>   http://cr.openjdk.java.net/~jiangli/8005895/webrev.01/
>
> I've tested the new change with runthese and vm.quick.testlist. The 
> jprt test is running and looks good so far.

This looks great.   Thank you for making this additional change. We have 
at least 3 ways of specifying bitfields/flags in our metadata, but I 
want to talk about that on a separate thread.

Thanks,
Coleen

>
> Thanks,
> Jiangli
>
> On 01/10/2013 10:22 AM, Coleen Phillimore wrote:
>> If I remember correctly, _is_marked_dependent had special atomic 
>> properties that made us unable to add them to the misc flags, but 
>> that's a good question about _has_default_methods.   It could be a 
>> misc_flags if there's space in that.   There'd be a gap but it would 
>> be consistent and we can add more flags in the future.
>> A comment about _is_marked_dependent would be good too.
>> thanks,
>> Coleen
>>
>>
>> On 01/10/2013 01:11 PM, Aleksey Shipilev wrote:
>>> Why is _has_default_methods not in the enumerated flags there in the 
>>> first place?
>>>
>>> -Aleksey
>>>
>>> On 10.01.2013, at 21:57, Jiangli Zhou <jiangli.zhou at oracle.com> wrote:
>>>
>>>> Hi,
>>>>
>>>> Please review the following trivial change for repacking the 
>>>> InstanceKlass fields to improve memory efficiency.
>>>>
>>>>   http://cr.openjdk.java.net/~jiangli/8005895/webrev.00/
>>>>
>>>> The 'bool' typed variables, '_is_marked_dependent' and 
>>>> '_has_default_methods' were grouped with u2 typed fields. For both, 
>>>> there were 1-byte padding added on 32bit machine. We can pack those 
>>>> two boolean variables together to avoid the padding, then move one 
>>>> of the u2 field to be together with '_init_state' and 
>>>> '_reference_type'. That saves 4 bytes without any real code change.
>>>>
>>>> Thanks,
>>>>
>>>> Jiangli
>>
>



More information about the hotspot-runtime-dev mailing list