From 7ac7d3079f6ef6bad2cbab109c8aa72f61d9c3d5 Mon Sep 17 00:00:00 2001 From: Martin Buchholz Date: Fri, 24 Jul 2009 18:16:14 -0700 Subject: [PATCH] 6639443: Character.toCodePoint and Character.toSurrogates can be optimized Rearranging code saves 5 bytes of bytecode Reviewed-by: sherman --- jdk/src/share/classes/java/lang/Character.java | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) 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))); } /**