RFR: 8300052: PdhDll::PdhCollectQueryData and PdhLookupPerfNameByIndex will never be NULL

David Holmes dholmes at openjdk.org
Mon Jan 16 03:03:10 UTC 2023


On Thu, 12 Jan 2023 15:21:37 GMT, Julian Waters <jwaters at openjdk.org> wrote:

> Both PdhDll::PdhCollectQueryData and PdhLookupPerfNameByIndex are concrete definitions and not pointers to executable code (Former is defined by us and the latter is a macro that expands into a concrete declaration), so it makes no sense to check if they will be NULL. The code fails to compile on Windows before this commit when gcc has warnings as errors enabled (-Waddress in this case)
> 
> In the case of PdhCollectQueryData I'm assuming the check actually intended to check for _PdhCollectQueryData with the leading underscore, which is actually a pointer and can be NULL. Do correct me if I'm wrong and point me to what the appropriate check would be otherwise

Changes requested by dholmes (Reviewer).

src/hotspot/os/windows/pdh_interface.cpp line 116:

> 114:          && _PdhCloseQuery != NULL && PdhCollectQueryData != NULL
> 115:          && _PdhGetFormattedCounterValue != NULL && _PdhEnumObjectItems != NULL
> 116:          && _PdhRemoveCounter != NULL && PdhLookupPerfNameByIndex != NULL

Shouldn't this also be checking the underscore version ie `_PdhLookupPerfNameByIndex`?

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

PR: https://git.openjdk.org/jdk/pull/11968


More information about the hotspot-runtime-dev mailing list