RFR: 8293304: Replace some usages of INTPTR_FORMAT with PTR_FORMAT

Stefan Karlsson stefank at openjdk.org
Wed Sep 7 07:06:47 UTC 2022


On Fri, 2 Sep 2022 09:51:06 GMT, Stefan Karlsson <stefank at openjdk.org> wrote:

> During the discussion of [JDK-8292981](https://bugs.openjdk.org/browse/JDK-8292981) an opinion was voiced that we should stop using INTPTR_FORMAT when printing pointers.
> 
> Some background that could explain why some tend to use INTPTR_FORMAT instead of PTR_FORMAT:
> 
> Both those format specifiers require an integer and the compiler barfs if you send in a pointer. We therefore have a utility function named p2i, which converts the pointer to an integer. So, everywhere we have to write print line like this: `print("my pointer: " PTR_FORMAT, p2i(my_pointer));`. Now, p2i returns an intptr_t, and it becomes natural for some to consider the type of the converted value (that we need because of the mentioned workaround), instead of the original type of the value.
> 
> With this enhancement I'd like to clean up the code that I often work in, so that it uses PTR_FORMAT when printing pointers. I'm leaving the rest of the code base for others to consider cleaning up.
> 
> Cleanups have been done in directories gc/, utilities/, memory/, and oops/.

@kimbarrett You commented on the "incorrect" usages of INTPTR_FORMAT in JDK-8292981. Do you think this PR moves the code in the right direction?

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

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


More information about the hotspot-dev mailing list