< prev index next >
src/java.base/share/classes/java/lang/StringBuilder.java
Print this page
rev 13124 : [mq]: XXXXXXX-ASB-shared-value
*** 409,421 ****
}
@Override
@HotSpotIntrinsicCandidate
public String toString() {
! // Create a copy, don't share the array
! return isLatin1() ? StringLatin1.newString(value, 0, count)
! : StringUTF16.newStringSB(value, 0, count);
}
/**
* Save the state of the {@code StringBuilder} instance to a stream
* (that is, serialize it).
--- 409,427 ----
}
@Override
@HotSpotIntrinsicCandidate
public String toString() {
! final byte[] value = this.value;
! if (isLatin1()) {
! if ((count << coder) < value.length) {
! return StringLatin1.newString(value, 0, count);
! }
! shared = true;
! return new String(value, String.LATIN1);
! }
! return StringUTF16.newStringSB(value, 0, count);
}
/**
* Save the state of the {@code StringBuilder} instance to a stream
* (that is, serialize it).
*** 448,455 ****
--- 454,462 ----
throws java.io.IOException, ClassNotFoundException {
s.defaultReadObject();
count = s.readInt();
char[] val = (char[]) s.readObject();
initBytes(val, 0, val.length);
+ shared = false;
}
}
< prev index next >