class sun.nio.cs.UTF_8$Encoder extends java.nio.charset.CharsetEncoder implements sun.nio.cs.ArrayEncoder
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: sun.nio.cs.UTF_8$Encoder
super_class: java.nio.charset.CharsetEncoder
{
private sun.nio.cs.Surrogate$Parser sgp;
descriptor: Lsun/nio/cs/Surrogate$Parser;
flags: (0x0002) ACC_PRIVATE
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 // sun.nio.cs.UTF_8$Encoder this
start local 1 // java.nio.charset.Charset cs
0: .line 486
aload 0 /* this */
aload 1 /* cs */
ldc 1.1
ldc 3.0
invokespecial java.nio.charset.CharsetEncoder.<init>:(Ljava/nio/charset/Charset;FF)V
1: .line 487
return
end local 1 // java.nio.charset.Charset cs
end local 0 // sun.nio.cs.UTF_8$Encoder this
LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lsun/nio/cs/UTF_8$Encoder;
0 2 1 cs Ljava/nio/charset/Charset;
MethodParameters:
Name Flags
cs
public boolean canEncode(char);
descriptor: (C)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=2, args_size=2
start local 0 // sun.nio.cs.UTF_8$Encoder this
start local 1 // char c
0: .line 490
iload 1 /* c */
invokestatic java.lang.Character.isSurrogate:(C)Z
ifeq 1
iconst_0
goto 2
StackMap locals:
StackMap stack:
1: iconst_1
StackMap locals:
StackMap stack: int
2: ireturn
end local 1 // char c
end local 0 // sun.nio.cs.UTF_8$Encoder this
LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lsun/nio/cs/UTF_8$Encoder;
0 3 1 c C
MethodParameters:
Name Flags
c
public boolean isLegalReplacement(byte[]);
descriptor: ([B)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 // sun.nio.cs.UTF_8$Encoder this
start local 1 // byte[] repl
0: .line 494
aload 1 /* repl */
arraylength
iconst_1
if_icmpne 1
aload 1 /* repl */
iconst_0
baload
ifge 3
1: .line 495
StackMap locals:
StackMap stack:
aload 0 /* this */
aload 1 /* repl */
invokespecial java.nio.charset.CharsetEncoder.isLegalReplacement:([B)Z
ifne 3
2: .line 494
iconst_0
ireturn
StackMap locals:
StackMap stack:
3: iconst_1
ireturn
end local 1 // byte[] repl
end local 0 // sun.nio.cs.UTF_8$Encoder this
LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lsun/nio/cs/UTF_8$Encoder;
0 4 1 repl [B
MethodParameters:
Name Flags
repl
private static java.nio.charset.CoderResult overflow(java.nio.CharBuffer, int, java.nio.ByteBuffer, int);
descriptor: (Ljava/nio/CharBuffer;ILjava/nio/ByteBuffer;I)Ljava/nio/charset/CoderResult;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=4, locals=4, args_size=4
start local 0 // java.nio.CharBuffer src
start local 1 // int sp
start local 2 // java.nio.ByteBuffer dst
start local 3 // int dp
0: .line 500
aload 0 /* src */
iload 1 /* sp */
aload 2 /* dst */
iload 3 /* dp */
invokestatic sun.nio.cs.UTF_8.updatePositions:(Ljava/nio/Buffer;ILjava/nio/Buffer;I)V
1: .line 501
getstatic java.nio.charset.CoderResult.OVERFLOW:Ljava/nio/charset/CoderResult;
areturn
end local 3 // int dp
end local 2 // java.nio.ByteBuffer dst
end local 1 // int sp
end local 0 // java.nio.CharBuffer src
LocalVariableTable:
Start End Slot Name Signature
0 2 0 src Ljava/nio/CharBuffer;
0 2 1 sp I
0 2 2 dst Ljava/nio/ByteBuffer;
0 2 3 dp I
MethodParameters:
Name Flags
src
sp
dst
dp
private static java.nio.charset.CoderResult overflow(java.nio.CharBuffer, int);
descriptor: (Ljava/nio/CharBuffer;I)Ljava/nio/charset/CoderResult;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=2, args_size=2
start local 0 // java.nio.CharBuffer src
start local 1 // int mark
0: .line 505
aload 0 /* src */
iload 1 /* mark */
invokevirtual java.nio.CharBuffer.position:(I)Ljava/nio/Buffer;
pop
1: .line 506
getstatic java.nio.charset.CoderResult.OVERFLOW:Ljava/nio/charset/CoderResult;
areturn
end local 1 // int mark
end local 0 // java.nio.CharBuffer src
LocalVariableTable:
Start End Slot Name Signature
0 2 0 src Ljava/nio/CharBuffer;
0 2 1 mark I
MethodParameters:
Name Flags
src
mark
private java.nio.charset.CoderResult encodeArrayLoop(java.nio.CharBuffer, java.nio.ByteBuffer);
descriptor: (Ljava/nio/CharBuffer;Ljava/nio/ByteBuffer;)Ljava/nio/charset/CoderResult;
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=12, args_size=3
start local 0 // sun.nio.cs.UTF_8$Encoder this
start local 1 // java.nio.CharBuffer src
start local 2 // java.nio.ByteBuffer dst
0: .line 513
aload 1 /* src */
invokevirtual java.nio.CharBuffer.array:()[C
astore 3 /* sa */
start local 3 // char[] sa
1: .line 514
aload 1 /* src */
invokevirtual java.nio.CharBuffer.arrayOffset:()I
aload 1 /* src */
invokevirtual java.nio.CharBuffer.position:()I
iadd
istore 4 /* sp */
start local 4 // int sp
2: .line 515
aload 1 /* src */
invokevirtual java.nio.CharBuffer.arrayOffset:()I
aload 1 /* src */
invokevirtual java.nio.CharBuffer.limit:()I
iadd
istore 5 /* sl */
start local 5 // int sl
3: .line 517
aload 2 /* dst */
invokevirtual java.nio.ByteBuffer.array:()[B
astore 6 /* da */
start local 6 // byte[] da
4: .line 518
aload 2 /* dst */
invokevirtual java.nio.ByteBuffer.arrayOffset:()I
aload 2 /* dst */
invokevirtual java.nio.ByteBuffer.position:()I
iadd
istore 7 /* dp */
start local 7 // int dp
5: .line 519
aload 2 /* dst */
invokevirtual java.nio.ByteBuffer.arrayOffset:()I
aload 2 /* dst */
invokevirtual java.nio.ByteBuffer.limit:()I
iadd
istore 8 /* dl */
start local 8 // int dl
6: .line 520
iload 7 /* dp */
iload 5 /* sl */
iload 4 /* sp */
isub
iload 8 /* dl */
iload 7 /* dp */
isub
invokestatic java.lang.Math.min:(II)I
iadd
istore 9 /* dlASCII */
start local 9 // int dlASCII
7: .line 523
goto 9
8: .line 524
StackMap locals: sun.nio.cs.UTF_8$Encoder java.nio.CharBuffer java.nio.ByteBuffer char[] int int byte[] int int int
StackMap stack:
aload 6 /* da */
iload 7 /* dp */
iinc 7 /* dp */ 1
aload 3 /* sa */
iload 4 /* sp */
iinc 4 /* sp */ 1
caload
i2b
bastore
9: .line 523
StackMap locals:
StackMap stack:
iload 7 /* dp */
iload 9 /* dlASCII */
if_icmpge 44
aload 3 /* sa */
iload 4 /* sp */
caload
sipush 128
if_icmplt 8
10: .line 525
goto 44
11: .line 526
StackMap locals:
StackMap stack:
aload 3 /* sa */
iload 4 /* sp */
caload
istore 10 /* c */
start local 10 // char c
12: .line 527
iload 10 /* c */
sipush 128
if_icmpge 17
13: .line 529
iload 7 /* dp */
iload 8 /* dl */
if_icmplt 15
14: .line 530
aload 1 /* src */
iload 4 /* sp */
aload 2 /* dst */
iload 7 /* dp */
invokestatic sun.nio.cs.UTF_8$Encoder.overflow:(Ljava/nio/CharBuffer;ILjava/nio/ByteBuffer;I)Ljava/nio/charset/CoderResult;
areturn
15: .line 531
StackMap locals: int
StackMap stack:
aload 6 /* da */
iload 7 /* dp */
iinc 7 /* dp */ 1
iload 10 /* c */
i2b
bastore
16: .line 532
goto 43
StackMap locals:
StackMap stack:
17: iload 10 /* c */
sipush 2048
if_icmpge 23
18: .line 534
iload 8 /* dl */
iload 7 /* dp */
isub
iconst_2
if_icmpge 20
19: .line 535
aload 1 /* src */
iload 4 /* sp */
aload 2 /* dst */
iload 7 /* dp */
invokestatic sun.nio.cs.UTF_8$Encoder.overflow:(Ljava/nio/CharBuffer;ILjava/nio/ByteBuffer;I)Ljava/nio/charset/CoderResult;
areturn
20: .line 536
StackMap locals:
StackMap stack:
aload 6 /* da */
iload 7 /* dp */
iinc 7 /* dp */ 1
sipush 192
iload 10 /* c */
bipush 6
ishr
ior
i2b
bastore
21: .line 537
aload 6 /* da */
iload 7 /* dp */
iinc 7 /* dp */ 1
sipush 128
iload 10 /* c */
bipush 63
iand
ior
i2b
bastore
22: .line 538
goto 43
StackMap locals:
StackMap stack:
23: iload 10 /* c */
invokestatic java.lang.Character.isSurrogate:(C)Z
ifeq 38
24: .line 540
aload 0 /* this */
getfield sun.nio.cs.UTF_8$Encoder.sgp:Lsun/nio/cs/Surrogate$Parser;
ifnonnull 26
25: .line 541
aload 0 /* this */
new sun.nio.cs.Surrogate$Parser
dup
invokespecial sun.nio.cs.Surrogate$Parser.<init>:()V
putfield sun.nio.cs.UTF_8$Encoder.sgp:Lsun/nio/cs/Surrogate$Parser;
26: .line 542
StackMap locals:
StackMap stack:
aload 0 /* this */
getfield sun.nio.cs.UTF_8$Encoder.sgp:Lsun/nio/cs/Surrogate$Parser;
iload 10 /* c */
aload 3 /* sa */
iload 4 /* sp */
iload 5 /* sl */
invokevirtual sun.nio.cs.Surrogate$Parser.parse:(C[CII)I
istore 11 /* uc */
start local 11 // int uc
27: .line 543
iload 11 /* uc */
ifge 30
28: .line 544
aload 1 /* src */
iload 4 /* sp */
aload 2 /* dst */
iload 7 /* dp */
invokestatic sun.nio.cs.UTF_8.updatePositions:(Ljava/nio/Buffer;ILjava/nio/Buffer;I)V
29: .line 545
aload 0 /* this */
getfield sun.nio.cs.UTF_8$Encoder.sgp:Lsun/nio/cs/Surrogate$Parser;
invokevirtual sun.nio.cs.Surrogate$Parser.error:()Ljava/nio/charset/CoderResult;
areturn
30: .line 547
StackMap locals: int
StackMap stack:
iload 8 /* dl */
iload 7 /* dp */
isub
iconst_4
if_icmpge 32
31: .line 548
aload 1 /* src */
iload 4 /* sp */
aload 2 /* dst */
iload 7 /* dp */
invokestatic sun.nio.cs.UTF_8$Encoder.overflow:(Ljava/nio/CharBuffer;ILjava/nio/ByteBuffer;I)Ljava/nio/charset/CoderResult;
areturn
32: .line 549
StackMap locals:
StackMap stack:
aload 6 /* da */
iload 7 /* dp */
iinc 7 /* dp */ 1
sipush 240
iload 11 /* uc */
bipush 18
ishr
ior
i2b
bastore
33: .line 550
aload 6 /* da */
iload 7 /* dp */
iinc 7 /* dp */ 1
sipush 128
iload 11 /* uc */
bipush 12
ishr
bipush 63
iand
ior
i2b
bastore
34: .line 551
aload 6 /* da */
iload 7 /* dp */
iinc 7 /* dp */ 1
sipush 128
iload 11 /* uc */
bipush 6
ishr
bipush 63
iand
ior
i2b
bastore
35: .line 552
aload 6 /* da */
iload 7 /* dp */
iinc 7 /* dp */ 1
sipush 128
iload 11 /* uc */
bipush 63
iand
ior
i2b
bastore
36: .line 553
iinc 4 /* sp */ 1
end local 11 // int uc
37: .line 554
goto 43
38: .line 556
StackMap locals:
StackMap stack:
iload 8 /* dl */
iload 7 /* dp */
isub
iconst_3
if_icmpge 40
39: .line 557
aload 1 /* src */
iload 4 /* sp */
aload 2 /* dst */
iload 7 /* dp */
invokestatic sun.nio.cs.UTF_8$Encoder.overflow:(Ljava/nio/CharBuffer;ILjava/nio/ByteBuffer;I)Ljava/nio/charset/CoderResult;
areturn
40: .line 558
StackMap locals:
StackMap stack:
aload 6 /* da */
iload 7 /* dp */
iinc 7 /* dp */ 1
sipush 224
iload 10 /* c */
bipush 12
ishr
ior
i2b
bastore
41: .line 559
aload 6 /* da */
iload 7 /* dp */
iinc 7 /* dp */ 1
sipush 128
iload 10 /* c */
bipush 6
ishr
bipush 63
iand
ior
i2b
bastore
42: .line 560
aload 6 /* da */
iload 7 /* dp */
iinc 7 /* dp */ 1
sipush 128
iload 10 /* c */
bipush 63
iand
ior
i2b
bastore
43: .line 562
StackMap locals:
StackMap stack:
iinc 4 /* sp */ 1
end local 10 // char c
44: .line 525
StackMap locals:
StackMap stack:
iload 4 /* sp */
iload 5 /* sl */
if_icmplt 11
45: .line 564
aload 1 /* src */
iload 4 /* sp */
aload 2 /* dst */
iload 7 /* dp */
invokestatic sun.nio.cs.UTF_8.updatePositions:(Ljava/nio/Buffer;ILjava/nio/Buffer;I)V
46: .line 565
getstatic java.nio.charset.CoderResult.UNDERFLOW:Ljava/nio/charset/CoderResult;
areturn
end local 9 // int dlASCII
end local 8 // int dl
end local 7 // int dp
end local 6 // byte[] da
end local 5 // int sl
end local 4 // int sp
end local 3 // char[] sa
end local 2 // java.nio.ByteBuffer dst
end local 1 // java.nio.CharBuffer src
end local 0 // sun.nio.cs.UTF_8$Encoder this
LocalVariableTable:
Start End Slot Name Signature
0 47 0 this Lsun/nio/cs/UTF_8$Encoder;
0 47 1 src Ljava/nio/CharBuffer;
0 47 2 dst Ljava/nio/ByteBuffer;
1 47 3 sa [C
2 47 4 sp I
3 47 5 sl I
4 47 6 da [B
5 47 7 dp I
6 47 8 dl I
7 47 9 dlASCII I
12 44 10 c C
27 37 11 uc I
MethodParameters:
Name Flags
src
dst
private java.nio.charset.CoderResult encodeBufferLoop(java.nio.CharBuffer, java.nio.ByteBuffer);
descriptor: (Ljava/nio/CharBuffer;Ljava/nio/ByteBuffer;)Ljava/nio/charset/CoderResult;
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=6, args_size=3
start local 0 // sun.nio.cs.UTF_8$Encoder this
start local 1 // java.nio.CharBuffer src
start local 2 // java.nio.ByteBuffer dst
0: .line 571
aload 1 /* src */
invokevirtual java.nio.CharBuffer.position:()I
istore 3 /* mark */
start local 3 // int mark
1: .line 572
goto 35
2: .line 573
StackMap locals: int
StackMap stack:
aload 1 /* src */
invokevirtual java.nio.CharBuffer.get:()C
istore 4 /* c */
start local 4 // char c
3: .line 574
iload 4 /* c */
sipush 128
if_icmpge 8
4: .line 576
aload 2 /* dst */
invokevirtual java.nio.ByteBuffer.hasRemaining:()Z
ifne 6
5: .line 577
aload 1 /* src */
iload 3 /* mark */
invokestatic sun.nio.cs.UTF_8$Encoder.overflow:(Ljava/nio/CharBuffer;I)Ljava/nio/charset/CoderResult;
areturn
6: .line 578
StackMap locals: int
StackMap stack:
aload 2 /* dst */
iload 4 /* c */
i2b
invokevirtual java.nio.ByteBuffer.put:(B)Ljava/nio/ByteBuffer;
pop
7: .line 579
goto 34
StackMap locals:
StackMap stack:
8: iload 4 /* c */
sipush 2048
if_icmpge 14
9: .line 581
aload 2 /* dst */
invokevirtual java.nio.ByteBuffer.remaining:()I
iconst_2
if_icmpge 11
10: .line 582
aload 1 /* src */
iload 3 /* mark */
invokestatic sun.nio.cs.UTF_8$Encoder.overflow:(Ljava/nio/CharBuffer;I)Ljava/nio/charset/CoderResult;
areturn
11: .line 583
StackMap locals:
StackMap stack:
aload 2 /* dst */
sipush 192
iload 4 /* c */
bipush 6
ishr
ior
i2b
invokevirtual java.nio.ByteBuffer.put:(B)Ljava/nio/ByteBuffer;
pop
12: .line 584
aload 2 /* dst */
sipush 128
iload 4 /* c */
bipush 63
iand
ior
i2b
invokevirtual java.nio.ByteBuffer.put:(B)Ljava/nio/ByteBuffer;
pop
13: .line 585
goto 34
StackMap locals:
StackMap stack:
14: iload 4 /* c */
invokestatic java.lang.Character.isSurrogate:(C)Z
ifeq 29
15: .line 587
aload 0 /* this */
getfield sun.nio.cs.UTF_8$Encoder.sgp:Lsun/nio/cs/Surrogate$Parser;
ifnonnull 17
16: .line 588
aload 0 /* this */
new sun.nio.cs.Surrogate$Parser
dup
invokespecial sun.nio.cs.Surrogate$Parser.<init>:()V
putfield sun.nio.cs.UTF_8$Encoder.sgp:Lsun/nio/cs/Surrogate$Parser;
17: .line 589
StackMap locals:
StackMap stack:
aload 0 /* this */
getfield sun.nio.cs.UTF_8$Encoder.sgp:Lsun/nio/cs/Surrogate$Parser;
iload 4 /* c */
aload 1 /* src */
invokevirtual sun.nio.cs.Surrogate$Parser.parse:(CLjava/nio/CharBuffer;)I
istore 5 /* uc */
start local 5 // int uc
18: .line 590
iload 5 /* uc */
ifge 21
19: .line 591
aload 1 /* src */
iload 3 /* mark */
invokevirtual java.nio.CharBuffer.position:(I)Ljava/nio/Buffer;
pop
20: .line 592
aload 0 /* this */
getfield sun.nio.cs.UTF_8$Encoder.sgp:Lsun/nio/cs/Surrogate$Parser;
invokevirtual sun.nio.cs.Surrogate$Parser.error:()Ljava/nio/charset/CoderResult;
areturn
21: .line 594
StackMap locals: int
StackMap stack:
aload 2 /* dst */
invokevirtual java.nio.ByteBuffer.remaining:()I
iconst_4
if_icmpge 23
22: .line 595
aload 1 /* src */
iload 3 /* mark */
invokestatic sun.nio.cs.UTF_8$Encoder.overflow:(Ljava/nio/CharBuffer;I)Ljava/nio/charset/CoderResult;
areturn
23: .line 596
StackMap locals:
StackMap stack:
aload 2 /* dst */
sipush 240
iload 5 /* uc */
bipush 18
ishr
ior
i2b
invokevirtual java.nio.ByteBuffer.put:(B)Ljava/nio/ByteBuffer;
pop
24: .line 597
aload 2 /* dst */
sipush 128
iload 5 /* uc */
bipush 12
ishr
bipush 63
iand
ior
i2b
invokevirtual java.nio.ByteBuffer.put:(B)Ljava/nio/ByteBuffer;
pop
25: .line 598
aload 2 /* dst */
sipush 128
iload 5 /* uc */
bipush 6
ishr
bipush 63
iand
ior
i2b
invokevirtual java.nio.ByteBuffer.put:(B)Ljava/nio/ByteBuffer;
pop
26: .line 599
aload 2 /* dst */
sipush 128
iload 5 /* uc */
bipush 63
iand
ior
i2b
invokevirtual java.nio.ByteBuffer.put:(B)Ljava/nio/ByteBuffer;
pop
27: .line 600
iinc 3 /* mark */ 1
end local 5 // int uc
28: .line 601
goto 34
29: .line 603
StackMap locals:
StackMap stack:
aload 2 /* dst */
invokevirtual java.nio.ByteBuffer.remaining:()I
iconst_3
if_icmpge 31
30: .line 604
aload 1 /* src */
iload 3 /* mark */
invokestatic sun.nio.cs.UTF_8$Encoder.overflow:(Ljava/nio/CharBuffer;I)Ljava/nio/charset/CoderResult;
areturn
31: .line 605
StackMap locals:
StackMap stack:
aload 2 /* dst */
sipush 224
iload 4 /* c */
bipush 12
ishr
ior
i2b
invokevirtual java.nio.ByteBuffer.put:(B)Ljava/nio/ByteBuffer;
pop
32: .line 606
aload 2 /* dst */
sipush 128
iload 4 /* c */
bipush 6
ishr
bipush 63
iand
ior
i2b
invokevirtual java.nio.ByteBuffer.put:(B)Ljava/nio/ByteBuffer;
pop
33: .line 607
aload 2 /* dst */
sipush 128
iload 4 /* c */
bipush 63
iand
ior
i2b
invokevirtual java.nio.ByteBuffer.put:(B)Ljava/nio/ByteBuffer;
pop
34: .line 609
StackMap locals:
StackMap stack:
iinc 3 /* mark */ 1
end local 4 // char c
35: .line 572
StackMap locals:
StackMap stack:
aload 1 /* src */
invokevirtual java.nio.CharBuffer.hasRemaining:()Z
ifne 2
36: .line 611
aload 1 /* src */
iload 3 /* mark */
invokevirtual java.nio.CharBuffer.position:(I)Ljava/nio/Buffer;
pop
37: .line 612
getstatic java.nio.charset.CoderResult.UNDERFLOW:Ljava/nio/charset/CoderResult;
areturn
end local 3 // int mark
end local 2 // java.nio.ByteBuffer dst
end local 1 // java.nio.CharBuffer src
end local 0 // sun.nio.cs.UTF_8$Encoder this
LocalVariableTable:
Start End Slot Name Signature
0 38 0 this Lsun/nio/cs/UTF_8$Encoder;
0 38 1 src Ljava/nio/CharBuffer;
0 38 2 dst Ljava/nio/ByteBuffer;
1 38 3 mark I
3 35 4 c C
18 28 5 uc I
MethodParameters:
Name Flags
src
dst
protected final java.nio.charset.CoderResult encodeLoop(java.nio.CharBuffer, java.nio.ByteBuffer);
descriptor: (Ljava/nio/CharBuffer;Ljava/nio/ByteBuffer;)Ljava/nio/charset/CoderResult;
flags: (0x0014) ACC_PROTECTED, ACC_FINAL
Code:
stack=3, locals=3, args_size=3
start local 0 // sun.nio.cs.UTF_8$Encoder this
start local 1 // java.nio.CharBuffer src
start local 2 // java.nio.ByteBuffer dst
0: .line 618
aload 1 /* src */
invokevirtual java.nio.CharBuffer.hasArray:()Z
ifeq 2
aload 2 /* dst */
invokevirtual java.nio.ByteBuffer.hasArray:()Z
ifeq 2
1: .line 619
aload 0 /* this */
aload 1 /* src */
aload 2 /* dst */
invokevirtual sun.nio.cs.UTF_8$Encoder.encodeArrayLoop:(Ljava/nio/CharBuffer;Ljava/nio/ByteBuffer;)Ljava/nio/charset/CoderResult;
areturn
2: .line 621
StackMap locals:
StackMap stack:
aload 0 /* this */
aload 1 /* src */
aload 2 /* dst */
invokevirtual sun.nio.cs.UTF_8$Encoder.encodeBufferLoop:(Ljava/nio/CharBuffer;Ljava/nio/ByteBuffer;)Ljava/nio/charset/CoderResult;
areturn
end local 2 // java.nio.ByteBuffer dst
end local 1 // java.nio.CharBuffer src
end local 0 // sun.nio.cs.UTF_8$Encoder this
LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lsun/nio/cs/UTF_8$Encoder;
0 3 1 src Ljava/nio/CharBuffer;
0 3 2 dst Ljava/nio/ByteBuffer;
MethodParameters:
Name Flags
src
dst
public int encode(char[], int, int, byte[]);
descriptor: ([CII[B)I
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=10, args_size=5
start local 0 // sun.nio.cs.UTF_8$Encoder this
start local 1 // char[] sa
start local 2 // int sp
start local 3 // int len
start local 4 // byte[] da
0: .line 627
iload 2 /* sp */
iload 3 /* len */
iadd
istore 5 /* sl */
start local 5 // int sl
1: .line 628
iconst_0
istore 6 /* dp */
start local 6 // int dp
2: .line 629
iload 6 /* dp */
iload 3 /* len */
aload 4 /* da */
arraylength
invokestatic java.lang.Math.min:(II)I
iadd
istore 7 /* dlASCII */
start local 7 // int dlASCII
3: .line 632
goto 5
4: .line 633
StackMap locals: int int int
StackMap stack:
aload 4 /* da */
iload 6 /* dp */
iinc 6 /* dp */ 1
aload 1 /* sa */
iload 2 /* sp */
iinc 2 /* sp */ 1
caload
i2b
bastore
5: .line 632
StackMap locals:
StackMap stack:
iload 6 /* dp */
iload 7 /* dlASCII */
if_icmpge 33
aload 1 /* sa */
iload 2 /* sp */
caload
sipush 128
if_icmplt 4
6: .line 635
goto 33
7: .line 636
StackMap locals:
StackMap stack:
aload 1 /* sa */
iload 2 /* sp */
iinc 2 /* sp */ 1
caload
istore 8 /* c */
start local 8 // char c
8: .line 637
iload 8 /* c */
sipush 128
if_icmpge 11
9: .line 639
aload 4 /* da */
iload 6 /* dp */
iinc 6 /* dp */ 1
iload 8 /* c */
i2b
bastore
10: .line 640
goto 33
StackMap locals: int
StackMap stack:
11: iload 8 /* c */
sipush 2048
if_icmpge 15
12: .line 642
aload 4 /* da */
iload 6 /* dp */
iinc 6 /* dp */ 1
sipush 192
iload 8 /* c */
bipush 6
ishr
ior
i2b
bastore
13: .line 643
aload 4 /* da */
iload 6 /* dp */
iinc 6 /* dp */ 1
sipush 128
iload 8 /* c */
bipush 63
iand
ior
i2b
bastore
14: .line 644
goto 33
StackMap locals:
StackMap stack:
15: iload 8 /* c */
invokestatic java.lang.Character.isSurrogate:(C)Z
ifeq 30
16: .line 645
aload 0 /* this */
getfield sun.nio.cs.UTF_8$Encoder.sgp:Lsun/nio/cs/Surrogate$Parser;
ifnonnull 18
17: .line 646
aload 0 /* this */
new sun.nio.cs.Surrogate$Parser
dup
invokespecial sun.nio.cs.Surrogate$Parser.<init>:()V
putfield sun.nio.cs.UTF_8$Encoder.sgp:Lsun/nio/cs/Surrogate$Parser;
18: .line 647
StackMap locals:
StackMap stack:
aload 0 /* this */
getfield sun.nio.cs.UTF_8$Encoder.sgp:Lsun/nio/cs/Surrogate$Parser;
iload 8 /* c */
aload 1 /* sa */
iload 2 /* sp */
iconst_1
isub
iload 5 /* sl */
invokevirtual sun.nio.cs.Surrogate$Parser.parse:(C[CII)I
istore 9 /* uc */
start local 9 // int uc
19: .line 648
iload 9 /* uc */
ifge 24
20: .line 649
aload 0 /* this */
invokevirtual sun.nio.cs.UTF_8$Encoder.malformedInputAction:()Ljava/nio/charset/CodingErrorAction;
getstatic java.nio.charset.CodingErrorAction.REPLACE:Ljava/nio/charset/CodingErrorAction;
if_acmpeq 22
21: .line 650
iconst_m1
ireturn
22: .line 651
StackMap locals: int
StackMap stack:
aload 4 /* da */
iload 6 /* dp */
iinc 6 /* dp */ 1
aload 0 /* this */
invokevirtual sun.nio.cs.UTF_8$Encoder.replacement:()[B
iconst_0
baload
bastore
23: .line 652
goto 33
24: .line 653
StackMap locals:
StackMap stack:
aload 4 /* da */
iload 6 /* dp */
iinc 6 /* dp */ 1
sipush 240
iload 9 /* uc */
bipush 18
ishr
ior
i2b
bastore
25: .line 654
aload 4 /* da */
iload 6 /* dp */
iinc 6 /* dp */ 1
sipush 128
iload 9 /* uc */
bipush 12
ishr
bipush 63
iand
ior
i2b
bastore
26: .line 655
aload 4 /* da */
iload 6 /* dp */
iinc 6 /* dp */ 1
sipush 128
iload 9 /* uc */
bipush 6
ishr
bipush 63
iand
ior
i2b
bastore
27: .line 656
aload 4 /* da */
iload 6 /* dp */
iinc 6 /* dp */ 1
sipush 128
iload 9 /* uc */
bipush 63
iand
ior
i2b
bastore
28: .line 657
iinc 2 /* sp */ 1
end local 9 // int uc
29: .line 659
goto 33
30: .line 661
StackMap locals:
StackMap stack:
aload 4 /* da */
iload 6 /* dp */
iinc 6 /* dp */ 1
sipush 224
iload 8 /* c */
bipush 12
ishr
ior
i2b
bastore
31: .line 662
aload 4 /* da */
iload 6 /* dp */
iinc 6 /* dp */ 1
sipush 128
iload 8 /* c */
bipush 6
ishr
bipush 63
iand
ior
i2b
bastore
32: .line 663
aload 4 /* da */
iload 6 /* dp */
iinc 6 /* dp */ 1
sipush 128
iload 8 /* c */
bipush 63
iand
ior
i2b
bastore
end local 8 // char c
33: .line 635
StackMap locals:
StackMap stack:
iload 2 /* sp */
iload 5 /* sl */
if_icmplt 7
34: .line 666
iload 6 /* dp */
ireturn
end local 7 // int dlASCII
end local 6 // int dp
end local 5 // int sl
end local 4 // byte[] da
end local 3 // int len
end local 2 // int sp
end local 1 // char[] sa
end local 0 // sun.nio.cs.UTF_8$Encoder this
LocalVariableTable:
Start End Slot Name Signature
0 35 0 this Lsun/nio/cs/UTF_8$Encoder;
0 35 1 sa [C
0 35 2 sp I
0 35 3 len I
0 35 4 da [B
1 35 5 sl I
2 35 6 dp I
3 35 7 dlASCII I
8 33 8 c C
19 29 9 uc I
MethodParameters:
Name Flags
sa
sp
len
da
}
SourceFile: "UTF_8.java"
NestHost: sun.nio.cs.UTF_8
InnerClasses:
public Parser = sun.nio.cs.Surrogate$Parser of sun.nio.cs.Surrogate
private Encoder = sun.nio.cs.UTF_8$Encoder of sun.nio.cs.UTF_8