RFR: 8377895: Create sizeof_auto, to reduce narrowing conversions

Albert Mingkun Yang ayang at openjdk.org
Mon Feb 16 09:35:29 UTC 2026


On Fri, 13 Feb 2026 16:02:52 GMT, Leo Korinth <lkorinth at openjdk.org> wrote:

> `sizeof_auto` is created so that we can reduce the amount of casting and thus make the code more type safe. The normal `sizeof` will return a `size_t` although the size of most stuff can be represented in a `uint8_t`. `sizeof_auto` will return the size in an as small unsigned type as is possible. The result is that expressions that uses `sizeof_auto` can convert to most integral types, and no explicit narrowing cast will be needed.
> 
> The change in `cpCache.hpp` is an example where we would get an implicit narrowing warning (if we had those enabled) using normal `sizeof`, but where `sizeof_auto` will not make the expression a `size_t` .

I think I understand this feature, a `sizeof` returning the smallest integer type. Can `checked_cast` be used to reduce conversion warning instead?

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

PR Review: https://git.openjdk.org/jdk/pull/29716#pullrequestreview-3807551451


More information about the hotspot-dev mailing list