RFR: 8374445: Fix -Wzero-as-null-pointer-constant warnings in JfrSet
Markus Grönlund
mgronlun at openjdk.org
Wed Jan 7 17:38:46 UTC 2026
On Sat, 3 Jan 2026 08:21:15 GMT, Kim Barrett <kbarrett at openjdk.org> wrote:
> Please review this change to fix JfrSet to avoid triggering
> -Wzero-as-null-pointer-constant warnings when that warning is enabled.
>
> The old code uses an entry value with representation 0 to indicate the entry
> doesn't have a value. It compares an entry value against literal 0 to check
> for that. If the key type is a pointer type, this involves an implicit 0 =>
> null pointer constant conversion, so we get a warning when that warning is
> enabled.
>
> Instead we initialize entry values to a value-initialized key, and compare
> against a value-initialized key. This changes the (currently undocumented)
> requirements on the key type. The key type is no longer required to be
> trivially constructible (to permit memset-based initialization), but is now
> required to be value-initializable. That's currently a wash, since all of the
> in-use key types are fundamental types (traceid (u8) and Klass*).
>
> Testing: mach5 tier1-3 (tier3 is where most jfr tests are run)
Will review this later Kim, sorry for the delay (26 stuff).
-------------
PR Comment: https://git.openjdk.org/jdk/pull/29022#issuecomment-3719971111
More information about the hotspot-jfr-dev
mailing list