RFR: 8143219: AArch64 broken by 8141132: JEP 254: Compact Strings
aph at redhat.com
Thu Nov 19 11:56:47 UTC 2015
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
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.
More information about the hotspot-dev