RFR: 8374445: Fix -Wzero-as-null-pointer-constant warnings in JfrSet
Kim Barrett
kbarrett at openjdk.org
Sat Jan 3 08:29:29 UTC 2026
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)
-------------
Commit messages:
- fix -Wzero-as-null-poniter-constant warnings in jfrSet.hpp
Changes: https://git.openjdk.org/jdk/pull/29022/files
Webrev: https://webrevs.openjdk.org/?repo=jdk&pr=29022&range=00
Issue: https://bugs.openjdk.org/browse/JDK-8374445
Stats: 10 lines in 1 file changed: 3 ins; 0 del; 7 mod
Patch: https://git.openjdk.org/jdk/pull/29022.diff
Fetch: git fetch https://git.openjdk.org/jdk.git pull/29022/head:pull/29022
PR: https://git.openjdk.org/jdk/pull/29022
More information about the hotspot-jfr-dev
mailing list