Skip to content

Commit d4a6c50

Browse files
committed
TruffleString.ToJavaStringNode: Add fast path for UTF-16 compatible strings.
Allows constant string optimizations, e.g. when comparing a converted constant TruffleString against a constant Java String.
1 parent 3565117 commit d4a6c50

File tree

1 file changed

+4
-4
lines changed
  • truffle/src/com.oracle.truffle.api.strings/src/com/oracle/truffle/api/strings

1 file changed

+4
-4
lines changed

truffle/src/com.oracle.truffle.api.strings/src/com/oracle/truffle/api/strings/TruffleString.java

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -6909,13 +6909,13 @@ static String doUTF16(TruffleString a,
69096909
if (a.isEmpty()) {
69106910
return "";
69116911
}
6912-
TruffleString cur = a.next;
6913-
if (cur != null) {
6912+
TruffleString cur;
6913+
if (a.isCompatibleToIntl(Encoding.UTF_16) || (cur = a.next) == null) {
6914+
cur = a;
6915+
} else {
69146916
while (cur != a && !cur.isCompatibleToIntl(Encoding.UTF_16)) {
69156917
cur = cur.next;
69166918
}
6917-
} else {
6918-
cur = a;
69196919
}
69206920
Encoding encodingA = Encoding.get(cur.encoding());
69216921
final AbstractTruffleString utf16String;

0 commit comments

Comments
 (0)