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

Jiangli Zhou jiangli.zhou at oracle.com
Thu Jan 10 18:01:59 PST 2013


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.

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