RFR: 8377172: Change datatype of CodeEntryAlignment to uint

Leo Korinth lkorinth at openjdk.org
Mon Feb 9 21:27:08 UTC 2026


On Mon, 9 Feb 2026 14:15:50 GMT, Leo Korinth <lkorinth at openjdk.org> wrote:

> The main idea of this change is to remove an implicitly narrowing conversion to int from intx (`int code_alignment()`).
> 
> CodeEntryAlignment is constrained to not be bigger than CodeCacheSegmentSize that is itself constrained to be in the range(1, 1024). The data type should really be a uint16_t as its allowed range is [16-1024], but we have no such support for VM flags. uint will do, and will simplify the code greatly (five less casts, six if we count the implicit narrowing cast).
> 
> Also add explicit range on the flag.
> 
> This change is inspired by my change 8376892: Allow conversion warnings in subsets of the code base.
> 
> Completed test tier 1-3.

Also a note on why I removed:

 // not sure why this is here, but why not...
    int alignSize = MAX2((intx) sizeof(jdouble), CodeEntryAlignment);

The reason is that alignSize will always be CodeEntryAlignment as it will always be larger than 8 bytes. No need to do strange things.

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

PR Comment: https://git.openjdk.org/jdk/pull/29637#issuecomment-3872116191


More information about the hotspot-dev mailing list