RFR: 8178490: Usages of is_object_aligned with pointers are broken

Stefan Karlsson stefan.karlsson at oracle.com
Mon Jun 26 07:08:40 UTC 2017


Thanks, Kim.

StefanK

On 2017-06-24 20:03, Kim Barrett wrote:
>> On Jun 22, 2017, at 5:16 AM, Stefan Karlsson <stefan.karlsson at oracle.com> wrote:
>>
>> Hi all,
>>
>> Please review this patch to fix and strengthen is_object_aligned checks when pointers are passed in:
>>
>> http://cr.openjdk.java.net/~stefank/8178490/webrev.00/
>> https://bugs.openjdk.java.net/browse/JDK-8178490
>>
>> is_object_aligned only works correctly for sizes measured in words.
>>
>> When a pointer is passed into:
>>
>> inline bool is_object_aligned(intptr_t addr) {
>>   return addr == align_object_size(addr);
>> }
>>
>> inline intptr_t align_object_size(intptr_t size) {
>>   return align_size_up(size, MinObjAlignment);
>> }
>>
>> the pointer is incorrectly interpreted as a word size and the alignment is checked against MinObjectAligment instead of MinObjectAlignmentInBytes
>>
>> Tested with JPRT together with different patches for:
>> 8178489 Make align functions more type safe and consistent
>>
>> Thanks,
>> StefanK
> Looks good.
>




More information about the hotspot-gc-dev mailing list