class sun.nio.cs.CESU_8$Decoder extends java.nio.charset.CharsetDecoder implements sun.nio.cs.ArrayDecoder
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: sun.nio.cs.CESU_8$Decoder
super_class: java.nio.charset.CharsetDecoder
{
static final boolean $assertionsDisabled;
descriptor: Z
flags: (0x1018) ACC_STATIC, ACC_FINAL, ACC_SYNTHETIC
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=1, locals=0, args_size=0
0: ldc Lsun/nio/cs/CESU_8;
invokevirtual java.lang.Class.desiredAssertionStatus:()Z
ifne 1
iconst_1
goto 2
StackMap locals:
StackMap stack:
1: iconst_0
StackMap locals:
StackMap stack: int
2: putstatic sun.nio.cs.CESU_8$Decoder.$assertionsDisabled:Z
return
LocalVariableTable:
Start End Slot Name Signature
private void <init>(java.nio.charset.Charset);
descriptor: (Ljava/nio/charset/Charset;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
fconst_1
fconst_1
invokespecial java.nio.charset.CharsetDecoder.<init>:(Ljava/nio/charset/Charset;FF)V
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lsun/nio/cs/CESU_8$Decoder;
0 2 1 cs Ljava/nio/charset/Charset;
MethodParameters:
Name Flags
cs
private static boolean isNotContinuation(int);
descriptor: (I)Z
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: iload 0
sipush 192
iand
sipush 128
if_icmpeq 1
iconst_1
ireturn
StackMap locals:
StackMap stack:
1: iconst_0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 b I
MethodParameters:
Name Flags
b
private static boolean isMalformed3(int, int, int);
descriptor: (III)Z
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=3, args_size=3
start local 0 start local 1 start local 2 0: iload 0
bipush -32
if_icmpne 1
iload 1
sipush 224
iand
sipush 128
if_icmpeq 3
1: StackMap locals:
StackMap stack:
iload 1
sipush 192
iand
sipush 128
if_icmpne 3
iload 2
sipush 192
iand
sipush 128
if_icmpne 3
2: iconst_0
ireturn
StackMap locals:
StackMap stack:
3: iconst_1
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 b1 I
0 4 1 b2 I
0 4 2 b3 I
MethodParameters:
Name Flags
b1
b2
b3
private static boolean isMalformed3_2(int, int);
descriptor: (II)Z
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: iload 0
bipush -32
if_icmpne 1
iload 1
sipush 224
iand
sipush 128
if_icmpeq 3
1: StackMap locals:
StackMap stack:
iload 1
sipush 192
iand
sipush 128
if_icmpne 3
2: iconst_0
ireturn
StackMap locals:
StackMap stack:
3: iconst_1
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 b1 I
0 4 1 b2 I
MethodParameters:
Name Flags
b1
b2
private static boolean isMalformed4(int, int, int);
descriptor: (III)Z
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=3, args_size=3
start local 0 start local 1 start local 2 0: iload 0
sipush 192
iand
sipush 128
if_icmpne 3
iload 1
sipush 192
iand
sipush 128
if_icmpne 3
1: iload 2
sipush 192
iand
sipush 128
if_icmpne 3
2: iconst_0
ireturn
StackMap locals:
StackMap stack:
3: iconst_1
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 b2 I
0 4 1 b3 I
0 4 2 b4 I
MethodParameters:
Name Flags
b2
b3
b4
private static boolean isMalformed4_2(int, int);
descriptor: (II)Z
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: iload 0
sipush 240
if_icmpne 1
iload 1
sipush 144
if_icmpeq 3
1: StackMap locals:
StackMap stack:
iload 1
sipush 192
iand
sipush 128
if_icmpne 3
2: iconst_0
ireturn
StackMap locals:
StackMap stack:
3: iconst_1
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 b1 I
0 4 1 b2 I
MethodParameters:
Name Flags
b1
b2
private static boolean isMalformed4_3(int);
descriptor: (I)Z
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: iload 0
sipush 192
iand
sipush 128
if_icmpeq 1
iconst_1
ireturn
StackMap locals:
StackMap stack:
1: iconst_0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 b3 I
MethodParameters:
Name Flags
b3
private static java.nio.charset.CoderResult malformedN(java.nio.ByteBuffer, int);
descriptor: (Ljava/nio/ByteBuffer;I)Ljava/nio/charset/CoderResult;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=4, args_size=2
start local 0 start local 1 0: iload 1
tableswitch { // 1 - 4
1: 1
2: 1
3: 2
4: 9
default: 19
}
1: StackMap locals:
StackMap stack:
iconst_1
invokestatic java.nio.charset.CoderResult.malformedForLength:(I)Ljava/nio/charset/CoderResult;
areturn
2: StackMap locals:
StackMap stack:
aload 0
invokevirtual java.nio.ByteBuffer.get:()B
istore 2
start local 2 3: aload 0
invokevirtual java.nio.ByteBuffer.get:()B
istore 3
start local 3 4: iload 2
bipush -32
if_icmpne 5
iload 3
sipush 224
iand
sipush 128
if_icmpeq 6
5: StackMap locals: int int
StackMap stack:
iload 3
invokestatic sun.nio.cs.CESU_8$Decoder.isNotContinuation:(I)Z
ifeq 7
StackMap locals:
StackMap stack:
6: iconst_1
goto 8
StackMap locals:
StackMap stack:
7: iconst_2
8: StackMap locals:
StackMap stack: int
invokestatic java.nio.charset.CoderResult.malformedForLength:(I)Ljava/nio/charset/CoderResult;
areturn
end local 3 end local 2 9: StackMap locals:
StackMap stack:
aload 0
invokevirtual java.nio.ByteBuffer.get:()B
sipush 255
iand
istore 2
start local 2 10: aload 0
invokevirtual java.nio.ByteBuffer.get:()B
sipush 255
iand
istore 3
start local 3 11: iload 2
sipush 244
if_icmpgt 15
12: iload 2
sipush 240
if_icmpne 13
iload 3
sipush 144
if_icmplt 15
iload 3
sipush 191
if_icmpgt 15
13: StackMap locals: int int
StackMap stack:
iload 2
sipush 244
if_icmpne 14
iload 3
sipush 240
iand
sipush 128
if_icmpne 15
14: StackMap locals:
StackMap stack:
iload 3
invokestatic sun.nio.cs.CESU_8$Decoder.isNotContinuation:(I)Z
ifeq 16
15: StackMap locals:
StackMap stack:
iconst_1
invokestatic java.nio.charset.CoderResult.malformedForLength:(I)Ljava/nio/charset/CoderResult;
areturn
16: StackMap locals:
StackMap stack:
aload 0
invokevirtual java.nio.ByteBuffer.get:()B
invokestatic sun.nio.cs.CESU_8$Decoder.isNotContinuation:(I)Z
ifeq 18
17: iconst_2
invokestatic java.nio.charset.CoderResult.malformedForLength:(I)Ljava/nio/charset/CoderResult;
areturn
18: StackMap locals:
StackMap stack:
iconst_3
invokestatic java.nio.charset.CoderResult.malformedForLength:(I)Ljava/nio/charset/CoderResult;
areturn
end local 3 end local 2 19: StackMap locals:
StackMap stack:
getstatic sun.nio.cs.CESU_8$Decoder.$assertionsDisabled:Z
ifne 20
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
20: StackMap locals:
StackMap stack:
aconst_null
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 21 0 src Ljava/nio/ByteBuffer;
0 21 1 nb I
3 9 2 b1 I
10 19 2 b1 I
4 9 3 b2 I
11 19 3 b2 I
MethodParameters:
Name Flags
src
nb
private static java.nio.charset.CoderResult malformed(java.nio.ByteBuffer, int, java.nio.CharBuffer, int, int);
descriptor: (Ljava/nio/ByteBuffer;ILjava/nio/CharBuffer;II)Ljava/nio/charset/CoderResult;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=4, locals=6, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 0
iload 1
aload 0
invokevirtual java.nio.ByteBuffer.arrayOffset:()I
isub
invokevirtual java.nio.ByteBuffer.position:(I)Ljava/nio/Buffer;
pop
1: aload 0
iload 4
invokestatic sun.nio.cs.CESU_8$Decoder.malformedN:(Ljava/nio/ByteBuffer;I)Ljava/nio/charset/CoderResult;
astore 5
start local 5 2: aload 0
iload 1
aload 2
iload 3
invokestatic sun.nio.cs.CESU_8.updatePositions:(Ljava/nio/Buffer;ILjava/nio/Buffer;I)V
3: aload 5
areturn
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 4 0 src Ljava/nio/ByteBuffer;
0 4 1 sp I
0 4 2 dst Ljava/nio/CharBuffer;
0 4 3 dp I
0 4 4 nb I
2 4 5 cr Ljava/nio/charset/CoderResult;
MethodParameters:
Name Flags
src
sp
dst
dp
nb
private static java.nio.charset.CoderResult malformed(java.nio.ByteBuffer, int, int);
descriptor: (Ljava/nio/ByteBuffer;II)Ljava/nio/charset/CoderResult;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 0
iload 1
invokevirtual java.nio.ByteBuffer.position:(I)Ljava/nio/Buffer;
pop
1: aload 0
iload 2
invokestatic sun.nio.cs.CESU_8$Decoder.malformedN:(Ljava/nio/ByteBuffer;I)Ljava/nio/charset/CoderResult;
astore 3
start local 3 2: aload 0
iload 1
invokevirtual java.nio.ByteBuffer.position:(I)Ljava/nio/Buffer;
pop
3: aload 3
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 src Ljava/nio/ByteBuffer;
0 4 1 mark I
0 4 2 nb I
2 4 3 cr Ljava/nio/charset/CoderResult;
MethodParameters:
Name Flags
src
mark
nb
private static java.nio.charset.CoderResult malformedForLength(java.nio.ByteBuffer, int, java.nio.CharBuffer, int, int);
descriptor: (Ljava/nio/ByteBuffer;ILjava/nio/CharBuffer;II)Ljava/nio/charset/CoderResult;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=4, locals=5, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 0
iload 1
aload 2
iload 3
invokestatic sun.nio.cs.CESU_8.updatePositions:(Ljava/nio/Buffer;ILjava/nio/Buffer;I)V
1: iload 4
invokestatic java.nio.charset.CoderResult.malformedForLength:(I)Ljava/nio/charset/CoderResult;
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 src Ljava/nio/ByteBuffer;
0 2 1 sp I
0 2 2 dst Ljava/nio/CharBuffer;
0 2 3 dp I
0 2 4 malformedNB I
MethodParameters:
Name Flags
src
sp
dst
dp
malformedNB
private static java.nio.charset.CoderResult malformedForLength(java.nio.ByteBuffer, int, int);
descriptor: (Ljava/nio/ByteBuffer;II)Ljava/nio/charset/CoderResult;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
iload 1
invokevirtual java.nio.ByteBuffer.position:(I)Ljava/nio/Buffer;
pop
1: iload 2
invokestatic java.nio.charset.CoderResult.malformedForLength:(I)Ljava/nio/charset/CoderResult;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 src Ljava/nio/ByteBuffer;
0 2 1 mark I
0 2 2 malformedNB I
MethodParameters:
Name Flags
src
mark
malformedNB
private static java.nio.charset.CoderResult xflow(java.nio.Buffer, int, int, java.nio.Buffer, int, int);
descriptor: (Ljava/nio/Buffer;IILjava/nio/Buffer;II)Ljava/nio/charset/CoderResult;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=4, locals=6, args_size=6
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 0: aload 0
iload 1
aload 3
iload 4
invokestatic sun.nio.cs.CESU_8.updatePositions:(Ljava/nio/Buffer;ILjava/nio/Buffer;I)V
1: iload 5
ifeq 2
iload 2
iload 1
isub
iload 5
if_icmpge 3
2: StackMap locals:
StackMap stack:
getstatic java.nio.charset.CoderResult.UNDERFLOW:Ljava/nio/charset/CoderResult;
goto 4
StackMap locals:
StackMap stack:
3: getstatic java.nio.charset.CoderResult.OVERFLOW:Ljava/nio/charset/CoderResult;
4: StackMap locals:
StackMap stack: java.nio.charset.CoderResult
areturn
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 5 0 src Ljava/nio/Buffer;
0 5 1 sp I
0 5 2 sl I
0 5 3 dst Ljava/nio/Buffer;
0 5 4 dp I
0 5 5 nb I
MethodParameters:
Name Flags
src
sp
sl
dst
dp
nb
private static java.nio.charset.CoderResult xflow(java.nio.Buffer, int, int);
descriptor: (Ljava/nio/Buffer;II)Ljava/nio/charset/CoderResult;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
iload 1
invokevirtual java.nio.Buffer.position:(I)Ljava/nio/Buffer;
pop
1: iload 2
ifeq 2
aload 0
invokevirtual java.nio.Buffer.remaining:()I
iload 2
if_icmpge 3
2: StackMap locals:
StackMap stack:
getstatic java.nio.charset.CoderResult.UNDERFLOW:Ljava/nio/charset/CoderResult;
goto 4
StackMap locals:
StackMap stack:
3: getstatic java.nio.charset.CoderResult.OVERFLOW:Ljava/nio/charset/CoderResult;
4: StackMap locals:
StackMap stack: java.nio.charset.CoderResult
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 src Ljava/nio/Buffer;
0 5 1 mark I
0 5 2 nb I
MethodParameters:
Name Flags
src
mark
nb
private java.nio.charset.CoderResult decodeArrayLoop(java.nio.ByteBuffer, java.nio.CharBuffer);
descriptor: (Ljava/nio/ByteBuffer;Ljava/nio/CharBuffer;)Ljava/nio/charset/CoderResult;
flags: (0x0002) ACC_PRIVATE
Code:
stack=6, locals=14, args_size=3
start local 0 start local 1 start local 2 0: aload 1
invokevirtual java.nio.ByteBuffer.array:()[B
astore 3
start local 3 1: aload 1
invokevirtual java.nio.ByteBuffer.arrayOffset:()I
aload 1
invokevirtual java.nio.ByteBuffer.position:()I
iadd
istore 4
start local 4 2: aload 1
invokevirtual java.nio.ByteBuffer.arrayOffset:()I
aload 1
invokevirtual java.nio.ByteBuffer.limit:()I
iadd
istore 5
start local 5 3: aload 2
invokevirtual java.nio.CharBuffer.array:()[C
astore 6
start local 6 4: aload 2
invokevirtual java.nio.CharBuffer.arrayOffset:()I
aload 2
invokevirtual java.nio.CharBuffer.position:()I
iadd
istore 7
start local 7 5: aload 2
invokevirtual java.nio.CharBuffer.arrayOffset:()I
aload 2
invokevirtual java.nio.CharBuffer.limit:()I
iadd
istore 8
start local 8 6: iload 7
iload 5
iload 4
isub
iload 8
iload 7
isub
invokestatic java.lang.Math.min:(II)I
iadd
istore 9
start local 9 7: goto 9
8: StackMap locals: sun.nio.cs.CESU_8$Decoder java.nio.ByteBuffer java.nio.CharBuffer byte[] int int char[] int int int
StackMap stack:
aload 6
iload 7
iinc 7 1
aload 3
iload 4
iinc 4 1
baload
i2c
castore
9: StackMap locals:
StackMap stack:
iload 7
iload 9
if_icmpge 51
aload 3
iload 4
baload
ifge 8
10: goto 51
11: StackMap locals:
StackMap stack:
aload 3
iload 4
baload
istore 10
start local 10 12: iload 10
iflt 18
13: iload 7
iload 8
if_icmplt 15
14: aload 1
iload 4
iload 5
aload 2
iload 7
iconst_1
invokestatic sun.nio.cs.CESU_8$Decoder.xflow:(Ljava/nio/Buffer;IILjava/nio/Buffer;II)Ljava/nio/charset/CoderResult;
areturn
15: StackMap locals: int
StackMap stack:
aload 6
iload 7
iinc 7 1
iload 10
i2c
castore
16: iinc 4 1
17: goto 51
StackMap locals:
StackMap stack:
18: iload 10
iconst_5
ishr
bipush -2
if_icmpne 29
iload 10
bipush 30
iand
ifeq 29
19: iload 5
iload 4
isub
iconst_2
if_icmplt 20
iload 7
iload 8
if_icmplt 21
20: StackMap locals:
StackMap stack:
aload 1
iload 4
iload 5
aload 2
iload 7
iconst_2
invokestatic sun.nio.cs.CESU_8$Decoder.xflow:(Ljava/nio/Buffer;IILjava/nio/Buffer;II)Ljava/nio/charset/CoderResult;
areturn
21: StackMap locals:
StackMap stack:
aload 3
iload 4
iconst_1
iadd
baload
istore 11
start local 11 22: iload 11
invokestatic sun.nio.cs.CESU_8$Decoder.isNotContinuation:(I)Z
ifeq 24
23: aload 1
iload 4
aload 2
iload 7
iconst_1
invokestatic sun.nio.cs.CESU_8$Decoder.malformedForLength:(Ljava/nio/ByteBuffer;ILjava/nio/CharBuffer;II)Ljava/nio/charset/CoderResult;
areturn
24: StackMap locals: int
StackMap stack:
aload 6
iload 7
iinc 7 1
iload 10
bipush 6
ishl
iload 11
ixor
25: sipush 3968
ixor
i2c
26: castore
27: iinc 4 2
end local 11 28: goto 51
StackMap locals:
StackMap stack:
29: iload 10
iconst_4
ishr
bipush -2
if_icmpne 50
30: iload 5
iload 4
isub
istore 11
start local 11 31: iload 11
iconst_3
if_icmplt 32
iload 7
iload 8
if_icmplt 35
32: StackMap locals: int
StackMap stack:
iload 11
iconst_1
if_icmple 34
iload 10
aload 3
iload 4
iconst_1
iadd
baload
invokestatic sun.nio.cs.CESU_8$Decoder.isMalformed3_2:(II)Z
ifeq 34
33: aload 1
iload 4
aload 2
iload 7
iconst_1
invokestatic sun.nio.cs.CESU_8$Decoder.malformedForLength:(Ljava/nio/ByteBuffer;ILjava/nio/CharBuffer;II)Ljava/nio/charset/CoderResult;
areturn
34: StackMap locals:
StackMap stack:
aload 1
iload 4
iload 5
aload 2
iload 7
iconst_3
invokestatic sun.nio.cs.CESU_8$Decoder.xflow:(Ljava/nio/Buffer;IILjava/nio/Buffer;II)Ljava/nio/charset/CoderResult;
areturn
35: StackMap locals:
StackMap stack:
aload 3
iload 4
iconst_1
iadd
baload
istore 12
start local 12 36: aload 3
iload 4
iconst_2
iadd
baload
istore 13
start local 13 37: iload 10
iload 12
iload 13
invokestatic sun.nio.cs.CESU_8$Decoder.isMalformed3:(III)Z
ifeq 39
38: aload 1
iload 4
aload 2
iload 7
iconst_3
invokestatic sun.nio.cs.CESU_8$Decoder.malformed:(Ljava/nio/ByteBuffer;ILjava/nio/CharBuffer;II)Ljava/nio/charset/CoderResult;
areturn
39: StackMap locals: int int
StackMap stack:
aload 6
iload 7
iinc 7 1
40: iload 10
bipush 12
ishl
41: iload 12
bipush 6
ishl
42: ixor
43: iload 13
44: ldc -123008
45: ixor
46: ixor
i2c
47: castore
48: iinc 4 3
end local 13 end local 12 end local 11 49: goto 51
50: StackMap locals:
StackMap stack:
aload 1
iload 4
aload 2
iload 7
iconst_1
invokestatic sun.nio.cs.CESU_8$Decoder.malformed:(Ljava/nio/ByteBuffer;ILjava/nio/CharBuffer;II)Ljava/nio/charset/CoderResult;
areturn
end local 10 51: StackMap locals:
StackMap stack:
iload 4
iload 5
if_icmplt 11
52: aload 1
iload 4
iload 5
aload 2
iload 7
iconst_0
invokestatic sun.nio.cs.CESU_8$Decoder.xflow:(Ljava/nio/Buffer;IILjava/nio/Buffer;II)Ljava/nio/charset/CoderResult;
areturn
end local 9 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 53 0 this Lsun/nio/cs/CESU_8$Decoder;
0 53 1 src Ljava/nio/ByteBuffer;
0 53 2 dst Ljava/nio/CharBuffer;
1 53 3 sa [B
2 53 4 sp I
3 53 5 sl I
4 53 6 da [C
5 53 7 dp I
6 53 8 dl I
7 53 9 dlASCII I
12 51 10 b1 I
22 28 11 b2 I
31 49 11 srcRemaining I
36 49 12 b2 I
37 49 13 b3 I
MethodParameters:
Name Flags
src
dst
private java.nio.charset.CoderResult decodeBufferLoop(java.nio.ByteBuffer, java.nio.CharBuffer);
descriptor: (Ljava/nio/ByteBuffer;Ljava/nio/CharBuffer;)Ljava/nio/charset/CoderResult;
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=9, args_size=3
start local 0 start local 1 start local 2 0: aload 1
invokevirtual java.nio.ByteBuffer.position:()I
istore 3
start local 3 1: aload 1
invokevirtual java.nio.ByteBuffer.limit:()I
istore 4
start local 4 2: goto 43
3: StackMap locals: int int
StackMap stack:
aload 1
invokevirtual java.nio.ByteBuffer.get:()B
istore 5
start local 5 4: iload 5
iflt 10
5: aload 2
invokevirtual java.nio.CharBuffer.remaining:()I
iconst_1
if_icmpge 7
6: aload 1
iload 3
iconst_1
invokestatic sun.nio.cs.CESU_8$Decoder.xflow:(Ljava/nio/Buffer;II)Ljava/nio/charset/CoderResult;
areturn
7: StackMap locals: int
StackMap stack:
aload 2
iload 5
i2c
invokevirtual java.nio.CharBuffer.put:(C)Ljava/nio/CharBuffer;
pop
8: iinc 3 1
9: goto 43
StackMap locals:
StackMap stack:
10: iload 5
iconst_5
ishr
bipush -2
if_icmpne 21
iload 5
bipush 30
iand
ifeq 21
11: iload 4
iload 3
isub
iconst_2
if_icmplt 12
aload 2
invokevirtual java.nio.CharBuffer.remaining:()I
iconst_1
if_icmpge 13
12: StackMap locals:
StackMap stack:
aload 1
iload 3
iconst_2
invokestatic sun.nio.cs.CESU_8$Decoder.xflow:(Ljava/nio/Buffer;II)Ljava/nio/charset/CoderResult;
areturn
13: StackMap locals:
StackMap stack:
aload 1
invokevirtual java.nio.ByteBuffer.get:()B
istore 6
start local 6 14: iload 6
invokestatic sun.nio.cs.CESU_8$Decoder.isNotContinuation:(I)Z
ifeq 16
15: aload 1
iload 3
iconst_1
invokestatic sun.nio.cs.CESU_8$Decoder.malformedForLength:(Ljava/nio/ByteBuffer;II)Ljava/nio/charset/CoderResult;
areturn
16: StackMap locals: int
StackMap stack:
aload 2
iload 5
bipush 6
ishl
iload 6
ixor
17: sipush 3968
ixor
i2c
18: invokevirtual java.nio.CharBuffer.put:(C)Ljava/nio/CharBuffer;
pop
19: iinc 3 2
end local 6 20: goto 43
StackMap locals:
StackMap stack:
21: iload 5
iconst_4
ishr
bipush -2
if_icmpne 42
22: iload 4
iload 3
isub
istore 6
start local 6 23: iload 6
iconst_3
if_icmplt 24
aload 2
invokevirtual java.nio.CharBuffer.remaining:()I
iconst_1
if_icmpge 27
24: StackMap locals: int
StackMap stack:
iload 6
iconst_1
if_icmple 26
iload 5
aload 1
invokevirtual java.nio.ByteBuffer.get:()B
invokestatic sun.nio.cs.CESU_8$Decoder.isMalformed3_2:(II)Z
ifeq 26
25: aload 1
iload 3
iconst_1
invokestatic sun.nio.cs.CESU_8$Decoder.malformedForLength:(Ljava/nio/ByteBuffer;II)Ljava/nio/charset/CoderResult;
areturn
26: StackMap locals:
StackMap stack:
aload 1
iload 3
iconst_3
invokestatic sun.nio.cs.CESU_8$Decoder.xflow:(Ljava/nio/Buffer;II)Ljava/nio/charset/CoderResult;
areturn
27: StackMap locals:
StackMap stack:
aload 1
invokevirtual java.nio.ByteBuffer.get:()B
istore 7
start local 7 28: aload 1
invokevirtual java.nio.ByteBuffer.get:()B
istore 8
start local 8 29: iload 5
iload 7
iload 8
invokestatic sun.nio.cs.CESU_8$Decoder.isMalformed3:(III)Z
ifeq 31
30: aload 1
iload 3
iconst_3
invokestatic sun.nio.cs.CESU_8$Decoder.malformed:(Ljava/nio/ByteBuffer;II)Ljava/nio/charset/CoderResult;
areturn
31: StackMap locals: int int
StackMap stack:
aload 2
32: iload 5
bipush 12
ishl
33: iload 7
bipush 6
ishl
34: ixor
35: iload 8
36: ldc -123008
37: ixor
38: ixor
i2c
39: invokevirtual java.nio.CharBuffer.put:(C)Ljava/nio/CharBuffer;
pop
40: iinc 3 3
end local 8 end local 7 end local 6 41: goto 43
42: StackMap locals:
StackMap stack:
aload 1
iload 3
iconst_1
invokestatic sun.nio.cs.CESU_8$Decoder.malformed:(Ljava/nio/ByteBuffer;II)Ljava/nio/charset/CoderResult;
areturn
end local 5 43: StackMap locals:
StackMap stack:
iload 3
iload 4
if_icmplt 3
44: aload 1
iload 3
iconst_0
invokestatic sun.nio.cs.CESU_8$Decoder.xflow:(Ljava/nio/Buffer;II)Ljava/nio/charset/CoderResult;
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 45 0 this Lsun/nio/cs/CESU_8$Decoder;
0 45 1 src Ljava/nio/ByteBuffer;
0 45 2 dst Ljava/nio/CharBuffer;
1 45 3 mark I
2 45 4 limit I
4 43 5 b1 I
14 20 6 b2 I
23 41 6 srcRemaining I
28 41 7 b2 I
29 41 8 b3 I
MethodParameters:
Name Flags
src
dst
protected java.nio.charset.CoderResult decodeLoop(java.nio.ByteBuffer, java.nio.CharBuffer);
descriptor: (Ljava/nio/ByteBuffer;Ljava/nio/CharBuffer;)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.ByteBuffer.hasArray:()Z
ifeq 2
aload 2
invokevirtual java.nio.CharBuffer.hasArray:()Z
ifeq 2
1: aload 0
aload 1
aload 2
invokevirtual sun.nio.cs.CESU_8$Decoder.decodeArrayLoop:(Ljava/nio/ByteBuffer;Ljava/nio/CharBuffer;)Ljava/nio/charset/CoderResult;
areturn
2: StackMap locals:
StackMap stack:
aload 0
aload 1
aload 2
invokevirtual sun.nio.cs.CESU_8$Decoder.decodeBufferLoop:(Ljava/nio/ByteBuffer;Ljava/nio/CharBuffer;)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/CESU_8$Decoder;
0 3 1 src Ljava/nio/ByteBuffer;
0 3 2 dst Ljava/nio/CharBuffer;
MethodParameters:
Name Flags
src
dst
private static java.nio.ByteBuffer getByteBuffer(java.nio.ByteBuffer, byte[], int);
descriptor: (Ljava/nio/ByteBuffer;[BI)Ljava/nio/ByteBuffer;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
ifnonnull 2
1: aload 1
invokestatic java.nio.ByteBuffer.wrap:([B)Ljava/nio/ByteBuffer;
astore 0
2: StackMap locals:
StackMap stack:
aload 0
iload 2
invokevirtual java.nio.ByteBuffer.position:(I)Ljava/nio/Buffer;
pop
3: aload 0
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 bb Ljava/nio/ByteBuffer;
0 4 1 ba [B
0 4 2 sp I
MethodParameters:
Name Flags
bb
ba
sp
public int decode(byte[], int, int, char[]);
descriptor: ([BII[C)I
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=12, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: iload 2
iload 3
iadd
istore 5
start local 5 1: iconst_0
istore 6
start local 6 2: iload 3
aload 4
arraylength
invokestatic java.lang.Math.min:(II)I
istore 7
start local 7 3: aconst_null
astore 8
start local 8 4: goto 6
5: StackMap locals: sun.nio.cs.CESU_8$Decoder byte[] int int char[] int int int java.nio.ByteBuffer
StackMap stack:
aload 4
iload 6
iinc 6 1
aload 1
iload 2
iinc 2 1
baload
i2c
castore
6: StackMap locals:
StackMap stack:
iload 6
iload 7
if_icmpge 58
aload 1
iload 2
baload
ifge 5
7: goto 58
8: StackMap locals:
StackMap stack:
aload 1
iload 2
iinc 2 1
baload
istore 9
start local 9 9: iload 9
iflt 12
10: aload 4
iload 6
iinc 6 1
iload 9
i2c
castore
11: goto 58
StackMap locals: int
StackMap stack:
12: iload 9
iconst_5
ishr
bipush -2
if_icmpne 29
iload 9
bipush 30
iand
ifeq 29
13: iload 2
iload 5
if_icmpge 25
14: aload 1
iload 2
iinc 2 1
baload
istore 10
start local 10 15: iload 10
invokestatic sun.nio.cs.CESU_8$Decoder.isNotContinuation:(I)Z
ifeq 21
16: aload 0
invokevirtual sun.nio.cs.CESU_8$Decoder.malformedInputAction:()Ljava/nio/charset/CodingErrorAction;
getstatic java.nio.charset.CodingErrorAction.REPLACE:Ljava/nio/charset/CodingErrorAction;
if_acmpeq 18
17: iconst_m1
ireturn
18: StackMap locals: int
StackMap stack:
aload 4
iload 6
iinc 6 1
aload 0
invokevirtual sun.nio.cs.CESU_8$Decoder.replacement:()Ljava/lang/String;
iconst_0
invokevirtual java.lang.String.charAt:(I)C
castore
19: iinc 2 -1
20: goto 58
21: StackMap locals:
StackMap stack:
aload 4
iload 6
iinc 6 1
iload 9
bipush 6
ishl
iload 10
ixor
22: sipush 3968
ixor
i2c
23: castore
24: goto 58
end local 10 25: StackMap locals:
StackMap stack:
aload 0
invokevirtual sun.nio.cs.CESU_8$Decoder.malformedInputAction:()Ljava/nio/charset/CodingErrorAction;
getstatic java.nio.charset.CodingErrorAction.REPLACE:Ljava/nio/charset/CodingErrorAction;
if_acmpeq 27
26: iconst_m1
ireturn
27: StackMap locals:
StackMap stack:
aload 4
iload 6
iinc 6 1
aload 0
invokevirtual sun.nio.cs.CESU_8$Decoder.replacement:()Ljava/lang/String;
iconst_0
invokevirtual java.lang.String.charAt:(I)C
castore
28: iload 6
ireturn
29: StackMap locals:
StackMap stack:
iload 9
iconst_4
ishr
bipush -2
if_icmpne 55
30: iload 2
iconst_1
iadd
iload 5
if_icmpge 48
31: aload 1
iload 2
iinc 2 1
baload
istore 10
start local 10 32: aload 1
iload 2
iinc 2 1
baload
istore 11
start local 11 33: iload 9
iload 10
iload 11
invokestatic sun.nio.cs.CESU_8$Decoder.isMalformed3:(III)Z
ifeq 41
34: aload 0
invokevirtual sun.nio.cs.CESU_8$Decoder.malformedInputAction:()Ljava/nio/charset/CodingErrorAction;
getstatic java.nio.charset.CodingErrorAction.REPLACE:Ljava/nio/charset/CodingErrorAction;
if_acmpeq 36
35: iconst_m1
ireturn
36: StackMap locals: int int
StackMap stack:
aload 4
iload 6
iinc 6 1
aload 0
invokevirtual sun.nio.cs.CESU_8$Decoder.replacement:()Ljava/lang/String;
iconst_0
invokevirtual java.lang.String.charAt:(I)C
castore
37: iinc 2 -3
38: aload 8
aload 1
iload 2
invokestatic sun.nio.cs.CESU_8$Decoder.getByteBuffer:(Ljava/nio/ByteBuffer;[BI)Ljava/nio/ByteBuffer;
astore 8
39: iload 2
aload 8
iconst_3
invokestatic sun.nio.cs.CESU_8$Decoder.malformedN:(Ljava/nio/ByteBuffer;I)Ljava/nio/charset/CoderResult;
invokevirtual java.nio.charset.CoderResult.length:()I
iadd
istore 2
40: goto 58
41: StackMap locals:
StackMap stack:
aload 4
iload 6
iinc 6 1
iload 9
bipush 12
ishl
42: iload 10
bipush 6
ishl
ixor
43: iload 11
44: ldc -123008
45: ixor
ixor
i2c
46: castore
47: goto 58
end local 11 end local 10 48: StackMap locals:
StackMap stack:
aload 0
invokevirtual sun.nio.cs.CESU_8$Decoder.malformedInputAction:()Ljava/nio/charset/CodingErrorAction;
getstatic java.nio.charset.CodingErrorAction.REPLACE:Ljava/nio/charset/CodingErrorAction;
if_acmpeq 50
49: iconst_m1
ireturn
50: StackMap locals:
StackMap stack:
iload 2
iload 5
if_icmpge 53
iload 9
aload 1
iload 2
baload
invokestatic sun.nio.cs.CESU_8$Decoder.isMalformed3_2:(II)Z
ifeq 53
51: aload 4
iload 6
iinc 6 1
aload 0
invokevirtual sun.nio.cs.CESU_8$Decoder.replacement:()Ljava/lang/String;
iconst_0
invokevirtual java.lang.String.charAt:(I)C
castore
52: goto 58
53: StackMap locals:
StackMap stack:
aload 4
iload 6
iinc 6 1
aload 0
invokevirtual sun.nio.cs.CESU_8$Decoder.replacement:()Ljava/lang/String;
iconst_0
invokevirtual java.lang.String.charAt:(I)C
castore
54: iload 6
ireturn
55: StackMap locals:
StackMap stack:
aload 0
invokevirtual sun.nio.cs.CESU_8$Decoder.malformedInputAction:()Ljava/nio/charset/CodingErrorAction;
getstatic java.nio.charset.CodingErrorAction.REPLACE:Ljava/nio/charset/CodingErrorAction;
if_acmpeq 57
56: iconst_m1
ireturn
57: StackMap locals:
StackMap stack:
aload 4
iload 6
iinc 6 1
aload 0
invokevirtual sun.nio.cs.CESU_8$Decoder.replacement:()Ljava/lang/String;
iconst_0
invokevirtual java.lang.String.charAt:(I)C
castore
end local 9 58: StackMap locals:
StackMap stack:
iload 2
iload 5
if_icmplt 8
59: iload 6
ireturn
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 60 0 this Lsun/nio/cs/CESU_8$Decoder;
0 60 1 sa [B
0 60 2 sp I
0 60 3 len I
0 60 4 da [C
1 60 5 sl I
2 60 6 dp I
3 60 7 dlASCII I
4 60 8 bb Ljava/nio/ByteBuffer;
9 58 9 b1 I
15 25 10 b2 I
32 48 10 b2 I
33 48 11 b3 I
MethodParameters:
Name Flags
sa
sp
len
da
}
SourceFile: "CESU_8.java"
NestHost: sun.nio.cs.CESU_8
InnerClasses:
private Decoder = sun.nio.cs.CESU_8$Decoder of sun.nio.cs.CESU_8