RFR: 8377172: Change datatype of CodeEntryAlignment to uint
Albert Mingkun Yang
ayang at openjdk.org
Tue Feb 10 08:24:38 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.
Marked as reviewed by ayang (Reviewer).
src/hotspot/share/runtime/globals.hpp line 1514:
> 1512: "Code entry alignment for generated code" \
> 1513: " (in bytes, power of two)") \
> 1514: range(16, 1024) \
Since this range is derived from other related flag, I tend to think we shouldn't place a range here -- to me, constraints in `product*(` declaration indicates an intrinsic attribute of this particular flag, e.g. the "power of two" constraint.
YMMV.
-------------
PR Review: https://git.openjdk.org/jdk/pull/29637#pullrequestreview-3777401268
PR Review Comment: https://git.openjdk.org/jdk/pull/29637#discussion_r2786467856
More information about the hotspot-dev
mailing list