-
Bug
-
Resolution: Fixed
-
P2
-
19
-
b15
-
Verified
https://bugs.openjdk.java.net/browse/JDK-8281146 changed String.decodeASCII to be implemented using StringCoding.countPositives, which due to issues with implementation complexity was implemented on aarch64 so that the intrinsic may return a value less than the actual leading positive bytes.
This causes an issue in US_ASCII.Decoder.decodeArrayLoop which assumes that String.decodeASCII exhaustively decodes all bytes from the source. This is manifesting in our CI as an intermittent error in tools/javac/unicode/Unmappable.java. A simple fix is to ensure this assumption holds by adding a loop to drain any remaining ASCII bytes from the source array in String.decodeASCII.
This causes an issue in US_ASCII.Decoder.decodeArrayLoop which assumes that String.decodeASCII exhaustively decodes all bytes from the source. This is manifesting in our CI as an intermittent error in tools/javac/unicode/Unmappable.java. A simple fix is to ensure this assumption holds by adding a loop to drain any remaining ASCII bytes from the source array in String.decodeASCII.
- relates to
-
JDK-8281146 Replace StringCoding.hasNegatives with countPositives
-
- Resolved
-