Issue | Fix Version | Assignee | Priority | Status | Resolution | Resolved In Build |
---|---|---|---|---|---|---|
JDK-8206728 | 12 | Dmitrij Pochepko | P4 | Resolved | Fixed | team |
JDK-8206503 | 11.0.1 | Dmitrij Pochepko | P4 | Resolved | Fixed | b01 |
For char/byte array, every word can hold multiple elements. If array's size is smaller or equal with one word, then MacroAssembler::arrays_equals will goto SHORT path for optimization. For example, when there are two byte arrays a[1] and b[2], if their values and nearby memory are all set to 0, without my patch, arrays_equals will return true. But in fact, array a has only one element and array b has two, they are not equal.
This causes three failures in Jtreg ArraysEqCmpTest.
java/util/Arrays/ArraysEqCmpTest.java
Total tests run: 81, Failures: 3, Skips: 0
test ArraysEqCmpTest.testArray(byte[]): failure
test ArraysEqCmpTest.testArray(unsigned byte[]): failure
test ArraysEqCmpTest.testArray(char[]): failure
This causes three failures in Jtreg ArraysEqCmpTest.
java/util/Arrays/ArraysEqCmpTest.java
Total tests run: 81, Failures: 3, Skips: 0
test ArraysEqCmpTest.testArray(byte[]): failure
test ArraysEqCmpTest.testArray(unsigned byte[]): failure
test ArraysEqCmpTest.testArray(char[]): failure
- backported by
-
JDK-8206503 AArch64: fix failures in jtreg ArraysEqCmpTest
-
- Resolved
-
-
JDK-8206728 AArch64: fix failures in jtreg ArraysEqCmpTest
-
- Resolved
-