- 
    Bug 
- 
    Resolution: Fixed
- 
     P2 P2
- 
    11, 17, 20
- 
        b14
- 
        Verified
| Issue | Fix Version | Assignee | Priority | Status | Resolution | Resolved In Build | 
|---|---|---|---|---|---|---|
| JDK-8294559 | 19.0.2 | Tobias Hartmann | P2 | Closed | Fixed | b02 | 
| JDK-8294265 | 17.0.6-oracle | Tobias Hartmann | P2 | Closed | Fixed | b01 | 
| JDK-8294826 | 17.0.6 | Goetz Lindenmaier | P2 | Resolved | Fixed | b01 | 
| JDK-8294126 | 11.0.18-oracle | Tobias Hartmann | P2 | Closed | Fixed | b01 | 
| JDK-8295389 | 11.0.18 | Goetz Lindenmaier | P2 | Resolved | Fixed | b01 | 
# Internal Error (/home/roland/jdk-jdk/src/hotspot/share/opto/parse2.cpp:1493), pid=3306856, tid=3306871
# assert(BoolTest(btest).is_canonical()) failed: sanity
It can be reproduced with the following test case:
public class TestUnsignedCompareIntoEqualityNotCanonical {
public static void main(String[] args) {
for (int i = 0; i < 20_000; i++) {
test(0);
test(1);
}
}
private static int test(int x) {
if (Integer.compareUnsigned(0, x) >= 0) {
return 42;
}
return -42;
}
}
- backported by
- 
                    JDK-8294826 C2: assert(BoolTest(btest).is_canonical()) failure -           
- Resolved
 
-         
- 
                    JDK-8295389 C2: assert(BoolTest(btest).is_canonical()) failure -           
- Resolved
 
-         
- 
                    JDK-8294126 C2: assert(BoolTest(btest).is_canonical()) failure -           
- Closed
 
-         
- 
                    JDK-8294265 C2: assert(BoolTest(btest).is_canonical()) failure -           
- Closed
 
-         
- 
                    JDK-8294559 C2: assert(BoolTest(btest).is_canonical()) failure -           
- Closed
 
-         
- relates to
- 
                    JDK-8276162 Optimise unsigned comparison pattern -           
- Resolved
 
-         
- 
                    JDK-8283726 x86_64 intrinsics for compareUnsigned method in Integer and Long -           
- Resolved
 
-         
- links to
- 
                     Commit
        openjdk/jdk11u-dev/887eed36 Commit
        openjdk/jdk11u-dev/887eed36
- 
                     Commit
        openjdk/jdk17u-dev/cfc8771e Commit
        openjdk/jdk17u-dev/cfc8771e
- 
                     Commit
        openjdk/jdk19u/152d2f1c Commit
        openjdk/jdk19u/152d2f1c
- 
                     Commit
        openjdk/jdk/77e21c57 Commit
        openjdk/jdk/77e21c57
- 
                     Review
        openjdk/jdk11u-dev/1457 Review
        openjdk/jdk11u-dev/1457
- 
                     Review
        openjdk/jdk17u-dev/766 Review
        openjdk/jdk17u-dev/766
- 
                     Review
        openjdk/jdk19u/37 Review
        openjdk/jdk19u/37
- 
                     Review
        openjdk/jdk/9553 Review
        openjdk/jdk/9553