JDK-8315066 : Add unsigned bounds and known bits to TypeInt/Long
  • Type: Enhancement
  • Component: hotspot
  • Sub-Component: compiler
  • Affected Version: 22
  • Priority: P4
  • Status: Resolved
  • Resolution: Fixed
  • Submitted: 2023-08-26
  • Updated: 2025-06-26
  • Resolved: 2025-06-13
The Version table provides details related to the release that this issue/RFE will be addressed.

Unresolved : Release in which this issue/RFE will be addressed.
Resolved: Release in which this issue/RFE has been resolved.
Fixed : Release in which this issue/RFE has been fixed. The release containing this fix may be available for download as an Early Access Release or a General Availability Release.

To download the current JDK release, click here.
JDK 26
26 b03Fixed
Related Reports
Blocks :  
Duplicate :  
Relates :  
Relates :  
Relates :  
Description
Adding unsigned bounds and known bits to TypeInt/Long has several advantages:

- More tight value constraints increase the strength of GVN and CCP and open more transformations and simplifications.

- Currently we have some specifically crafted analysis such as CmpU of Add/Sub, And of a LShift, etc and we have some potential improvements in JBS such as the sign of an Or. These can be solved elegantly using unsigned bounds and known bits.

- Ability to express TypeInt::CC_NE
Comments
Changeset: 991097b7 Branch: master Author: Quan Anh Mai <qamai@openjdk.org> Date: 2025-06-13 01:05:44 +0000 URL: https://git.openjdk.org/jdk/commit/991097b7bf08cc1a4ceedb0c555b12948ae71885
13-06-2025

A pull request was submitted for review. Branch: master URL: https://git.openjdk.org/jdk/pull/17508 Date: 2024-01-20 19:23:23 +0000
14-08-2024

A pull request was submitted for review. URL: https://git.openjdk.org/jdk/pull/15440 Date: 2023-08-27 12:26:22 +0000
27-08-2023