class java.lang.StringCoding
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: java.lang.StringCoding
super_class: java.lang.Object
{
private static final java.lang.ThreadLocal<java.lang.ref.SoftReference<java.lang.StringCoding$StringDecoder>> decoder;
descriptor: Ljava/lang/ThreadLocal;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
Signature: Ljava/lang/ThreadLocal<Ljava/lang/ref/SoftReference<Ljava/lang/StringCoding$StringDecoder;>;>;
private static final java.lang.ThreadLocal<java.lang.ref.SoftReference<java.lang.StringCoding$StringEncoder>> encoder;
descriptor: Ljava/lang/ThreadLocal;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
Signature: Ljava/lang/ThreadLocal<Ljava/lang/ref/SoftReference<Ljava/lang/StringCoding$StringEncoder;>;>;
private static final java.nio.charset.Charset ISO_8859_1;
descriptor: Ljava/nio/charset/Charset;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final java.nio.charset.Charset US_ASCII;
descriptor: Ljava/nio/charset/Charset;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final java.nio.charset.Charset UTF_8;
descriptor: Ljava/nio/charset/Charset;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final java.lang.ThreadLocal<java.lang.StringCoding$Result> resultCached;
descriptor: Ljava/lang/ThreadLocal;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
Signature: Ljava/lang/ThreadLocal<Ljava/lang/StringCoding$Result;>;
private static char repl;
descriptor: C
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
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=2, locals=0, args_size=0
0: ldc Ljava/lang/StringCoding;
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 java.lang.StringCoding.$assertionsDisabled:Z
3: new java.lang.ThreadLocal
dup
invokespecial java.lang.ThreadLocal.<init>:()V
4: putstatic java.lang.StringCoding.decoder:Ljava/lang/ThreadLocal;
5: new java.lang.ThreadLocal
dup
invokespecial java.lang.ThreadLocal.<init>:()V
6: putstatic java.lang.StringCoding.encoder:Ljava/lang/ThreadLocal;
7: getstatic sun.nio.cs.ISO_8859_1.INSTANCE:Lsun/nio/cs/ISO_8859_1;
putstatic java.lang.StringCoding.ISO_8859_1:Ljava/nio/charset/Charset;
8: getstatic sun.nio.cs.US_ASCII.INSTANCE:Lsun/nio/cs/US_ASCII;
putstatic java.lang.StringCoding.US_ASCII:Ljava/nio/charset/Charset;
9: getstatic sun.nio.cs.UTF_8.INSTANCE:Lsun/nio/cs/UTF_8;
putstatic java.lang.StringCoding.UTF_8:Ljava/nio/charset/Charset;
10: new java.lang.StringCoding$1
dup
invokespecial java.lang.StringCoding$1.<init>:()V
putstatic java.lang.StringCoding.resultCached:Ljava/lang/ThreadLocal;
11: ldc 65533
putstatic java.lang.StringCoding.repl:C
return
LocalVariableTable:
Start End Slot Name Signature
private void <init>();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokespecial java.lang.Object.<init>:()V
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljava/lang/StringCoding;
private static <T> T deref(java.lang.ThreadLocal<java.lang.ref.SoftReference<T>>);
descriptor: (Ljava/lang/ThreadLocal;)Ljava/lang/Object;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=1, locals=2, args_size=1
start local 0 0: aload 0
invokevirtual java.lang.ThreadLocal.get:()Ljava/lang/Object;
checkcast java.lang.ref.SoftReference
astore 1
start local 1 1: aload 1
ifnonnull 3
2: aconst_null
areturn
3: StackMap locals: java.lang.ref.SoftReference
StackMap stack:
aload 1
invokevirtual java.lang.ref.SoftReference.get:()Ljava/lang/Object;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 tl Ljava/lang/ThreadLocal<Ljava/lang/ref/SoftReference<TT;>;>;
1 4 1 sr Ljava/lang/ref/SoftReference<TT;>;
Signature: <T:Ljava/lang/Object;>(Ljava/lang/ThreadLocal<Ljava/lang/ref/SoftReference<TT;>;>;)TT;
MethodParameters:
Name Flags
tl
private static <T> void set(java.lang.ThreadLocal<java.lang.ref.SoftReference<T>>, );
descriptor: (Ljava/lang/ThreadLocal;Ljava/lang/Object;)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: aload 0
new java.lang.ref.SoftReference
dup
aload 1
invokespecial java.lang.ref.SoftReference.<init>:(Ljava/lang/Object;)V
invokevirtual java.lang.ThreadLocal.set:(Ljava/lang/Object;)V
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 tl Ljava/lang/ThreadLocal<Ljava/lang/ref/SoftReference<TT;>;>;
0 2 1 ob TT;
Signature: <T:Ljava/lang/Object;>(Ljava/lang/ThreadLocal<Ljava/lang/ref/SoftReference<TT;>;>;TT;)V
MethodParameters:
Name Flags
tl
ob
private static byte[] safeTrim(byte[], int, boolean);
descriptor: ([BIZ)[B
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 1
aload 0
arraylength
if_icmpne 2
iload 2
ifne 1
invokestatic java.lang.System.getSecurityManager:()Ljava/lang/SecurityManager;
ifnonnull 2
1: StackMap locals:
StackMap stack:
aload 0
areturn
2: StackMap locals:
StackMap stack:
aload 0
iload 1
invokestatic java.util.Arrays.copyOf:([BI)[B
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 ba [B
0 3 1 len I
0 3 2 isTrusted Z
MethodParameters:
Name Flags
ba
len
isTrusted
private static int scale(int, float);
descriptor: (IF)I
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: iload 0
i2d
fload 1
f2d
dmul
d2i
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 len I
0 1 1 expansionFactor F
MethodParameters:
Name Flags
len
expansionFactor
private static java.nio.charset.Charset lookupCharset(java.lang.String);
descriptor: (Ljava/lang/String;)Ljava/nio/charset/Charset;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=3, locals=2, args_size=1
start local 0 0: aload 0
invokestatic java.nio.charset.Charset.isSupported:(Ljava/lang/String;)Z
ifeq 5
1: aload 0
invokestatic java.nio.charset.Charset.forName:(Ljava/lang/String;)Ljava/nio/charset/Charset;
2: areturn
3: StackMap locals:
StackMap stack: java.nio.charset.UnsupportedCharsetException
astore 1
start local 1 4: new java.lang.Error
dup
aload 1
invokespecial java.lang.Error.<init>:(Ljava/lang/Throwable;)V
athrow
end local 1 5: StackMap locals:
StackMap stack:
aconst_null
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 csn Ljava/lang/String;
4 5 1 x Ljava/nio/charset/UnsupportedCharsetException;
Exception table:
from to target type
1 2 3 Class java.nio.charset.UnsupportedCharsetException
MethodParameters:
Name Flags
csn
public static boolean hasNegatives(byte[], int, int);
descriptor: ([BII)Z
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=4, args_size=3
start local 0 start local 1 start local 2 0: iload 1
istore 3
start local 3 1: goto 5
2: StackMap locals: int
StackMap stack:
aload 0
iload 3
baload
ifge 4
3: iconst_1
ireturn
4: StackMap locals:
StackMap stack:
iinc 3 1
StackMap locals:
StackMap stack:
5: iload 3
iload 1
iload 2
iadd
if_icmplt 2
end local 3 6: iconst_0
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 ba [B
0 7 1 off I
0 7 2 len I
1 6 3 i I
RuntimeVisibleAnnotations:
jdk.internal.vm.annotation.IntrinsicCandidate()
MethodParameters:
Name Flags
ba
off
len
static java.lang.StringCoding$Result decode(java.lang.String, byte[], int, int);
descriptor: (Ljava/lang/String;[BII)Ljava/lang/StringCoding$Result;
flags: (0x0008) ACC_STATIC
Code:
stack=4, locals=7, args_size=4
start local 0 start local 1 start local 2 start local 3 0: getstatic java.lang.StringCoding.decoder:Ljava/lang/ThreadLocal;
invokestatic java.lang.StringCoding.deref:(Ljava/lang/ThreadLocal;)Ljava/lang/Object;
checkcast java.lang.StringCoding$StringDecoder
astore 4
start local 4 1: aload 0
ifnonnull 2
ldc "ISO-8859-1"
goto 3
StackMap locals: java.lang.StringCoding$StringDecoder
StackMap stack:
2: aload 0
StackMap locals:
StackMap stack: java.lang.String
3: astore 5
start local 5 4: aload 4
ifnull 6
aload 5
aload 4
invokevirtual java.lang.StringCoding$StringDecoder.requestedCharsetName:()Ljava/lang/String;
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 24
5: aload 5
aload 4
invokevirtual java.lang.StringCoding$StringDecoder.charsetName:()Ljava/lang/String;
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 24
6: StackMap locals: java.lang.String
StackMap stack:
aconst_null
astore 4
7: aload 5
invokestatic java.lang.StringCoding.lookupCharset:(Ljava/lang/String;)Ljava/nio/charset/Charset;
astore 6
start local 6 8: aload 6
ifnull 21
9: aload 6
getstatic java.lang.StringCoding.UTF_8:Ljava/nio/charset/Charset;
if_acmpne 12
10: aload 1
iload 2
iload 3
iconst_1
invokestatic java.lang.StringCoding.decodeUTF8:([BIIZ)Ljava/lang/StringCoding$Result;
11: areturn
12: StackMap locals: java.nio.charset.Charset
StackMap stack:
aload 6
getstatic java.lang.StringCoding.ISO_8859_1:Ljava/nio/charset/Charset;
if_acmpne 15
13: aload 1
iload 2
iload 3
invokestatic java.lang.StringCoding.decodeLatin1:([BII)Ljava/lang/StringCoding$Result;
14: areturn
15: StackMap locals:
StackMap stack:
aload 6
getstatic java.lang.StringCoding.US_ASCII:Ljava/nio/charset/Charset;
if_acmpne 18
16: aload 1
iload 2
iload 3
invokestatic java.lang.StringCoding.decodeASCII:([BII)Ljava/lang/StringCoding$Result;
17: areturn
18: StackMap locals:
StackMap stack:
new java.lang.StringCoding$StringDecoder
dup
aload 6
aload 5
invokespecial java.lang.StringCoding$StringDecoder.<init>:(Ljava/nio/charset/Charset;Ljava/lang/String;)V
astore 4
end local 6 19: goto 21
StackMap locals: java.lang.String byte[] int int java.lang.StringCoding$StringDecoder java.lang.String
StackMap stack: java.nio.charset.IllegalCharsetNameException
20: pop
21: StackMap locals:
StackMap stack:
aload 4
ifnonnull 23
22: new java.io.UnsupportedEncodingException
dup
aload 5
invokespecial java.io.UnsupportedEncodingException.<init>:(Ljava/lang/String;)V
athrow
23: StackMap locals:
StackMap stack:
getstatic java.lang.StringCoding.decoder:Ljava/lang/ThreadLocal;
aload 4
invokestatic java.lang.StringCoding.set:(Ljava/lang/ThreadLocal;Ljava/lang/Object;)V
24: StackMap locals:
StackMap stack:
aload 4
aload 1
iload 2
iload 3
invokevirtual java.lang.StringCoding$StringDecoder.decode:([BII)Ljava/lang/StringCoding$Result;
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 25 0 charsetName Ljava/lang/String;
0 25 1 ba [B
0 25 2 off I
0 25 3 len I
1 25 4 sd Ljava/lang/StringCoding$StringDecoder;
4 25 5 csn Ljava/lang/String;
8 19 6 cs Ljava/nio/charset/Charset;
Exception table:
from to target type
7 11 20 Class java.nio.charset.IllegalCharsetNameException
12 14 20 Class java.nio.charset.IllegalCharsetNameException
15 17 20 Class java.nio.charset.IllegalCharsetNameException
18 19 20 Class java.nio.charset.IllegalCharsetNameException
Exceptions:
throws java.io.UnsupportedEncodingException
MethodParameters:
Name Flags
charsetName
ba
off
len
static java.lang.StringCoding$Result decode(java.nio.charset.Charset, byte[], int, int);
descriptor: (Ljava/nio/charset/Charset;[BII)Ljava/lang/StringCoding$Result;
flags: (0x0008) ACC_STATIC
Code:
stack=5, locals=10, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
getstatic java.lang.StringCoding.UTF_8:Ljava/nio/charset/Charset;
if_acmpne 2
1: aload 1
iload 2
iload 3
iconst_1
invokestatic java.lang.StringCoding.decodeUTF8:([BIIZ)Ljava/lang/StringCoding$Result;
areturn
2: StackMap locals:
StackMap stack:
aload 0
getstatic java.lang.StringCoding.ISO_8859_1:Ljava/nio/charset/Charset;
if_acmpne 4
3: aload 1
iload 2
iload 3
invokestatic java.lang.StringCoding.decodeLatin1:([BII)Ljava/lang/StringCoding$Result;
areturn
4: StackMap locals:
StackMap stack:
aload 0
getstatic java.lang.StringCoding.US_ASCII:Ljava/nio/charset/Charset;
if_acmpne 6
5: aload 1
iload 2
iload 3
invokestatic java.lang.StringCoding.decodeASCII:([BII)Ljava/lang/StringCoding$Result;
areturn
6: StackMap locals:
StackMap stack:
aload 0
invokevirtual java.nio.charset.Charset.newDecoder:()Ljava/nio/charset/CharsetDecoder;
astore 4
start local 4 7: aload 4
instanceof sun.nio.cs.ArrayDecoder
ifeq 10
8: aload 4
checkcast sun.nio.cs.ArrayDecoder
invokeinterface sun.nio.cs.ArrayDecoder.isASCIICompatible:()Z
ifeq 10
aload 1
iload 2
iload 3
invokestatic java.lang.StringCoding.hasNegatives:([BII)Z
ifne 10
9: aload 1
iload 2
iload 3
invokestatic java.lang.StringCoding.decodeLatin1:([BII)Ljava/lang/StringCoding$Result;
areturn
10: StackMap locals: java.nio.charset.CharsetDecoder
StackMap stack:
getstatic java.lang.String.COMPACT_STRINGS:Z
ifeq 14
aload 4
instanceof sun.nio.cs.ArrayDecoder
ifeq 14
aload 4
checkcast sun.nio.cs.ArrayDecoder
invokeinterface sun.nio.cs.ArrayDecoder.isLatin1Decodable:()Z
ifeq 14
11: iload 3
newarray 8
astore 5
start local 5 12: aload 4
checkcast sun.nio.cs.ArrayDecoder
aload 1
iload 2
iload 3
aload 5
invokeinterface sun.nio.cs.ArrayDecoder.decodeToLatin1:([BII[B)I
pop
13: new java.lang.StringCoding$Result
dup
invokespecial java.lang.StringCoding$Result.<init>:()V
aload 5
iconst_0
invokevirtual java.lang.StringCoding$Result.with:([BB)Ljava/lang/StringCoding$Result;
areturn
end local 5 14: StackMap locals:
StackMap stack:
iload 3
aload 4
invokevirtual java.nio.charset.CharsetDecoder.maxCharsPerByte:()F
invokestatic java.lang.StringCoding.scale:(IF)I
istore 5
start local 5 15: iload 3
ifne 17
16: new java.lang.StringCoding$Result
dup
invokespecial java.lang.StringCoding$Result.<init>:()V
invokevirtual java.lang.StringCoding$Result.with:()Ljava/lang/StringCoding$Result;
areturn
17: StackMap locals: int
StackMap stack:
aload 4
getstatic java.nio.charset.CodingErrorAction.REPLACE:Ljava/nio/charset/CodingErrorAction;
invokevirtual java.nio.charset.CharsetDecoder.onMalformedInput:(Ljava/nio/charset/CodingErrorAction;)Ljava/nio/charset/CharsetDecoder;
18: getstatic java.nio.charset.CodingErrorAction.REPLACE:Ljava/nio/charset/CodingErrorAction;
invokevirtual java.nio.charset.CharsetDecoder.onUnmappableCharacter:(Ljava/nio/charset/CodingErrorAction;)Ljava/nio/charset/CharsetDecoder;
19: invokevirtual java.nio.charset.CharsetDecoder.reset:()Ljava/nio/charset/CharsetDecoder;
pop
20: iload 5
newarray 5
astore 6
start local 6 21: aload 4
instanceof sun.nio.cs.ArrayDecoder
ifeq 24
22: aload 4
checkcast sun.nio.cs.ArrayDecoder
aload 1
iload 2
iload 3
aload 6
invokeinterface sun.nio.cs.ArrayDecoder.decode:([BII[C)I
istore 7
start local 7 23: new java.lang.StringCoding$Result
dup
invokespecial java.lang.StringCoding$Result.<init>:()V
aload 6
iconst_0
iload 7
invokevirtual java.lang.StringCoding$Result.with:([CII)Ljava/lang/StringCoding$Result;
areturn
end local 7 24: StackMap locals: char[]
StackMap stack:
aload 0
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
invokevirtual java.lang.Class.getClassLoader0:()Ljava/lang/ClassLoader;
ifnull 28
25: invokestatic java.lang.System.getSecurityManager:()Ljava/lang/SecurityManager;
ifnull 28
26: aload 1
iload 2
iload 2
iload 3
iadd
invokestatic java.util.Arrays.copyOfRange:([BII)[B
astore 1
27: iconst_0
istore 2
28: StackMap locals:
StackMap stack:
aload 1
iload 2
iload 3
invokestatic java.nio.ByteBuffer.wrap:([BII)Ljava/nio/ByteBuffer;
astore 7
start local 7 29: aload 6
invokestatic java.nio.CharBuffer.wrap:([C)Ljava/nio/CharBuffer;
astore 8
start local 8 30: aload 4
aload 7
aload 8
iconst_1
invokevirtual java.nio.charset.CharsetDecoder.decode:(Ljava/nio/ByteBuffer;Ljava/nio/CharBuffer;Z)Ljava/nio/charset/CoderResult;
astore 9
start local 9 31: aload 9
invokevirtual java.nio.charset.CoderResult.isUnderflow:()Z
ifne 33
32: aload 9
invokevirtual java.nio.charset.CoderResult.throwException:()V
33: StackMap locals: java.nio.ByteBuffer java.nio.CharBuffer java.nio.charset.CoderResult
StackMap stack:
aload 4
aload 8
invokevirtual java.nio.charset.CharsetDecoder.flush:(Ljava/nio/CharBuffer;)Ljava/nio/charset/CoderResult;
astore 9
34: aload 9
invokevirtual java.nio.charset.CoderResult.isUnderflow:()Z
ifne 39
35: aload 9
invokevirtual java.nio.charset.CoderResult.throwException:()V
end local 9 36: goto 39
StackMap locals: java.nio.charset.Charset byte[] int int java.nio.charset.CharsetDecoder int char[] java.nio.ByteBuffer java.nio.CharBuffer
StackMap stack: java.nio.charset.CharacterCodingException
37: astore 9
start local 9 38: new java.lang.Error
dup
aload 9
invokespecial java.lang.Error.<init>:(Ljava/lang/Throwable;)V
athrow
end local 9 39: StackMap locals:
StackMap stack:
new java.lang.StringCoding$Result
dup
invokespecial java.lang.StringCoding$Result.<init>:()V
aload 6
iconst_0
aload 8
invokevirtual java.nio.CharBuffer.position:()I
invokevirtual java.lang.StringCoding$Result.with:([CII)Ljava/lang/StringCoding$Result;
areturn
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 40 0 cs Ljava/nio/charset/Charset;
0 40 1 ba [B
0 40 2 off I
0 40 3 len I
7 40 4 cd Ljava/nio/charset/CharsetDecoder;
12 14 5 dst [B
15 40 5 en I
21 40 6 ca [C
23 24 7 clen I
29 40 7 bb Ljava/nio/ByteBuffer;
30 40 8 cb Ljava/nio/CharBuffer;
31 36 9 cr Ljava/nio/charset/CoderResult;
38 39 9 x Ljava/nio/charset/CharacterCodingException;
Exception table:
from to target type
30 36 37 Class java.nio.charset.CharacterCodingException
MethodParameters:
Name Flags
cs
ba
off
len
static java.lang.StringCoding$Result decode(byte[], int, int);
descriptor: ([BII)Ljava/lang/StringCoding$Result;
flags: (0x0008) ACC_STATIC
Code:
stack=4, locals=5, args_size=3
start local 0 start local 1 start local 2 0: invokestatic java.nio.charset.Charset.defaultCharset:()Ljava/nio/charset/Charset;
astore 3
start local 3 1: aload 3
getstatic java.lang.StringCoding.UTF_8:Ljava/nio/charset/Charset;
if_acmpne 3
2: aload 0
iload 1
iload 2
iconst_1
invokestatic java.lang.StringCoding.decodeUTF8:([BIIZ)Ljava/lang/StringCoding$Result;
areturn
3: StackMap locals: java.nio.charset.Charset
StackMap stack:
aload 3
getstatic java.lang.StringCoding.ISO_8859_1:Ljava/nio/charset/Charset;
if_acmpne 5
4: aload 0
iload 1
iload 2
invokestatic java.lang.StringCoding.decodeLatin1:([BII)Ljava/lang/StringCoding$Result;
areturn
5: StackMap locals:
StackMap stack:
aload 3
getstatic java.lang.StringCoding.US_ASCII:Ljava/nio/charset/Charset;
if_acmpne 7
6: aload 0
iload 1
iload 2
invokestatic java.lang.StringCoding.decodeASCII:([BII)Ljava/lang/StringCoding$Result;
areturn
7: StackMap locals:
StackMap stack:
getstatic java.lang.StringCoding.decoder:Ljava/lang/ThreadLocal;
invokestatic java.lang.StringCoding.deref:(Ljava/lang/ThreadLocal;)Ljava/lang/Object;
checkcast java.lang.StringCoding$StringDecoder
astore 4
start local 4 8: aload 4
ifnull 9
aload 3
invokevirtual java.nio.charset.Charset.name:()Ljava/lang/String;
aload 4
getfield java.lang.StringCoding$StringDecoder.cs:Ljava/nio/charset/Charset;
invokevirtual java.nio.charset.Charset.name:()Ljava/lang/String;
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 11
9: StackMap locals: java.lang.StringCoding$StringDecoder
StackMap stack:
new java.lang.StringCoding$StringDecoder
dup
aload 3
aload 3
invokevirtual java.nio.charset.Charset.name:()Ljava/lang/String;
invokespecial java.lang.StringCoding$StringDecoder.<init>:(Ljava/nio/charset/Charset;Ljava/lang/String;)V
astore 4
10: getstatic java.lang.StringCoding.decoder:Ljava/lang/ThreadLocal;
aload 4
invokestatic java.lang.StringCoding.set:(Ljava/lang/ThreadLocal;Ljava/lang/Object;)V
11: StackMap locals:
StackMap stack:
aload 4
aload 0
iload 1
iload 2
invokevirtual java.lang.StringCoding$StringDecoder.decode:([BII)Ljava/lang/StringCoding$Result;
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 ba [B
0 12 1 off I
0 12 2 len I
1 12 3 cs Ljava/nio/charset/Charset;
8 12 4 sd Ljava/lang/StringCoding$StringDecoder;
MethodParameters:
Name Flags
ba
off
len
static byte[] encode(java.lang.String, byte, byte[]);
descriptor: (Ljava/lang/String;B[B)[B
flags: (0x0008) ACC_STATIC
Code:
stack=4, locals=6, args_size=3
start local 0 start local 1 start local 2 0: getstatic java.lang.StringCoding.encoder:Ljava/lang/ThreadLocal;
invokestatic java.lang.StringCoding.deref:(Ljava/lang/ThreadLocal;)Ljava/lang/Object;
checkcast java.lang.StringCoding$StringEncoder
astore 3
start local 3 1: aload 0
ifnonnull 2
ldc "ISO-8859-1"
goto 3
StackMap locals: java.lang.StringCoding$StringEncoder
StackMap stack:
2: aload 0
StackMap locals:
StackMap stack: java.lang.String
3: astore 4
start local 4 4: aload 3
ifnull 6
aload 4
aload 3
invokevirtual java.lang.StringCoding$StringEncoder.requestedCharsetName:()Ljava/lang/String;
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 24
5: aload 4
aload 3
invokevirtual java.lang.StringCoding$StringEncoder.charsetName:()Ljava/lang/String;
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 24
6: StackMap locals: java.lang.String
StackMap stack:
aconst_null
astore 3
7: aload 4
invokestatic java.lang.StringCoding.lookupCharset:(Ljava/lang/String;)Ljava/nio/charset/Charset;
astore 5
start local 5 8: aload 5
ifnull 21
9: aload 5
getstatic java.lang.StringCoding.UTF_8:Ljava/nio/charset/Charset;
if_acmpne 12
10: iload 1
aload 2
iconst_1
invokestatic java.lang.StringCoding.encodeUTF8:(B[BZ)[B
11: areturn
12: StackMap locals: java.nio.charset.Charset
StackMap stack:
aload 5
getstatic java.lang.StringCoding.ISO_8859_1:Ljava/nio/charset/Charset;
if_acmpne 15
13: iload 1
aload 2
invokestatic java.lang.StringCoding.encode8859_1:(B[B)[B
14: areturn
15: StackMap locals:
StackMap stack:
aload 5
getstatic java.lang.StringCoding.US_ASCII:Ljava/nio/charset/Charset;
if_acmpne 18
16: iload 1
aload 2
invokestatic java.lang.StringCoding.encodeASCII:(B[B)[B
17: areturn
18: StackMap locals:
StackMap stack:
new java.lang.StringCoding$StringEncoder
dup
aload 5
aload 4
invokespecial java.lang.StringCoding$StringEncoder.<init>:(Ljava/nio/charset/Charset;Ljava/lang/String;)V
astore 3
end local 5 19: goto 21
StackMap locals: java.lang.String int byte[] java.lang.StringCoding$StringEncoder java.lang.String
StackMap stack: java.nio.charset.IllegalCharsetNameException
20: pop
21: StackMap locals:
StackMap stack:
aload 3
ifnonnull 23
22: new java.io.UnsupportedEncodingException
dup
aload 4
invokespecial java.io.UnsupportedEncodingException.<init>:(Ljava/lang/String;)V
athrow
23: StackMap locals:
StackMap stack:
getstatic java.lang.StringCoding.encoder:Ljava/lang/ThreadLocal;
aload 3
invokestatic java.lang.StringCoding.set:(Ljava/lang/ThreadLocal;Ljava/lang/Object;)V
24: StackMap locals:
StackMap stack:
aload 3
iload 1
aload 2
invokevirtual java.lang.StringCoding$StringEncoder.encode:(B[B)[B
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 25 0 charsetName Ljava/lang/String;
0 25 1 coder B
0 25 2 val [B
1 25 3 se Ljava/lang/StringCoding$StringEncoder;
4 25 4 csn Ljava/lang/String;
8 19 5 cs Ljava/nio/charset/Charset;
Exception table:
from to target type
7 11 20 Class java.nio.charset.IllegalCharsetNameException
12 14 20 Class java.nio.charset.IllegalCharsetNameException
15 17 20 Class java.nio.charset.IllegalCharsetNameException
18 19 20 Class java.nio.charset.IllegalCharsetNameException
Exceptions:
throws java.io.UnsupportedEncodingException
MethodParameters:
Name Flags
charsetName
coder
val
static byte[] encode(java.nio.charset.Charset, byte, byte[]);
descriptor: (Ljava/nio/charset/Charset;B[B)[B
flags: (0x0008) ACC_STATIC
Code:
stack=5, locals=12, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getstatic java.lang.StringCoding.UTF_8:Ljava/nio/charset/Charset;
if_acmpne 2
1: iload 1
aload 2
iconst_1
invokestatic java.lang.StringCoding.encodeUTF8:(B[BZ)[B
areturn
2: StackMap locals:
StackMap stack:
aload 0
getstatic java.lang.StringCoding.ISO_8859_1:Ljava/nio/charset/Charset;
if_acmpne 4
3: iload 1
aload 2
invokestatic java.lang.StringCoding.encode8859_1:(B[B)[B
areturn
4: StackMap locals:
StackMap stack:
aload 0
getstatic java.lang.StringCoding.US_ASCII:Ljava/nio/charset/Charset;
if_acmpne 6
5: iload 1
aload 2
invokestatic java.lang.StringCoding.encodeASCII:(B[B)[B
areturn
6: StackMap locals:
StackMap stack:
aload 0
invokevirtual java.nio.charset.Charset.newEncoder:()Ljava/nio/charset/CharsetEncoder;
astore 3
start local 3 7: iload 1
ifne 11
aload 3
instanceof sun.nio.cs.ArrayEncoder
ifeq 11
8: aload 3
checkcast sun.nio.cs.ArrayEncoder
invokeinterface sun.nio.cs.ArrayEncoder.isASCIICompatible:()Z
ifeq 11
9: aload 2
iconst_0
aload 2
arraylength
invokestatic java.lang.StringCoding.hasNegatives:([BII)Z
ifne 11
10: aload 2
aload 2
arraylength
invokestatic java.util.Arrays.copyOf:([BI)[B
areturn
11: StackMap locals: java.nio.charset.CharsetEncoder
StackMap stack:
aload 2
arraylength
iload 1
ishr
istore 4
start local 4 12: iload 4
aload 3
invokevirtual java.nio.charset.CharsetEncoder.maxBytesPerChar:()F
invokestatic java.lang.StringCoding.scale:(IF)I
istore 5
start local 5 13: iload 5
newarray 8
astore 6
start local 6 14: iload 4
ifne 16
15: aload 6
areturn
16: StackMap locals: int int byte[]
StackMap stack:
aload 3
getstatic java.nio.charset.CodingErrorAction.REPLACE:Ljava/nio/charset/CodingErrorAction;
invokevirtual java.nio.charset.CharsetEncoder.onMalformedInput:(Ljava/nio/charset/CodingErrorAction;)Ljava/nio/charset/CharsetEncoder;
17: getstatic java.nio.charset.CodingErrorAction.REPLACE:Ljava/nio/charset/CodingErrorAction;
invokevirtual java.nio.charset.CharsetEncoder.onUnmappableCharacter:(Ljava/nio/charset/CodingErrorAction;)Ljava/nio/charset/CharsetEncoder;
18: invokevirtual java.nio.charset.CharsetEncoder.reset:()Ljava/nio/charset/CharsetEncoder;
pop
19: aload 3
instanceof sun.nio.cs.ArrayEncoder
ifeq 25
20: iload 1
ifne 21
aload 3
checkcast sun.nio.cs.ArrayEncoder
aload 2
iconst_0
iload 4
aload 6
invokeinterface sun.nio.cs.ArrayEncoder.encodeFromLatin1:([BII[B)I
goto 22
21: StackMap locals:
StackMap stack:
aload 3
checkcast sun.nio.cs.ArrayEncoder
aload 2
iconst_0
iload 4
aload 6
invokeinterface sun.nio.cs.ArrayEncoder.encodeFromUTF16:([BII[B)I
22: StackMap locals:
StackMap stack: int
istore 7
start local 7 23: iload 7
iconst_m1
if_icmpeq 25
24: aload 6
iload 7
iconst_1
invokestatic java.lang.StringCoding.safeTrim:([BIZ)[B
areturn
end local 7 25: StackMap locals:
StackMap stack:
aload 0
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
invokevirtual java.lang.Class.getClassLoader0:()Ljava/lang/ClassLoader;
ifnull 28
26: invokestatic java.lang.System.getSecurityManager:()Ljava/lang/SecurityManager;
ifnull 28
27: iconst_0
goto 29
StackMap locals:
StackMap stack:
28: iconst_1
StackMap locals:
StackMap stack: int
29: istore 7
start local 7 30: iload 1
ifne 31
aload 2
invokestatic java.lang.StringLatin1.toChars:([B)[C
goto 32
31: StackMap locals: int
StackMap stack:
aload 2
invokestatic java.lang.StringUTF16.toChars:([B)[C
32: StackMap locals:
StackMap stack: char[]
astore 8
start local 8 33: aload 6
invokestatic java.nio.ByteBuffer.wrap:([B)Ljava/nio/ByteBuffer;
astore 9
start local 9 34: aload 8
iconst_0
iload 4
invokestatic java.nio.CharBuffer.wrap:([CII)Ljava/nio/CharBuffer;
astore 10
start local 10 35: aload 3
aload 10
aload 9
iconst_1
invokevirtual java.nio.charset.CharsetEncoder.encode:(Ljava/nio/CharBuffer;Ljava/nio/ByteBuffer;Z)Ljava/nio/charset/CoderResult;
astore 11
start local 11 36: aload 11
invokevirtual java.nio.charset.CoderResult.isUnderflow:()Z
ifne 38
37: aload 11
invokevirtual java.nio.charset.CoderResult.throwException:()V
38: StackMap locals: java.nio.charset.Charset int byte[] java.nio.charset.CharsetEncoder int int byte[] int char[] java.nio.ByteBuffer java.nio.CharBuffer java.nio.charset.CoderResult
StackMap stack:
aload 3
aload 9
invokevirtual java.nio.charset.CharsetEncoder.flush:(Ljava/nio/ByteBuffer;)Ljava/nio/charset/CoderResult;
astore 11
39: aload 11
invokevirtual java.nio.charset.CoderResult.isUnderflow:()Z
ifne 44
40: aload 11
invokevirtual java.nio.charset.CoderResult.throwException:()V
end local 11 41: goto 44
StackMap locals: java.nio.charset.Charset int byte[] java.nio.charset.CharsetEncoder int int byte[] int char[] java.nio.ByteBuffer java.nio.CharBuffer
StackMap stack: java.nio.charset.CharacterCodingException
42: astore 11
start local 11 43: new java.lang.Error
dup
aload 11
invokespecial java.lang.Error.<init>:(Ljava/lang/Throwable;)V
athrow
end local 11 44: StackMap locals:
StackMap stack:
aload 6
aload 9
invokevirtual java.nio.ByteBuffer.position:()I
iload 7
invokestatic java.lang.StringCoding.safeTrim:([BIZ)[B
areturn
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 45 0 cs Ljava/nio/charset/Charset;
0 45 1 coder B
0 45 2 val [B
7 45 3 ce Ljava/nio/charset/CharsetEncoder;
12 45 4 len I
13 45 5 en I
14 45 6 ba [B
23 25 7 blen I
30 45 7 isTrusted Z
33 45 8 ca [C
34 45 9 bb Ljava/nio/ByteBuffer;
35 45 10 cb Ljava/nio/CharBuffer;
36 41 11 cr Ljava/nio/charset/CoderResult;
43 44 11 x Ljava/nio/charset/CharacterCodingException;
Exception table:
from to target type
35 41 42 Class java.nio.charset.CharacterCodingException
MethodParameters:
Name Flags
cs
coder
val
static byte[] encode(byte, byte[]);
descriptor: (B[B)[B
flags: (0x0008) ACC_STATIC
Code:
stack=4, locals=4, args_size=2
start local 0 start local 1 0: invokestatic java.nio.charset.Charset.defaultCharset:()Ljava/nio/charset/Charset;
astore 2
start local 2 1: aload 2
getstatic java.lang.StringCoding.UTF_8:Ljava/nio/charset/Charset;
if_acmpne 3
2: iload 0
aload 1
iconst_1
invokestatic java.lang.StringCoding.encodeUTF8:(B[BZ)[B
areturn
3: StackMap locals: java.nio.charset.Charset
StackMap stack:
aload 2
getstatic java.lang.StringCoding.ISO_8859_1:Ljava/nio/charset/Charset;
if_acmpne 5
4: iload 0
aload 1
invokestatic java.lang.StringCoding.encode8859_1:(B[B)[B
areturn
5: StackMap locals:
StackMap stack:
aload 2
getstatic java.lang.StringCoding.US_ASCII:Ljava/nio/charset/Charset;
if_acmpne 7
6: iload 0
aload 1
invokestatic java.lang.StringCoding.encodeASCII:(B[B)[B
areturn
7: StackMap locals:
StackMap stack:
getstatic java.lang.StringCoding.encoder:Ljava/lang/ThreadLocal;
invokestatic java.lang.StringCoding.deref:(Ljava/lang/ThreadLocal;)Ljava/lang/Object;
checkcast java.lang.StringCoding$StringEncoder
astore 3
start local 3 8: aload 3
ifnull 9
aload 2
invokevirtual java.nio.charset.Charset.name:()Ljava/lang/String;
aload 3
getfield java.lang.StringCoding$StringEncoder.cs:Ljava/nio/charset/Charset;
invokevirtual java.nio.charset.Charset.name:()Ljava/lang/String;
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 11
9: StackMap locals: java.lang.StringCoding$StringEncoder
StackMap stack:
new java.lang.StringCoding$StringEncoder
dup
aload 2
aload 2
invokevirtual java.nio.charset.Charset.name:()Ljava/lang/String;
invokespecial java.lang.StringCoding$StringEncoder.<init>:(Ljava/nio/charset/Charset;Ljava/lang/String;)V
astore 3
10: getstatic java.lang.StringCoding.encoder:Ljava/lang/ThreadLocal;
aload 3
invokestatic java.lang.StringCoding.set:(Ljava/lang/ThreadLocal;Ljava/lang/Object;)V
11: StackMap locals:
StackMap stack:
aload 3
iload 0
aload 1
invokevirtual java.lang.StringCoding$StringEncoder.encode:(B[B)[B
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 coder B
0 12 1 val [B
1 12 2 cs Ljava/nio/charset/Charset;
8 12 3 se Ljava/lang/StringCoding$StringEncoder;
MethodParameters:
Name Flags
coder
val
private static native void err(java.lang.String);
descriptor: (Ljava/lang/String;)V
flags: (0x010a) ACC_PRIVATE, ACC_STATIC, ACC_NATIVE
MethodParameters:
Name Flags
msg
private static java.lang.StringCoding$Result decodeASCII(byte[], int, int);
descriptor: ([BII)Ljava/lang/StringCoding$Result;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=5, locals=7, args_size=3
start local 0 start local 1 start local 2 0: getstatic java.lang.StringCoding.resultCached:Ljava/lang/ThreadLocal;
invokevirtual java.lang.ThreadLocal.get:()Ljava/lang/Object;
checkcast java.lang.StringCoding$Result
astore 3
start local 3 1: getstatic java.lang.String.COMPACT_STRINGS:Z
ifeq 5
aload 0
iload 1
iload 2
invokestatic java.lang.StringCoding.hasNegatives:([BII)Z
ifne 5
2: aload 3
aload 0
iload 1
iload 1
iload 2
iadd
invokestatic java.util.Arrays.copyOfRange:([BII)[B
3: iconst_0
4: invokevirtual java.lang.StringCoding$Result.with:([BB)Ljava/lang/StringCoding$Result;
areturn
5: StackMap locals: java.lang.StringCoding$Result
StackMap stack:
iload 2
iconst_1
ishl
newarray 8
astore 4
start local 4 6: iconst_0
istore 5
start local 5 7: goto 12
8: StackMap locals: byte[] int
StackMap stack:
aload 0
iload 1
iinc 1 1
baload
istore 6
start local 6 9: aload 4
iload 5
iinc 5 1
iload 6
iflt 10
iload 6
i2c
goto 11
StackMap locals: byte[] int int java.lang.StringCoding$Result byte[] int int
StackMap stack: byte[] int
10: getstatic java.lang.StringCoding.repl:C
StackMap locals: byte[] int int java.lang.StringCoding$Result byte[] int int
StackMap stack: byte[] int int
11: invokestatic java.lang.StringUTF16.putChar:([BII)V
end local 6 12: StackMap locals:
StackMap stack:
iload 5
iload 2
if_icmplt 8
13: aload 3
aload 4
iconst_1
invokevirtual java.lang.StringCoding$Result.with:([BB)Ljava/lang/StringCoding$Result;
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 14 0 ba [B
0 14 1 off I
0 14 2 len I
1 14 3 result Ljava/lang/StringCoding$Result;
6 14 4 dst [B
7 14 5 dp I
9 12 6 b I
MethodParameters:
Name Flags
ba
off
len
private static byte[] encodeASCII(byte, byte[]);
descriptor: (B[B)[B
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=4, locals=7, args_size=2
start local 0 start local 1 0: iload 0
ifne 11
1: aload 1
arraylength
newarray 8
astore 2
start local 2 2: iconst_0
istore 3
start local 3 3: goto 9
4: StackMap locals: byte[] int
StackMap stack:
aload 1
iload 3
baload
ifge 7
5: aload 2
iload 3
bipush 63
bastore
6: goto 8
7: StackMap locals:
StackMap stack:
aload 2
iload 3
aload 1
iload 3
baload
bastore
8: StackMap locals:
StackMap stack:
iinc 3 1
StackMap locals:
StackMap stack:
9: iload 3
aload 1
arraylength
if_icmplt 4
end local 3 10: aload 2
areturn
end local 2 11: StackMap locals:
StackMap stack:
aload 1
arraylength
iconst_1
ishr
istore 2
start local 2 12: iload 2
newarray 8
astore 3
start local 3 13: iconst_0
istore 4
start local 4 14: iconst_0
istore 5
start local 5 15: goto 25
16: StackMap locals: int byte[] int byte[] int int
StackMap stack:
aload 1
iload 5
invokestatic java.lang.StringUTF16.getChar:([BI)C
istore 6
start local 6 17: iload 6
sipush 128
if_icmpge 20
18: aload 3
iload 4
iinc 4 1
iload 6
i2b
bastore
19: goto 24
20: StackMap locals: int
StackMap stack:
iload 6
invokestatic java.lang.Character.isHighSurrogate:(C)Z
ifeq 23
iload 5
iconst_1
iadd
iload 2
if_icmpge 23
21: aload 1
iload 5
iconst_1
iadd
invokestatic java.lang.StringUTF16.getChar:([BI)C
invokestatic java.lang.Character.isLowSurrogate:(C)Z
ifeq 23
22: iinc 5 1
23: StackMap locals:
StackMap stack:
aload 3
iload 4
iinc 4 1
bipush 63
bastore
end local 6 24: StackMap locals:
StackMap stack:
iinc 5 1
StackMap locals:
StackMap stack:
25: iload 5
iload 2
if_icmplt 16
end local 5 26: iload 2
iload 4
if_icmpne 28
27: aload 3
areturn
28: StackMap locals:
StackMap stack:
aload 3
iload 4
invokestatic java.util.Arrays.copyOf:([BI)[B
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 29 0 coder B
0 29 1 val [B
2 11 2 dst [B
3 10 3 i I
12 29 2 len I
13 29 3 dst [B
14 29 4 dp I
15 26 5 i I
17 24 6 c C
MethodParameters:
Name Flags
coder
val
private static java.lang.StringCoding$Result decodeLatin1(byte[], int, int);
descriptor: ([BII)Ljava/lang/StringCoding$Result;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=5, locals=4, args_size=3
start local 0 start local 1 start local 2 0: getstatic java.lang.StringCoding.resultCached:Ljava/lang/ThreadLocal;
invokevirtual java.lang.ThreadLocal.get:()Ljava/lang/Object;
checkcast java.lang.StringCoding$Result
astore 3
start local 3 1: getstatic java.lang.String.COMPACT_STRINGS:Z
ifeq 3
2: aload 3
aload 0
iload 1
iload 1
iload 2
iadd
invokestatic java.util.Arrays.copyOfRange:([BII)[B
iconst_0
invokevirtual java.lang.StringCoding$Result.with:([BB)Ljava/lang/StringCoding$Result;
areturn
3: StackMap locals: java.lang.StringCoding$Result
StackMap stack:
aload 3
aload 0
iload 1
iload 2
invokestatic java.lang.StringLatin1.inflate:([BII)[B
iconst_1
invokevirtual java.lang.StringCoding$Result.with:([BB)Ljava/lang/StringCoding$Result;
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 ba [B
0 4 1 off I
0 4 2 len I
1 4 3 result Ljava/lang/StringCoding$Result;
MethodParameters:
Name Flags
ba
off
len
private static int implEncodeISOArray(byte[], int, byte[], int, int);
descriptor: ([BI[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
invokestatic java.lang.StringUTF16.getChar:([BI)C
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 [B
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.vm.annotation.IntrinsicCandidate()
MethodParameters:
Name Flags
sa
sp
da
dp
len
private static byte[] encode8859_1(byte, byte[]);
descriptor: (B[B)[B
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: iload 0
aload 1
iconst_1
invokestatic java.lang.StringCoding.encode8859_1:(B[BZ)[B
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 coder B
0 1 1 val [B
MethodParameters:
Name Flags
coder
val
private static byte[] encode8859_1(byte, byte[], boolean);
descriptor: (B[BZ)[B
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=5, locals=10, args_size=3
start local 0 start local 1 start local 2 0: iload 0
ifne 2
1: aload 1
aload 1
arraylength
invokestatic java.util.Arrays.copyOf:([BI)[B
areturn
2: StackMap locals:
StackMap stack:
aload 1
arraylength
iconst_1
ishr
istore 3
start local 3 3: iload 3
newarray 8
astore 4
start local 4 4: iconst_0
istore 5
start local 5 5: iconst_0
istore 6
start local 6 6: iload 3
istore 7
start local 7 7: goto 20
8: StackMap locals: int byte[] int int byte[] int int int
StackMap stack:
aload 1
iload 6
aload 4
iload 5
iload 3
invokestatic java.lang.StringCoding.implEncodeISOArray:([BI[BII)I
istore 8
start local 8 9: iload 6
iload 8
iadd
istore 6
10: iload 5
iload 8
iadd
istore 5
11: iload 8
iload 3
if_icmpeq 20
12: iload 2
ifne 14
13: iload 6
iconst_1
invokestatic java.lang.StringCoding.throwUnmappable:(II)V
14: StackMap locals: int
StackMap stack:
aload 1
iload 6
iinc 6 1
invokestatic java.lang.StringUTF16.getChar:([BI)C
istore 9
start local 9 15: iload 9
invokestatic java.lang.Character.isHighSurrogate:(C)Z
ifeq 18
iload 6
iload 7
if_icmpge 18
16: aload 1
iload 6
invokestatic java.lang.StringUTF16.getChar:([BI)C
invokestatic java.lang.Character.isLowSurrogate:(C)Z
ifeq 18
17: iinc 6 1
18: StackMap locals: int
StackMap stack:
aload 4
iload 5
iinc 5 1
bipush 63
bastore
19: iload 7
iload 6
isub
istore 3
end local 9 end local 8 20: StackMap locals:
StackMap stack:
iload 6
iload 7
if_icmplt 8
21: iload 5
aload 4
arraylength
if_icmpne 23
22: aload 4
areturn
23: StackMap locals:
StackMap stack:
aload 4
iload 5
invokestatic java.util.Arrays.copyOf:([BI)[B
areturn
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 24 0 coder B
0 24 1 val [B
0 24 2 doReplace Z
3 24 3 len I
4 24 4 dst [B
5 24 5 dp I
6 24 6 sp I
7 24 7 sl I
9 20 8 ret I
15 20 9 c C
MethodParameters:
Name Flags
coder
val
doReplace
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 int malformedN(byte[], int, int);
descriptor: ([BII)I
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=5, args_size=3
start local 0 start local 1 start local 2 0: iload 2
iconst_3
if_icmpne 8
1: aload 0
iload 1
iinc 1 1
baload
istore 3
start local 3 2: aload 0
iload 1
iinc 1 1
baload
istore 4
start local 4 3: iload 3
bipush -32
if_icmpne 4
iload 4
sipush 224
iand
sipush 128
if_icmpeq 5
4: StackMap locals: int int
StackMap stack:
iload 4
invokestatic java.lang.StringCoding.isNotContinuation:(I)Z
ifeq 6
StackMap locals:
StackMap stack:
5: iconst_1
goto 7
StackMap locals:
StackMap stack:
6: iconst_2
7: StackMap locals:
StackMap stack: int
ireturn
end local 4 end local 3 8: StackMap locals:
StackMap stack:
iload 2
iconst_4
if_icmpne 19
9: aload 0
iload 1
iinc 1 1
baload
sipush 255
iand
istore 3
start local 3 10: aload 0
iload 1
iinc 1 1
baload
sipush 255
iand
istore 4
start local 4 11: iload 3
sipush 244
if_icmpgt 15
12: iload 3
sipush 240
if_icmpne 13
iload 4
sipush 144
if_icmplt 15
iload 4
sipush 191
if_icmpgt 15
13: StackMap locals: int int
StackMap stack:
iload 3
sipush 244
if_icmpne 14
iload 4
sipush 240
iand
sipush 128
if_icmpne 15
14: StackMap locals:
StackMap stack:
iload 4
invokestatic java.lang.StringCoding.isNotContinuation:(I)Z
ifeq 16
15: StackMap locals:
StackMap stack:
iconst_1
ireturn
16: StackMap locals:
StackMap stack:
aload 0
iload 1
iinc 1 1
baload
invokestatic java.lang.StringCoding.isNotContinuation:(I)Z
ifeq 18
17: iconst_2
ireturn
18: StackMap locals:
StackMap stack:
iconst_3
ireturn
end local 4 end local 3 19: StackMap locals:
StackMap stack:
getstatic java.lang.StringCoding.$assertionsDisabled:Z
ifne 20
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
20: StackMap locals:
StackMap stack:
iconst_m1
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 21 0 src [B
0 21 1 sp I
0 21 2 nb I
2 8 3 b1 I
3 8 4 b2 I
10 19 3 b1 I
11 19 4 b2 I
MethodParameters:
Name Flags
src
sp
nb
private static void throwMalformed(int, int);
descriptor: (II)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=6, locals=3, args_size=2
start local 0 start local 1 0: new java.lang.StringBuilder
dup
ldc "malformed input off : "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 0
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc ", length : "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
iload 1
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 2
start local 2 1: new java.lang.IllegalArgumentException
dup
aload 2
new java.nio.charset.MalformedInputException
dup
iload 1
invokespecial java.nio.charset.MalformedInputException.<init>:(I)V
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
athrow
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 off I
0 2 1 nb I
1 2 2 msg Ljava/lang/String;
MethodParameters:
Name Flags
off
nb
private static void throwMalformed(byte[]);
descriptor: ([B)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=2, args_size=1
start local 0 0: iconst_0
istore 1
start local 1 1: goto 3
StackMap locals: int
StackMap stack:
2: iinc 1 1
StackMap locals:
StackMap stack:
3: iload 1
aload 0
arraylength
if_icmpge 4
aload 0
iload 1
baload
ifge 2
4: StackMap locals:
StackMap stack:
iload 1
iconst_1
invokestatic java.lang.StringCoding.throwMalformed:(II)V
5: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 val [B
1 6 1 dp I
MethodParameters:
Name Flags
val
private static void throwUnmappable(int, int);
descriptor: (II)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=6, locals=3, args_size=2
start local 0 start local 1 0: new java.lang.StringBuilder
dup
ldc "malformed input off : "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 0
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc ", length : "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
iload 1
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 2
start local 2 1: new java.lang.IllegalArgumentException
dup
aload 2
new java.nio.charset.UnmappableCharacterException
dup
iload 1
invokespecial java.nio.charset.UnmappableCharacterException.<init>:(I)V
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
athrow
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 off I
0 2 1 nb I
1 2 2 msg Ljava/lang/String;
MethodParameters:
Name Flags
off
nb
private static void throwUnmappable(byte[]);
descriptor: ([B)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=2, args_size=1
start local 0 0: iconst_0
istore 1
start local 1 1: goto 3
StackMap locals: int
StackMap stack:
2: iinc 1 1
StackMap locals:
StackMap stack:
3: iload 1
aload 0
arraylength
if_icmpge 4
aload 0
iload 1
baload
ifge 2
4: StackMap locals:
StackMap stack:
iload 1
iconst_1
invokestatic java.lang.StringCoding.throwUnmappable:(II)V
5: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 val [B
1 6 1 dp I
MethodParameters:
Name Flags
val
private static java.lang.StringCoding$Result decodeUTF8(byte[], int, int, boolean);
descriptor: ([BIIZ)Ljava/lang/StringCoding$Result;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=5, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: getstatic java.lang.String.COMPACT_STRINGS:Z
ifeq 4
aload 0
iload 1
iload 2
invokestatic java.lang.StringCoding.hasNegatives:([BII)Z
ifne 4
1: getstatic java.lang.StringCoding.resultCached:Ljava/lang/ThreadLocal;
invokevirtual java.lang.ThreadLocal.get:()Ljava/lang/Object;
checkcast java.lang.StringCoding$Result
aload 0
iload 1
iload 1
iload 2
iadd
invokestatic java.util.Arrays.copyOfRange:([BII)[B
2: iconst_0
3: invokevirtual java.lang.StringCoding$Result.with:([BB)Ljava/lang/StringCoding$Result;
areturn
4: StackMap locals:
StackMap stack:
aload 0
iload 1
iload 2
iload 3
invokestatic java.lang.StringCoding.decodeUTF8_0:([BIIZ)Ljava/lang/StringCoding$Result;
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 src [B
0 5 1 sp I
0 5 2 len I
0 5 3 doReplace Z
MethodParameters:
Name Flags
src
sp
len
doReplace
private static java.lang.StringCoding$Result decodeUTF8_0(byte[], int, int, boolean);
descriptor: ([BIIZ)Ljava/lang/StringCoding$Result;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=5, locals=13, args_size=4
start local 0 start local 1 start local 2 start local 3 0: getstatic java.lang.StringCoding.resultCached:Ljava/lang/ThreadLocal;
invokevirtual java.lang.ThreadLocal.get:()Ljava/lang/Object;
checkcast java.lang.StringCoding$Result
astore 4
start local 4 1: iload 1
iload 2
iadd
istore 5
start local 5 2: iconst_0
istore 6
start local 6 3: iload 2
newarray 8
astore 7
start local 7 4: getstatic java.lang.String.COMPACT_STRINGS:Z
ifeq 24
5: goto 19
6: StackMap locals: byte[] int int int java.lang.StringCoding$Result int int byte[]
StackMap stack:
aload 0
iload 1
baload
istore 8
start local 8 7: iload 8
iflt 11
8: aload 7
iload 6
iinc 6 1
iload 8
i2b
bastore
9: iinc 1 1
10: goto 19
11: StackMap locals: int
StackMap stack:
iload 8
bipush -62
if_icmpeq 12
iload 8
bipush -61
if_icmpne 20
12: StackMap locals:
StackMap stack:
iload 1
iconst_1
iadd
iload 5
if_icmpge 20
13: aload 0
iload 1
iconst_1
iadd
baload
istore 9
start local 9 14: iload 9
invokestatic java.lang.StringCoding.isNotContinuation:(I)Z
ifne 20
15: aload 7
iload 6
iinc 6 1
iload 8
bipush 6
ishl
iload 9
ixor
16: sipush 3968
ixor
i2b
17: bastore
18: iinc 1 2
end local 9 end local 8 19: StackMap locals:
StackMap stack:
iload 1
iload 5
if_icmplt 6
20: StackMap locals:
StackMap stack:
iload 1
iload 5
if_icmpne 24
21: iload 6
aload 7
arraylength
if_icmpeq 23
22: aload 7
iload 6
invokestatic java.util.Arrays.copyOf:([BI)[B
astore 7
23: StackMap locals:
StackMap stack:
aload 4
aload 7
iconst_0
invokevirtual java.lang.StringCoding$Result.with:([BB)Ljava/lang/StringCoding$Result;
areturn
24: StackMap locals:
StackMap stack:
iload 6
ifne 27
25: iload 2
iconst_1
ishl
newarray 8
astore 7
26: goto 127
27: StackMap locals:
StackMap stack:
iload 2
iconst_1
ishl
newarray 8
astore 8
start local 8 28: aload 7
iconst_0
aload 8
iconst_0
iload 6
invokestatic java.lang.StringLatin1.inflate:([BI[BII)V
29: aload 8
astore 7
end local 8 30: goto 127
31: StackMap locals:
StackMap stack:
aload 0
iload 1
iinc 1 1
baload
istore 8
start local 8 32: iload 8
iflt 35
33: aload 7
iload 6
iinc 6 1
iload 8
i2c
invokestatic java.lang.StringUTF16.putChar:([BII)V
34: goto 127
StackMap locals: int
StackMap stack:
35: iload 8
iconst_5
ishr
bipush -2
if_icmpne 52
iload 8
bipush 30
iand
ifeq 52
36: iload 1
iload 5
if_icmpge 48
37: aload 0
iload 1
iinc 1 1
baload
istore 9
start local 9 38: iload 9
invokestatic java.lang.StringCoding.isNotContinuation:(I)Z
ifeq 44
39: iload 3
ifne 41
40: iload 1
iconst_1
isub
iconst_1
invokestatic java.lang.StringCoding.throwMalformed:(II)V
41: StackMap locals: int
StackMap stack:
aload 7
iload 6
iinc 6 1
getstatic java.lang.StringCoding.repl:C
invokestatic java.lang.StringUTF16.putChar:([BII)V
42: iinc 1 -1
43: goto 127
44: StackMap locals:
StackMap stack:
aload 7
iload 6
iinc 6 1
iload 8
bipush 6
ishl
iload 9
ixor
45: sipush 3968
ixor
i2c
46: invokestatic java.lang.StringUTF16.putChar:([BII)V
47: goto 127
end local 9 48: StackMap locals:
StackMap stack:
iload 3
ifne 50
49: iload 1
iconst_1
invokestatic java.lang.StringCoding.throwMalformed:(II)V
50: StackMap locals:
StackMap stack:
aload 7
iload 6
iinc 6 1
getstatic java.lang.StringCoding.repl:C
invokestatic java.lang.StringUTF16.putChar:([BII)V
51: goto 128
52: StackMap locals:
StackMap stack:
iload 8
iconst_4
ishr
bipush -2
if_icmpne 86
53: iload 1
iconst_1
iadd
iload 5
if_icmpge 77
54: aload 0
iload 1
iinc 1 1
baload
istore 9
start local 9 55: aload 0
iload 1
iinc 1 1
baload
istore 10
start local 10 56: iload 8
iload 9
iload 10
invokestatic java.lang.StringCoding.isMalformed3:(III)Z
ifeq 63
57: iload 3
ifne 59
58: iload 1
iconst_3
isub
iconst_3
invokestatic java.lang.StringCoding.throwMalformed:(II)V
59: StackMap locals: int int
StackMap stack:
aload 7
iload 6
iinc 6 1
getstatic java.lang.StringCoding.repl:C
invokestatic java.lang.StringUTF16.putChar:([BII)V
60: iinc 1 -3
61: iload 1
aload 0
iload 1
iconst_3
invokestatic java.lang.StringCoding.malformedN:([BII)I
iadd
istore 1
62: goto 127
63: StackMap locals:
StackMap stack:
iload 8
bipush 12
ishl
64: iload 9
bipush 6
ishl
65: ixor
66: iload 10
67: ldc -123008
68: ixor
69: ixor
i2c
istore 11
start local 11 70: iload 11
invokestatic java.lang.Character.isSurrogate:(C)Z
ifeq 75
71: iload 3
ifne 73
72: iload 1
iconst_3
isub
iconst_3
invokestatic java.lang.StringCoding.throwMalformed:(II)V
73: StackMap locals: int
StackMap stack:
aload 7
iload 6
iinc 6 1
getstatic java.lang.StringCoding.repl:C
invokestatic java.lang.StringUTF16.putChar:([BII)V
74: goto 127
75: StackMap locals:
StackMap stack:
aload 7
iload 6
iinc 6 1
iload 11
invokestatic java.lang.StringUTF16.putChar:([BII)V
end local 11 76: goto 127
end local 10 end local 9 77: StackMap locals:
StackMap stack:
iload 1
iload 5
if_icmpge 82
iload 8
aload 0
iload 1
baload
invokestatic java.lang.StringCoding.isMalformed3_2:(II)Z
ifeq 82
78: iload 3
ifne 80
79: iload 1
iconst_1
isub
iconst_2
invokestatic java.lang.StringCoding.throwMalformed:(II)V
80: StackMap locals:
StackMap stack:
aload 7
iload 6
iinc 6 1
getstatic java.lang.StringCoding.repl:C
invokestatic java.lang.StringUTF16.putChar:([BII)V
81: goto 127
82: StackMap locals:
StackMap stack:
iload 3
ifne 84
83: iload 1
iconst_1
invokestatic java.lang.StringCoding.throwMalformed:(II)V
84: StackMap locals:
StackMap stack:
aload 7
iload 6
iinc 6 1
getstatic java.lang.StringCoding.repl:C
invokestatic java.lang.StringUTF16.putChar:([BII)V
85: goto 128
86: StackMap locals:
StackMap stack:
iload 8
iconst_3
ishr
bipush -2
if_icmpne 124
87: iload 1
iconst_2
iadd
iload 5
if_icmpge 111
88: aload 0
iload 1
iinc 1 1
baload
istore 9
start local 9 89: aload 0
iload 1
iinc 1 1
baload
istore 10
start local 10 90: aload 0
iload 1
iinc 1 1
baload
istore 11
start local 11 91: iload 8
bipush 18
ishl
92: iload 9
bipush 12
ishl
93: ixor
94: iload 10
bipush 6
ishl
95: ixor
96: iload 11
97: ldc 3678080
98: ixor
99: ixor
istore 12
start local 12 100: iload 9
iload 10
iload 11
invokestatic java.lang.StringCoding.isMalformed4:(III)Z
ifne 102
101: iload 12
invokestatic java.lang.Character.isSupplementaryCodePoint:(I)Z
ifne 108
102: StackMap locals: byte[] int int int java.lang.StringCoding$Result int int byte[] int int int int int
StackMap stack:
iload 3
ifne 104
103: iload 1
iconst_4
isub
iconst_4
invokestatic java.lang.StringCoding.throwMalformed:(II)V
104: StackMap locals:
StackMap stack:
aload 7
iload 6
iinc 6 1
getstatic java.lang.StringCoding.repl:C
invokestatic java.lang.StringUTF16.putChar:([BII)V
105: iinc 1 -4
106: iload 1
aload 0
iload 1
iconst_4
invokestatic java.lang.StringCoding.malformedN:([BII)I
iadd
istore 1
107: goto 127
108: StackMap locals:
StackMap stack:
aload 7
iload 6
iinc 6 1
iload 12
invokestatic java.lang.Character.highSurrogate:(I)C
invokestatic java.lang.StringUTF16.putChar:([BII)V
109: aload 7
iload 6
iinc 6 1
iload 12
invokestatic java.lang.Character.lowSurrogate:(I)C
invokestatic java.lang.StringUTF16.putChar:([BII)V
110: goto 127
end local 12 end local 11 end local 10 end local 9 111: StackMap locals: byte[] int int int java.lang.StringCoding$Result int int byte[] int
StackMap stack:
iload 8
sipush 255
iand
istore 8
112: iload 8
sipush 244
if_icmpgt 114
113: iload 1
iload 5
if_icmpge 118
iload 8
aload 0
iload 1
baload
sipush 255
iand
invokestatic java.lang.StringCoding.isMalformed4_2:(II)Z
ifeq 118
114: StackMap locals:
StackMap stack:
iload 3
ifne 116
115: iload 1
iconst_1
isub
iconst_1
invokestatic java.lang.StringCoding.throwMalformed:(II)V
116: StackMap locals:
StackMap stack:
aload 7
iload 6
iinc 6 1
getstatic java.lang.StringCoding.repl:C
invokestatic java.lang.StringUTF16.putChar:([BII)V
117: goto 127
118: StackMap locals:
StackMap stack:
iload 3
ifne 120
119: iload 1
iconst_1
isub
iconst_1
invokestatic java.lang.StringCoding.throwMalformed:(II)V
120: StackMap locals:
StackMap stack:
iinc 1 1
121: aload 7
iload 6
iinc 6 1
getstatic java.lang.StringCoding.repl:C
invokestatic java.lang.StringUTF16.putChar:([BII)V
122: iload 1
iload 5
if_icmpge 128
aload 0
iload 1
baload
invokestatic java.lang.StringCoding.isMalformed4_3:(I)Z
ifeq 128
123: goto 127
124: StackMap locals:
StackMap stack:
iload 3
ifne 126
125: iload 1
iconst_1
isub
iconst_1
invokestatic java.lang.StringCoding.throwMalformed:(II)V
126: StackMap locals:
StackMap stack:
aload 7
iload 6
iinc 6 1
getstatic java.lang.StringCoding.repl:C
invokestatic java.lang.StringUTF16.putChar:([BII)V
end local 8 127: StackMap locals:
StackMap stack:
iload 1
iload 5
if_icmplt 31
128: StackMap locals:
StackMap stack:
iload 6
iload 2
if_icmpeq 130
129: aload 7
iload 6
iconst_1
ishl
invokestatic java.util.Arrays.copyOf:([BI)[B
astore 7
130: StackMap locals:
StackMap stack:
aload 4
aload 7
iconst_1
invokevirtual java.lang.StringCoding$Result.with:([BB)Ljava/lang/StringCoding$Result;
areturn
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 131 0 src [B
0 131 1 sp I
0 131 2 len I
0 131 3 doReplace Z
1 131 4 ret Ljava/lang/StringCoding$Result;
2 131 5 sl I
3 131 6 dp I
4 131 7 dst [B
7 19 8 b1 I
14 19 9 b2 I
28 30 8 buf [B
32 127 8 b1 I
38 48 9 b2 I
55 77 9 b2 I
56 77 10 b3 I
70 76 11 c C
89 111 9 b2 I
90 111 10 b3 I
91 111 11 b4 I
100 111 12 uc I
MethodParameters:
Name Flags
src
sp
len
doReplace
private static byte[] encodeUTF8(byte, byte[], boolean);
descriptor: (B[BZ)[B
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=5, locals=7, args_size=3
start local 0 start local 1 start local 2 0: iload 0
iconst_1
if_icmpne 2
1: aload 1
iload 2
invokestatic java.lang.StringCoding.encodeUTF8_UTF16:([BZ)[B
areturn
2: StackMap locals:
StackMap stack:
aload 1
iconst_0
aload 1
arraylength
invokestatic java.lang.StringCoding.hasNegatives:([BII)Z
ifne 4
3: aload 1
aload 1
arraylength
invokestatic java.util.Arrays.copyOf:([BI)[B
areturn
4: StackMap locals:
StackMap stack:
iconst_0
istore 3
start local 3 5: aload 1
arraylength
iconst_1
ishl
newarray 8
astore 4
start local 4 6: iconst_0
istore 5
start local 5 7: goto 15
8: StackMap locals: int byte[] int
StackMap stack:
aload 1
iload 5
baload
istore 6
start local 6 9: iload 6
ifge 13
10: aload 4
iload 3
iinc 3 1
sipush 192
iload 6
sipush 255
iand
bipush 6
ishr
ior
i2b
bastore
11: aload 4
iload 3
iinc 3 1
sipush 128
iload 6
bipush 63
iand
ior
i2b
bastore
12: goto 14
13: StackMap locals: int
StackMap stack:
aload 4
iload 3
iinc 3 1
iload 6
bastore
end local 6 14: StackMap locals:
StackMap stack:
iinc 5 1
StackMap locals:
StackMap stack:
15: iload 5
aload 1
arraylength
if_icmplt 8
end local 5 16: iload 3
aload 4
arraylength
if_icmpne 18
17: aload 4
areturn
18: StackMap locals:
StackMap stack:
aload 4
iload 3
invokestatic java.util.Arrays.copyOf:([BI)[B
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 19 0 coder B
0 19 1 val [B
0 19 2 doReplace Z
5 19 3 dp I
6 19 4 dst [B
7 16 5 sp I
9 14 6 c B
MethodParameters:
Name Flags
coder
val
doReplace
private static byte[] encodeUTF8_UTF16(byte[], boolean);
descriptor: ([BZ)[B
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=5, locals=9, args_size=2
start local 0 start local 1 0: iconst_0
istore 2
start local 2 1: iconst_0
istore 3
start local 3 2: aload 0
arraylength
iconst_1
ishr
istore 4
start local 4 3: iload 4
iconst_3
imul
newarray 8
astore 5
start local 5 4: goto 7
start local 6 5: StackMap locals: byte[] int int int int byte[] int
StackMap stack:
aload 5
iload 2
iinc 2 1
iload 6
i2b
bastore
6: iinc 3 1
end local 6 7: StackMap locals:
StackMap stack:
iload 3
iload 4
if_icmpge 39
aload 0
iload 3
invokestatic java.lang.StringUTF16.getChar:([BI)C
dup
istore 6
start local 6 8: sipush 128
if_icmplt 5
end local 6 9: goto 39
10: StackMap locals:
StackMap stack:
aload 0
iload 3
iinc 3 1
invokestatic java.lang.StringUTF16.getChar:([BI)C
istore 6
start local 6 11: iload 6
sipush 128
if_icmpge 14
12: aload 5
iload 2
iinc 2 1
iload 6
i2b
bastore
13: goto 39
StackMap locals: int
StackMap stack:
14: iload 6
sipush 2048
if_icmpge 18
15: aload 5
iload 2
iinc 2 1
sipush 192
iload 6
bipush 6
ishr
ior
i2b
bastore
16: aload 5
iload 2
iinc 2 1
sipush 128
iload 6
bipush 63
iand
ior
i2b
bastore
17: goto 39
StackMap locals:
StackMap stack:
18: iload 6
invokestatic java.lang.Character.isSurrogate:(C)Z
ifeq 36
19: iconst_m1
istore 7
start local 7 20: iload 6
invokestatic java.lang.Character.isHighSurrogate:(C)Z
ifeq 24
iload 3
iload 4
if_icmpge 24
21: aload 0
iload 3
invokestatic java.lang.StringUTF16.getChar:([BI)C
dup
istore 8
start local 8 22: invokestatic java.lang.Character.isLowSurrogate:(C)Z
ifeq 24
23: iload 6
iload 8
invokestatic java.lang.Character.toCodePoint:(CC)I
istore 7
end local 8 24: StackMap locals: int
StackMap stack:
iload 7
ifge 30
25: iload 1
ifeq 28
26: aload 5
iload 2
iinc 2 1
bipush 63
bastore
27: goto 39
28: StackMap locals:
StackMap stack:
iload 3
iconst_1
isub
iconst_1
invokestatic java.lang.StringCoding.throwUnmappable:(II)V
29: goto 39
30: StackMap locals:
StackMap stack:
aload 5
iload 2
iinc 2 1
sipush 240
iload 7
bipush 18
ishr
ior
i2b
bastore
31: aload 5
iload 2
iinc 2 1
sipush 128
iload 7
bipush 12
ishr
bipush 63
iand
ior
i2b
bastore
32: aload 5
iload 2
iinc 2 1
sipush 128
iload 7
bipush 6
ishr
bipush 63
iand
ior
i2b
bastore
33: aload 5
iload 2
iinc 2 1
sipush 128
iload 7
bipush 63
iand
ior
i2b
bastore
34: iinc 3 1
end local 7 35: goto 39
36: StackMap locals:
StackMap stack:
aload 5
iload 2
iinc 2 1
sipush 224
iload 6
bipush 12
ishr
ior
i2b
bastore
37: aload 5
iload 2
iinc 2 1
sipush 128
iload 6
bipush 6
ishr
bipush 63
iand
ior
i2b
bastore
38: aload 5
iload 2
iinc 2 1
sipush 128
iload 6
bipush 63
iand
ior
i2b
bastore
end local 6 39: StackMap locals:
StackMap stack:
iload 3
iload 4
if_icmplt 10
40: iload 2
aload 5
arraylength
if_icmpne 42
41: aload 5
areturn
42: StackMap locals:
StackMap stack:
aload 5
iload 2
invokestatic java.util.Arrays.copyOf:([BI)[B
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 43 0 val [B
0 43 1 doReplace Z
1 43 2 dp I
2 43 3 sp I
3 43 4 sl I
4 43 5 dst [B
5 7 6 c C
8 9 6 c C
11 39 6 c C
20 35 7 uc I
22 24 8 c2 C
MethodParameters:
Name Flags
val
doReplace
static java.lang.String newStringUTF8NoRepl(byte[], int, int);
descriptor: ([BII)Ljava/lang/String;
flags: (0x0008) ACC_STATIC
Code:
stack=6, locals=4, args_size=3
start local 0 start local 1 start local 2 0: getstatic java.lang.String.COMPACT_STRINGS:Z
ifeq 2
aload 0
iload 1
iload 2
invokestatic java.lang.StringCoding.hasNegatives:([BII)Z
ifne 2
1: new java.lang.String
dup
aload 0
iload 1
iload 1
iload 2
iadd
invokestatic java.util.Arrays.copyOfRange:([BII)[B
iconst_0
invokespecial java.lang.String.<init>:([BB)V
areturn
2: StackMap locals:
StackMap stack:
aload 0
iload 1
iload 2
iconst_0
invokestatic java.lang.StringCoding.decodeUTF8_0:([BIIZ)Ljava/lang/StringCoding$Result;
astore 3
start local 3 3: new java.lang.String
dup
aload 3
getfield java.lang.StringCoding$Result.value:[B
aload 3
getfield java.lang.StringCoding$Result.coder:B
invokespecial java.lang.String.<init>:([BB)V
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 src [B
0 4 1 off I
0 4 2 len I
3 4 3 ret Ljava/lang/StringCoding$Result;
MethodParameters:
Name Flags
src
off
len
static byte[] getBytesUTF8NoRepl(java.lang.String);
descriptor: (Ljava/lang/String;)[B
flags: (0x0008) ACC_STATIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual java.lang.String.coder:()B
aload 0
invokevirtual java.lang.String.value:()[B
iconst_0
invokestatic java.lang.StringCoding.encodeUTF8:(B[BZ)[B
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 s Ljava/lang/String;
MethodParameters:
Name Flags
s
private static boolean isASCII(byte[]);
descriptor: ([B)Z
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
iconst_0
aload 0
arraylength
invokestatic java.lang.StringCoding.hasNegatives:([BII)Z
ifeq 1
iconst_0
goto 2
StackMap locals:
StackMap stack:
1: iconst_1
StackMap locals:
StackMap stack: int
2: ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 src [B
MethodParameters:
Name Flags
src
private static java.lang.String newStringLatin1(byte[]);
descriptor: ([B)Ljava/lang/String;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=5, locals=1, args_size=1
start local 0 0: getstatic java.lang.String.COMPACT_STRINGS:Z
ifeq 2
1: new java.lang.String
dup
aload 0
iconst_0
invokespecial java.lang.String.<init>:([BB)V
areturn
2: StackMap locals:
StackMap stack:
new java.lang.String
dup
aload 0
iconst_0
aload 0
arraylength
invokestatic java.lang.StringLatin1.inflate:([BII)[B
iconst_1
invokespecial java.lang.String.<init>:([BB)V
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 src [B
MethodParameters:
Name Flags
src
static java.lang.String newStringNoRepl(byte[], java.nio.charset.Charset);
descriptor: ([BLjava/nio/charset/Charset;)Ljava/lang/String;
flags: (0x0008) ACC_STATIC
Code:
stack=2, locals=4, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokestatic java.lang.StringCoding.newStringNoRepl1:([BLjava/nio/charset/Charset;)Ljava/lang/String;
1: areturn
2: StackMap locals:
StackMap stack: java.lang.IllegalArgumentException
astore 2
start local 2 3: aload 2
invokevirtual java.lang.IllegalArgumentException.getCause:()Ljava/lang/Throwable;
astore 3
start local 3 4: aload 3
instanceof java.nio.charset.MalformedInputException
ifeq 6
5: aload 3
checkcast java.nio.charset.MalformedInputException
athrow
6: StackMap locals: java.lang.IllegalArgumentException java.lang.Throwable
StackMap stack:
aload 3
checkcast java.nio.charset.CharacterCodingException
athrow
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 src [B
0 7 1 cs Ljava/nio/charset/Charset;
3 7 2 e Ljava/lang/IllegalArgumentException;
4 7 3 cause Ljava/lang/Throwable;
Exception table:
from to target type
0 1 2 Class java.lang.IllegalArgumentException
Exceptions:
throws java.nio.charset.CharacterCodingException
MethodParameters:
Name Flags
src
cs
static java.lang.String newStringNoRepl1(byte[], java.nio.charset.Charset);
descriptor: ([BLjava/nio/charset/Charset;)Ljava/lang/String;
flags: (0x0008) ACC_STATIC
Code:
stack=4, locals=9, args_size=2
start local 0 start local 1 0: aload 1
getstatic java.lang.StringCoding.UTF_8:Ljava/nio/charset/Charset;
if_acmpne 5
1: getstatic java.lang.String.COMPACT_STRINGS:Z
ifeq 3
aload 0
invokestatic java.lang.StringCoding.isASCII:([B)Z
ifeq 3
2: new java.lang.String
dup
aload 0
iconst_0
invokespecial java.lang.String.<init>:([BB)V
areturn
3: StackMap locals:
StackMap stack:
aload 0
iconst_0
aload 0
arraylength
iconst_0
invokestatic java.lang.StringCoding.decodeUTF8_0:([BIIZ)Ljava/lang/StringCoding$Result;
astore 2
start local 2 4: new java.lang.String
dup
aload 2
getfield java.lang.StringCoding$Result.value:[B
aload 2
getfield java.lang.StringCoding$Result.coder:B
invokespecial java.lang.String.<init>:([BB)V
areturn
end local 2 5: StackMap locals:
StackMap stack:
aload 1
getstatic java.lang.StringCoding.ISO_8859_1:Ljava/nio/charset/Charset;
if_acmpne 7
6: aload 0
invokestatic java.lang.StringCoding.newStringLatin1:([B)Ljava/lang/String;
areturn
7: StackMap locals:
StackMap stack:
aload 1
getstatic java.lang.StringCoding.US_ASCII:Ljava/nio/charset/Charset;
if_acmpne 11
8: aload 0
invokestatic java.lang.StringCoding.isASCII:([B)Z
ifeq 10
9: aload 0
invokestatic java.lang.StringCoding.newStringLatin1:([B)Ljava/lang/String;
areturn
10: StackMap locals:
StackMap stack:
aload 0
invokestatic java.lang.StringCoding.throwMalformed:([B)V
11: StackMap locals:
StackMap stack:
aload 1
invokevirtual java.nio.charset.Charset.newDecoder:()Ljava/nio/charset/CharsetDecoder;
astore 2
start local 2 12: aload 2
instanceof sun.nio.cs.ArrayDecoder
ifeq 15
13: aload 2
checkcast sun.nio.cs.ArrayDecoder
invokeinterface sun.nio.cs.ArrayDecoder.isASCIICompatible:()Z
ifeq 15
aload 0
invokestatic java.lang.StringCoding.isASCII:([B)Z
ifeq 15
14: aload 0
invokestatic java.lang.StringCoding.newStringLatin1:([B)Ljava/lang/String;
areturn
15: StackMap locals: java.nio.charset.CharsetDecoder
StackMap stack:
aload 0
arraylength
istore 3
start local 3 16: iload 3
ifne 18
17: ldc ""
areturn
18: StackMap locals: int
StackMap stack:
iload 3
aload 2
invokevirtual java.nio.charset.CharsetDecoder.maxCharsPerByte:()F
invokestatic java.lang.StringCoding.scale:(IF)I
istore 4
start local 4 19: iload 4
newarray 5
astore 5
start local 5 20: aload 1
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
invokevirtual java.lang.Class.getClassLoader0:()Ljava/lang/ClassLoader;
ifnull 23
21: invokestatic java.lang.System.getSecurityManager:()Ljava/lang/SecurityManager;
ifnull 23
22: aload 0
iload 3
invokestatic java.util.Arrays.copyOf:([BI)[B
astore 0
23: StackMap locals: int char[]
StackMap stack:
aload 0
invokestatic java.nio.ByteBuffer.wrap:([B)Ljava/nio/ByteBuffer;
astore 6
start local 6 24: aload 5
invokestatic java.nio.CharBuffer.wrap:([C)Ljava/nio/CharBuffer;
astore 7
start local 7 25: aload 2
aload 6
aload 7
iconst_1
invokevirtual java.nio.charset.CharsetDecoder.decode:(Ljava/nio/ByteBuffer;Ljava/nio/CharBuffer;Z)Ljava/nio/charset/CoderResult;
astore 8
start local 8 26: aload 8
invokevirtual java.nio.charset.CoderResult.isUnderflow:()Z
ifne 28
27: aload 8
invokevirtual java.nio.charset.CoderResult.throwException:()V
28: StackMap locals: java.nio.ByteBuffer java.nio.CharBuffer java.nio.charset.CoderResult
StackMap stack:
aload 2
aload 7
invokevirtual java.nio.charset.CharsetDecoder.flush:(Ljava/nio/CharBuffer;)Ljava/nio/charset/CoderResult;
astore 8
29: aload 8
invokevirtual java.nio.charset.CoderResult.isUnderflow:()Z
ifne 34
30: aload 8
invokevirtual java.nio.charset.CoderResult.throwException:()V
end local 8 31: goto 34
StackMap locals: byte[] java.nio.charset.Charset java.nio.charset.CharsetDecoder int int char[] java.nio.ByteBuffer java.nio.CharBuffer
StackMap stack: java.nio.charset.CharacterCodingException
32: astore 8
start local 8 33: new java.lang.IllegalArgumentException
dup
aload 8
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/Throwable;)V
athrow
end local 8 34: StackMap locals:
StackMap stack:
getstatic java.lang.StringCoding.resultCached:Ljava/lang/ThreadLocal;
invokevirtual java.lang.ThreadLocal.get:()Ljava/lang/Object;
checkcast java.lang.StringCoding$Result
aload 5
iconst_0
aload 7
invokevirtual java.nio.CharBuffer.position:()I
invokevirtual java.lang.StringCoding$Result.with:([CII)Ljava/lang/StringCoding$Result;
astore 8
start local 8 35: new java.lang.String
dup
aload 8
getfield java.lang.StringCoding$Result.value:[B
aload 8
getfield java.lang.StringCoding$Result.coder:B
invokespecial java.lang.String.<init>:([BB)V
areturn
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 36 0 src [B
0 36 1 cs Ljava/nio/charset/Charset;
4 5 2 ret Ljava/lang/StringCoding$Result;
12 36 2 cd Ljava/nio/charset/CharsetDecoder;
16 36 3 len I
19 36 4 en I
20 36 5 ca [C
24 36 6 bb Ljava/nio/ByteBuffer;
25 36 7 cb Ljava/nio/CharBuffer;
26 31 8 cr Ljava/nio/charset/CoderResult;
33 34 8 x Ljava/nio/charset/CharacterCodingException;
35 36 8 ret Ljava/lang/StringCoding$Result;
Exception table:
from to target type
25 31 32 Class java.nio.charset.CharacterCodingException
MethodParameters:
Name Flags
src
cs
static byte[] getBytesNoRepl(java.lang.String, java.nio.charset.Charset);
descriptor: (Ljava/lang/String;Ljava/nio/charset/Charset;)[B
flags: (0x0008) ACC_STATIC
Code:
stack=2, locals=4, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokestatic java.lang.StringCoding.getBytesNoRepl1:(Ljava/lang/String;Ljava/nio/charset/Charset;)[B
1: areturn
2: StackMap locals:
StackMap stack: java.lang.IllegalArgumentException
astore 2
start local 2 3: aload 2
invokevirtual java.lang.IllegalArgumentException.getCause:()Ljava/lang/Throwable;
astore 3
start local 3 4: aload 3
instanceof java.nio.charset.UnmappableCharacterException
ifeq 6
5: aload 3
checkcast java.nio.charset.UnmappableCharacterException
athrow
6: StackMap locals: java.lang.IllegalArgumentException java.lang.Throwable
StackMap stack:
aload 3
checkcast java.nio.charset.CharacterCodingException
athrow
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 s Ljava/lang/String;
0 7 1 cs Ljava/nio/charset/Charset;
3 7 2 e Ljava/lang/IllegalArgumentException;
4 7 3 cause Ljava/lang/Throwable;
Exception table:
from to target type
0 1 2 Class java.lang.IllegalArgumentException
Exceptions:
throws java.nio.charset.CharacterCodingException
MethodParameters:
Name Flags
s
cs
static byte[] getBytesNoRepl1(java.lang.String, java.nio.charset.Charset);
descriptor: (Ljava/lang/String;Ljava/nio/charset/Charset;)[B
flags: (0x0008) ACC_STATIC
Code:
stack=5, locals=13, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual java.lang.String.value:()[B
astore 2
start local 2 1: aload 0
invokevirtual java.lang.String.coder:()B
istore 3
start local 3 2: aload 1
getstatic java.lang.StringCoding.UTF_8:Ljava/nio/charset/Charset;
if_acmpne 6
3: iload 3
ifne 5
aload 2
invokestatic java.lang.StringCoding.isASCII:([B)Z
ifeq 5
4: aload 2
areturn
5: StackMap locals: byte[] int
StackMap stack:
iload 3
aload 2
iconst_0
invokestatic java.lang.StringCoding.encodeUTF8:(B[BZ)[B
areturn
6: StackMap locals:
StackMap stack:
aload 1
getstatic java.lang.StringCoding.ISO_8859_1:Ljava/nio/charset/Charset;
if_acmpne 10
7: iload 3
ifne 9
8: aload 2
areturn
9: StackMap locals:
StackMap stack:
iload 3
aload 2
iconst_0
invokestatic java.lang.StringCoding.encode8859_1:(B[BZ)[B
areturn
10: StackMap locals:
StackMap stack:
aload 1
getstatic java.lang.StringCoding.US_ASCII:Ljava/nio/charset/Charset;
if_acmpne 15
11: iload 3
ifne 15
12: aload 2
invokestatic java.lang.StringCoding.isASCII:([B)Z
ifeq 14
13: aload 2
areturn
14: StackMap locals:
StackMap stack:
aload 2
invokestatic java.lang.StringCoding.throwUnmappable:([B)V
15: StackMap locals:
StackMap stack:
aload 1
invokevirtual java.nio.charset.Charset.newEncoder:()Ljava/nio/charset/CharsetEncoder;
astore 4
start local 4 16: iload 3
ifne 20
aload 4
instanceof sun.nio.cs.ArrayEncoder
ifeq 20
17: aload 4
checkcast sun.nio.cs.ArrayEncoder
invokeinterface sun.nio.cs.ArrayEncoder.isASCIICompatible:()Z
ifeq 20
18: aload 2
invokestatic java.lang.StringCoding.isASCII:([B)Z
ifeq 20
19: aload 2
areturn
20: StackMap locals: java.nio.charset.CharsetEncoder
StackMap stack:
aload 2
arraylength
iload 3
ishr
istore 5
start local 5 21: iload 5
aload 4
invokevirtual java.nio.charset.CharsetEncoder.maxBytesPerChar:()F
invokestatic java.lang.StringCoding.scale:(IF)I
istore 6
start local 6 22: iload 6
newarray 8
astore 7
start local 7 23: iload 5
ifne 25
24: aload 7
areturn
25: StackMap locals: int int byte[]
StackMap stack:
aload 4
instanceof sun.nio.cs.ArrayEncoder
ifeq 31
26: iload 3
ifne 27
aload 4
checkcast sun.nio.cs.ArrayEncoder
aload 2
iconst_0
iload 5
aload 7
invokeinterface sun.nio.cs.ArrayEncoder.encodeFromLatin1:([BII[B)I
goto 28
27: StackMap locals:
StackMap stack:
aload 4
checkcast sun.nio.cs.ArrayEncoder
aload 2
iconst_0
iload 5
aload 7
invokeinterface sun.nio.cs.ArrayEncoder.encodeFromUTF16:([BII[B)I
28: StackMap locals:
StackMap stack: int
istore 8
start local 8 29: iload 8
iconst_m1
if_icmpeq 31
30: aload 7
iload 8
iconst_1
invokestatic java.lang.StringCoding.safeTrim:([BIZ)[B
areturn
end local 8 31: StackMap locals:
StackMap stack:
aload 1
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
invokevirtual java.lang.Class.getClassLoader0:()Ljava/lang/ClassLoader;
ifnull 34
32: invokestatic java.lang.System.getSecurityManager:()Ljava/lang/SecurityManager;
ifnull 34
33: iconst_0
goto 35
StackMap locals:
StackMap stack:
34: iconst_1
StackMap locals:
StackMap stack: int
35: istore 8
start local 8 36: iload 3
ifne 37
aload 2
invokestatic java.lang.StringLatin1.toChars:([B)[C
goto 38
37: StackMap locals: int
StackMap stack:
aload 2
invokestatic java.lang.StringUTF16.toChars:([B)[C
38: StackMap locals:
StackMap stack: char[]
astore 9
start local 9 39: aload 7
invokestatic java.nio.ByteBuffer.wrap:([B)Ljava/nio/ByteBuffer;
astore 10
start local 10 40: aload 9
iconst_0
iload 5
invokestatic java.nio.CharBuffer.wrap:([CII)Ljava/nio/CharBuffer;
astore 11
start local 11 41: aload 4
aload 11
aload 10
iconst_1
invokevirtual java.nio.charset.CharsetEncoder.encode:(Ljava/nio/CharBuffer;Ljava/nio/ByteBuffer;Z)Ljava/nio/charset/CoderResult;
astore 12
start local 12 42: aload 12
invokevirtual java.nio.charset.CoderResult.isUnderflow:()Z
ifne 44
43: aload 12
invokevirtual java.nio.charset.CoderResult.throwException:()V
44: StackMap locals: java.lang.String java.nio.charset.Charset byte[] int java.nio.charset.CharsetEncoder int int byte[] int char[] java.nio.ByteBuffer java.nio.CharBuffer java.nio.charset.CoderResult
StackMap stack:
aload 4
aload 10
invokevirtual java.nio.charset.CharsetEncoder.flush:(Ljava/nio/ByteBuffer;)Ljava/nio/charset/CoderResult;
astore 12
45: aload 12
invokevirtual java.nio.charset.CoderResult.isUnderflow:()Z
ifne 50
46: aload 12
invokevirtual java.nio.charset.CoderResult.throwException:()V
end local 12 47: goto 50
StackMap locals: java.lang.String java.nio.charset.Charset byte[] int java.nio.charset.CharsetEncoder int int byte[] int char[] java.nio.ByteBuffer java.nio.CharBuffer
StackMap stack: java.nio.charset.CharacterCodingException
48: astore 12
start local 12 49: new java.lang.IllegalArgumentException
dup
aload 12
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/Throwable;)V
athrow
end local 12 50: StackMap locals:
StackMap stack:
aload 7
aload 10
invokevirtual java.nio.ByteBuffer.position:()I
iload 8
invokestatic java.lang.StringCoding.safeTrim:([BIZ)[B
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 51 0 s Ljava/lang/String;
0 51 1 cs Ljava/nio/charset/Charset;
1 51 2 val [B
2 51 3 coder B
16 51 4 ce Ljava/nio/charset/CharsetEncoder;
21 51 5 len I
22 51 6 en I
23 51 7 ba [B
29 31 8 blen I
36 51 8 isTrusted Z
39 51 9 ca [C
40 51 10 bb Ljava/nio/ByteBuffer;
41 51 11 cb Ljava/nio/CharBuffer;
42 47 12 cr Ljava/nio/charset/CoderResult;
49 50 12 x Ljava/nio/charset/CharacterCodingException;
Exception table:
from to target type
41 47 48 Class java.nio.charset.CharacterCodingException
MethodParameters:
Name Flags
s
cs
}
SourceFile: "StringCoding.java"
NestMembers:
java.lang.StringCoding$1 java.lang.StringCoding$Result java.lang.StringCoding$StringDecoder java.lang.StringCoding$StringEncoder
InnerClasses:
java.lang.StringCoding$1
Result = java.lang.StringCoding$Result of java.lang.StringCoding
StringDecoder = java.lang.StringCoding$StringDecoder of java.lang.StringCoding
private StringEncoder = java.lang.StringCoding$StringEncoder of java.lang.StringCoding