-
Bug
-
Resolution: Fixed
-
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/jdk17u-dev/cfc8771e
-
Commit openjdk/jdk19u/152d2f1c
-
Commit openjdk/jdk/77e21c57
-
Review openjdk/jdk11u-dev/1457
-
Review openjdk/jdk17u-dev/766
-
Review openjdk/jdk19u/37
-
Review openjdk/jdk/9553