class sun.nio.cs.ISO_8859_1$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.ISO_8859_1$Encoder
super_class: java.nio.charset.CharsetEncoder
{
private final sun.nio.cs.Surrogate$Parser sgp;
descriptor: Lsun/nio/cs/Surrogate$Parser;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private byte repl;
descriptor: B
flags: (0x0002) ACC_PRIVATE
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/ISO_8859_1;
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.ISO_8859_1$Encoder.$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.CharsetEncoder.<init>:(Ljava/nio/charset/Charset;FF)V
1: aload 0
new sun.nio.cs.Surrogate$Parser
dup
invokespecial sun.nio.cs.Surrogate$Parser.<init>:()V
putfield sun.nio.cs.ISO_8859_1$Encoder.sgp:Lsun/nio/cs/Surrogate$Parser;
2: aload 0
bipush 63
putfield sun.nio.cs.ISO_8859_1$Encoder.repl:B
3: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lsun/nio/cs/ISO_8859_1$Encoder;
0 4 1 cs Ljava/nio/charset/Charset;
MethodParameters:
Name Flags
cs
public boolean canEncode(char);
descriptor: (C)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: iload 1
sipush 255
if_icmpgt 1
iconst_1
ireturn
StackMap locals:
StackMap stack:
1: iconst_0
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lsun/nio/cs/ISO_8859_1$Encoder;
0 2 1 c C
MethodParameters:
Name Flags
c
public boolean isLegalReplacement(byte[]);
descriptor: ([B)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=2, args_size=2
start local 0 start local 1 0: iconst_1
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/nio/cs/ISO_8859_1$Encoder;
0 1 1 repl [B
MethodParameters:
Name Flags
repl
private static int encodeISOArray(char[], int, byte[], int, int);
descriptor: ([CI[BII)I
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=5, locals=5, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: iload 4
ifgt 2
1: iconst_0
ireturn
2: StackMap locals:
StackMap stack:
aload 0
iload 1
aload 2
iload 3
iload 4
invokestatic sun.nio.cs.ISO_8859_1$Encoder.encodeISOArrayCheck:([CI[BII)V
3: aload 0
iload 1
aload 2
iload 3
iload 4
invokestatic sun.nio.cs.ISO_8859_1$Encoder.implEncodeISOArray:([CI[BII)I
ireturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 sa [C
0 4 1 sp I
0 4 2 da [B
0 4 3 dp I
0 4 4 len I
MethodParameters:
Name Flags
sa
sp
da
dp
len
private static int implEncodeISOArray(char[], int, byte[], int, int);
descriptor: ([CI[BII)I
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=3, locals=7, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: iconst_0
istore 5
start local 5 1: goto 7
2: StackMap locals: int
StackMap stack:
aload 0
iload 1
iinc 1 1
caload
istore 6
start local 6 3: iload 6
sipush 255
if_icmple 5
4: goto 8
5: StackMap locals: int
StackMap stack:
aload 2
iload 3
iinc 3 1
iload 6
i2b
bastore
end local 6 6: iinc 5 1
StackMap locals:
StackMap stack:
7: iload 5
iload 4
if_icmplt 2
8: StackMap locals:
StackMap stack:
iload 5
ireturn
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 9 0 sa [C
0 9 1 sp I
0 9 2 da [B
0 9 3 dp I
0 9 4 len I
1 9 5 i I
3 6 6 c C
RuntimeVisibleAnnotations:
jdk.internal.HotSpotIntrinsicCandidate()
MethodParameters:
Name Flags
sa
sp
da
dp
len
private static void encodeISOArrayCheck(char[], int, byte[], int, int);
descriptor: ([CI[BII)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=3, locals=7, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 0
invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;)Ljava/lang/Object;
pop
1: aload 2
invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;)Ljava/lang/Object;
pop
2: iload 1
iflt 3
iload 1
aload 0
arraylength
if_icmplt 4
3: StackMap locals:
StackMap stack:
new java.lang.ArrayIndexOutOfBoundsException
dup
iload 1
invokespecial java.lang.ArrayIndexOutOfBoundsException.<init>:(I)V
athrow
4: StackMap locals:
StackMap stack:
iload 3
iflt 5
iload 3
aload 2
arraylength
if_icmplt 6
5: StackMap locals:
StackMap stack:
new java.lang.ArrayIndexOutOfBoundsException
dup
iload 3
invokespecial java.lang.ArrayIndexOutOfBoundsException.<init>:(I)V
athrow
6: StackMap locals:
StackMap stack:
iload 1
iload 4
iadd
iconst_1
isub
istore 5
start local 5 7: iload 5
iflt 8
iload 5
aload 0
arraylength
if_icmplt 9
8: StackMap locals: int
StackMap stack:
new java.lang.ArrayIndexOutOfBoundsException
dup
iload 5
invokespecial java.lang.ArrayIndexOutOfBoundsException.<init>:(I)V
athrow
9: StackMap locals:
StackMap stack:
iload 3
iload 4
iadd
iconst_1
isub
istore 6
start local 6 10: iload 6
iflt 11
iload 6
aload 2
arraylength
if_icmplt 12
11: StackMap locals: int
StackMap stack:
new java.lang.ArrayIndexOutOfBoundsException
dup
iload 6
invokespecial java.lang.ArrayIndexOutOfBoundsException.<init>:(I)V
athrow
12: StackMap locals:
StackMap stack:
return
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 13 0 sa [C
0 13 1 sp I
0 13 2 da [B
0 13 3 dp I
0 13 4 len I
7 13 5 endIndexSP I
10 13 6 endIndexDP I
MethodParameters:
Name Flags
sa
sp
da
dp
len
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=17, args_size=3
start local 0 start local 1 start local 2 0: aload 1
invokevirtual java.nio.CharBuffer.array:()[C
astore 3
start local 3 1: aload 1
invokevirtual java.nio.CharBuffer.arrayOffset:()I
istore 4
start local 4 2: iload 4
aload 1
invokevirtual java.nio.CharBuffer.position:()I
iadd
istore 5
start local 5 3: iload 4
aload 1
invokevirtual java.nio.CharBuffer.limit:()I
iadd
istore 6
start local 6 4: getstatic sun.nio.cs.ISO_8859_1$Encoder.$assertionsDisabled:Z
ifne 5
iload 5
iload 6
if_icmple 5
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
5: StackMap locals: sun.nio.cs.ISO_8859_1$Encoder java.nio.CharBuffer java.nio.ByteBuffer char[] int int int
StackMap stack:
iload 5
iload 6
if_icmpgt 6
iload 5
goto 7
StackMap locals:
StackMap stack:
6: iload 6
StackMap locals:
StackMap stack: int
7: istore 5
8: aload 2
invokevirtual java.nio.ByteBuffer.array:()[B
astore 7
start local 7 9: aload 2
invokevirtual java.nio.ByteBuffer.arrayOffset:()I
istore 8
start local 8 10: iload 8
aload 2
invokevirtual java.nio.ByteBuffer.position:()I
iadd
istore 9
start local 9 11: iload 8
aload 2
invokevirtual java.nio.ByteBuffer.limit:()I
iadd
istore 10
start local 10 12: getstatic sun.nio.cs.ISO_8859_1$Encoder.$assertionsDisabled:Z
ifne 13
iload 9
iload 10
if_icmple 13
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
13: StackMap locals: sun.nio.cs.ISO_8859_1$Encoder java.nio.CharBuffer java.nio.ByteBuffer char[] int int int byte[] int int int
StackMap stack:
iload 9
iload 10
if_icmpgt 14
iload 9
goto 15
StackMap locals:
StackMap stack:
14: iload 10
StackMap locals:
StackMap stack: int
15: istore 9
16: iload 10
iload 9
isub
istore 11
start local 11 17: iload 6
iload 5
isub
istore 12
start local 12 18: iload 11
iload 12
if_icmpge 19
iload 11
goto 20
StackMap locals: int int
StackMap stack:
19: iload 12
StackMap locals:
StackMap stack: int
20: istore 13
start local 13 21: aload 3
iload 5
aload 7
iload 9
iload 13
invokestatic sun.nio.cs.ISO_8859_1$Encoder.encodeISOArray:([CI[BII)I
istore 14
start local 14 22: iload 5
iload 14
iadd
istore 5
23: iload 9
iload 14
iadd
istore 9
24: iload 14
iload 13
if_icmpeq 34
25: aload 0
getfield sun.nio.cs.ISO_8859_1$Encoder.sgp:Lsun/nio/cs/Surrogate$Parser;
aload 3
iload 5
caload
aload 3
iload 5
iload 6
invokevirtual sun.nio.cs.Surrogate$Parser.parse:(C[CII)I
ifge 30
26: aload 0
getfield sun.nio.cs.ISO_8859_1$Encoder.sgp:Lsun/nio/cs/Surrogate$Parser;
invokevirtual sun.nio.cs.Surrogate$Parser.error:()Ljava/nio/charset/CoderResult;
astore 16
27: aload 1
iload 5
iload 4
isub
invokevirtual java.nio.CharBuffer.position:(I)Ljava/nio/CharBuffer;
pop
28: aload 2
iload 9
iload 8
isub
invokevirtual java.nio.ByteBuffer.position:(I)Ljava/nio/ByteBuffer;
pop
29: aload 16
areturn
30: StackMap locals: int int
StackMap stack:
aload 0
getfield sun.nio.cs.ISO_8859_1$Encoder.sgp:Lsun/nio/cs/Surrogate$Parser;
invokevirtual sun.nio.cs.Surrogate$Parser.unmappableResult:()Ljava/nio/charset/CoderResult;
astore 16
31: aload 1
iload 5
iload 4
isub
invokevirtual java.nio.CharBuffer.position:(I)Ljava/nio/CharBuffer;
pop
32: aload 2
iload 9
iload 8
isub
invokevirtual java.nio.ByteBuffer.position:(I)Ljava/nio/ByteBuffer;
pop
33: aload 16
areturn
34: StackMap locals:
StackMap stack:
iload 13
iload 12
if_icmpge 39
35: getstatic java.nio.charset.CoderResult.OVERFLOW:Ljava/nio/charset/CoderResult;
astore 16
36: aload 1
iload 5
iload 4
isub
invokevirtual java.nio.CharBuffer.position:(I)Ljava/nio/CharBuffer;
pop
37: aload 2
iload 9
iload 8
isub
invokevirtual java.nio.ByteBuffer.position:(I)Ljava/nio/ByteBuffer;
pop
38: aload 16
areturn
39: StackMap locals:
StackMap stack:
getstatic java.nio.charset.CoderResult.UNDERFLOW:Ljava/nio/charset/CoderResult;
astore 16
40: aload 1
iload 5
iload 4
isub
invokevirtual java.nio.CharBuffer.position:(I)Ljava/nio/CharBuffer;
pop
41: aload 2
iload 9
iload 8
isub
invokevirtual java.nio.ByteBuffer.position:(I)Ljava/nio/ByteBuffer;
pop
42: aload 16
areturn
end local 14 43: StackMap locals: sun.nio.cs.ISO_8859_1$Encoder java.nio.CharBuffer java.nio.ByteBuffer char[] int int int byte[] int int int int int int
StackMap stack: java.lang.Throwable
astore 15
44: aload 1
iload 5
iload 4
isub
invokevirtual java.nio.CharBuffer.position:(I)Ljava/nio/CharBuffer;
pop
45: aload 2
iload 9
iload 8
isub
invokevirtual java.nio.ByteBuffer.position:(I)Ljava/nio/ByteBuffer;
pop
46: aload 15
athrow
end local 13 end local 12 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 47 0 this Lsun/nio/cs/ISO_8859_1$Encoder;
0 47 1 src Ljava/nio/CharBuffer;
0 47 2 dst Ljava/nio/ByteBuffer;
1 47 3 sa [C
2 47 4 soff I
3 47 5 sp I
4 47 6 sl I
9 47 7 da [B
10 47 8 doff I
11 47 9 dp I
12 47 10 dl I
17 47 11 dlen I
18 47 12 slen I
21 47 13 len I
22 43 14 ret I
Exception table:
from to target type
21 27 43 any
30 31 43 any
34 36 43 any
39 40 43 any
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=3, locals=7, args_size=3
start local 0 start local 1 start local 2 0: aload 1
invokevirtual java.nio.CharBuffer.position:()I
istore 3
start local 3 1: goto 18
2: StackMap locals: int
StackMap stack:
aload 1
invokevirtual java.nio.CharBuffer.get:()C
istore 4
start local 4 3: iload 4
sipush 255
if_icmpgt 11
4: aload 2
invokevirtual java.nio.ByteBuffer.hasRemaining:()Z
ifne 8
5: getstatic java.nio.charset.CoderResult.OVERFLOW:Ljava/nio/charset/CoderResult;
astore 6
6: aload 1
iload 3
invokevirtual java.nio.CharBuffer.position:(I)Ljava/nio/CharBuffer;
pop
7: aload 6
areturn
8: StackMap locals: int
StackMap stack:
aload 2
iload 4
i2b
invokevirtual java.nio.ByteBuffer.put:(B)Ljava/nio/ByteBuffer;
pop
9: iinc 3 1
10: goto 18
11: StackMap locals:
StackMap stack:
aload 0
getfield sun.nio.cs.ISO_8859_1$Encoder.sgp:Lsun/nio/cs/Surrogate$Parser;
iload 4
aload 1
invokevirtual sun.nio.cs.Surrogate$Parser.parse:(CLjava/nio/CharBuffer;)I
ifge 15
12: aload 0
getfield sun.nio.cs.ISO_8859_1$Encoder.sgp:Lsun/nio/cs/Surrogate$Parser;
invokevirtual sun.nio.cs.Surrogate$Parser.error:()Ljava/nio/charset/CoderResult;
astore 6
13: aload 1
iload 3
invokevirtual java.nio.CharBuffer.position:(I)Ljava/nio/CharBuffer;
pop
14: aload 6
areturn
15: StackMap locals:
StackMap stack:
aload 0
getfield sun.nio.cs.ISO_8859_1$Encoder.sgp:Lsun/nio/cs/Surrogate$Parser;
invokevirtual sun.nio.cs.Surrogate$Parser.unmappableResult:()Ljava/nio/charset/CoderResult;
astore 6
16: aload 1
iload 3
invokevirtual java.nio.CharBuffer.position:(I)Ljava/nio/CharBuffer;
pop
17: aload 6
areturn
end local 4 18: StackMap locals:
StackMap stack:
aload 1
invokevirtual java.nio.CharBuffer.hasRemaining:()Z
ifne 2
19: getstatic java.nio.charset.CoderResult.UNDERFLOW:Ljava/nio/charset/CoderResult;
astore 6
20: aload 1
iload 3
invokevirtual java.nio.CharBuffer.position:(I)Ljava/nio/CharBuffer;
pop
21: aload 6
areturn
22: StackMap locals:
StackMap stack: java.lang.Throwable
astore 5
23: aload 1
iload 3
invokevirtual java.nio.CharBuffer.position:(I)Ljava/nio/CharBuffer;
pop
24: aload 5
athrow
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 25 0 this Lsun/nio/cs/ISO_8859_1$Encoder;
0 25 1 src Ljava/nio/CharBuffer;
0 25 2 dst Ljava/nio/ByteBuffer;
1 25 3 mark I
3 18 4 c C
Exception table:
from to target type
1 6 22 any
8 13 22 any
15 16 22 any
18 20 22 any
MethodParameters:
Name Flags
src
dst
protected java.nio.charset.CoderResult encodeLoop(java.nio.CharBuffer, java.nio.ByteBuffer);
descriptor: (Ljava/nio/CharBuffer;Ljava/nio/ByteBuffer;)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.CharBuffer.hasArray:()Z
ifeq 2
aload 2
invokevirtual java.nio.ByteBuffer.hasArray:()Z
ifeq 2
1: aload 0
aload 1
aload 2
invokevirtual sun.nio.cs.ISO_8859_1$Encoder.encodeArrayLoop:(Ljava/nio/CharBuffer;Ljava/nio/ByteBuffer;)Ljava/nio/charset/CoderResult;
areturn
2: StackMap locals:
StackMap stack:
aload 0
aload 1
aload 2
invokevirtual sun.nio.cs.ISO_8859_1$Encoder.encodeBufferLoop:(Ljava/nio/CharBuffer;Ljava/nio/ByteBuffer;)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/ISO_8859_1$Encoder;
0 3 1 src Ljava/nio/CharBuffer;
0 3 2 dst Ljava/nio/ByteBuffer;
MethodParameters:
Name Flags
src
dst
protected void implReplaceWith(byte[]);
descriptor: ([B)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
iconst_0
baload
putfield sun.nio.cs.ISO_8859_1$Encoder.repl:B
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lsun/nio/cs/ISO_8859_1$Encoder;
0 2 1 newReplacement [B
MethodParameters:
Name Flags
newReplacement
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 start local 1 start local 2 start local 3 start local 4 0: iconst_0
istore 5
start local 5 1: iload 3
aload 4
arraylength
invokestatic java.lang.Math.min:(II)I
istore 6
start local 6 2: iload 2
iload 6
iadd
istore 7
start local 7 3: goto 17
4: StackMap locals: int int int
StackMap stack:
aload 1
iload 2
aload 4
iload 5
iload 6
invokestatic sun.nio.cs.ISO_8859_1$Encoder.encodeISOArray:([CI[BII)I
istore 8
start local 8 5: iload 2
iload 8
iadd
istore 2
6: iload 5
iload 8
iadd
istore 5
7: iload 8
iload 6
if_icmpeq 17
8: aload 1
iload 2
iinc 2 1
caload
istore 9
start local 9 9: iload 9
invokestatic java.lang.Character.isHighSurrogate:(C)Z
ifeq 15
iload 2
iload 7
if_icmpge 15
10: aload 1
iload 2
caload
invokestatic java.lang.Character.isLowSurrogate:(C)Z
ifeq 15
11: iload 3
aload 4
arraylength
if_icmple 14
12: iinc 7 1
13: iinc 3 -1
14: StackMap locals: int int
StackMap stack:
iinc 2 1
15: StackMap locals:
StackMap stack:
aload 4
iload 5
iinc 5 1
aload 0
getfield sun.nio.cs.ISO_8859_1$Encoder.repl:B
bastore
16: iload 7
iload 2
isub
aload 4
arraylength
iload 5
isub
invokestatic java.lang.Math.min:(II)I
istore 6
end local 9 end local 8 17: StackMap locals:
StackMap stack:
iload 2
iload 7
if_icmplt 4
18: iload 5
ireturn
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 19 0 this Lsun/nio/cs/ISO_8859_1$Encoder;
0 19 1 src [C
0 19 2 sp I
0 19 3 len I
0 19 4 dst [B
1 19 5 dp I
2 19 6 slen I
3 19 7 sl I
5 17 8 ret I
9 17 9 c C
MethodParameters:
Name Flags
src
sp
len
dst
public boolean isASCIICompatible();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: iconst_1
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/nio/cs/ISO_8859_1$Encoder;
}
SourceFile: "ISO_8859_1.java"
NestHost: sun.nio.cs.ISO_8859_1
InnerClasses:
private Encoder = sun.nio.cs.ISO_8859_1$Encoder of sun.nio.cs.ISO_8859_1
public Parser = sun.nio.cs.Surrogate$Parser of sun.nio.cs.Surrogate