diff --git a/jdk/src/share/classes/java/lang/Character.java b/jdk/src/share/classes/java/lang/Character.java index 9b9c938fa1e..f20f8e3d3b9 100644 --- a/jdk/src/share/classes/java/lang/Character.java +++ b/jdk/src/share/classes/java/lang/Character.java @@ -2784,8 +2784,13 @@ class Character extends Object implements java.io.Serializable, Comparable>> 10) + MIN_HIGH_SURROGATE); + // We write elements "backwards" to guarantee all-or-nothing + dst[index+1] = (char)((codePoint & 0x3ff) + MIN_LOW_SURROGATE); + dst[index] = (char)((codePoint >>> 10) + + (MIN_HIGH_SURROGATE - (MIN_SUPPLEMENTARY_CODE_POINT >>> 10))); } /**