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