--- old/src/share/classes/sun/nio/cs/ext/DoubleByte.java 2013-05-24 11:02:09.000000000 -0700 +++ new/src/share/classes/sun/nio/cs/ext/DoubleByte.java 2013-05-24 11:02:09.000000000 -0700 @@ -610,6 +610,11 @@ return encodeBufferLoop(src, dst); } + protected byte[] repl = replacement(); + protected void implReplaceWith(byte[] newReplacement) { + repl = newReplacement; + } + public int encode(char[] src, int sp, int len, byte[] dst) { int dp = 0; int sl = sp + len; @@ -622,7 +627,6 @@ Character.isLowSurrogate(src[sp])) { sp++; } - byte[] repl = replacement(); dst[dp++] = repl[0]; if (repl.length > 1) dst[dp++] = repl[1]; @@ -877,7 +881,6 @@ Character.isLowSurrogate(src[sp])) { sp++; } - byte[] repl = replacement(); dst[dp++] = repl[0]; if (repl.length > 1) dst[dp++] = repl[1];