RFR (S) 8184753: Assert against MinObjectAlignmentMask to avoid integer division
Mikael Gerdin
mikael.gerdin at oracle.com
Tue Jul 18 07:58:27 UTC 2017
Hi Aleksey,
On 2017-07-18 09:51, Aleksey Shipilev wrote:
> Hi Mikael,
>
> On 07/18/2017 09:48 AM, Mikael Gerdin wrote:
>>> Noticed two new asserts in arguments.cpp have excess whitespace, fixed:
>>> http://cr.openjdk.java.net/~shade/8184753/webrev.02
>>
>> Did you consider using is_object_aligned in the newly created align.hpp?
>>
>> http://hg.openjdk.java.net/jdk10/hs/hotspot/file/5e9c41536bd2/src/share/vm/utilities/align.hpp#l120
>>
>> inline bool is_object_aligned(size_t word_size) {
>> return is_aligned(word_size, MinObjAlignment);
>> }
>
> I did, but haven't done this for two reasons:
> a) The asserts are about object _sizes_, not the objects themselves;
> b) Doing *Mask fits other uses of MinObjAlignment(InBytes)(Mask) around HS;
But the is_object_aligned(size_t) function _is_ about object sizes, it
just has a weird naming and a weird overload with the void* variant
which asserts that a pointer is correctly aligned.
Another approach would be to just get rid of the weird one in align.hpp
and use the MinObjAlignmentMask in plab.cpp instead.
/Mikael
>
> Thanks,
> -Aleksey
>
>
>
More information about the hotspot-dev
mailing list