RFR: 8364235: Fix for JDK-8361447 breaks the alignment requirements for GuardedMemory
Kim Barrett
kbarrett at openjdk.org
Tue Jul 29 06:47:55 UTC 2025
On Tue, 29 Jul 2025 06:32:20 GMT, David Holmes <dholmes at openjdk.org> wrote:
> The fix for [JDK-8361447](https://bugs.openjdk.org/browse/JDK-8361447) added a new field to the `GuardHeader`, not realizing that the size of the `GuardHeader` must be such that the address of the user-data has the strictest necessary alignment (16-byte).
>
> We need to add a padding field to restore the alignment.
>
> A static assert is added to check the alignment.
>
> Testing:
> - tiers 1-3 (in progress)
>
> Thanks
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?
-------------
PR Review Comment: https://git.openjdk.org/jdk/pull/26524#discussion_r2238697795
More information about the hotspot-runtime-dev
mailing list