RFR: 8292981: Unify and restructure integer printing format specifiers [v7]

Kim Barrett kbarrett at openjdk.org
Wed Aug 31 17:45:13 UTC 2022


On Wed, 31 Aug 2022 12:30:10 GMT, Stefan Karlsson <stefank at openjdk.org> wrote:

>> Today we have some inconsistencies in how we name our integer printing format specifiers. I'd like to change this to be consistent. 
>> 
>> This patch comes from a discussion in #10028, which snowballed into restructuring the format specifiers. The main issues was that my original patch used PTR<size>_FORMAT to print integers with the format 0x000<value>. The reviewers felt that it was wrong to use PTR format specifiers when printing integers. I agree with that.
>> 
>> We do have format specifiers to print hex values out of integers, though they don't 0-pad like the PTR macros do, and only some of the prepend 0x.
>> 
>> I'd like to suggest that we use a convention to specify what we want. This is the current proposal:
>> 
>> // Guide to the suffixes used in the format specifiers for integers:
>> //        - print the decimal value:                   745565
>> //  _X    - print as hexadecimal, without leading 0s: 0x12345
>> //  _X_0  - print as hexadecimal, with leading 0s: 0x00012345
>> //  _H    - print as hexadecimal, without 0x prefix
>> //  _W(w) - prints w sized string with the given value right
>> //          adjusted. Use -w to print left adjusted.
>> //
>> // Note that the PTR format specifiers print using 0x with leading zeros,
>> // just like the _X_0 version for integers.
>> 
>> 
>> The patch also removes PTR32_FORMAT and PTR64_FORMAT and replace them with the corresponding integer format specifiers.
>
> Stefan Karlsson has updated the pull request with a new target base due to a merge or a rebase. The incremental webrev excludes the unrelated changes brought in by the merge/rebase. The pull request contains seven additional commits since the last revision:
> 
>  - Merge branch 'master' into 8292981_unify_integer_format_specifiers
>  - Remove _H variants
>  - Removed extraneous 0x
>  - Move INTPTR_FORMAT_H_W to Shenandoah
>  - Use PTR_FORMAT in AIX code
>  - Fix Shenandoah
>  - 8292981: Unify and restructure integer printing format specifiers

I'm also okay with the naming as is for this change.  We can revisit the names later if we want.  Some of the pre-existing issues I noted probably should have followup RFEs.

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

Marked as reviewed by kbarrett (Reviewer).

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


More information about the hotspot-dev mailing list