RFR: 8143219: AArch64 broken by 8141132: JEP 254: Compact Strings

Andrew Haley aph at redhat.com
Thu Nov 19 11:56:47 UTC 2015


http://cr.openjdk.java.net/~aph/8143219/

Two things happened, one simple and one not-so-simple.

Firstly, the string comparators now take a byte count (because it's a
byte array now) rather than a char count.

Secondly, string_indexOf needs to have a guard to make sure that
substr.count <= string.count.  This is guaranteed by
LibraryCallKit::inline_string_indexOf but not by
LibraryCallKit::inline_string_indexOfI.  This is a subtle change, and
was quite tricky to figure out.  I have fixed it here in the AArch64
back end.

It would be nice to have the preconditions for the intrinsics
commented somewhere, so that a porter could know what they should do
and what they should expect.

Andrew.


More information about the hotspot-dev mailing list