RFR: 8315066: Add unsigned bounds and known bits to TypeInt/Long [v7]

Quan Anh Mai qamai at openjdk.org
Tue Sep 3 20:52:27 UTC 2024


On Tue, 3 Sep 2024 14:27:22 GMT, Emanuel Peter <epeter at openjdk.org> wrote:

>> Quan Anh Mai has updated the pull request with a new target base due to a merge or a rebase. The pull request now contains 11 commits:
>> 
>>  - fix compile errors
>>  - Merge branch 'master' into unsignedbounds
>>  - add comments
>>  - Merge branch 'master' into unsignedbounds
>>  - fix release build
>>  - add comments, group arguments to reduce C-style reference passing arguments
>>  - fix tests, add verify
>>  - add unit tests
>>  - fix template parameter
>>  - refactor
>>  - ... and 1 more: https://git.openjdk.org/jdk/compare/d8e4d3f2...d5ad9f1a
>
> What are your thoughts on how we are going to debug-print the new int-type? We probably do not always want to print the KnownBits, in general that is way too verbose. But in some alignment example, it would be nice to know that it is the `int/long` range, but the lowest 3 bits are always zero, hence 8 byte aligned.

@eme64 Thanks a lot for your reviews, I think I have addressed all of them, I will add some more explicit tests tomorrow. Regarding the `dump`, I made a new method `dump_verbose` which would dump the bit information of the type. What do you think? Also, the test failures are due to the `int:>=0` is now dumped differently (`int:0..max_int ^ 0..max_int`). Do you think it would be more suitable to make the type dumping more clever or to modify existing tests?

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

PR Comment: https://git.openjdk.org/jdk/pull/17508#issuecomment-2327412583


More information about the hotspot-compiler-dev mailing list