RFR: 8364235: Fix for JDK-8361447 breaks the alignment requirements for GuardedMemory [v2]

Axel Boldt-Christmas aboldtch at openjdk.org
Tue Jul 29 08:33:04 UTC 2025


On Tue, 29 Jul 2025 08:09:52 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
>
> David Holmes has updated the pull request incrementally with one additional commit since the last revision:
> 
>   Correct comments as per reviewer comments

src/hotspot/share/memory/guardedMemory.hpp line 45:

> 43:  * |------------------------------------------------------------
> 44:  * |base_addr          | 0xABABABABABABABAB   | Head guard     |
> 45:  * |+16                | padding              | For alignment  |

Is `+sizeof(Guard)` or `+GUARD_SIZE` an alternative to `+16`. 16 is a little out of the blue for me.

-------------

PR Review Comment: https://git.openjdk.org/jdk/pull/26524#discussion_r2238973802


More information about the hotspot-runtime-dev mailing list