class sun.nio.cs.UTF_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.UTF_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/UTF_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.UTF_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/UTF_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 isMalformed2(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 30
iand
ifeq 1
iload 1
sipush 192
iand
sipush 128
if_icmpne 1
iconst_0
ireturn
StackMap locals:
StackMap stack:
1: iconst_1
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 b1 I
0 2 1 b2 I
MethodParameters:
Name Flags
b1
b2
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 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 java.nio.charset.CoderResult lookupN(java.nio.ByteBuffer, int);
descriptor: (Ljava/nio/ByteBuffer;I)Ljava/nio/charset/CoderResult;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: iconst_1
istore 2
start local 2 1: goto 5
2: StackMap locals: int
StackMap stack:
aload 0
invokevirtual java.nio.ByteBuffer.get:()B
invokestatic sun.nio.cs.UTF_8$Decoder.isNotContinuation:(I)Z
ifeq 4
3: iload 2
invokestatic java.nio.charset.CoderResult.malformedForLength:(I)Ljava/nio/charset/CoderResult;
areturn
4: StackMap locals:
StackMap stack:
iinc 2 1
StackMap locals:
StackMap stack:
5: iload 2
iload 1
if_icmplt 2
end local 2 6: iload 1
invokestatic java.nio.charset.CoderResult.malformedForLength:(I)Ljava/nio/charset/CoderResult;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 src Ljava/nio/ByteBuffer;
0 7 1 n I
1 6 2 i I
MethodParameters:
Name Flags
src
n
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: 11
3: 12
4: 19
default: 29
}
1: StackMap locals:
StackMap stack:
aload 0
invokevirtual java.nio.ByteBuffer.get:()B
istore 2
start local 2 2: iload 2
iconst_2
ishr
bipush -2
if_icmpne 6
3: aload 0
invokevirtual java.nio.ByteBuffer.remaining:()I
iconst_4
if_icmpge 5
4: getstatic java.nio.charset.CoderResult.UNDERFLOW:Ljava/nio/charset/CoderResult;
areturn
5: StackMap locals: int
StackMap stack:
aload 0
iconst_5
invokestatic sun.nio.cs.UTF_8$Decoder.lookupN:(Ljava/nio/ByteBuffer;I)Ljava/nio/charset/CoderResult;
areturn
6: StackMap locals:
StackMap stack:
iload 2
iconst_1
ishr
bipush -2
if_icmpne 10
7: aload 0
invokevirtual java.nio.ByteBuffer.remaining:()I
iconst_5
if_icmpge 9
8: getstatic java.nio.charset.CoderResult.UNDERFLOW:Ljava/nio/charset/CoderResult;
areturn
9: StackMap locals:
StackMap stack:
aload 0
bipush 6
invokestatic sun.nio.cs.UTF_8$Decoder.lookupN:(Ljava/nio/ByteBuffer;I)Ljava/nio/charset/CoderResult;
areturn
10: StackMap locals:
StackMap stack:
iconst_1
invokestatic java.nio.charset.CoderResult.malformedForLength:(I)Ljava/nio/charset/CoderResult;
areturn
end local 2 11: StackMap locals:
StackMap stack:
iconst_1
invokestatic java.nio.charset.CoderResult.malformedForLength:(I)Ljava/nio/charset/CoderResult;
areturn
12: StackMap locals:
StackMap stack:
aload 0
invokevirtual java.nio.ByteBuffer.get:()B
istore 2
start local 2 13: aload 0
invokevirtual java.nio.ByteBuffer.get:()B
istore 3
start local 3 14: iload 2
bipush -32
if_icmpne 15
iload 3
sipush 224
iand
sipush 128
if_icmpeq 16
15: StackMap locals: int int
StackMap stack:
iload 3
invokestatic sun.nio.cs.UTF_8$Decoder.isNotContinuation:(I)Z
ifeq 17
StackMap locals:
StackMap stack:
16: iconst_1
goto 18
StackMap locals:
StackMap stack:
17: iconst_2
18: StackMap locals:
StackMap stack: int
invokestatic java.nio.charset.CoderResult.malformedForLength:(I)Ljava/nio/charset/CoderResult;
areturn
end local 3 end local 2 19: StackMap locals:
StackMap stack:
aload 0
invokevirtual java.nio.ByteBuffer.get:()B
sipush 255
iand
istore 2
start local 2 20: aload 0
invokevirtual java.nio.ByteBuffer.get:()B
sipush 255
iand
istore 3
start local 3 21: iload 2
sipush 244
if_icmpgt 25
22: iload 2
sipush 240
if_icmpne 23
iload 3
sipush 144
if_icmplt 25
iload 3
sipush 191
if_icmpgt 25
23: StackMap locals: int int
StackMap stack:
iload 2
sipush 244
if_icmpne 24
iload 3
sipush 240
iand
sipush 128
if_icmpne 25
24: StackMap locals:
StackMap stack:
iload 3
invokestatic sun.nio.cs.UTF_8$Decoder.isNotContinuation:(I)Z
ifeq 26
25: StackMap locals:
StackMap stack:
iconst_1
invokestatic java.nio.charset.CoderResult.malformedForLength:(I)Ljava/nio/charset/CoderResult;
areturn
26: StackMap locals:
StackMap stack:
aload 0
invokevirtual java.nio.ByteBuffer.get:()B
invokestatic sun.nio.cs.UTF_8$Decoder.isNotContinuation:(I)Z
ifeq 28
27: iconst_2
invokestatic java.nio.charset.CoderResult.malformedForLength:(I)Ljava/nio/charset/CoderResult;
areturn
28: StackMap locals:
StackMap stack:
iconst_3
invokestatic java.nio.charset.CoderResult.malformedForLength:(I)Ljava/nio/charset/CoderResult;
areturn
end local 3 end local 2 29: StackMap locals:
StackMap stack:
getstatic sun.nio.cs.UTF_8$Decoder.$assertionsDisabled:Z
ifne 30
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
30: StackMap locals:
StackMap stack:
aconst_null
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 31 0 src Ljava/nio/ByteBuffer;
0 31 1 nb I
2 11 2 b1 I
13 19 2 b1 I
20 29 2 b1 I
14 19 3 b2 I
21 29 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.UTF_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.UTF_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.UTF_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 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.UTF_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=3, locals=4, args_size=3
start local 0 start local 1 start local 2 0: iload 2
ifeq 1
aload 0
invokevirtual java.nio.Buffer.remaining:()I
iload 2
iconst_1
isub
if_icmpge 2
1: StackMap locals:
StackMap stack:
getstatic java.nio.charset.CoderResult.UNDERFLOW:Ljava/nio/charset/CoderResult;
goto 3
StackMap locals:
StackMap stack:
2: getstatic java.nio.charset.CoderResult.OVERFLOW:Ljava/nio/charset/CoderResult;
3: StackMap locals:
StackMap stack: java.nio.charset.CoderResult
astore 3
start local 3 4: aload 0
iload 1
invokevirtual java.nio.Buffer.position:(I)Ljava/nio/Buffer;
pop
5: aload 3
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 src Ljava/nio/Buffer;
0 6 1 mark I
0 6 2 nb I
4 6 3 cr Ljava/nio/charset/CoderResult;
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=15, 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.UTF_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 70
aload 3
iload 4
baload
ifge 8
10: goto 70
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.UTF_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 70
StackMap locals:
StackMap stack:
18: iload 10
iconst_5
ishr
bipush -2
if_icmpne 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.UTF_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 10
iload 11
invokestatic sun.nio.cs.UTF_8$Decoder.isMalformed2:(II)Z
ifeq 24
23: aload 1
iload 4
aload 2
iload 7
iconst_2
invokestatic sun.nio.cs.UTF_8$Decoder.malformed:(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 70
StackMap locals:
StackMap stack:
29: iload 10
iconst_4
ishr
bipush -2
if_icmpne 47
30: iload 5
iload 4
isub
iconst_3
if_icmplt 31
iload 7
iload 8
if_icmplt 32
31: StackMap locals:
StackMap stack:
aload 1
iload 4
iload 5
aload 2
iload 7
iconst_3
invokestatic sun.nio.cs.UTF_8$Decoder.xflow:(Ljava/nio/Buffer;IILjava/nio/Buffer;II)Ljava/nio/charset/CoderResult;
areturn
32: StackMap locals:
StackMap stack:
aload 3
iload 4
iconst_1
iadd
baload
istore 11
start local 11 33: aload 3
iload 4
iconst_2
iadd
baload
istore 12
start local 12 34: iload 10
iload 11
iload 12
invokestatic sun.nio.cs.UTF_8$Decoder.isMalformed3:(III)Z
ifeq 36
35: aload 1
iload 4
aload 2
iload 7
iconst_3
invokestatic sun.nio.cs.UTF_8$Decoder.malformed:(Ljava/nio/ByteBuffer;ILjava/nio/CharBuffer;II)Ljava/nio/charset/CoderResult;
areturn
36: StackMap locals: int int
StackMap stack:
aload 6
iload 7
iinc 7 1
37: iload 10
bipush 12
ishl
38: iload 11
bipush 6
ishl
39: ixor
40: iload 12
41: ldc -123008
42: ixor
43: ixor
i2c
44: castore
45: iinc 4 3
end local 12 end local 11 46: goto 70
StackMap locals:
StackMap stack:
47: iload 10
iconst_3
ishr
bipush -2
if_icmpne 69
48: iload 5
iload 4
isub
iconst_4
if_icmplt 49
iload 8
iload 7
isub
iconst_2
if_icmpge 50
49: StackMap locals:
StackMap stack:
aload 1
iload 4
iload 5
aload 2
iload 7
iconst_4
invokestatic sun.nio.cs.UTF_8$Decoder.xflow:(Ljava/nio/Buffer;IILjava/nio/Buffer;II)Ljava/nio/charset/CoderResult;
areturn
50: StackMap locals:
StackMap stack:
aload 3
iload 4
iconst_1
iadd
baload
istore 11
start local 11 51: aload 3
iload 4
iconst_2
iadd
baload
istore 12
start local 12 52: aload 3
iload 4
iconst_3
iadd
baload
istore 13
start local 13 53: iload 10
bipush 18
ishl
54: iload 11
bipush 12
ishl
55: ixor
56: iload 12
bipush 6
ishl
57: ixor
58: iload 13
59: ldc 3678080
60: ixor
61: ixor
istore 14
start local 14 62: iload 11
iload 12
iload 13
invokestatic sun.nio.cs.UTF_8$Decoder.isMalformed4:(III)Z
ifne 64
63: iload 14
invokestatic java.lang.Character.isSupplementaryCodePoint:(I)Z
ifne 65
64: StackMap locals: sun.nio.cs.UTF_8$Decoder java.nio.ByteBuffer java.nio.CharBuffer byte[] int int char[] int int int int int int int int
StackMap stack:
aload 1
iload 4
aload 2
iload 7
iconst_4
invokestatic sun.nio.cs.UTF_8$Decoder.malformed:(Ljava/nio/ByteBuffer;ILjava/nio/CharBuffer;II)Ljava/nio/charset/CoderResult;
areturn
65: StackMap locals:
StackMap stack:
aload 6
iload 7
iinc 7 1
iload 14
invokestatic java.lang.Character.highSurrogate:(I)C
castore
66: aload 6
iload 7
iinc 7 1
iload 14
invokestatic java.lang.Character.lowSurrogate:(I)C
castore
67: iinc 4 4
end local 14 end local 13 end local 12 end local 11 68: goto 70
69: StackMap locals: sun.nio.cs.UTF_8$Decoder java.nio.ByteBuffer java.nio.CharBuffer byte[] int int char[] int int int int
StackMap stack:
aload 1
iload 4
aload 2
iload 7
iconst_1
invokestatic sun.nio.cs.UTF_8$Decoder.malformed:(Ljava/nio/ByteBuffer;ILjava/nio/CharBuffer;II)Ljava/nio/charset/CoderResult;
areturn
end local 10 70: StackMap locals:
StackMap stack:
iload 4
iload 5
if_icmplt 11
71: aload 1
iload 4
iload 5
aload 2
iload 7
iconst_0
invokestatic sun.nio.cs.UTF_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 72 0 this Lsun/nio/cs/UTF_8$Decoder;
0 72 1 src Ljava/nio/ByteBuffer;
0 72 2 dst Ljava/nio/CharBuffer;
1 72 3 sa [B
2 72 4 sp I
3 72 5 sl I
4 72 6 da [C
5 72 7 dp I
6 72 8 dl I
7 72 9 dlASCII I
12 70 10 b1 I
22 28 11 b2 I
33 46 11 b2 I
34 46 12 b3 I
51 68 11 b2 I
52 68 12 b3 I
53 68 13 b4 I
62 68 14 uc 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=10, 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 62
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.UTF_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 62
StackMap locals:
StackMap stack:
10: iload 5
iconst_5
ishr
bipush -2
if_icmpne 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.UTF_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 5
iload 6
invokestatic sun.nio.cs.UTF_8$Decoder.isMalformed2:(II)Z
ifeq 16
15: aload 1
iload 3
iconst_2
invokestatic sun.nio.cs.UTF_8$Decoder.malformed:(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 62
StackMap locals:
StackMap stack:
21: iload 5
iconst_4
ishr
bipush -2
if_icmpne 39
22: iload 4
iload 3
isub
iconst_3
if_icmplt 23
aload 2
invokevirtual java.nio.CharBuffer.remaining:()I
iconst_1
if_icmpge 24
23: StackMap locals:
StackMap stack:
aload 1
iload 3
iconst_3
invokestatic sun.nio.cs.UTF_8$Decoder.xflow:(Ljava/nio/Buffer;II)Ljava/nio/charset/CoderResult;
areturn
24: StackMap locals:
StackMap stack:
aload 1
invokevirtual java.nio.ByteBuffer.get:()B
istore 6
start local 6 25: aload 1
invokevirtual java.nio.ByteBuffer.get:()B
istore 7
start local 7 26: iload 5
iload 6
iload 7
invokestatic sun.nio.cs.UTF_8$Decoder.isMalformed3:(III)Z
ifeq 28
27: aload 1
iload 3
iconst_3
invokestatic sun.nio.cs.UTF_8$Decoder.malformed:(Ljava/nio/ByteBuffer;II)Ljava/nio/charset/CoderResult;
areturn
28: StackMap locals: int int
StackMap stack:
aload 2
29: iload 5
bipush 12
ishl
30: iload 6
bipush 6
ishl
31: ixor
32: iload 7
33: ldc -123008
34: ixor
35: ixor
i2c
36: invokevirtual java.nio.CharBuffer.put:(C)Ljava/nio/CharBuffer;
pop
37: iinc 3 3
end local 7 end local 6 38: goto 62
StackMap locals:
StackMap stack:
39: iload 5
iconst_3
ishr
bipush -2
if_icmpne 61
40: iload 4
iload 3
isub
iconst_4
if_icmplt 41
aload 2
invokevirtual java.nio.CharBuffer.remaining:()I
iconst_2
if_icmpge 42
41: StackMap locals:
StackMap stack:
aload 1
iload 3
iconst_4
invokestatic sun.nio.cs.UTF_8$Decoder.xflow:(Ljava/nio/Buffer;II)Ljava/nio/charset/CoderResult;
areturn
42: StackMap locals:
StackMap stack:
aload 1
invokevirtual java.nio.ByteBuffer.get:()B
istore 6
start local 6 43: aload 1
invokevirtual java.nio.ByteBuffer.get:()B
istore 7
start local 7 44: aload 1
invokevirtual java.nio.ByteBuffer.get:()B
istore 8
start local 8 45: iload 5
bipush 18
ishl
46: iload 6
bipush 12
ishl
47: ixor
48: iload 7
bipush 6
ishl
49: ixor
50: iload 8
51: ldc 3678080
52: ixor
53: ixor
istore 9
start local 9 54: iload 6
iload 7
iload 8
invokestatic sun.nio.cs.UTF_8$Decoder.isMalformed4:(III)Z
ifne 56
55: iload 9
invokestatic java.lang.Character.isSupplementaryCodePoint:(I)Z
ifne 57
56: StackMap locals: sun.nio.cs.UTF_8$Decoder java.nio.ByteBuffer java.nio.CharBuffer int int int int int int int
StackMap stack:
aload 1
iload 3
iconst_4
invokestatic sun.nio.cs.UTF_8$Decoder.malformed:(Ljava/nio/ByteBuffer;II)Ljava/nio/charset/CoderResult;
areturn
57: StackMap locals:
StackMap stack:
aload 2
iload 9
invokestatic java.lang.Character.highSurrogate:(I)C
invokevirtual java.nio.CharBuffer.put:(C)Ljava/nio/CharBuffer;
pop
58: aload 2
iload 9
invokestatic java.lang.Character.lowSurrogate:(I)C
invokevirtual java.nio.CharBuffer.put:(C)Ljava/nio/CharBuffer;
pop
59: iinc 3 4
end local 9 end local 8 end local 7 end local 6 60: goto 62
61: StackMap locals: sun.nio.cs.UTF_8$Decoder java.nio.ByteBuffer java.nio.CharBuffer int int int
StackMap stack:
aload 1
iload 3
iconst_1
invokestatic sun.nio.cs.UTF_8$Decoder.malformed:(Ljava/nio/ByteBuffer;II)Ljava/nio/charset/CoderResult;
areturn
end local 5 62: StackMap locals:
StackMap stack:
iload 3
iload 4
if_icmplt 3
63: aload 1
iload 3
iconst_0
invokestatic sun.nio.cs.UTF_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 64 0 this Lsun/nio/cs/UTF_8$Decoder;
0 64 1 src Ljava/nio/ByteBuffer;
0 64 2 dst Ljava/nio/CharBuffer;
1 64 3 mark I
2 64 4 limit I
4 62 5 b1 I
14 20 6 b2 I
25 38 6 b2 I
26 38 7 b3 I
43 60 6 b2 I
44 60 7 b3 I
45 60 8 b4 I
54 60 9 uc 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.UTF_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.UTF_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/UTF_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=14, 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.UTF_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 91
aload 1
iload 2
baload
ifge 5
7: goto 91
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 91
StackMap locals: int
StackMap stack:
12: iload 9
iconst_5
ishr
bipush -2
if_icmpne 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 9
iload 10
invokestatic sun.nio.cs.UTF_8$Decoder.isMalformed2:(II)Z
ifeq 21
16: aload 0
invokevirtual sun.nio.cs.UTF_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.UTF_8$Decoder.replacement:()Ljava/lang/String;
iconst_0
invokevirtual java.lang.String.charAt:(I)C
castore
19: iinc 2 -1
20: goto 91
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 91
end local 10 25: StackMap locals:
StackMap stack:
aload 0
invokevirtual sun.nio.cs.UTF_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.UTF_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 52
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.UTF_8$Decoder.isMalformed3:(III)Z
ifeq 41
34: aload 0
invokevirtual sun.nio.cs.UTF_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.UTF_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.UTF_8$Decoder.getByteBuffer:(Ljava/nio/ByteBuffer;[BI)Ljava/nio/ByteBuffer;
astore 8
39: iload 2
aload 8
iconst_3
invokestatic sun.nio.cs.UTF_8$Decoder.malformedN:(Ljava/nio/ByteBuffer;I)Ljava/nio/charset/CoderResult;
invokevirtual java.nio.charset.CoderResult.length:()I
iadd
istore 2
40: goto 91
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 91
end local 11 end local 10 48: StackMap locals:
StackMap stack:
aload 0
invokevirtual sun.nio.cs.UTF_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:
aload 4
iload 6
iinc 6 1
aload 0
invokevirtual sun.nio.cs.UTF_8$Decoder.replacement:()Ljava/lang/String;
iconst_0
invokevirtual java.lang.String.charAt:(I)C
castore
51: iload 6
ireturn
52: StackMap locals:
StackMap stack:
iload 9
iconst_3
ishr
bipush -2
if_icmpne 82
53: iload 2
iconst_2
iadd
iload 5
if_icmpge 78
54: aload 1
iload 2
iinc 2 1
baload
istore 10
start local 10 55: aload 1
iload 2
iinc 2 1
baload
istore 11
start local 11 56: aload 1
iload 2
iinc 2 1
baload
istore 12
start local 12 57: iload 9
bipush 18
ishl
58: iload 10
bipush 12
ishl
59: ixor
60: iload 11
bipush 6
ishl
61: ixor
62: iload 12
63: ldc 3678080
64: ixor
65: ixor
istore 13
start local 13 66: iload 10
iload 11
iload 12
invokestatic sun.nio.cs.UTF_8$Decoder.isMalformed4:(III)Z
ifne 68
67: iload 13
invokestatic java.lang.Character.isSupplementaryCodePoint:(I)Z
ifne 75
68: StackMap locals: sun.nio.cs.UTF_8$Decoder byte[] int int char[] int int int java.nio.ByteBuffer int int int int int
StackMap stack:
aload 0
invokevirtual sun.nio.cs.UTF_8$Decoder.malformedInputAction:()Ljava/nio/charset/CodingErrorAction;
getstatic java.nio.charset.CodingErrorAction.REPLACE:Ljava/nio/charset/CodingErrorAction;
if_acmpeq 70
69: iconst_m1
ireturn
70: StackMap locals:
StackMap stack:
aload 4
iload 6
iinc 6 1
aload 0
invokevirtual sun.nio.cs.UTF_8$Decoder.replacement:()Ljava/lang/String;
iconst_0
invokevirtual java.lang.String.charAt:(I)C
castore
71: iinc 2 -4
72: aload 8
aload 1
iload 2
invokestatic sun.nio.cs.UTF_8$Decoder.getByteBuffer:(Ljava/nio/ByteBuffer;[BI)Ljava/nio/ByteBuffer;
astore 8
73: iload 2
aload 8
iconst_4
invokestatic sun.nio.cs.UTF_8$Decoder.malformedN:(Ljava/nio/ByteBuffer;I)Ljava/nio/charset/CoderResult;
invokevirtual java.nio.charset.CoderResult.length:()I
iadd
istore 2
74: goto 91
75: StackMap locals:
StackMap stack:
aload 4
iload 6
iinc 6 1
iload 13
invokestatic java.lang.Character.highSurrogate:(I)C
castore
76: aload 4
iload 6
iinc 6 1
iload 13
invokestatic java.lang.Character.lowSurrogate:(I)C
castore
77: goto 91
end local 13 end local 12 end local 11 end local 10 78: StackMap locals: sun.nio.cs.UTF_8$Decoder byte[] int int char[] int int int java.nio.ByteBuffer int
StackMap stack:
aload 0
invokevirtual sun.nio.cs.UTF_8$Decoder.malformedInputAction:()Ljava/nio/charset/CodingErrorAction;
getstatic java.nio.charset.CodingErrorAction.REPLACE:Ljava/nio/charset/CodingErrorAction;
if_acmpeq 80
79: iconst_m1
ireturn
80: StackMap locals:
StackMap stack:
aload 4
iload 6
iinc 6 1
aload 0
invokevirtual sun.nio.cs.UTF_8$Decoder.replacement:()Ljava/lang/String;
iconst_0
invokevirtual java.lang.String.charAt:(I)C
castore
81: iload 6
ireturn
82: StackMap locals:
StackMap stack:
aload 0
invokevirtual sun.nio.cs.UTF_8$Decoder.malformedInputAction:()Ljava/nio/charset/CodingErrorAction;
getstatic java.nio.charset.CodingErrorAction.REPLACE:Ljava/nio/charset/CodingErrorAction;
if_acmpeq 84
83: iconst_m1
ireturn
84: StackMap locals:
StackMap stack:
aload 4
iload 6
iinc 6 1
aload 0
invokevirtual sun.nio.cs.UTF_8$Decoder.replacement:()Ljava/lang/String;
iconst_0
invokevirtual java.lang.String.charAt:(I)C
castore
85: iinc 2 -1
86: aload 8
aload 1
iload 2
invokestatic sun.nio.cs.UTF_8$Decoder.getByteBuffer:(Ljava/nio/ByteBuffer;[BI)Ljava/nio/ByteBuffer;
astore 8
87: aload 8
iconst_1
invokestatic sun.nio.cs.UTF_8$Decoder.malformedN:(Ljava/nio/ByteBuffer;I)Ljava/nio/charset/CoderResult;
astore 10
start local 10 88: aload 10
invokevirtual java.nio.charset.CoderResult.isError:()Z
ifne 90
89: iload 6
ireturn
90: StackMap locals: java.nio.charset.CoderResult
StackMap stack:
iload 2
aload 10
invokevirtual java.nio.charset.CoderResult.length:()I
iadd
istore 2
end local 10 end local 9 91: StackMap locals:
StackMap stack:
iload 2
iload 5
if_icmplt 8
92: 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 93 0 this Lsun/nio/cs/UTF_8$Decoder;
0 93 1 sa [B
0 93 2 sp I
0 93 3 len I
0 93 4 da [C
1 93 5 sl I
2 93 6 dp I
3 93 7 dlASCII I
4 93 8 bb Ljava/nio/ByteBuffer;
9 91 9 b1 I
15 25 10 b2 I
32 48 10 b2 I
33 48 11 b3 I
55 78 10 b2 I
56 78 11 b3 I
57 78 12 b4 I
66 78 13 uc I
88 91 10 cr Ljava/nio/charset/CoderResult;
MethodParameters:
Name Flags
sa
sp
len
da
}
SourceFile: "UTF_8.java"
NestHost: sun.nio.cs.UTF_8
InnerClasses:
private Decoder = sun.nio.cs.UTF_8$Decoder of sun.nio.cs.UTF_8