RFR: 8364235: Fix for JDK-8361447 breaks the alignment requirements for GuardedMemory [v2]
Axel Boldt-Christmas
aboldtch at openjdk.org
Tue Jul 29 08:27:04 UTC 2025
On Tue, 29 Jul 2025 07:47:05 GMT, David Holmes <dholmes at openjdk.org> wrote:
>> src/hotspot/share/memory/guardedMemory.hpp line 143:
>>
>>> 141: friend class GuardedMemory;
>>> 142:
>>> 143: void* padding; // Ensures 16-byte alignment
>>
>> I'm not sure how this does anything for alignment, other than perhaps because the ABI happens to make
>> the desired alignment happen somehow.
>>
>> But why not use `alignas(16)` somewhere?
>
> It ensures that the offset of the user-data ptr within the `GuardedMemory` object, places the user-data on a suitably aligned boundary.
>
> I tried:
>
> alignas(16) u_char* _base_addr;
>
> but that did not work. Perhaps I am using it wrong?
That would simply align the "guarded memory handle"'s field (on the stack) not the value inside. It is the value we put in there that needs to be aligned.
-------------
PR Review Comment: https://git.openjdk.org/jdk/pull/26524#discussion_r2238954307
More information about the hotspot-runtime-dev
mailing list