class sun.nio.cs.UTF_8$Decoder extends java.nio.charset.CharsetDecoder
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 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_icmplt 4
iload 1
sipush 191
if_icmpgt 4
1: StackMap locals:
StackMap stack:
iload 0
sipush 244
if_icmpne 2
iload 1
sipush 240
iand
sipush 128
if_icmpne 4
2: StackMap locals:
StackMap stack:
iload 1
sipush 192
iand
sipush 128
if_icmpne 4
3: iconst_0
ireturn
StackMap locals:
StackMap stack:
4: iconst_1
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 b1 I
0 5 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 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: 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.UTF_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.UTF_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.UTF_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.UTF_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/ByteBuffer;
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/ByteBuffer;
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/ByteBuffer;
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.UTF_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/ByteBuffer;
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.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=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=16, 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 82
aload 3
iload 4
baload
ifge 8
10: goto 82
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 82
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.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 11
invokestatic sun.nio.cs.UTF_8$Decoder.isNotContinuation:(I)Z
ifeq 24
23: aload 1
iload 4
aload 2
iload 7
iconst_1
invokestatic sun.nio.cs.UTF_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 82
StackMap locals:
StackMap stack:
29: iload 10
iconst_4
ishr
bipush -2
if_icmpne 52
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.UTF_8$Decoder.isMalformed3_2:(II)Z
ifeq 34
33: aload 1
iload 4
aload 2
iload 7
iconst_1
invokestatic sun.nio.cs.UTF_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.UTF_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.UTF_8$Decoder.isMalformed3:(III)Z
ifeq 39
38: 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
39: StackMap locals: int int
StackMap stack:
iload 10
bipush 12
ishl
40: iload 12
bipush 6
ishl
41: ixor
42: iload 13
43: ldc -123008
44: ixor
45: ixor
i2c
46: istore 14
start local 14 47: iload 14
invokestatic java.lang.Character.isSurrogate:(C)Z
ifeq 49
48: aload 1
iload 4
aload 2
iload 7
iconst_3
invokestatic sun.nio.cs.UTF_8$Decoder.malformedForLength:(Ljava/nio/ByteBuffer;ILjava/nio/CharBuffer;II)Ljava/nio/charset/CoderResult;
areturn
49: StackMap locals: int
StackMap stack:
aload 6
iload 7
iinc 7 1
iload 14
castore
50: iinc 4 3
end local 14 end local 13 end local 12 end local 11 51: goto 82
StackMap locals: sun.nio.cs.UTF_8$Decoder java.nio.ByteBuffer java.nio.CharBuffer byte[] int int char[] int int int int
StackMap stack:
52: iload 10
iconst_3
ishr
bipush -2
if_icmpne 81
53: iload 5
iload 4
isub
istore 11
start local 11 54: iload 11
iconst_4
if_icmplt 55
iload 8
iload 7
isub
iconst_2
if_icmpge 62
55: StackMap locals: int
StackMap stack:
iload 10
sipush 255
iand
istore 10
56: iload 10
sipush 244
if_icmpgt 58
57: iload 11
iconst_1
if_icmple 59
iload 10
aload 3
iload 4
iconst_1
iadd
baload
sipush 255
iand
invokestatic sun.nio.cs.UTF_8$Decoder.isMalformed4_2:(II)Z
ifeq 59
58: StackMap locals:
StackMap stack:
aload 1
iload 4
aload 2
iload 7
iconst_1
invokestatic sun.nio.cs.UTF_8$Decoder.malformedForLength:(Ljava/nio/ByteBuffer;ILjava/nio/CharBuffer;II)Ljava/nio/charset/CoderResult;
areturn
59: StackMap locals:
StackMap stack:
iload 11
iconst_2
if_icmple 61
aload 3
iload 4
iconst_2
iadd
baload
invokestatic sun.nio.cs.UTF_8$Decoder.isMalformed4_3:(I)Z
ifeq 61
60: aload 1
iload 4
aload 2
iload 7
iconst_2
invokestatic sun.nio.cs.UTF_8$Decoder.malformedForLength:(Ljava/nio/ByteBuffer;ILjava/nio/CharBuffer;II)Ljava/nio/charset/CoderResult;
areturn
61: 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
62: StackMap locals:
StackMap stack:
aload 3
iload 4
iconst_1
iadd
baload
istore 12
start local 12 63: aload 3
iload 4
iconst_2
iadd
baload
istore 13
start local 13 64: aload 3
iload 4
iconst_3
iadd
baload
istore 14
start local 14 65: iload 10
bipush 18
ishl
66: iload 12
bipush 12
ishl
67: ixor
68: iload 13
bipush 6
ishl
69: ixor
70: iload 14
71: ldc 3678080
72: ixor
73: ixor
istore 15
start local 15 74: iload 12
iload 13
iload 14
invokestatic sun.nio.cs.UTF_8$Decoder.isMalformed4:(III)Z
ifne 76
75: iload 15
invokestatic java.lang.Character.isSupplementaryCodePoint:(I)Z
ifne 77
76: 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 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
77: StackMap locals:
StackMap stack:
aload 6
iload 7
iinc 7 1
iload 15
invokestatic java.lang.Character.highSurrogate:(I)C
castore
78: aload 6
iload 7
iinc 7 1
iload 15
invokestatic java.lang.Character.lowSurrogate:(I)C
castore
79: iinc 4 4
end local 15 end local 14 end local 13 end local 12 end local 11 80: goto 82
81: 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 82: StackMap locals:
StackMap stack:
iload 4
iload 5
if_icmplt 11
83: 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 84 0 this Lsun/nio/cs/UTF_8$Decoder;
0 84 1 src Ljava/nio/ByteBuffer;
0 84 2 dst Ljava/nio/CharBuffer;
1 84 3 sa [B
2 84 4 sp I
3 84 5 sl I
4 84 6 da [C
5 84 7 dp I
6 84 8 dl I
7 84 9 dlASCII I
12 82 10 b1 I
22 28 11 b2 I
31 51 11 srcRemaining I
36 51 12 b2 I
37 51 13 b3 I
47 51 14 c C
54 80 11 srcRemaining I
63 80 12 b2 I
64 80 13 b3 I
65 80 14 b4 I
74 80 15 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=3, locals=11, 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 74
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 74
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.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 6
invokestatic sun.nio.cs.UTF_8$Decoder.isNotContinuation:(I)Z
ifeq 16
15: aload 1
iload 3
iconst_1
invokestatic sun.nio.cs.UTF_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 74
StackMap locals:
StackMap stack:
21: iload 5
iconst_4
ishr
bipush -2
if_icmpne 44
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.UTF_8$Decoder.isMalformed3_2:(II)Z
ifeq 26
25: aload 1
iload 3
iconst_1
invokestatic sun.nio.cs.UTF_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.UTF_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.UTF_8$Decoder.isMalformed3:(III)Z
ifeq 31
30: aload 1
iload 3
iconst_3
invokestatic sun.nio.cs.UTF_8$Decoder.malformed:(Ljava/nio/ByteBuffer;II)Ljava/nio/charset/CoderResult;
areturn
31: StackMap locals: int int
StackMap stack:
iload 5
bipush 12
ishl
32: iload 7
bipush 6
ishl
33: ixor
34: iload 8
35: ldc -123008
36: ixor
37: ixor
i2c
38: istore 9
start local 9 39: iload 9
invokestatic java.lang.Character.isSurrogate:(C)Z
ifeq 41
40: aload 1
iload 3
iconst_3
invokestatic sun.nio.cs.UTF_8$Decoder.malformedForLength:(Ljava/nio/ByteBuffer;II)Ljava/nio/charset/CoderResult;
areturn
41: StackMap locals: int
StackMap stack:
aload 2
iload 9
invokevirtual java.nio.CharBuffer.put:(C)Ljava/nio/CharBuffer;
pop
42: iinc 3 3
end local 9 end local 8 end local 7 end local 6 43: goto 74
StackMap locals: sun.nio.cs.UTF_8$Decoder java.nio.ByteBuffer java.nio.CharBuffer int int int
StackMap stack:
44: iload 5
iconst_3
ishr
bipush -2
if_icmpne 73
45: iload 4
iload 3
isub
istore 6
start local 6 46: iload 6
iconst_4
if_icmplt 47
aload 2
invokevirtual java.nio.CharBuffer.remaining:()I
iconst_2
if_icmpge 54
47: StackMap locals: int
StackMap stack:
iload 5
sipush 255
iand
istore 5
48: iload 5
sipush 244
if_icmpgt 50
49: iload 6
iconst_1
if_icmple 51
iload 5
aload 1
invokevirtual java.nio.ByteBuffer.get:()B
sipush 255
iand
invokestatic sun.nio.cs.UTF_8$Decoder.isMalformed4_2:(II)Z
ifeq 51
50: StackMap locals:
StackMap stack:
aload 1
iload 3
iconst_1
invokestatic sun.nio.cs.UTF_8$Decoder.malformedForLength:(Ljava/nio/ByteBuffer;II)Ljava/nio/charset/CoderResult;
areturn
51: StackMap locals:
StackMap stack:
iload 6
iconst_2
if_icmple 53
aload 1
invokevirtual java.nio.ByteBuffer.get:()B
invokestatic sun.nio.cs.UTF_8$Decoder.isMalformed4_3:(I)Z
ifeq 53
52: aload 1
iload 3
iconst_2
invokestatic sun.nio.cs.UTF_8$Decoder.malformedForLength:(Ljava/nio/ByteBuffer;II)Ljava/nio/charset/CoderResult;
areturn
53: 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
54: StackMap locals:
StackMap stack:
aload 1
invokevirtual java.nio.ByteBuffer.get:()B
istore 7
start local 7 55: aload 1
invokevirtual java.nio.ByteBuffer.get:()B
istore 8
start local 8 56: aload 1
invokevirtual java.nio.ByteBuffer.get:()B
istore 9
start local 9 57: iload 5
bipush 18
ishl
58: iload 7
bipush 12
ishl
59: ixor
60: iload 8
bipush 6
ishl
61: ixor
62: iload 9
63: ldc 3678080
64: ixor
65: ixor
istore 10
start local 10 66: iload 7
iload 8
iload 9
invokestatic sun.nio.cs.UTF_8$Decoder.isMalformed4:(III)Z
ifne 68
67: iload 10
invokestatic java.lang.Character.isSupplementaryCodePoint:(I)Z
ifne 69
68: StackMap locals: sun.nio.cs.UTF_8$Decoder java.nio.ByteBuffer java.nio.CharBuffer int 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
69: StackMap locals:
StackMap stack:
aload 2
iload 10
invokestatic java.lang.Character.highSurrogate:(I)C
invokevirtual java.nio.CharBuffer.put:(C)Ljava/nio/CharBuffer;
pop
70: aload 2
iload 10
invokestatic java.lang.Character.lowSurrogate:(I)C
invokevirtual java.nio.CharBuffer.put:(C)Ljava/nio/CharBuffer;
pop
71: iinc 3 4
end local 10 end local 9 end local 8 end local 7 end local 6 72: goto 74
73: 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 74: StackMap locals:
StackMap stack:
iload 3
iload 4
if_icmplt 3
75: 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 76 0 this Lsun/nio/cs/UTF_8$Decoder;
0 76 1 src Ljava/nio/ByteBuffer;
0 76 2 dst Ljava/nio/CharBuffer;
1 76 3 mark I
2 76 4 limit I
4 74 5 b1 I
14 20 6 b2 I
23 43 6 srcRemaining I
28 43 7 b2 I
29 43 8 b3 I
39 43 9 c C
46 72 6 srcRemaining I
55 72 7 b2 I
56 72 8 b3 I
57 72 9 b4 I
66 72 10 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/ByteBuffer;
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
}
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