public class sun.nio.cs.HKSCS$Encoder extends sun.nio.cs.DoubleByte$Encoder
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: sun.nio.cs.HKSCS$Encoder
super_class: sun.nio.cs.DoubleByte$Encoder
{
private sun.nio.cs.DoubleByte$Encoder big5Enc;
descriptor: Lsun/nio/cs/DoubleByte$Encoder;
flags: (0x0002) ACC_PRIVATE
private char[][] c2bBmp;
descriptor: [[C
flags: (0x0002) ACC_PRIVATE
private char[][] c2bSupp;
descriptor: [[C
flags: (0x0002) ACC_PRIVATE
private byte[] repl;
descriptor: [B
flags: (0x0002) ACC_PRIVATE
static char[] C2B_UNMAPPABLE;
descriptor: [C
flags: (0x0008) ACC_STATIC
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=2, locals=0, args_size=0
0: sipush 256
newarray 5
putstatic sun.nio.cs.HKSCS$Encoder.C2B_UNMAPPABLE:[C
1: getstatic sun.nio.cs.HKSCS$Encoder.C2B_UNMAPPABLE:[C
ldc 65533
invokestatic java.util.Arrays.fill:([CC)V
2: return
LocalVariableTable:
Start End Slot Name Signature
protected void <init>(java.nio.charset.Charset, sun.nio.cs.DoubleByte$Encoder, char[][], char[][]);
descriptor: (Ljava/nio/charset/Charset;Lsun/nio/cs/DoubleByte$Encoder;[[C[[C)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=5, locals=5, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 0
aload 1
aconst_null
aconst_null
iconst_1
invokespecial sun.nio.cs.DoubleByte$Encoder.<init>:(Ljava/nio/charset/Charset;[C[CZ)V
1: aload 0
aload 0
invokevirtual sun.nio.cs.HKSCS$Encoder.replacement:()[B
putfield sun.nio.cs.HKSCS$Encoder.repl:[B
2: aload 0
aload 2
putfield sun.nio.cs.HKSCS$Encoder.big5Enc:Lsun/nio/cs/DoubleByte$Encoder;
3: aload 0
aload 3
putfield sun.nio.cs.HKSCS$Encoder.c2bBmp:[[C
4: aload 0
aload 4
putfield sun.nio.cs.HKSCS$Encoder.c2bSupp:[[C
5: return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lsun/nio/cs/HKSCS$Encoder;
0 6 1 cs Ljava/nio/charset/Charset;
0 6 2 big5Enc Lsun/nio/cs/DoubleByte$Encoder;
0 6 3 c2bBmp [[C
0 6 4 c2bSupp [[C
MethodParameters:
Name Flags
cs
big5Enc
c2bBmp
c2bSupp
public int encodeBig5(char);
descriptor: (C)I
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield sun.nio.cs.HKSCS$Encoder.big5Enc:Lsun/nio/cs/DoubleByte$Encoder;
iload 1
invokevirtual sun.nio.cs.DoubleByte$Encoder.encodeChar:(C)I
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/nio/cs/HKSCS$Encoder;
0 1 1 ch C
MethodParameters:
Name Flags
ch
public int encodeChar(char);
descriptor: (C)I
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=2
start local 0 start local 1 0: aload 0
getfield sun.nio.cs.HKSCS$Encoder.c2bBmp:[[C
iload 1
bipush 8
ishr
aaload
iload 1
sipush 255
iand
caload
istore 2
start local 2 1: iload 2
ldc 65533
if_icmpne 3
2: aload 0
iload 1
invokevirtual sun.nio.cs.HKSCS$Encoder.encodeBig5:(C)I
ireturn
3: StackMap locals: int
StackMap stack:
iload 2
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lsun/nio/cs/HKSCS$Encoder;
0 4 1 ch C
1 4 2 bb I
MethodParameters:
Name Flags
ch
public int encodeSupp(int);
descriptor: (I)I
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: iload 1
ldc 983040
iand
ldc 131072
if_icmpeq 2
1: ldc 65533
ireturn
2: StackMap locals:
StackMap stack:
aload 0
getfield sun.nio.cs.HKSCS$Encoder.c2bSupp:[[C
iload 1
bipush 8
ishr
sipush 255
iand
aaload
iload 1
sipush 255
iand
caload
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lsun/nio/cs/HKSCS$Encoder;
0 3 1 cp I
MethodParameters:
Name Flags
cp
public boolean canEncode(char);
descriptor: (C)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
iload 1
invokevirtual sun.nio.cs.HKSCS$Encoder.encodeChar:(C)I
ldc 65533
if_icmpeq 1
iconst_1
ireturn
StackMap locals:
StackMap stack:
1: iconst_0
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lsun/nio/cs/HKSCS$Encoder;
0 2 1 c C
MethodParameters:
Name Flags
c
protected java.nio.charset.CoderResult encodeArrayLoop(java.nio.CharBuffer, java.nio.ByteBuffer);
descriptor: (Ljava/nio/CharBuffer;Ljava/nio/ByteBuffer;)Ljava/nio/charset/CoderResult;
flags: (0x0004) ACC_PROTECTED
Code:
stack=5, locals=15, args_size=3
start local 0 start local 1 start local 2 0: aload 1
invokevirtual java.nio.CharBuffer.array:()[C
astore 3
start local 3 1: aload 1
invokevirtual java.nio.CharBuffer.arrayOffset:()I
aload 1
invokevirtual java.nio.CharBuffer.position:()I
iadd
istore 4
start local 4 2: aload 1
invokevirtual java.nio.CharBuffer.arrayOffset:()I
aload 1
invokevirtual java.nio.CharBuffer.limit:()I
iadd
istore 5
start local 5 3: aload 2
invokevirtual java.nio.ByteBuffer.array:()[B
astore 6
start local 6 4: aload 2
invokevirtual java.nio.ByteBuffer.arrayOffset:()I
aload 2
invokevirtual java.nio.ByteBuffer.position:()I
iadd
istore 7
start local 7 5: aload 2
invokevirtual java.nio.ByteBuffer.arrayOffset:()I
aload 2
invokevirtual java.nio.ByteBuffer.limit:()I
iadd
istore 8
start local 8 6: goto 46
7: StackMap locals: sun.nio.cs.HKSCS$Encoder java.nio.CharBuffer java.nio.ByteBuffer char[] int int byte[] int int
StackMap stack:
aload 3
iload 4
caload
istore 9
start local 9 8: iconst_1
istore 10
start local 10 9: aload 0
iload 9
invokevirtual sun.nio.cs.HKSCS$Encoder.encodeChar:(C)I
istore 11
start local 11 10: iload 11
ldc 65533
if_icmpne 30
11: iload 9
invokestatic java.lang.Character.isSurrogate:(C)Z
ifeq 26
12: aload 0
invokevirtual sun.nio.cs.HKSCS$Encoder.sgp:()Lsun/nio/cs/Surrogate$Parser;
iload 9
aload 3
iload 4
iload 5
invokevirtual sun.nio.cs.Surrogate$Parser.parse:(C[CII)I
dup
istore 12
start local 12 13: ifge 18
14: aload 0
getfield sun.nio.cs.HKSCS$Encoder.sgp:Lsun/nio/cs/Surrogate$Parser;
invokevirtual sun.nio.cs.Surrogate$Parser.error:()Ljava/nio/charset/CoderResult;
astore 14
15: aload 1
iload 4
aload 1
invokevirtual java.nio.CharBuffer.arrayOffset:()I
isub
invokevirtual java.nio.CharBuffer.position:(I)Ljava/nio/CharBuffer;
pop
16: aload 2
iload 7
aload 2
invokevirtual java.nio.ByteBuffer.arrayOffset:()I
isub
invokevirtual java.nio.ByteBuffer.position:(I)Ljava/nio/ByteBuffer;
pop
17: aload 14
areturn
18: StackMap locals: sun.nio.cs.HKSCS$Encoder java.nio.CharBuffer java.nio.ByteBuffer char[] int int byte[] int int int int int int
StackMap stack:
aload 0
iload 12
invokevirtual sun.nio.cs.HKSCS$Encoder.encodeSupp:(I)I
istore 11
19: iload 11
ldc 65533
if_icmpne 24
20: iconst_2
invokestatic java.nio.charset.CoderResult.unmappableForLength:(I)Ljava/nio/charset/CoderResult;
astore 14
21: aload 1
iload 4
aload 1
invokevirtual java.nio.CharBuffer.arrayOffset:()I
isub
invokevirtual java.nio.CharBuffer.position:(I)Ljava/nio/CharBuffer;
pop
22: aload 2
iload 7
aload 2
invokevirtual java.nio.ByteBuffer.arrayOffset:()I
isub
invokevirtual java.nio.ByteBuffer.position:(I)Ljava/nio/ByteBuffer;
pop
23: aload 14
areturn
24: StackMap locals:
StackMap stack:
iconst_2
istore 10
end local 12 25: goto 30
26: StackMap locals:
StackMap stack:
iconst_1
invokestatic java.nio.charset.CoderResult.unmappableForLength:(I)Ljava/nio/charset/CoderResult;
astore 14
27: aload 1
iload 4
aload 1
invokevirtual java.nio.CharBuffer.arrayOffset:()I
isub
invokevirtual java.nio.CharBuffer.position:(I)Ljava/nio/CharBuffer;
pop
28: aload 2
iload 7
aload 2
invokevirtual java.nio.ByteBuffer.arrayOffset:()I
isub
invokevirtual java.nio.ByteBuffer.position:(I)Ljava/nio/ByteBuffer;
pop
29: aload 14
areturn
30: StackMap locals:
StackMap stack:
iload 11
sipush 255
if_icmple 39
31: iload 8
iload 7
isub
iconst_2
if_icmpge 36
32: getstatic java.nio.charset.CoderResult.OVERFLOW:Ljava/nio/charset/CoderResult;
astore 14
33: aload 1
iload 4
aload 1
invokevirtual java.nio.CharBuffer.arrayOffset:()I
isub
invokevirtual java.nio.CharBuffer.position:(I)Ljava/nio/CharBuffer;
pop
34: aload 2
iload 7
aload 2
invokevirtual java.nio.ByteBuffer.arrayOffset:()I
isub
invokevirtual java.nio.ByteBuffer.position:(I)Ljava/nio/ByteBuffer;
pop
35: aload 14
areturn
36: StackMap locals:
StackMap stack:
aload 6
iload 7
iinc 7 1
iload 11
bipush 8
ishr
i2b
bastore
37: aload 6
iload 7
iinc 7 1
iload 11
i2b
bastore
38: goto 45
39: StackMap locals:
StackMap stack:
iload 8
iload 7
isub
iconst_1
if_icmpge 44
40: getstatic java.nio.charset.CoderResult.OVERFLOW:Ljava/nio/charset/CoderResult;
astore 14
41: aload 1
iload 4
aload 1
invokevirtual java.nio.CharBuffer.arrayOffset:()I
isub
invokevirtual java.nio.CharBuffer.position:(I)Ljava/nio/CharBuffer;
pop
42: aload 2
iload 7
aload 2
invokevirtual java.nio.ByteBuffer.arrayOffset:()I
isub
invokevirtual java.nio.ByteBuffer.position:(I)Ljava/nio/ByteBuffer;
pop
43: aload 14
areturn
44: StackMap locals:
StackMap stack:
aload 6
iload 7
iinc 7 1
iload 11
i2b
bastore
45: StackMap locals:
StackMap stack:
iload 4
iload 10
iadd
istore 4
end local 11 end local 10 end local 9 46: StackMap locals:
StackMap stack:
iload 4
iload 5
if_icmplt 7
47: getstatic java.nio.charset.CoderResult.UNDERFLOW:Ljava/nio/charset/CoderResult;
astore 14
48: aload 1
iload 4
aload 1
invokevirtual java.nio.CharBuffer.arrayOffset:()I
isub
invokevirtual java.nio.CharBuffer.position:(I)Ljava/nio/CharBuffer;
pop
49: aload 2
iload 7
aload 2
invokevirtual java.nio.ByteBuffer.arrayOffset:()I
isub
invokevirtual java.nio.ByteBuffer.position:(I)Ljava/nio/ByteBuffer;
pop
50: aload 14
areturn
51: StackMap locals:
StackMap stack: java.lang.Throwable
astore 13
52: aload 1
iload 4
aload 1
invokevirtual java.nio.CharBuffer.arrayOffset:()I
isub
invokevirtual java.nio.CharBuffer.position:(I)Ljava/nio/CharBuffer;
pop
53: aload 2
iload 7
aload 2
invokevirtual java.nio.ByteBuffer.arrayOffset:()I
isub
invokevirtual java.nio.ByteBuffer.position:(I)Ljava/nio/ByteBuffer;
pop
54: aload 13
athrow
end local 8 end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 55 0 this Lsun/nio/cs/HKSCS$Encoder;
0 55 1 src Ljava/nio/CharBuffer;
0 55 2 dst Ljava/nio/ByteBuffer;
1 55 3 sa [C
2 55 4 sp I
3 55 5 sl I
4 55 6 da [B
5 55 7 dp I
6 55 8 dl I
8 46 9 c C
9 46 10 inSize I
10 46 11 bb I
13 25 12 cp I
Exception table:
from to target type
6 15 51 any
18 21 51 any
24 27 51 any
30 33 51 any
36 41 51 any
44 48 51 any
MethodParameters:
Name Flags
src
dst
protected java.nio.charset.CoderResult encodeBufferLoop(java.nio.CharBuffer, java.nio.ByteBuffer);
descriptor: (Ljava/nio/CharBuffer;Ljava/nio/ByteBuffer;)Ljava/nio/charset/CoderResult;
flags: (0x0004) ACC_PROTECTED
Code:
stack=3, locals=10, args_size=3
start local 0 start local 1 start local 2 0: aload 1
invokevirtual java.nio.CharBuffer.position:()I
istore 3
start local 3 1: goto 36
2: StackMap locals: int
StackMap stack:
iconst_1
istore 4
start local 4 3: aload 1
invokevirtual java.nio.CharBuffer.get:()C
istore 5
start local 5 4: aload 0
iload 5
invokevirtual sun.nio.cs.HKSCS$Encoder.encodeChar:(C)I
istore 6
start local 6 5: iload 6
ldc 65533
if_icmpne 22
6: iload 5
invokestatic java.lang.Character.isSurrogate:(C)Z
ifeq 19
7: aload 0
invokevirtual sun.nio.cs.HKSCS$Encoder.sgp:()Lsun/nio/cs/Surrogate$Parser;
iload 5
aload 1
invokevirtual sun.nio.cs.Surrogate$Parser.parse:(CLjava/nio/CharBuffer;)I
dup
istore 7
start local 7 8: ifge 12
9: aload 0
getfield sun.nio.cs.HKSCS$Encoder.sgp:Lsun/nio/cs/Surrogate$Parser;
invokevirtual sun.nio.cs.Surrogate$Parser.error:()Ljava/nio/charset/CoderResult;
astore 9
10: aload 1
iload 3
invokevirtual java.nio.CharBuffer.position:(I)Ljava/nio/CharBuffer;
pop
11: aload 9
areturn
12: StackMap locals: sun.nio.cs.HKSCS$Encoder java.nio.CharBuffer java.nio.ByteBuffer int int int int int
StackMap stack:
aload 0
iload 7
invokevirtual sun.nio.cs.HKSCS$Encoder.encodeSupp:(I)I
istore 6
13: iload 6
ldc 65533
if_icmpne 17
14: iconst_2
invokestatic java.nio.charset.CoderResult.unmappableForLength:(I)Ljava/nio/charset/CoderResult;
astore 9
15: aload 1
iload 3
invokevirtual java.nio.CharBuffer.position:(I)Ljava/nio/CharBuffer;
pop
16: aload 9
areturn
17: StackMap locals:
StackMap stack:
iconst_2
istore 4
end local 7 18: goto 22
19: StackMap locals:
StackMap stack:
iconst_1
invokestatic java.nio.charset.CoderResult.unmappableForLength:(I)Ljava/nio/charset/CoderResult;
astore 9
20: aload 1
iload 3
invokevirtual java.nio.CharBuffer.position:(I)Ljava/nio/CharBuffer;
pop
21: aload 9
areturn
22: StackMap locals:
StackMap stack:
iload 6
sipush 255
if_icmple 30
23: aload 2
invokevirtual java.nio.ByteBuffer.remaining:()I
iconst_2
if_icmpge 27
24: getstatic java.nio.charset.CoderResult.OVERFLOW:Ljava/nio/charset/CoderResult;
astore 9
25: aload 1
iload 3
invokevirtual java.nio.CharBuffer.position:(I)Ljava/nio/CharBuffer;
pop
26: aload 9
areturn
27: StackMap locals:
StackMap stack:
aload 2
iload 6
bipush 8
ishr
i2b
invokevirtual java.nio.ByteBuffer.put:(B)Ljava/nio/ByteBuffer;
pop
28: aload 2
iload 6
i2b
invokevirtual java.nio.ByteBuffer.put:(B)Ljava/nio/ByteBuffer;
pop
29: goto 35
30: StackMap locals:
StackMap stack:
aload 2
invokevirtual java.nio.ByteBuffer.remaining:()I
iconst_1
if_icmpge 34
31: getstatic java.nio.charset.CoderResult.OVERFLOW:Ljava/nio/charset/CoderResult;
astore 9
32: aload 1
iload 3
invokevirtual java.nio.CharBuffer.position:(I)Ljava/nio/CharBuffer;
pop
33: aload 9
areturn
34: StackMap locals:
StackMap stack:
aload 2
iload 6
i2b
invokevirtual java.nio.ByteBuffer.put:(B)Ljava/nio/ByteBuffer;
pop
35: StackMap locals:
StackMap stack:
iload 3
iload 4
iadd
istore 3
end local 6 end local 5 end local 4 36: StackMap locals:
StackMap stack:
aload 1
invokevirtual java.nio.CharBuffer.hasRemaining:()Z
ifne 2
37: getstatic java.nio.charset.CoderResult.UNDERFLOW:Ljava/nio/charset/CoderResult;
astore 9
38: aload 1
iload 3
invokevirtual java.nio.CharBuffer.position:(I)Ljava/nio/CharBuffer;
pop
39: aload 9
areturn
40: StackMap locals:
StackMap stack: java.lang.Throwable
astore 8
41: aload 1
iload 3
invokevirtual java.nio.CharBuffer.position:(I)Ljava/nio/CharBuffer;
pop
42: aload 8
athrow
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 43 0 this Lsun/nio/cs/HKSCS$Encoder;
0 43 1 src Ljava/nio/CharBuffer;
0 43 2 dst Ljava/nio/ByteBuffer;
1 43 3 mark I
3 36 4 inSize I
4 36 5 c C
5 36 6 bb I
8 18 7 cp I
Exception table:
from to target type
1 10 40 any
12 15 40 any
17 20 40 any
22 25 40 any
27 32 40 any
34 38 40 any
MethodParameters:
Name Flags
src
dst
protected java.nio.charset.CoderResult encodeLoop(java.nio.CharBuffer, java.nio.ByteBuffer);
descriptor: (Ljava/nio/CharBuffer;Ljava/nio/ByteBuffer;)Ljava/nio/charset/CoderResult;
flags: (0x0004) ACC_PROTECTED
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 1
invokevirtual java.nio.CharBuffer.hasArray:()Z
ifeq 2
aload 2
invokevirtual java.nio.ByteBuffer.hasArray:()Z
ifeq 2
1: aload 0
aload 1
aload 2
invokevirtual sun.nio.cs.HKSCS$Encoder.encodeArrayLoop:(Ljava/nio/CharBuffer;Ljava/nio/ByteBuffer;)Ljava/nio/charset/CoderResult;
areturn
2: StackMap locals:
StackMap stack:
aload 0
aload 1
aload 2
invokevirtual sun.nio.cs.HKSCS$Encoder.encodeBufferLoop:(Ljava/nio/CharBuffer;Ljava/nio/ByteBuffer;)Ljava/nio/charset/CoderResult;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lsun/nio/cs/HKSCS$Encoder;
0 3 1 src Ljava/nio/CharBuffer;
0 3 2 dst Ljava/nio/ByteBuffer;
MethodParameters:
Name Flags
src
dst
protected void implReplaceWith(byte[]);
descriptor: ([B)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
putfield sun.nio.cs.HKSCS$Encoder.repl:[B
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lsun/nio/cs/HKSCS$Encoder;
0 2 1 newReplacement [B
MethodParameters:
Name Flags
newReplacement
public int encode(char[], int, int, byte[]);
descriptor: ([CII[B)I
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=9, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: iconst_0
istore 5
start local 5 1: iload 2
iload 3
iadd
istore 6
start local 6 2: goto 20
3: StackMap locals: int int
StackMap stack:
aload 1
iload 2
iinc 2 1
caload
istore 7
start local 7 4: aload 0
iload 7
invokevirtual sun.nio.cs.HKSCS$Encoder.encodeChar:(C)I
istore 8
start local 8 5: iload 8
ldc 65533
if_icmpne 15
6: iload 7
invokestatic java.lang.Character.isHighSurrogate:(C)Z
ifeq 11
iload 2
iload 6
if_icmpeq 11
7: aload 1
iload 2
caload
invokestatic java.lang.Character.isLowSurrogate:(C)Z
ifeq 11
8: aload 0
iload 7
aload 1
iload 2
iinc 2 1
caload
invokestatic java.lang.Character.toCodePoint:(CC)I
invokevirtual sun.nio.cs.HKSCS$Encoder.encodeSupp:(I)I
dup
istore 8
9: ldc 65533
10: if_icmpne 15
11: StackMap locals: int int
StackMap stack:
aload 4
iload 5
iinc 5 1
aload 0
getfield sun.nio.cs.HKSCS$Encoder.repl:[B
iconst_0
baload
bastore
12: aload 0
getfield sun.nio.cs.HKSCS$Encoder.repl:[B
arraylength
iconst_1
if_icmple 20
13: aload 4
iload 5
iinc 5 1
aload 0
getfield sun.nio.cs.HKSCS$Encoder.repl:[B
iconst_1
baload
bastore
14: goto 20
15: StackMap locals:
StackMap stack:
iload 8
sipush 255
if_icmple 19
16: aload 4
iload 5
iinc 5 1
iload 8
bipush 8
ishr
i2b
bastore
17: aload 4
iload 5
iinc 5 1
iload 8
i2b
bastore
18: goto 20
19: StackMap locals:
StackMap stack:
aload 4
iload 5
iinc 5 1
iload 8
i2b
bastore
end local 8 end local 7 20: StackMap locals:
StackMap stack:
iload 2
iload 6
if_icmplt 3
21: iload 5
ireturn
end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 22 0 this Lsun/nio/cs/HKSCS$Encoder;
0 22 1 src [C
0 22 2 sp I
0 22 3 len I
0 22 4 dst [B
1 22 5 dp I
2 22 6 sl I
4 20 7 c C
5 20 8 bb I
MethodParameters:
Name Flags
src
sp
len
dst
public int encodeFromUTF16(byte[], int, int, byte[]);
descriptor: ([BII[B)I
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=9, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: iconst_0
istore 5
start local 5 1: iload 2
iload 3
iadd
istore 6
start local 6 2: aload 4
arraylength
pop
3: goto 21
4: StackMap locals: int int
StackMap stack:
aload 1
iload 2
iinc 2 1
invokestatic sun.nio.cs.StringUTF16.getChar:([BI)C
istore 7
start local 7 5: aload 0
iload 7
invokevirtual sun.nio.cs.HKSCS$Encoder.encodeChar:(C)I
istore 8
start local 8 6: iload 8
ldc 65533
if_icmpne 16
7: iload 7
invokestatic java.lang.Character.isHighSurrogate:(C)Z
ifeq 12
iload 2
iload 6
if_icmpeq 12
8: aload 1
iload 2
invokestatic sun.nio.cs.StringUTF16.getChar:([BI)C
invokestatic java.lang.Character.isLowSurrogate:(C)Z
ifeq 12
9: aload 0
iload 7
aload 1
iload 2
iinc 2 1
invokestatic sun.nio.cs.StringUTF16.getChar:([BI)C
invokestatic java.lang.Character.toCodePoint:(CC)I
invokevirtual sun.nio.cs.HKSCS$Encoder.encodeSupp:(I)I
dup
istore 8
10: ldc 65533
11: if_icmpne 16
12: StackMap locals: int int
StackMap stack:
aload 4
iload 5
iinc 5 1
aload 0
getfield sun.nio.cs.HKSCS$Encoder.repl:[B
iconst_0
baload
bastore
13: aload 0
getfield sun.nio.cs.HKSCS$Encoder.repl:[B
arraylength
iconst_1
if_icmple 21
14: aload 4
iload 5
iinc 5 1
aload 0
getfield sun.nio.cs.HKSCS$Encoder.repl:[B
iconst_1
baload
bastore
15: goto 21
16: StackMap locals:
StackMap stack:
iload 8
sipush 255
if_icmple 20
17: aload 4
iload 5
iinc 5 1
iload 8
bipush 8
ishr
i2b
bastore
18: aload 4
iload 5
iinc 5 1
iload 8
i2b
bastore
19: goto 21
20: StackMap locals:
StackMap stack:
aload 4
iload 5
iinc 5 1
iload 8
i2b
bastore
end local 8 end local 7 21: StackMap locals:
StackMap stack:
iload 2
iload 6
if_icmplt 4
22: iload 5
ireturn
end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 23 0 this Lsun/nio/cs/HKSCS$Encoder;
0 23 1 src [B
0 23 2 sp I
0 23 3 len I
0 23 4 dst [B
1 23 5 dp I
2 23 6 sl I
5 21 7 c C
6 21 8 bb I
MethodParameters:
Name Flags
src
sp
len
dst
public static void initc2b(char[][], java.lang.String[], java.lang.String);
descriptor: ([[C[Ljava/lang/String;Ljava/lang/String;)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=5, locals=9, args_size=3
start local 0 start local 1 start local 2 0: bipush 64
istore 3
start local 3 1: aload 0
getstatic sun.nio.cs.HKSCS$Encoder.C2B_UNMAPPABLE:[C
invokestatic java.util.Arrays.fill:([Ljava/lang/Object;Ljava/lang/Object;)V
2: iconst_0
istore 4
start local 4 3: goto 20
4: StackMap locals: int int
StackMap stack:
aload 1
iload 4
aaload
astore 5
start local 5 5: aload 5
ifnonnull 7
6: goto 19
7: StackMap locals: java.lang.String
StackMap stack:
iconst_0
istore 6
start local 6 8: goto 18
9: StackMap locals: int
StackMap stack:
aload 5
iload 6
invokevirtual java.lang.String.charAt:(I)C
istore 7
start local 7 10: iload 7
ldc 65533
if_icmpne 12
11: goto 17
12: StackMap locals: int
StackMap stack:
iload 7
bipush 8
ishr
istore 8
start local 8 13: aload 0
iload 8
aaload
getstatic sun.nio.cs.HKSCS$Encoder.C2B_UNMAPPABLE:[C
if_acmpne 16
14: aload 0
iload 8
sipush 256
newarray 5
aastore
15: aload 0
iload 8
aaload
ldc 65533
invokestatic java.util.Arrays.fill:([CC)V
16: StackMap locals: int
StackMap stack:
aload 0
iload 8
aaload
iload 7
sipush 255
iand
iload 4
bipush 8
ishl
iload 6
iload 3
iadd
ior
i2c
castore
end local 8 end local 7 17: StackMap locals:
StackMap stack:
iinc 6 1
StackMap locals:
StackMap stack:
18: iload 6
aload 5
invokevirtual java.lang.String.length:()I
if_icmplt 9
end local 6 end local 5 19: StackMap locals:
StackMap stack:
iinc 4 1
StackMap locals:
StackMap stack:
20: iload 4
sipush 256
if_icmplt 4
end local 4 21: aload 2
ifnull 35
22: ldc 57344
istore 4
start local 4 23: iconst_0
istore 5
start local 5 24: goto 34
25: StackMap locals: char[][] java.lang.String[] java.lang.String int int int
StackMap stack:
aload 2
iload 5
invokevirtual java.lang.String.charAt:(I)C
istore 6
start local 6 26: iload 6
ldc 65533
if_icmpeq 32
27: iload 4
bipush 8
ishr
istore 7
start local 7 28: aload 0
iload 7
aaload
getstatic sun.nio.cs.HKSCS$Encoder.C2B_UNMAPPABLE:[C
if_acmpne 31
29: aload 0
iload 7
sipush 256
newarray 5
aastore
30: aload 0
iload 7
aaload
ldc 65533
invokestatic java.util.Arrays.fill:([CC)V
31: StackMap locals: int int
StackMap stack:
aload 0
iload 7
aaload
iload 4
sipush 255
iand
iload 6
castore
end local 7 32: StackMap locals:
StackMap stack:
iload 4
iconst_1
iadd
i2c
istore 4
end local 6 33: iinc 5 1
StackMap locals:
StackMap stack:
34: iload 5
aload 2
invokevirtual java.lang.String.length:()I
if_icmplt 25
end local 5 end local 4 35: StackMap locals:
StackMap stack:
return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 36 0 c2b [[C
0 36 1 b2cStr [Ljava/lang/String;
0 36 2 pua Ljava/lang/String;
1 36 3 b2Min I
3 21 4 b1 I
5 19 5 s Ljava/lang/String;
8 19 6 i I
10 17 7 c C
13 17 8 hi I
23 35 4 c C
24 35 5 i I
26 33 6 bb C
28 32 7 hi I
MethodParameters:
Name Flags
c2b
b2cStr
pua
}
SourceFile: "HKSCS.java"
NestHost: sun.nio.cs.HKSCS
InnerClasses:
public Encoder = sun.nio.cs.DoubleByte$Encoder of sun.nio.cs.DoubleByte
public Encoder = sun.nio.cs.HKSCS$Encoder of sun.nio.cs.HKSCS
public Parser = sun.nio.cs.Surrogate$Parser of sun.nio.cs.Surrogate