RFR: 8374445: Fix -Wzero-as-null-pointer-constant warnings in JfrSet
Kim Barrett
kbarrett at openjdk.org
Thu Jan 15 19:15:48 UTC 2026
On Wed, 7 Jan 2026 17:34:11 GMT, Markus Grönlund <mgronlun 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).
Thanks for reviewing @mgronlun
-------------
PR Comment: https://git.openjdk.org/jdk/pull/29022#issuecomment-3756446182
More information about the hotspot-jfr-dev
mailing list