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
{
private static final jdk.internal.access.JavaLangAccess JLA;
descriptor: Ljdk/internal/access/JavaLangAccess;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
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
3: invokestatic jdk.internal.access.SharedSecrets.getJavaLangAccess:()Ljdk/internal/access/JavaLangAccess;
putstatic sun.nio.cs.UTF_8$Decoder.JLA:Ljdk/internal/access/JavaLangAccess;
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 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=8, locals=18, 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
istore 4
start local 4 2: iload 4
aload 1
invokevirtual java.nio.ByteBuffer.position:()I
iadd
istore 5
start local 5 3: iload 4
aload 1
invokevirtual java.nio.ByteBuffer.limit:()I
iadd
istore 6
start local 6 4: aload 2
invokevirtual java.nio.CharBuffer.array:()[C
astore 7
start local 7 5: aload 2
invokevirtual java.nio.CharBuffer.arrayOffset:()I
istore 8
start local 8 6: iload 8
aload 2
invokevirtual java.nio.CharBuffer.position:()I
iadd
istore 9
start local 9 7: iload 8
aload 2
invokevirtual java.nio.CharBuffer.limit:()I
iadd
istore 10
start local 10 8: getstatic sun.nio.cs.UTF_8$Decoder.JLA:Ljdk/internal/access/JavaLangAccess;
aload 3
iload 5
aload 7
iload 9
iload 6
iload 5
isub
iload 10
iload 9
isub
invokestatic java.lang.Math.min:(II)I
invokeinterface jdk.internal.access.JavaLangAccess.decodeASCII:([BI[CII)I
istore 11
start local 11 9: iload 5
iload 11
iadd
istore 5
10: iload 9
iload 11
iadd
istore 9
11: goto 83
12: StackMap locals: sun.nio.cs.UTF_8$Decoder java.nio.ByteBuffer java.nio.CharBuffer byte[] int int int char[] int int int int
StackMap stack:
aload 3
iload 5
baload
istore 12
start local 12 13: iload 12
iflt 19
14: iload 9
iload 10
if_icmplt 16
15: aload 1
iload 5
iload 6
aload 2
iload 9
iconst_1
invokestatic sun.nio.cs.UTF_8$Decoder.xflow:(Ljava/nio/Buffer;IILjava/nio/Buffer;II)Ljava/nio/charset/CoderResult;
areturn
16: StackMap locals: int
StackMap stack:
aload 7
iload 9
iinc 9 1
iload 12
i2c
castore
17: iinc 5 1
18: goto 83
StackMap locals:
StackMap stack:
19: iload 12
iconst_5
ishr
bipush -2
if_icmpne 30
iload 12
bipush 30
iand
ifeq 30
20: iload 6
iload 5
isub
iconst_2
if_icmplt 21
iload 9
iload 10
if_icmplt 22
21: StackMap locals:
StackMap stack:
aload 1
iload 5
iload 6
aload 2
iload 9
iconst_2
invokestatic sun.nio.cs.UTF_8$Decoder.xflow:(Ljava/nio/Buffer;IILjava/nio/Buffer;II)Ljava/nio/charset/CoderResult;
areturn
22: StackMap locals:
StackMap stack:
aload 3
iload 5
iconst_1
iadd
baload
istore 13
start local 13 23: iload 13
invokestatic sun.nio.cs.UTF_8$Decoder.isNotContinuation:(I)Z
ifeq 25
24: aload 1
iload 5
aload 2
iload 9
iconst_1
invokestatic sun.nio.cs.UTF_8$Decoder.malformedForLength:(Ljava/nio/ByteBuffer;ILjava/nio/CharBuffer;II)Ljava/nio/charset/CoderResult;
areturn
25: StackMap locals: int
StackMap stack:
aload 7
iload 9
iinc 9 1
iload 12
bipush 6
ishl
iload 13
ixor
26: sipush 3968
ixor
i2c
27: castore
28: iinc 5 2
end local 13 29: goto 83
StackMap locals:
StackMap stack:
30: iload 12
iconst_4
ishr
bipush -2
if_icmpne 53
31: iload 6
iload 5
isub
istore 13
start local 13 32: iload 13
iconst_3
if_icmplt 33
iload 9
iload 10
if_icmplt 36
33: StackMap locals: int
StackMap stack:
iload 13
iconst_1
if_icmple 35
iload 12
aload 3
iload 5
iconst_1
iadd
baload
invokestatic sun.nio.cs.UTF_8$Decoder.isMalformed3_2:(II)Z
ifeq 35
34: aload 1
iload 5
aload 2
iload 9
iconst_1
invokestatic sun.nio.cs.UTF_8$Decoder.malformedForLength:(Ljava/nio/ByteBuffer;ILjava/nio/CharBuffer;II)Ljava/nio/charset/CoderResult;
areturn
35: StackMap locals:
StackMap stack:
aload 1
iload 5
iload 6
aload 2
iload 9
iconst_3
invokestatic sun.nio.cs.UTF_8$Decoder.xflow:(Ljava/nio/Buffer;IILjava/nio/Buffer;II)Ljava/nio/charset/CoderResult;
areturn
36: StackMap locals:
StackMap stack:
aload 3
iload 5
iconst_1
iadd
baload
istore 14
start local 14 37: aload 3
iload 5
iconst_2
iadd
baload
istore 15
start local 15 38: iload 12
iload 14
iload 15
invokestatic sun.nio.cs.UTF_8$Decoder.isMalformed3:(III)Z
ifeq 40
39: aload 1
iload 5
aload 2
iload 9
iconst_3
invokestatic sun.nio.cs.UTF_8$Decoder.malformed:(Ljava/nio/ByteBuffer;ILjava/nio/CharBuffer;II)Ljava/nio/charset/CoderResult;
areturn
40: StackMap locals: int int
StackMap stack:
iload 12
bipush 12
ishl
41: iload 14
bipush 6
ishl
42: ixor
43: iload 15
44: ldc -123008
45: ixor
46: ixor
i2c
47: istore 16
start local 16 48: iload 16
invokestatic java.lang.Character.isSurrogate:(C)Z
ifeq 50
49: aload 1
iload 5
aload 2
iload 9
iconst_3
invokestatic sun.nio.cs.UTF_8$Decoder.malformedForLength:(Ljava/nio/ByteBuffer;ILjava/nio/CharBuffer;II)Ljava/nio/charset/CoderResult;
areturn
50: StackMap locals: int
StackMap stack:
aload 7
iload 9
iinc 9 1
iload 16
castore
51: iinc 5 3
end local 16 end local 15 end local 14 end local 13 52: goto 83
StackMap locals: sun.nio.cs.UTF_8$Decoder java.nio.ByteBuffer java.nio.CharBuffer byte[] int int int char[] int int int int int
StackMap stack:
53: iload 12
iconst_3
ishr
bipush -2
if_icmpne 82
54: iload 6
iload 5
isub
istore 13
start local 13 55: iload 13
iconst_4
if_icmplt 56
iload 10
iload 9
isub
iconst_2
if_icmpge 63
56: StackMap locals: int
StackMap stack:
iload 12
sipush 255
iand
istore 12
57: iload 12
sipush 244
if_icmpgt 59
58: iload 13
iconst_1
if_icmple 60
iload 12
aload 3
iload 5
iconst_1
iadd
baload
sipush 255
iand
invokestatic sun.nio.cs.UTF_8$Decoder.isMalformed4_2:(II)Z
ifeq 60
59: StackMap locals:
StackMap stack:
aload 1
iload 5
aload 2
iload 9
iconst_1
invokestatic sun.nio.cs.UTF_8$Decoder.malformedForLength:(Ljava/nio/ByteBuffer;ILjava/nio/CharBuffer;II)Ljava/nio/charset/CoderResult;
areturn
60: StackMap locals:
StackMap stack:
iload 13
iconst_2
if_icmple 62
aload 3
iload 5
iconst_2
iadd
baload
invokestatic sun.nio.cs.UTF_8$Decoder.isMalformed4_3:(I)Z
ifeq 62
61: aload 1
iload 5
aload 2
iload 9
iconst_2
invokestatic sun.nio.cs.UTF_8$Decoder.malformedForLength:(Ljava/nio/ByteBuffer;ILjava/nio/CharBuffer;II)Ljava/nio/charset/CoderResult;
areturn
62: StackMap locals:
StackMap stack:
aload 1
iload 5
iload 6
aload 2
iload 9
iconst_4
invokestatic sun.nio.cs.UTF_8$Decoder.xflow:(Ljava/nio/Buffer;IILjava/nio/Buffer;II)Ljava/nio/charset/CoderResult;
areturn
63: StackMap locals:
StackMap stack:
aload 3
iload 5
iconst_1
iadd
baload
istore 14
start local 14 64: aload 3
iload 5
iconst_2
iadd
baload
istore 15
start local 15 65: aload 3
iload 5
iconst_3
iadd
baload
istore 16
start local 16 66: iload 12
bipush 18
ishl
67: iload 14
bipush 12
ishl
68: ixor
69: iload 15
bipush 6
ishl
70: ixor
71: iload 16
72: ldc 3678080
73: ixor
74: ixor
istore 17
start local 17 75: iload 14
iload 15
iload 16
invokestatic sun.nio.cs.UTF_8$Decoder.isMalformed4:(III)Z
ifne 77
76: iload 17
invokestatic java.lang.Character.isSupplementaryCodePoint:(I)Z
ifne 78
77: StackMap locals: sun.nio.cs.UTF_8$Decoder java.nio.ByteBuffer java.nio.CharBuffer byte[] int int int char[] int int int int int int int int int int
StackMap stack:
aload 1
iload 5
aload 2
iload 9
iconst_4
invokestatic sun.nio.cs.UTF_8$Decoder.malformed:(Ljava/nio/ByteBuffer;ILjava/nio/CharBuffer;II)Ljava/nio/charset/CoderResult;
areturn
78: StackMap locals:
StackMap stack:
aload 7
iload 9
iinc 9 1
iload 17
invokestatic java.lang.Character.highSurrogate:(I)C
castore
79: aload 7
iload 9
iinc 9 1
iload 17
invokestatic java.lang.Character.lowSurrogate:(I)C
castore
80: iinc 5 4
end local 17 end local 16 end local 15 end local 14 end local 13 81: goto 83
82: StackMap locals: sun.nio.cs.UTF_8$Decoder java.nio.ByteBuffer java.nio.CharBuffer byte[] int int int char[] int int int int int
StackMap stack:
aload 1
iload 5
aload 2
iload 9
iconst_1
invokestatic sun.nio.cs.UTF_8$Decoder.malformed:(Ljava/nio/ByteBuffer;ILjava/nio/CharBuffer;II)Ljava/nio/charset/CoderResult;
areturn
end local 12 83: StackMap locals:
StackMap stack:
iload 5
iload 6
if_icmplt 12
84: aload 1
iload 5
iload 6
aload 2
iload 9
iconst_0
invokestatic sun.nio.cs.UTF_8$Decoder.xflow:(Ljava/nio/Buffer;IILjava/nio/Buffer;II)Ljava/nio/charset/CoderResult;
areturn
end local 11 end local 10 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 85 0 this Lsun/nio/cs/UTF_8$Decoder;
0 85 1 src Ljava/nio/ByteBuffer;
0 85 2 dst Ljava/nio/CharBuffer;
1 85 3 sa [B
2 85 4 soff I
3 85 5 sp I
4 85 6 sl I
5 85 7 da [C
6 85 8 doff I
7 85 9 dp I
8 85 10 dl I
9 85 11 n I
13 83 12 b1 I
23 29 13 b2 I
32 52 13 srcRemaining I
37 52 14 b2 I
38 52 15 b3 I
48 52 16 c C
55 81 13 srcRemaining I
64 81 14 b2 I
65 81 15 b3 I
66 81 16 b4 I
75 81 17 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
}
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