RFR: JDK-8211270: GC abstraction to get real object and headers size

Roman Kennke rkennke at redhat.com
Wed Oct 10 06:25:35 UTC 2018


Zhengyu, thanks for reviewing!

Roman


> Looks good to me.
> 
> Thanks,
> 
> -Zhengyu
> 
> On 10/09/2018 10:39 AM, Roman Kennke wrote:
>> Hey Aleksey,
>>
>>> On 10/05/2018 06:20 PM, Roman Kennke wrote:
>>>>> Webrev:
>>>>> http://cr.openjdk.java.net/~rkennke/JDK-8211270/webrev.00/
>>>
>>> Do we really need the abstractions for header sizes? I think all
>>> usages need the object size, and
>>> header sizes can be just picked up from the usual places. No GC,
>>> including Shenandoah is changing
>>> the header size?
>>>
>>> Trying to understand the use case, looking at Shenandoah's diff here:
>>>
>>> https://builds.shipilev.net/patch-openjdk-shenandoah-jdk/latest/src/hotspot/share/gc/shared/plab.cpp.sdiff.html
>>>
>>>
>>> ...it seems what we really want is to mix in oop_extra_words into
>>> plab.cpp accessors. Because doing
>>> ShenandoahHeap::obj_header_size() { return obj_header_size +
>>> oop_extra_words; } seems wrong down the
>>> line -- it would _not_ be the header size.
>>
>> It seems that the PLAB stuff does indeed require a different kind of
>> abstraction, and most likely something that can be shared with, e.g.,
>> TLAB in the form of a virtual version of CollectedHeap::min_fill_size()
>> or such. Let's take this part out of the patch:
>>
>> http://cr.openjdk.java.net/~rkennke/JDK-8211270/webrev.01/
>>
>> Good now?
>>
>> Roman
>>

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 833 bytes
Desc: OpenPGP digital signature
URL: <http://mail.openjdk.java.net/pipermail/hotspot-gc-dev/attachments/20181010/083bab9a/signature-0001.asc>


More information about the hotspot-gc-dev mailing list