RFR: 8315066: Add unsigned bounds and known bits to TypeInt/Long [v54]
Quan Anh Mai
qamai at openjdk.org
Thu May 1 10:48:49 UTC 2025
On Thu, 1 May 2025 09:34:56 GMT, Emanuel Peter <epeter at openjdk.org> wrote:
>> Quan Anh Mai has updated the pull request incrementally with three additional commits since the last revision:
>>
>> - new_hi computation
>> - refer back to the formality section
>> - clarify where overflow comes from
>
> src/hotspot/share/opto/rangeinference.cpp line 938:
>
>> 936:
>> 937: template <class U>
>> 938: const char* TypeIntHelper::bitname(char* buf, size_t buf_size, U zeros, U ones) {
>
> Wow, these will look incredibly long for 64bit long values, no?
> Well, if it ever gets too much in the way, we can still try to find more compressed representations later.
> Maybe things like: `*..*000` for 8-aligned values.
> Others: `0..0***`, `00*..*`, `1..1***` etc.
> `0..0*..*` would be a little unfortunate as we would lose the position where the bits flip.
It only gets printed when we print verbose the `TypeInt` instance, for normal `dump` bit information is not present.
-------------
PR Review Comment: https://git.openjdk.org/jdk/pull/17508#discussion_r2070142217
More information about the hotspot-compiler-dev
mailing list