final class java.lang.StringLatin1
minor version: 0
major version: 59
flags: flags: (0x0030) ACC_FINAL, ACC_SUPER
this_class: java.lang.StringLatin1
super_class: java.lang.Object
{
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: .line 44
ldc Ljava/lang/StringLatin1;
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.StringLatin1.$assertionsDisabled:Z
return
LocalVariableTable:
Start End Slot Name Signature
void <init>();
descriptor: ()V
flags: (0x0000)
Code:
stack=1, locals=1, args_size=1
start local 0 // java.lang.StringLatin1 this
0: .line 44
aload 0 /* this */
invokespecial java.lang.Object.<init>:()V
return
end local 0 // java.lang.StringLatin1 this
LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljava/lang/StringLatin1;
public static char charAt(byte[], int);
descriptor: ([BI)C
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=2, args_size=2
start local 0 // byte[] value
start local 1 // int index
0: .line 47
iload 1 /* index */
iflt 1
iload 1 /* index */
aload 0 /* value */
arraylength
if_icmplt 2
1: .line 48
StackMap locals:
StackMap stack:
new java.lang.StringIndexOutOfBoundsException
dup
iload 1 /* index */
invokespecial java.lang.StringIndexOutOfBoundsException.<init>:(I)V
athrow
2: .line 50
StackMap locals:
StackMap stack:
aload 0 /* value */
iload 1 /* index */
baload
sipush 255
iand
i2c
ireturn
end local 1 // int index
end local 0 // byte[] value
LocalVariableTable:
Start End Slot Name Signature
0 3 0 value [B
0 3 1 index I
MethodParameters:
Name Flags
value
index
public static boolean canEncode(int);
descriptor: (I)Z
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=1, args_size=1
start local 0 // int cp
0: .line 54
iload 0 /* cp */
bipush 8
iushr
ifne 1
iconst_1
ireturn
StackMap locals:
StackMap stack:
1: iconst_0
ireturn
end local 0 // int cp
LocalVariableTable:
Start End Slot Name Signature
0 2 0 cp I
MethodParameters:
Name Flags
cp
public static int length(byte[]);
descriptor: ([B)I
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=1, locals=1, args_size=1
start local 0 // byte[] value
0: .line 58
aload 0 /* value */
arraylength
ireturn
end local 0 // byte[] value
LocalVariableTable:
Start End Slot Name Signature
0 1 0 value [B
MethodParameters:
Name Flags
value
public static int codePointAt(byte[], int, int);
descriptor: ([BII)I
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=3, args_size=3
start local 0 // byte[] value
start local 1 // int index
start local 2 // int end
0: .line 62
aload 0 /* value */
iload 1 /* index */
baload
sipush 255
iand
ireturn
end local 2 // int end
end local 1 // int index
end local 0 // byte[] value
LocalVariableTable:
Start End Slot Name Signature
0 1 0 value [B
0 1 1 index I
0 1 2 end I
MethodParameters:
Name Flags
value
index
end
public static int codePointBefore(byte[], int);
descriptor: ([BI)I
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=2, args_size=2
start local 0 // byte[] value
start local 1 // int index
0: .line 66
aload 0 /* value */
iload 1 /* index */
iconst_1
isub
baload
sipush 255
iand
ireturn
end local 1 // int index
end local 0 // byte[] value
LocalVariableTable:
Start End Slot Name Signature
0 1 0 value [B
0 1 1 index I
MethodParameters:
Name Flags
value
index
public static int codePointCount(byte[], int, int);
descriptor: ([BII)I
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=3, args_size=3
start local 0 // byte[] value
start local 1 // int beginIndex
start local 2 // int endIndex
0: .line 70
iload 2 /* endIndex */
iload 1 /* beginIndex */
isub
ireturn
end local 2 // int endIndex
end local 1 // int beginIndex
end local 0 // byte[] value
LocalVariableTable:
Start End Slot Name Signature
0 1 0 value [B
0 1 1 beginIndex I
0 1 2 endIndex I
MethodParameters:
Name Flags
value
beginIndex
endIndex
public static char[] toChars(byte[]);
descriptor: ([B)[C
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=5, locals=2, args_size=1
start local 0 // byte[] value
0: .line 74
aload 0 /* value */
arraylength
newarray 5
astore 1 /* dst */
start local 1 // char[] dst
1: .line 75
aload 0 /* value */
iconst_0
aload 1 /* dst */
iconst_0
aload 0 /* value */
arraylength
invokestatic java.lang.StringLatin1.inflate:([BI[CII)V
2: .line 76
aload 1 /* dst */
areturn
end local 1 // char[] dst
end local 0 // byte[] value
LocalVariableTable:
Start End Slot Name Signature
0 3 0 value [B
1 3 1 dst [C
MethodParameters:
Name Flags
value
public static byte[] inflate(byte[], int, int);
descriptor: ([BII)[B
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=5, locals=4, args_size=3
start local 0 // byte[] value
start local 1 // int off
start local 2 // int len
0: .line 80
iload 2 /* len */
invokestatic java.lang.StringUTF16.newBytesFor:(I)[B
astore 3 /* ret */
start local 3 // byte[] ret
1: .line 81
aload 0 /* value */
iload 1 /* off */
aload 3 /* ret */
iconst_0
iload 2 /* len */
invokestatic java.lang.StringLatin1.inflate:([BI[BII)V
2: .line 82
aload 3 /* ret */
areturn
end local 3 // byte[] ret
end local 2 // int len
end local 1 // int off
end local 0 // byte[] value
LocalVariableTable:
Start End Slot Name Signature
0 3 0 value [B
0 3 1 off I
0 3 2 len I
1 3 3 ret [B
MethodParameters:
Name Flags
value
off
len
public static void getChars(byte[], int, int, char[], int);
descriptor: ([BII[CI)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=6, locals=5, args_size=5
start local 0 // byte[] value
start local 1 // int srcBegin
start local 2 // int srcEnd
start local 3 // char[] dst
start local 4 // int dstBegin
0: .line 86
aload 0 /* value */
iload 1 /* srcBegin */
aload 3 /* dst */
iload 4 /* dstBegin */
iload 2 /* srcEnd */
iload 1 /* srcBegin */
isub
invokestatic java.lang.StringLatin1.inflate:([BI[CII)V
1: .line 87
return
end local 4 // int dstBegin
end local 3 // char[] dst
end local 2 // int srcEnd
end local 1 // int srcBegin
end local 0 // byte[] value
LocalVariableTable:
Start End Slot Name Signature
0 2 0 value [B
0 2 1 srcBegin I
0 2 2 srcEnd I
0 2 3 dst [C
0 2 4 dstBegin I
MethodParameters:
Name Flags
value
srcBegin
srcEnd
dst
dstBegin
public static void getBytes(byte[], int, int, byte[], int);
descriptor: ([BII[BI)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=6, locals=5, args_size=5
start local 0 // byte[] value
start local 1 // int srcBegin
start local 2 // int srcEnd
start local 3 // byte[] dst
start local 4 // int dstBegin
0: .line 90
aload 0 /* value */
iload 1 /* srcBegin */
aload 3 /* dst */
iload 4 /* dstBegin */
iload 2 /* srcEnd */
iload 1 /* srcBegin */
isub
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
1: .line 91
return
end local 4 // int dstBegin
end local 3 // byte[] dst
end local 2 // int srcEnd
end local 1 // int srcBegin
end local 0 // byte[] value
LocalVariableTable:
Start End Slot Name Signature
0 2 0 value [B
0 2 1 srcBegin I
0 2 2 srcEnd I
0 2 3 dst [B
0 2 4 dstBegin I
MethodParameters:
Name Flags
value
srcBegin
srcEnd
dst
dstBegin
public static boolean equals(byte[], byte[]);
descriptor: ([B[B)Z
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=3, args_size=2
start local 0 // byte[] value
start local 1 // byte[] other
0: .line 95
aload 0 /* value */
arraylength
aload 1 /* other */
arraylength
if_icmpne 8
1: .line 96
iconst_0
istore 2 /* i */
start local 2 // int i
2: goto 6
3: .line 97
StackMap locals: int
StackMap stack:
aload 0 /* value */
iload 2 /* i */
baload
aload 1 /* other */
iload 2 /* i */
baload
if_icmpeq 5
4: .line 98
iconst_0
ireturn
5: .line 96
StackMap locals:
StackMap stack:
iinc 2 /* i */ 1
StackMap locals:
StackMap stack:
6: iload 2 /* i */
aload 0 /* value */
arraylength
if_icmplt 3
end local 2 // int i
7: .line 101
iconst_1
ireturn
8: .line 103
StackMap locals:
StackMap stack:
iconst_0
ireturn
end local 1 // byte[] other
end local 0 // byte[] value
LocalVariableTable:
Start End Slot Name Signature
0 9 0 value [B
0 9 1 other [B
2 7 2 i I
RuntimeVisibleAnnotations:
jdk.internal.vm.annotation.IntrinsicCandidate()
MethodParameters:
Name Flags
value
other
public static int compareTo(byte[], byte[]);
descriptor: ([B[B)I
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=4, locals=4, args_size=2
start local 0 // byte[] value
start local 1 // byte[] other
0: .line 108
aload 0 /* value */
arraylength
istore 2 /* len1 */
start local 2 // int len1
1: .line 109
aload 1 /* other */
arraylength
istore 3 /* len2 */
start local 3 // int len2
2: .line 110
aload 0 /* value */
aload 1 /* other */
iload 2 /* len1 */
iload 3 /* len2 */
invokestatic java.lang.StringLatin1.compareTo:([B[BII)I
ireturn
end local 3 // int len2
end local 2 // int len1
end local 1 // byte[] other
end local 0 // byte[] value
LocalVariableTable:
Start End Slot Name Signature
0 3 0 value [B
0 3 1 other [B
1 3 2 len1 I
2 3 3 len2 I
RuntimeVisibleAnnotations:
jdk.internal.vm.annotation.IntrinsicCandidate()
MethodParameters:
Name Flags
value
other
public static int compareTo(byte[], byte[], int, int);
descriptor: ([B[BII)I
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=6, args_size=4
start local 0 // byte[] value
start local 1 // byte[] other
start local 2 // int len1
start local 3 // int len2
0: .line 114
iload 2 /* len1 */
iload 3 /* len2 */
invokestatic java.lang.Math.min:(II)I
istore 4 /* lim */
start local 4 // int lim
1: .line 115
iconst_0
istore 5 /* k */
start local 5 // int k
2: goto 6
3: .line 116
StackMap locals: int int
StackMap stack:
aload 0 /* value */
iload 5 /* k */
baload
aload 1 /* other */
iload 5 /* k */
baload
if_icmpeq 5
4: .line 117
aload 0 /* value */
iload 5 /* k */
invokestatic java.lang.StringLatin1.getChar:([BI)C
aload 1 /* other */
iload 5 /* k */
invokestatic java.lang.StringLatin1.getChar:([BI)C
isub
ireturn
5: .line 115
StackMap locals:
StackMap stack:
iinc 5 /* k */ 1
StackMap locals:
StackMap stack:
6: iload 5 /* k */
iload 4 /* lim */
if_icmplt 3
end local 5 // int k
7: .line 120
iload 2 /* len1 */
iload 3 /* len2 */
isub
ireturn
end local 4 // int lim
end local 3 // int len2
end local 2 // int len1
end local 1 // byte[] other
end local 0 // byte[] value
LocalVariableTable:
Start End Slot Name Signature
0 8 0 value [B
0 8 1 other [B
0 8 2 len1 I
0 8 3 len2 I
1 8 4 lim I
2 7 5 k I
MethodParameters:
Name Flags
value
other
len1
len2
public static int compareToUTF16(byte[], byte[]);
descriptor: ([B[B)I
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=4, locals=4, args_size=2
start local 0 // byte[] value
start local 1 // byte[] other
0: .line 125
aload 0 /* value */
invokestatic java.lang.StringLatin1.length:([B)I
istore 2 /* len1 */
start local 2 // int len1
1: .line 126
aload 1 /* other */
invokestatic java.lang.StringUTF16.length:([B)I
istore 3 /* len2 */
start local 3 // int len2
2: .line 127
aload 0 /* value */
aload 1 /* other */
iload 2 /* len1 */
iload 3 /* len2 */
invokestatic java.lang.StringLatin1.compareToUTF16Values:([B[BII)I
ireturn
end local 3 // int len2
end local 2 // int len1
end local 1 // byte[] other
end local 0 // byte[] value
LocalVariableTable:
Start End Slot Name Signature
0 3 0 value [B
0 3 1 other [B
1 3 2 len1 I
2 3 3 len2 I
RuntimeVisibleAnnotations:
jdk.internal.vm.annotation.IntrinsicCandidate()
MethodParameters:
Name Flags
value
other
public static int compareToUTF16(byte[], byte[], int, int);
descriptor: ([B[BII)I
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=4, locals=4, args_size=4
start local 0 // byte[] value
start local 1 // byte[] other
start local 2 // int len1
start local 3 // int len2
0: .line 134
iload 2 /* len1 */
aload 0 /* value */
invokestatic java.lang.StringLatin1.length:([B)I
invokestatic java.lang.String.checkOffset:(II)V
1: .line 135
iload 3 /* len2 */
aload 1 /* other */
invokestatic java.lang.StringUTF16.length:([B)I
invokestatic java.lang.String.checkOffset:(II)V
2: .line 137
aload 0 /* value */
aload 1 /* other */
iload 2 /* len1 */
iload 3 /* len2 */
invokestatic java.lang.StringLatin1.compareToUTF16Values:([B[BII)I
ireturn
end local 3 // int len2
end local 2 // int len1
end local 1 // byte[] other
end local 0 // byte[] value
LocalVariableTable:
Start End Slot Name Signature
0 3 0 value [B
0 3 1 other [B
0 3 2 len1 I
0 3 3 len2 I
MethodParameters:
Name Flags
value
other
len1
len2
private static int compareToUTF16Values(byte[], byte[], int, int);
descriptor: ([B[BII)I
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=8, args_size=4
start local 0 // byte[] value
start local 1 // byte[] other
start local 2 // int len1
start local 3 // int len2
0: .line 141
iload 2 /* len1 */
iload 3 /* len2 */
invokestatic java.lang.Math.min:(II)I
istore 4 /* lim */
start local 4 // int lim
1: .line 142
iconst_0
istore 5 /* k */
start local 5 // int k
2: goto 8
3: .line 143
StackMap locals: int int
StackMap stack:
aload 0 /* value */
iload 5 /* k */
invokestatic java.lang.StringLatin1.getChar:([BI)C
istore 6 /* c1 */
start local 6 // char c1
4: .line 144
aload 1 /* other */
iload 5 /* k */
invokestatic java.lang.StringUTF16.getChar:([BI)C
istore 7 /* c2 */
start local 7 // char c2
5: .line 145
iload 6 /* c1 */
iload 7 /* c2 */
if_icmpeq 7
6: .line 146
iload 6 /* c1 */
iload 7 /* c2 */
isub
ireturn
end local 7 // char c2
end local 6 // char c1
7: .line 142
StackMap locals:
StackMap stack:
iinc 5 /* k */ 1
StackMap locals:
StackMap stack:
8: iload 5 /* k */
iload 4 /* lim */
if_icmplt 3
end local 5 // int k
9: .line 149
iload 2 /* len1 */
iload 3 /* len2 */
isub
ireturn
end local 4 // int lim
end local 3 // int len2
end local 2 // int len1
end local 1 // byte[] other
end local 0 // byte[] value
LocalVariableTable:
Start End Slot Name Signature
0 10 0 value [B
0 10 1 other [B
0 10 2 len1 I
0 10 3 len2 I
1 10 4 lim I
2 9 5 k I
4 7 6 c1 C
5 7 7 c2 C
MethodParameters:
Name Flags
value
other
len1
len2
public static int compareToCI(byte[], byte[]);
descriptor: ([B[B)I
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=8, args_size=2
start local 0 // byte[] value
start local 1 // byte[] other
0: .line 153
aload 0 /* value */
arraylength
istore 2 /* len1 */
start local 2 // int len1
1: .line 154
aload 1 /* other */
arraylength
istore 3 /* len2 */
start local 3 // int len2
2: .line 155
iload 2 /* len1 */
iload 3 /* len2 */
invokestatic java.lang.Math.min:(II)I
istore 4 /* lim */
start local 4 // int lim
3: .line 156
iconst_0
istore 5 /* k */
start local 5 // int k
4: goto 14
5: .line 157
StackMap locals: byte[] byte[] int int int int
StackMap stack:
aload 0 /* value */
iload 5 /* k */
baload
aload 1 /* other */
iload 5 /* k */
baload
if_icmpeq 13
6: .line 158
getstatic java.lang.CharacterDataLatin1.instance:Ljava/lang/CharacterDataLatin1;
aload 0 /* value */
iload 5 /* k */
invokestatic java.lang.StringLatin1.getChar:([BI)C
invokevirtual java.lang.CharacterDataLatin1.toUpperCase:(I)I
i2c
istore 6 /* c1 */
start local 6 // char c1
7: .line 159
getstatic java.lang.CharacterDataLatin1.instance:Ljava/lang/CharacterDataLatin1;
aload 1 /* other */
iload 5 /* k */
invokestatic java.lang.StringLatin1.getChar:([BI)C
invokevirtual java.lang.CharacterDataLatin1.toUpperCase:(I)I
i2c
istore 7 /* c2 */
start local 7 // char c2
8: .line 160
iload 6 /* c1 */
iload 7 /* c2 */
if_icmpeq 13
9: .line 161
iload 6 /* c1 */
invokestatic java.lang.Character.toLowerCase:(C)C
istore 6 /* c1 */
10: .line 162
iload 7 /* c2 */
invokestatic java.lang.Character.toLowerCase:(C)C
istore 7 /* c2 */
11: .line 163
iload 6 /* c1 */
iload 7 /* c2 */
if_icmpeq 13
12: .line 164
iload 6 /* c1 */
iload 7 /* c2 */
isub
ireturn
end local 7 // char c2
end local 6 // char c1
13: .line 156
StackMap locals:
StackMap stack:
iinc 5 /* k */ 1
StackMap locals:
StackMap stack:
14: iload 5 /* k */
iload 4 /* lim */
if_icmplt 5
end local 5 // int k
15: .line 169
iload 2 /* len1 */
iload 3 /* len2 */
isub
ireturn
end local 4 // int lim
end local 3 // int len2
end local 2 // int len1
end local 1 // byte[] other
end local 0 // byte[] value
LocalVariableTable:
Start End Slot Name Signature
0 16 0 value [B
0 16 1 other [B
1 16 2 len1 I
2 16 3 len2 I
3 16 4 lim I
4 15 5 k I
7 13 6 c1 C
8 13 7 c2 C
MethodParameters:
Name Flags
value
other
public static int compareToCI_UTF16(byte[], byte[]);
descriptor: ([B[B)I
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=8, args_size=2
start local 0 // byte[] value
start local 1 // byte[] other
0: .line 173
aload 0 /* value */
invokestatic java.lang.StringLatin1.length:([B)I
istore 2 /* len1 */
start local 2 // int len1
1: .line 174
aload 1 /* other */
invokestatic java.lang.StringUTF16.length:([B)I
istore 3 /* len2 */
start local 3 // int len2
2: .line 175
iload 2 /* len1 */
iload 3 /* len2 */
invokestatic java.lang.Math.min:(II)I
istore 4 /* lim */
start local 4 // int lim
3: .line 176
iconst_0
istore 5 /* k */
start local 5 // int k
4: goto 16
5: .line 177
StackMap locals: byte[] byte[] int int int int
StackMap stack:
aload 0 /* value */
iload 5 /* k */
invokestatic java.lang.StringLatin1.getChar:([BI)C
istore 6 /* c1 */
start local 6 // char c1
6: .line 178
aload 1 /* other */
iload 5 /* k */
invokestatic java.lang.StringUTF16.getChar:([BI)C
istore 7 /* c2 */
start local 7 // char c2
7: .line 179
iload 6 /* c1 */
iload 7 /* c2 */
if_icmpeq 15
8: .line 180
getstatic java.lang.CharacterDataLatin1.instance:Ljava/lang/CharacterDataLatin1;
iload 6 /* c1 */
invokevirtual java.lang.CharacterDataLatin1.toUpperCase:(I)I
i2c
istore 6 /* c1 */
9: .line 181
iload 7 /* c2 */
invokestatic java.lang.Character.toUpperCase:(C)C
istore 7 /* c2 */
10: .line 182
iload 6 /* c1 */
iload 7 /* c2 */
if_icmpeq 15
11: .line 183
iload 6 /* c1 */
invokestatic java.lang.Character.toLowerCase:(C)C
istore 6 /* c1 */
12: .line 184
iload 7 /* c2 */
invokestatic java.lang.Character.toLowerCase:(C)C
istore 7 /* c2 */
13: .line 185
iload 6 /* c1 */
iload 7 /* c2 */
if_icmpeq 15
14: .line 186
iload 6 /* c1 */
iload 7 /* c2 */
isub
ireturn
end local 7 // char c2
end local 6 // char c1
15: .line 176
StackMap locals:
StackMap stack:
iinc 5 /* k */ 1
StackMap locals:
StackMap stack:
16: iload 5 /* k */
iload 4 /* lim */
if_icmplt 5
end local 5 // int k
17: .line 191
iload 2 /* len1 */
iload 3 /* len2 */
isub
ireturn
end local 4 // int lim
end local 3 // int len2
end local 2 // int len1
end local 1 // byte[] other
end local 0 // byte[] value
LocalVariableTable:
Start End Slot Name Signature
0 18 0 value [B
0 18 1 other [B
1 18 2 len1 I
2 18 3 len2 I
3 18 4 lim I
4 17 5 k I
6 15 6 c1 C
7 15 7 c2 C
MethodParameters:
Name Flags
value
other
public static int hashCode(byte[]);
descriptor: ([B)I
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=6, args_size=1
start local 0 // byte[] value
0: .line 195
iconst_0
istore 1 /* h */
start local 1 // int h
1: .line 196
aload 0 /* value */
dup
astore 5
arraylength
istore 4
iconst_0
istore 3
goto 5
StackMap locals: byte[] int top int int byte[]
StackMap stack:
2: aload 5
iload 3
baload
istore 2 /* v */
start local 2 // byte v
3: .line 197
bipush 31
iload 1 /* h */
imul
iload 2 /* v */
sipush 255
iand
iadd
istore 1 /* h */
end local 2 // byte v
4: .line 196
iinc 3 1
StackMap locals:
StackMap stack:
5: iload 3
iload 4
if_icmplt 2
6: .line 199
iload 1 /* h */
ireturn
end local 1 // int h
end local 0 // byte[] value
LocalVariableTable:
Start End Slot Name Signature
0 7 0 value [B
1 7 1 h I
3 4 2 v B
MethodParameters:
Name Flags
value
public static int indexOf(byte[], int, int);
descriptor: ([BII)I
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=4, locals=4, args_size=3
start local 0 // byte[] value
start local 1 // int ch
start local 2 // int fromIndex
0: .line 203
iload 1 /* ch */
invokestatic java.lang.StringLatin1.canEncode:(I)Z
ifne 2
1: .line 204
iconst_m1
ireturn
2: .line 206
StackMap locals:
StackMap stack:
aload 0 /* value */
arraylength
istore 3 /* max */
start local 3 // int max
3: .line 207
iload 2 /* fromIndex */
ifge 6
4: .line 208
iconst_0
istore 2 /* fromIndex */
5: .line 209
goto 8
StackMap locals: int
StackMap stack:
6: iload 2 /* fromIndex */
iload 3 /* max */
if_icmplt 8
7: .line 211
iconst_m1
ireturn
8: .line 213
StackMap locals:
StackMap stack:
aload 0 /* value */
iload 1 /* ch */
iload 2 /* fromIndex */
iload 3 /* max */
invokestatic java.lang.StringLatin1.indexOfChar:([BIII)I
ireturn
end local 3 // int max
end local 2 // int fromIndex
end local 1 // int ch
end local 0 // byte[] value
LocalVariableTable:
Start End Slot Name Signature
0 9 0 value [B
0 9 1 ch I
0 9 2 fromIndex I
3 9 3 max I
MethodParameters:
Name Flags
value
ch
fromIndex
private static int indexOfChar(byte[], int, int, int);
descriptor: ([BIII)I
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=6, args_size=4
start local 0 // byte[] value
start local 1 // int ch
start local 2 // int fromIndex
start local 3 // int max
0: .line 218
iload 1 /* ch */
i2b
istore 4 /* c */
start local 4 // byte c
1: .line 219
iload 2 /* fromIndex */
istore 5 /* i */
start local 5 // int i
2: goto 6
3: .line 220
StackMap locals: int int
StackMap stack:
aload 0 /* value */
iload 5 /* i */
baload
iload 4 /* c */
if_icmpne 5
4: .line 221
iload 5 /* i */
ireturn
5: .line 219
StackMap locals:
StackMap stack:
iinc 5 /* i */ 1
StackMap locals:
StackMap stack:
6: iload 5 /* i */
iload 3 /* max */
if_icmplt 3
end local 5 // int i
7: .line 224
iconst_m1
ireturn
end local 4 // byte c
end local 3 // int max
end local 2 // int fromIndex
end local 1 // int ch
end local 0 // byte[] value
LocalVariableTable:
Start End Slot Name Signature
0 8 0 value [B
0 8 1 ch I
0 8 2 fromIndex I
0 8 3 max I
1 8 4 c B
2 7 5 i I
RuntimeVisibleAnnotations:
jdk.internal.vm.annotation.IntrinsicCandidate()
MethodParameters:
Name Flags
value
ch
fromIndex
max
public static int indexOf(byte[], byte[]);
descriptor: ([B[B)I
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=5, locals=2, args_size=2
start local 0 // byte[] value
start local 1 // byte[] str
0: .line 229
aload 1 /* str */
arraylength
ifne 2
1: .line 230
iconst_0
ireturn
2: .line 232
StackMap locals:
StackMap stack:
aload 0 /* value */
arraylength
ifne 4
3: .line 233
iconst_m1
ireturn
4: .line 235
StackMap locals:
StackMap stack:
aload 0 /* value */
aload 0 /* value */
arraylength
aload 1 /* str */
aload 1 /* str */
arraylength
iconst_0
invokestatic java.lang.StringLatin1.indexOf:([BI[BII)I
ireturn
end local 1 // byte[] str
end local 0 // byte[] value
LocalVariableTable:
Start End Slot Name Signature
0 5 0 value [B
0 5 1 str [B
RuntimeVisibleAnnotations:
jdk.internal.vm.annotation.IntrinsicCandidate()
MethodParameters:
Name Flags
value
str
public static int indexOf(byte[], int, byte[], int, int);
descriptor: ([BI[BII)I
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=11, args_size=5
start local 0 // byte[] value
start local 1 // int valueCount
start local 2 // byte[] str
start local 3 // int strCount
start local 4 // int fromIndex
0: .line 240
aload 2 /* str */
iconst_0
baload
istore 5 /* first */
start local 5 // byte first
1: .line 241
iload 1 /* valueCount */
iload 3 /* strCount */
isub
istore 6 /* max */
start local 6 // int max
2: .line 242
iload 4 /* fromIndex */
istore 7 /* i */
start local 7 // int i
3: goto 16
4: .line 244
StackMap locals: int int int
StackMap stack:
aload 0 /* value */
iload 7 /* i */
baload
iload 5 /* first */
if_icmpeq 6
5: .line 245
StackMap locals:
StackMap stack:
iinc 7 /* i */ 1
iload 7 /* i */
iload 6 /* max */
if_icmpgt 6
aload 0 /* value */
iload 7 /* i */
baload
iload 5 /* first */
if_icmpne 5
6: .line 248
StackMap locals:
StackMap stack:
iload 7 /* i */
iload 6 /* max */
if_icmpgt 15
7: .line 249
iload 7 /* i */
iconst_1
iadd
istore 8 /* j */
start local 8 // int j
8: .line 250
iload 8 /* j */
iload 3 /* strCount */
iadd
iconst_1
isub
istore 9 /* end */
start local 9 // int end
9: .line 251
iconst_1
istore 10 /* k */
start local 10 // int k
10: goto 12
StackMap locals: int int int
StackMap stack:
11: iinc 8 /* j */ 1
iinc 10 /* k */ 1
StackMap locals:
StackMap stack:
12: iload 8 /* j */
iload 9 /* end */
if_icmpge 13
aload 0 /* value */
iload 8 /* j */
baload
aload 2 /* str */
iload 10 /* k */
baload
if_icmpeq 11
end local 10 // int k
13: .line 252
StackMap locals:
StackMap stack:
iload 8 /* j */
iload 9 /* end */
if_icmpne 15
14: .line 254
iload 7 /* i */
ireturn
end local 9 // int end
end local 8 // int j
15: .line 242
StackMap locals:
StackMap stack:
iinc 7 /* i */ 1
StackMap locals:
StackMap stack:
16: iload 7 /* i */
iload 6 /* max */
if_icmple 4
end local 7 // int i
17: .line 258
iconst_m1
ireturn
end local 6 // int max
end local 5 // byte first
end local 4 // int fromIndex
end local 3 // int strCount
end local 2 // byte[] str
end local 1 // int valueCount
end local 0 // byte[] value
LocalVariableTable:
Start End Slot Name Signature
0 18 0 value [B
0 18 1 valueCount I
0 18 2 str [B
0 18 3 strCount I
0 18 4 fromIndex I
1 18 5 first B
2 18 6 max I
3 17 7 i I
8 15 8 j I
9 15 9 end I
10 13 10 k I
RuntimeVisibleAnnotations:
jdk.internal.vm.annotation.IntrinsicCandidate()
MethodParameters:
Name Flags
value
valueCount
str
strCount
fromIndex
public static int lastIndexOf(byte[], int, byte[], int, int);
descriptor: ([BI[BII)I
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=12, args_size=5
start local 0 // byte[] src
start local 1 // int srcCount
start local 2 // byte[] tgt
start local 3 // int tgtCount
start local 4 // int fromIndex
0: .line 263
iload 3 /* tgtCount */
iconst_1
isub
istore 5 /* min */
start local 5 // int min
1: .line 264
iload 5 /* min */
iload 4 /* fromIndex */
iadd
istore 6 /* i */
start local 6 // int i
2: .line 265
iload 3 /* tgtCount */
iconst_1
isub
istore 7 /* strLastIndex */
start local 7 // int strLastIndex
3: .line 266
aload 2 /* tgt */
iload 7 /* strLastIndex */
baload
sipush 255
iand
i2c
istore 8 /* strLastChar */
start local 8 // char strLastChar
4: .line 270
goto 6
5: .line 271
StackMap locals: byte[] int byte[] int int int int int int
StackMap stack:
iinc 6 /* i */ -1
6: .line 270
StackMap locals:
StackMap stack:
iload 6 /* i */
iload 5 /* min */
if_icmplt 7
aload 0 /* src */
iload 6 /* i */
baload
sipush 255
iand
iload 8 /* strLastChar */
if_icmpne 5
7: .line 273
StackMap locals:
StackMap stack:
iload 6 /* i */
iload 5 /* min */
if_icmpge 9
8: .line 274
iconst_m1
ireturn
9: .line 276
StackMap locals:
StackMap stack:
iload 6 /* i */
iconst_1
isub
istore 9 /* j */
start local 9 // int j
10: .line 277
iload 9 /* j */
iload 7 /* strLastIndex */
isub
istore 10 /* start */
start local 10 // int start
11: .line 278
iload 7 /* strLastIndex */
iconst_1
isub
istore 11 /* k */
start local 11 // int k
12: .line 279
goto 16
13: .line 280
StackMap locals: int int int
StackMap stack:
aload 0 /* src */
iload 9 /* j */
iinc 9 /* j */ -1
baload
sipush 255
iand
aload 2 /* tgt */
iload 11 /* k */
iinc 11 /* k */ -1
baload
sipush 255
iand
if_icmpeq 16
14: .line 281
iinc 6 /* i */ -1
15: .line 282
goto 18
16: .line 279
StackMap locals:
StackMap stack:
iload 9 /* j */
iload 10 /* start */
if_icmpgt 13
17: .line 285
iload 10 /* start */
iconst_1
iadd
ireturn
end local 11 // int k
end local 10 // int start
end local 9 // int j
18: .line 269
StackMap locals:
StackMap stack:
goto 6
end local 8 // char strLastChar
end local 7 // int strLastIndex
end local 6 // int i
end local 5 // int min
end local 4 // int fromIndex
end local 3 // int tgtCount
end local 2 // byte[] tgt
end local 1 // int srcCount
end local 0 // byte[] src
LocalVariableTable:
Start End Slot Name Signature
0 19 0 src [B
0 19 1 srcCount I
0 19 2 tgt [B
0 19 3 tgtCount I
0 19 4 fromIndex I
1 19 5 min I
2 19 6 i I
3 19 7 strLastIndex I
4 19 8 strLastChar C
10 18 9 j I
11 18 10 start I
12 18 11 k I
MethodParameters:
Name Flags
src
srcCount
tgt
tgtCount
fromIndex
public static int lastIndexOf(byte[], int, int);
descriptor: ([BII)I
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=4, args_size=3
start local 0 // byte[] value
start local 1 // int ch
start local 2 // int fromIndex
0: .line 290
iload 1 /* ch */
invokestatic java.lang.StringLatin1.canEncode:(I)Z
ifne 2
1: .line 291
iconst_m1
ireturn
2: .line 293
StackMap locals:
StackMap stack:
iload 2 /* fromIndex */
aload 0 /* value */
arraylength
iconst_1
isub
invokestatic java.lang.Math.min:(II)I
istore 3 /* off */
start local 3 // int off
3: .line 294
goto 7
4: .line 295
StackMap locals: int
StackMap stack:
aload 0 /* value */
iload 3 /* off */
baload
iload 1 /* ch */
i2b
if_icmpne 6
5: .line 296
iload 3 /* off */
ireturn
6: .line 294
StackMap locals:
StackMap stack:
iinc 3 /* off */ -1
StackMap locals:
StackMap stack:
7: iload 3 /* off */
ifge 4
8: .line 299
iconst_m1
ireturn
end local 3 // int off
end local 2 // int fromIndex
end local 1 // int ch
end local 0 // byte[] value
LocalVariableTable:
Start End Slot Name Signature
0 9 0 value [B
0 9 1 ch I
0 9 2 fromIndex I
3 9 3 off I
MethodParameters:
Name Flags
value final
ch
fromIndex
public static java.lang.String replace(byte[], char, char);
descriptor: ([BCC)Ljava/lang/String;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=5, locals=7, args_size=3
start local 0 // byte[] value
start local 1 // char oldChar
start local 2 // char newChar
0: .line 303
iload 1 /* oldChar */
invokestatic java.lang.StringLatin1.canEncode:(I)Z
ifeq 33
1: .line 304
aload 0 /* value */
arraylength
istore 3 /* len */
start local 3 // int len
2: .line 305
iconst_m1
istore 4 /* i */
start local 4 // int i
3: .line 306
goto 6
4: .line 307
StackMap locals: int int
StackMap stack:
aload 0 /* value */
iload 4 /* i */
baload
iload 1 /* oldChar */
i2b
if_icmpne 6
5: .line 308
goto 7
6: .line 306
StackMap locals:
StackMap stack:
iinc 4 /* i */ 1
iload 4 /* i */
iload 3 /* len */
if_icmplt 4
7: .line 311
StackMap locals:
StackMap stack:
iload 4 /* i */
iload 3 /* len */
if_icmpge 33
8: .line 312
iload 2 /* newChar */
invokestatic java.lang.StringLatin1.canEncode:(I)Z
ifeq 23
9: .line 313
iload 3 /* len */
i2l
invokestatic java.lang.StringConcatHelper.newArray:(J)[B
astore 5 /* buf */
start local 5 // byte[] buf
10: .line 314
iconst_0
istore 6 /* j */
start local 6 // int j
11: goto 14
12: .line 315
StackMap locals: byte[] int
StackMap stack:
aload 5 /* buf */
iload 6 /* j */
aload 0 /* value */
iload 6 /* j */
baload
bastore
13: .line 314
iinc 6 /* j */ 1
StackMap locals:
StackMap stack:
14: iload 6 /* j */
iload 4 /* i */
if_icmplt 12
end local 6 // int j
15: .line 317
goto 21
16: .line 318
StackMap locals:
StackMap stack:
aload 0 /* value */
iload 4 /* i */
baload
istore 6 /* c */
start local 6 // byte c
17: .line 319
aload 5 /* buf */
iload 4 /* i */
iload 6 /* c */
iload 1 /* oldChar */
i2b
if_icmpne 18
iload 2 /* newChar */
i2b
goto 19
StackMap locals: byte[] int int int int byte[] int
StackMap stack: byte[] int
18: iload 6 /* c */
StackMap locals: byte[] int int int int byte[] int
StackMap stack: byte[] int int
19: bastore
20: .line 320
iinc 4 /* i */ 1
end local 6 // byte c
21: .line 317
StackMap locals:
StackMap stack:
iload 4 /* i */
iload 3 /* len */
if_icmplt 16
22: .line 322
new java.lang.String
dup
aload 5 /* buf */
iconst_0
invokespecial java.lang.String.<init>:([BB)V
areturn
end local 5 // byte[] buf
23: .line 324
StackMap locals:
StackMap stack:
iload 3 /* len */
invokestatic java.lang.StringUTF16.newBytesFor:(I)[B
astore 5 /* buf */
start local 5 // byte[] buf
24: .line 326
aload 0 /* value */
iconst_0
aload 5 /* buf */
iconst_0
iload 4 /* i */
invokestatic java.lang.StringLatin1.inflate:([BI[BII)V
25: .line 327
goto 31
26: .line 328
StackMap locals: byte[]
StackMap stack:
aload 0 /* value */
iload 4 /* i */
baload
sipush 255
iand
i2c
istore 6 /* c */
start local 6 // char c
27: .line 329
aload 5 /* buf */
iload 4 /* i */
iload 6 /* c */
iload 1 /* oldChar */
if_icmpne 28
iload 2 /* newChar */
goto 29
StackMap locals: byte[] int int int int byte[] int
StackMap stack: byte[] int
28: iload 6 /* c */
StackMap locals: byte[] int int int int byte[] int
StackMap stack: byte[] int int
29: invokestatic java.lang.StringUTF16.putChar:([BII)V
30: .line 330
iinc 4 /* i */ 1
end local 6 // char c
31: .line 327
StackMap locals:
StackMap stack:
iload 4 /* i */
iload 3 /* len */
if_icmplt 26
32: .line 332
new java.lang.String
dup
aload 5 /* buf */
iconst_1
invokespecial java.lang.String.<init>:([BB)V
areturn
end local 5 // byte[] buf
end local 4 // int i
end local 3 // int len
33: .line 336
StackMap locals:
StackMap stack:
aconst_null
areturn
end local 2 // char newChar
end local 1 // char oldChar
end local 0 // byte[] value
LocalVariableTable:
Start End Slot Name Signature
0 34 0 value [B
0 34 1 oldChar C
0 34 2 newChar C
2 33 3 len I
3 33 4 i I
10 23 5 buf [B
11 15 6 j I
17 21 6 c B
24 33 5 buf [B
27 31 6 c C
MethodParameters:
Name Flags
value
oldChar
newChar
public static java.lang.String replace(byte[], int, byte[], int, byte[], int);
descriptor: ([BI[BI[BI)Ljava/lang/String;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=5, locals=17, args_size=6
start local 0 // byte[] value
start local 1 // int valLen
start local 2 // byte[] targ
start local 3 // int targLen
start local 4 // byte[] repl
start local 5 // int replLen
0: .line 342
getstatic java.lang.StringLatin1.$assertionsDisabled:Z
ifne 1
iload 3 /* targLen */
ifgt 1
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
1: .line 343
StackMap locals:
StackMap stack:
iconst_0
istore 8 /* p */
start local 8 // int p
2: .line 344
iload 1 /* valLen */
ifeq 4
aload 0 /* value */
iload 1 /* valLen */
aload 2 /* targ */
iload 3 /* targLen */
iconst_0
invokestatic java.lang.StringLatin1.indexOf:([BI[BII)I
dup
istore 6 /* i */
start local 6 // int i
3: ifge 5
end local 6 // int i
4: .line 345
StackMap locals: byte[] int byte[] int byte[] int top top int
StackMap stack:
aconst_null
areturn
start local 6 // int i
5: .line 349
StackMap locals: byte[] int byte[] int byte[] int int top int
StackMap stack:
bipush 16
newarray 10
astore 9 /* pos */
start local 9 // int[] pos
6: .line 350
aload 9 /* pos */
iconst_0
iload 6 /* i */
iastore
7: .line 351
iload 6 /* i */
iload 3 /* targLen */
iadd
istore 6 /* i */
8: .line 352
goto 13
start local 7 // int j
9: .line 353
StackMap locals: byte[] int byte[] int byte[] int int int int int[]
StackMap stack:
iinc 8 /* p */ 1
iload 8 /* p */
aload 9 /* pos */
arraylength
if_icmpne 11
10: .line 354
aload 9 /* pos */
iload 8 /* p */
iconst_1
iload 8 /* p */
iconst_1
ishr
invokestatic jdk.internal.util.ArraysSupport.newLength:(III)I
invokestatic java.util.Arrays.copyOf:([II)[I
astore 9 /* pos */
11: .line 356
StackMap locals:
StackMap stack:
aload 9 /* pos */
iload 8 /* p */
iload 7 /* j */
iastore
12: .line 357
iload 7 /* j */
iload 3 /* targLen */
iadd
istore 6 /* i */
end local 7 // int j
13: .line 352
StackMap locals: byte[] int byte[] int byte[] int int top int int[]
StackMap stack:
aload 0 /* value */
iload 1 /* valLen */
aload 2 /* targ */
iload 3 /* targLen */
iload 6 /* i */
invokestatic java.lang.StringLatin1.indexOf:([BI[BII)I
dup
istore 7 /* j */
start local 7 // int j
14: ifgt 9
15: .line 362
iload 1 /* valLen */
16: .line 363
iinc 8 /* p */ 1
iload 8 /* p */
iload 5 /* replLen */
iload 3 /* targLen */
isub
invokestatic java.lang.Math.multiplyExact:(II)I
17: .line 362
invokestatic java.lang.Math.addExact:(II)I
istore 10 /* resultLen */
start local 10 // int resultLen
18: .line 364
goto 21
end local 10 // int resultLen
StackMap locals: byte[] int byte[] int byte[] int int int int int[]
StackMap stack: java.lang.ArithmeticException
19: pop
20: .line 365
new java.lang.OutOfMemoryError
dup
ldc "Required length exceeds implementation limit"
invokespecial java.lang.OutOfMemoryError.<init>:(Ljava/lang/String;)V
athrow
start local 10 // int resultLen
21: .line 367
StackMap locals: int
StackMap stack:
iload 10 /* resultLen */
ifne 23
22: .line 368
ldc ""
areturn
23: .line 371
StackMap locals:
StackMap stack:
iload 10 /* resultLen */
i2l
invokestatic java.lang.StringConcatHelper.newArray:(J)[B
astore 11 /* result */
start local 11 // byte[] result
24: .line 372
iconst_0
istore 12 /* posFrom */
start local 12 // int posFrom
25: iconst_0
istore 13 /* posTo */
start local 13 // int posTo
26: .line 373
iconst_0
istore 14 /* q */
start local 14 // int q
27: goto 39
28: .line 374
StackMap locals: byte[] int byte[] int byte[] int int int int int[] int byte[] int int int
StackMap stack:
aload 9 /* pos */
iload 14 /* q */
iaload
istore 15 /* nextPos */
start local 15 // int nextPos
29: .line 375
goto 31
30: .line 376
StackMap locals: int
StackMap stack:
aload 11 /* result */
iload 13 /* posTo */
iinc 13 /* posTo */ 1
aload 0 /* value */
iload 12 /* posFrom */
iinc 12 /* posFrom */ 1
baload
bastore
31: .line 375
StackMap locals:
StackMap stack:
iload 12 /* posFrom */
iload 15 /* nextPos */
if_icmplt 30
32: .line 378
iload 12 /* posFrom */
iload 3 /* targLen */
iadd
istore 12 /* posFrom */
33: .line 379
iconst_0
istore 16 /* k */
start local 16 // int k
34: goto 37
35: .line 380
StackMap locals: int
StackMap stack:
aload 11 /* result */
iload 13 /* posTo */
iinc 13 /* posTo */ 1
aload 4 /* repl */
iload 16 /* k */
baload
bastore
36: .line 379
iinc 16 /* k */ 1
StackMap locals:
StackMap stack:
37: iload 16 /* k */
iload 5 /* replLen */
if_icmplt 35
end local 16 // int k
end local 15 // int nextPos
38: .line 373
iinc 14 /* q */ 1
StackMap locals:
StackMap stack:
39: iload 14 /* q */
iload 8 /* p */
if_icmplt 28
end local 14 // int q
40: .line 383
goto 42
41: .line 384
StackMap locals:
StackMap stack:
aload 11 /* result */
iload 13 /* posTo */
iinc 13 /* posTo */ 1
aload 0 /* value */
iload 12 /* posFrom */
iinc 12 /* posFrom */ 1
baload
bastore
42: .line 383
StackMap locals:
StackMap stack:
iload 12 /* posFrom */
iload 1 /* valLen */
if_icmplt 41
43: .line 386
new java.lang.String
dup
aload 11 /* result */
iconst_0
invokespecial java.lang.String.<init>:([BB)V
areturn
end local 13 // int posTo
end local 12 // int posFrom
end local 11 // byte[] result
end local 10 // int resultLen
end local 9 // int[] pos
end local 8 // int p
end local 7 // int j
end local 6 // int i
end local 5 // int replLen
end local 4 // byte[] repl
end local 3 // int targLen
end local 2 // byte[] targ
end local 1 // int valLen
end local 0 // byte[] value
LocalVariableTable:
Start End Slot Name Signature
0 44 0 value [B
0 44 1 valLen I
0 44 2 targ [B
0 44 3 targLen I
0 44 4 repl [B
0 44 5 replLen I
3 4 6 i I
5 44 6 i I
9 13 7 j I
14 44 7 j I
2 44 8 p I
6 44 9 pos [I
18 19 10 resultLen I
21 44 10 resultLen I
24 44 11 result [B
25 44 12 posFrom I
26 44 13 posTo I
27 40 14 q I
29 38 15 nextPos I
34 38 16 k I
Exception table:
from to target type
15 18 19 Class java.lang.ArithmeticException
MethodParameters:
Name Flags
value
valLen
targ
targLen
repl
replLen
public static boolean regionMatchesCI(byte[], int, byte[], int, int);
descriptor: ([BI[BII)Z
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=10, args_size=5
start local 0 // byte[] value
start local 1 // int toffset
start local 2 // byte[] other
start local 3 // int ooffset
start local 4 // int len
0: .line 392
iload 1 /* toffset */
iload 4 /* len */
iadd
istore 5 /* last */
start local 5 // int last
1: .line 393
goto 13
2: .line 394
StackMap locals: int
StackMap stack:
aload 0 /* value */
iload 1 /* toffset */
iinc 1 /* toffset */ 1
baload
sipush 255
iand
i2c
istore 6 /* c1 */
start local 6 // char c1
3: .line 395
aload 2 /* other */
iload 3 /* ooffset */
iinc 3 /* ooffset */ 1
baload
sipush 255
iand
i2c
istore 7 /* c2 */
start local 7 // char c2
4: .line 396
iload 6 /* c1 */
iload 7 /* c2 */
if_icmpne 6
5: .line 397
goto 13
6: .line 399
StackMap locals: int int
StackMap stack:
getstatic java.lang.CharacterDataLatin1.instance:Ljava/lang/CharacterDataLatin1;
iload 6 /* c1 */
invokevirtual java.lang.CharacterDataLatin1.toUpperCase:(I)I
istore 8 /* u1 */
start local 8 // int u1
7: .line 400
getstatic java.lang.CharacterDataLatin1.instance:Ljava/lang/CharacterDataLatin1;
iload 7 /* c2 */
invokevirtual java.lang.CharacterDataLatin1.toUpperCase:(I)I
istore 9 /* u2 */
start local 9 // int u2
8: .line 401
iload 8 /* u1 */
iload 9 /* u2 */
if_icmpne 10
9: .line 402
goto 13
10: .line 404
StackMap locals: int int
StackMap stack:
iload 8 /* u1 */
invokestatic java.lang.Character.toLowerCase:(I)I
iload 9 /* u2 */
invokestatic java.lang.Character.toLowerCase:(I)I
if_icmpne 12
11: .line 405
goto 13
12: .line 407
StackMap locals:
StackMap stack:
iconst_0
ireturn
end local 9 // int u2
end local 8 // int u1
end local 7 // char c2
end local 6 // char c1
13: .line 393
StackMap locals: byte[] int byte[] int int int
StackMap stack:
iload 1 /* toffset */
iload 5 /* last */
if_icmplt 2
14: .line 409
iconst_1
ireturn
end local 5 // int last
end local 4 // int len
end local 3 // int ooffset
end local 2 // byte[] other
end local 1 // int toffset
end local 0 // byte[] value
LocalVariableTable:
Start End Slot Name Signature
0 15 0 value [B
0 15 1 toffset I
0 15 2 other [B
0 15 3 ooffset I
0 15 4 len I
1 15 5 last I
3 13 6 c1 C
4 13 7 c2 C
7 13 8 u1 I
8 13 9 u2 I
MethodParameters:
Name Flags
value
toffset
other
ooffset
len
public static boolean regionMatchesCI_UTF16(byte[], int, byte[], int, int);
descriptor: ([BI[BII)Z
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=10, args_size=5
start local 0 // byte[] value
start local 1 // int toffset
start local 2 // byte[] other
start local 3 // int ooffset
start local 4 // int len
0: .line 414
iload 1 /* toffset */
iload 4 /* len */
iadd
istore 5 /* last */
start local 5 // int last
1: .line 415
goto 13
2: .line 416
StackMap locals: int
StackMap stack:
aload 0 /* value */
iload 1 /* toffset */
iinc 1 /* toffset */ 1
baload
sipush 255
iand
i2c
istore 6 /* c1 */
start local 6 // char c1
3: .line 417
aload 2 /* other */
iload 3 /* ooffset */
iinc 3 /* ooffset */ 1
invokestatic java.lang.StringUTF16.getChar:([BI)C
istore 7 /* c2 */
start local 7 // char c2
4: .line 418
iload 6 /* c1 */
iload 7 /* c2 */
if_icmpne 6
5: .line 419
goto 13
6: .line 421
StackMap locals: int int
StackMap stack:
getstatic java.lang.CharacterDataLatin1.instance:Ljava/lang/CharacterDataLatin1;
iload 6 /* c1 */
invokevirtual java.lang.CharacterDataLatin1.toUpperCase:(I)I
i2c
istore 8 /* u1 */
start local 8 // char u1
7: .line 422
iload 7 /* c2 */
invokestatic java.lang.Character.toUpperCase:(C)C
istore 9 /* u2 */
start local 9 // char u2
8: .line 423
iload 8 /* u1 */
iload 9 /* u2 */
if_icmpne 10
9: .line 424
goto 13
10: .line 426
StackMap locals: int int
StackMap stack:
iload 8 /* u1 */
invokestatic java.lang.Character.toLowerCase:(C)C
iload 9 /* u2 */
invokestatic java.lang.Character.toLowerCase:(C)C
if_icmpne 12
11: .line 427
goto 13
12: .line 429
StackMap locals:
StackMap stack:
iconst_0
ireturn
end local 9 // char u2
end local 8 // char u1
end local 7 // char c2
end local 6 // char c1
13: .line 415
StackMap locals: byte[] int byte[] int int int
StackMap stack:
iload 1 /* toffset */
iload 5 /* last */
if_icmplt 2
14: .line 431
iconst_1
ireturn
end local 5 // int last
end local 4 // int len
end local 3 // int ooffset
end local 2 // byte[] other
end local 1 // int toffset
end local 0 // byte[] value
LocalVariableTable:
Start End Slot Name Signature
0 15 0 value [B
0 15 1 toffset I
0 15 2 other [B
0 15 3 ooffset I
0 15 4 len I
1 15 5 last I
3 13 6 c1 C
4 13 7 c2 C
7 13 8 u1 C
8 13 9 u2 C
MethodParameters:
Name Flags
value
toffset
other
ooffset
len
public static java.lang.String toLowerCase(java.lang.String, byte[], java.util.Locale);
descriptor: (Ljava/lang/String;[BLjava/util/Locale;)Ljava/lang/String;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=5, locals=9, args_size=3
start local 0 // java.lang.String str
start local 1 // byte[] value
start local 2 // java.util.Locale locale
0: .line 435
aload 2 /* locale */
ifnonnull 2
1: .line 436
new java.lang.NullPointerException
dup
invokespecial java.lang.NullPointerException.<init>:()V
athrow
2: .line 439
StackMap locals:
StackMap stack:
aload 1 /* value */
arraylength
istore 4 /* len */
start local 4 // int len
3: .line 441
iconst_0
istore 3 /* first */
start local 3 // int first
4: goto 9
5: .line 442
StackMap locals: int int
StackMap stack:
aload 1 /* value */
iload 3 /* first */
baload
sipush 255
iand
istore 5 /* cp */
start local 5 // int cp
6: .line 443
iload 5 /* cp */
getstatic java.lang.CharacterDataLatin1.instance:Ljava/lang/CharacterDataLatin1;
iload 5 /* cp */
invokevirtual java.lang.CharacterDataLatin1.toLowerCase:(I)I
if_icmpeq 8
7: .line 444
goto 10
end local 5 // int cp
8: .line 441
StackMap locals:
StackMap stack:
iinc 3 /* first */ 1
StackMap locals:
StackMap stack:
9: iload 3 /* first */
iload 4 /* len */
if_icmplt 5
10: .line 447
StackMap locals:
StackMap stack:
iload 3 /* first */
iload 4 /* len */
if_icmpne 12
11: .line 448
aload 0 /* str */
areturn
12: .line 449
StackMap locals:
StackMap stack:
aload 2 /* locale */
invokevirtual java.util.Locale.getLanguage:()Ljava/lang/String;
astore 5 /* lang */
start local 5 // java.lang.String lang
13: .line 450
aload 5 /* lang */
ldc "tr"
if_acmpeq 14
aload 5 /* lang */
ldc "az"
if_acmpeq 14
aload 5 /* lang */
ldc "lt"
if_acmpne 15
14: .line 451
StackMap locals: java.lang.String
StackMap stack:
aload 0 /* str */
aload 1 /* value */
iload 3 /* first */
aload 2 /* locale */
iconst_1
invokestatic java.lang.StringLatin1.toLowerCaseEx:(Ljava/lang/String;[BILjava/util/Locale;Z)Ljava/lang/String;
areturn
15: .line 453
StackMap locals:
StackMap stack:
iload 4 /* len */
newarray 8
astore 6 /* result */
start local 6 // byte[] result
16: .line 454
aload 1 /* value */
iconst_0
aload 6 /* result */
iconst_0
iload 3 /* first */
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
17: .line 456
iload 3 /* first */
istore 7 /* i */
start local 7 // int i
18: goto 25
19: .line 457
StackMap locals: byte[] int
StackMap stack:
aload 1 /* value */
iload 7 /* i */
baload
sipush 255
iand
istore 8 /* cp */
start local 8 // int cp
20: .line 458
getstatic java.lang.CharacterDataLatin1.instance:Ljava/lang/CharacterDataLatin1;
iload 8 /* cp */
invokevirtual java.lang.CharacterDataLatin1.toLowerCase:(I)I
istore 8 /* cp */
21: .line 459
iload 8 /* cp */
invokestatic java.lang.StringLatin1.canEncode:(I)Z
ifne 23
22: .line 460
aload 0 /* str */
aload 1 /* value */
iload 3 /* first */
aload 2 /* locale */
iconst_0
invokestatic java.lang.StringLatin1.toLowerCaseEx:(Ljava/lang/String;[BILjava/util/Locale;Z)Ljava/lang/String;
areturn
23: .line 462
StackMap locals: int
StackMap stack:
aload 6 /* result */
iload 7 /* i */
iload 8 /* cp */
i2b
bastore
end local 8 // int cp
24: .line 456
iinc 7 /* i */ 1
StackMap locals:
StackMap stack:
25: iload 7 /* i */
iload 4 /* len */
if_icmplt 19
end local 7 // int i
26: .line 464
new java.lang.String
dup
aload 6 /* result */
iconst_0
invokespecial java.lang.String.<init>:([BB)V
areturn
end local 6 // byte[] result
end local 5 // java.lang.String lang
end local 4 // int len
end local 3 // int first
end local 2 // java.util.Locale locale
end local 1 // byte[] value
end local 0 // java.lang.String str
LocalVariableTable:
Start End Slot Name Signature
0 27 0 str Ljava/lang/String;
0 27 1 value [B
0 27 2 locale Ljava/util/Locale;
4 27 3 first I
3 27 4 len I
6 8 5 cp I
13 27 5 lang Ljava/lang/String;
16 27 6 result [B
18 26 7 i I
20 24 8 cp I
MethodParameters:
Name Flags
str
value
locale
private static java.lang.String toLowerCaseEx(java.lang.String, byte[], int, java.util.Locale, boolean);
descriptor: (Ljava/lang/String;[BILjava/util/Locale;Z)Ljava/lang/String;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=6, locals=13, args_size=5
start local 0 // java.lang.String str
start local 1 // byte[] value
start local 2 // int first
start local 3 // java.util.Locale locale
start local 4 // boolean localeDependent
0: .line 470
aload 1 /* value */
arraylength
invokestatic java.lang.StringUTF16.newBytesFor:(I)[B
astore 5 /* result */
start local 5 // byte[] result
1: .line 471
iconst_0
istore 6 /* resultOffset */
start local 6 // int resultOffset
2: .line 472
iconst_0
istore 7 /* i */
start local 7 // int i
3: goto 6
4: .line 473
StackMap locals: byte[] int int
StackMap stack:
aload 5 /* result */
iload 6 /* resultOffset */
iinc 6 /* resultOffset */ 1
aload 1 /* value */
iload 7 /* i */
baload
sipush 255
iand
invokestatic java.lang.StringUTF16.putChar:([BII)V
5: .line 472
iinc 7 /* i */ 1
StackMap locals:
StackMap stack:
6: iload 7 /* i */
iload 2 /* first */
if_icmplt 4
end local 7 // int i
7: .line 475
iload 2 /* first */
istore 7 /* i */
start local 7 // int i
8: goto 32
9: .line 476
StackMap locals:
StackMap stack:
aload 1 /* value */
iload 7 /* i */
baload
sipush 255
iand
istore 8 /* srcChar */
start local 8 // int srcChar
10: .line 479
iload 4 /* localeDependent */
ifeq 13
11: .line 480
aload 0 /* str */
iload 7 /* i */
aload 3 /* locale */
invokestatic java.lang.ConditionalSpecialCasing.toLowerCaseEx:(Ljava/lang/String;ILjava/util/Locale;)I
istore 9 /* lowerChar */
start local 9 // int lowerChar
12: .line 481
goto 14
end local 9 // int lowerChar
13: .line 482
StackMap locals: int
StackMap stack:
getstatic java.lang.CharacterDataLatin1.instance:Ljava/lang/CharacterDataLatin1;
iload 8 /* srcChar */
invokevirtual java.lang.CharacterDataLatin1.toLowerCase:(I)I
istore 9 /* lowerChar */
start local 9 // int lowerChar
14: .line 484
StackMap locals: int
StackMap stack:
iload 9 /* lowerChar */
invokestatic java.lang.Character.isBmpCodePoint:(I)Z
ifeq 17
15: .line 485
aload 5 /* result */
iload 6 /* resultOffset */
iinc 6 /* resultOffset */ 1
iload 9 /* lowerChar */
invokestatic java.lang.StringUTF16.putChar:([BII)V
16: .line 486
goto 31
17: .line 487
StackMap locals:
StackMap stack:
iload 9 /* lowerChar */
iconst_m1
if_icmpne 20
18: .line 488
aload 0 /* str */
iload 7 /* i */
aload 3 /* locale */
invokestatic java.lang.ConditionalSpecialCasing.toLowerCaseCharArray:(Ljava/lang/String;ILjava/util/Locale;)[C
astore 10 /* lowerCharArray */
start local 10 // char[] lowerCharArray
19: .line 489
goto 21
end local 10 // char[] lowerCharArray
20: .line 490
StackMap locals:
StackMap stack:
iload 9 /* lowerChar */
invokestatic java.lang.Character.toChars:(I)[C
astore 10 /* lowerCharArray */
start local 10 // char[] lowerCharArray
21: .line 493
StackMap locals: char[]
StackMap stack:
aload 10 /* lowerCharArray */
arraylength
istore 11 /* mapLen */
start local 11 // int mapLen
22: .line 494
iload 11 /* mapLen */
iconst_1
if_icmple 26
23: .line 495
aload 5 /* result */
arraylength
iconst_1
ishr
iload 11 /* mapLen */
iadd
iconst_1
isub
invokestatic java.lang.StringUTF16.newBytesFor:(I)[B
astore 12 /* result2 */
start local 12 // byte[] result2
24: .line 496
aload 5 /* result */
iconst_0
aload 12 /* result2 */
iconst_0
iload 6 /* resultOffset */
iconst_1
ishl
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
25: .line 497
aload 12 /* result2 */
astore 5 /* result */
end local 12 // byte[] result2
26: .line 499
StackMap locals: int
StackMap stack:
iconst_0
istore 12 /* x */
start local 12 // int x
27: goto 30
28: .line 500
StackMap locals: int
StackMap stack:
aload 5 /* result */
iload 6 /* resultOffset */
iinc 6 /* resultOffset */ 1
aload 10 /* lowerCharArray */
iload 12 /* x */
caload
invokestatic java.lang.StringUTF16.putChar:([BII)V
29: .line 499
iinc 12 /* x */ 1
StackMap locals:
StackMap stack:
30: iload 12 /* x */
iload 11 /* mapLen */
if_icmplt 28
end local 12 // int x
end local 11 // int mapLen
end local 10 // char[] lowerCharArray
end local 9 // int lowerChar
end local 8 // int srcChar
31: .line 475
StackMap locals: java.lang.String byte[] int java.util.Locale int byte[] int int
StackMap stack:
iinc 7 /* i */ 1
StackMap locals:
StackMap stack:
32: iload 7 /* i */
aload 1 /* value */
arraylength
if_icmplt 9
end local 7 // int i
33: .line 504
aload 5 /* result */
iconst_0
iload 6 /* resultOffset */
invokestatic java.lang.StringUTF16.newString:([BII)Ljava/lang/String;
areturn
end local 6 // int resultOffset
end local 5 // byte[] result
end local 4 // boolean localeDependent
end local 3 // java.util.Locale locale
end local 2 // int first
end local 1 // byte[] value
end local 0 // java.lang.String str
LocalVariableTable:
Start End Slot Name Signature
0 34 0 str Ljava/lang/String;
0 34 1 value [B
0 34 2 first I
0 34 3 locale Ljava/util/Locale;
0 34 4 localeDependent Z
1 34 5 result [B
2 34 6 resultOffset I
3 7 7 i I
8 33 7 i I
10 31 8 srcChar I
12 13 9 lowerChar I
14 31 9 lowerChar I
19 20 10 lowerCharArray [C
21 31 10 lowerCharArray [C
22 31 11 mapLen I
24 26 12 result2 [B
27 31 12 x I
MethodParameters:
Name Flags
str
value
first
locale
localeDependent
public static java.lang.String toUpperCase(java.lang.String, byte[], java.util.Locale);
descriptor: (Ljava/lang/String;[BLjava/util/Locale;)Ljava/lang/String;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=5, locals=9, args_size=3
start local 0 // java.lang.String str
start local 1 // byte[] value
start local 2 // java.util.Locale locale
0: .line 508
aload 2 /* locale */
ifnonnull 2
1: .line 509
new java.lang.NullPointerException
dup
invokespecial java.lang.NullPointerException.<init>:()V
athrow
2: .line 512
StackMap locals:
StackMap stack:
aload 1 /* value */
arraylength
istore 4 /* len */
start local 4 // int len
3: .line 515
iconst_0
istore 3 /* first */
start local 3 // int first
4: goto 9
5: .line 516
StackMap locals: int int
StackMap stack:
aload 1 /* value */
iload 3 /* first */
baload
sipush 255
iand
istore 5 /* cp */
start local 5 // int cp
6: .line 517
iload 5 /* cp */
getstatic java.lang.CharacterDataLatin1.instance:Ljava/lang/CharacterDataLatin1;
iload 5 /* cp */
invokevirtual java.lang.CharacterDataLatin1.toUpperCaseEx:(I)I
if_icmpeq 8
7: .line 518
goto 10
end local 5 // int cp
8: .line 515
StackMap locals:
StackMap stack:
iinc 3 /* first */ 1
StackMap locals:
StackMap stack:
9: iload 3 /* first */
iload 4 /* len */
if_icmplt 5
10: .line 521
StackMap locals:
StackMap stack:
iload 3 /* first */
iload 4 /* len */
if_icmpne 12
11: .line 522
aload 0 /* str */
areturn
12: .line 524
StackMap locals:
StackMap stack:
aload 2 /* locale */
invokevirtual java.util.Locale.getLanguage:()Ljava/lang/String;
astore 5 /* lang */
start local 5 // java.lang.String lang
13: .line 525
aload 5 /* lang */
ldc "tr"
if_acmpeq 14
aload 5 /* lang */
ldc "az"
if_acmpeq 14
aload 5 /* lang */
ldc "lt"
if_acmpne 15
14: .line 526
StackMap locals: java.lang.String
StackMap stack:
aload 0 /* str */
aload 1 /* value */
iload 3 /* first */
aload 2 /* locale */
iconst_1
invokestatic java.lang.StringLatin1.toUpperCaseEx:(Ljava/lang/String;[BILjava/util/Locale;Z)Ljava/lang/String;
areturn
15: .line 528
StackMap locals:
StackMap stack:
iload 4 /* len */
newarray 8
astore 6 /* result */
start local 6 // byte[] result
16: .line 529
aload 1 /* value */
iconst_0
aload 6 /* result */
iconst_0
iload 3 /* first */
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
17: .line 531
iload 3 /* first */
istore 7 /* i */
start local 7 // int i
18: goto 25
19: .line 532
StackMap locals: byte[] int
StackMap stack:
aload 1 /* value */
iload 7 /* i */
baload
sipush 255
iand
istore 8 /* cp */
start local 8 // int cp
20: .line 533
getstatic java.lang.CharacterDataLatin1.instance:Ljava/lang/CharacterDataLatin1;
iload 8 /* cp */
invokevirtual java.lang.CharacterDataLatin1.toUpperCaseEx:(I)I
istore 8 /* cp */
21: .line 534
iload 8 /* cp */
invokestatic java.lang.StringLatin1.canEncode:(I)Z
ifne 23
22: .line 535
aload 0 /* str */
aload 1 /* value */
iload 3 /* first */
aload 2 /* locale */
iconst_0
invokestatic java.lang.StringLatin1.toUpperCaseEx:(Ljava/lang/String;[BILjava/util/Locale;Z)Ljava/lang/String;
areturn
23: .line 537
StackMap locals: int
StackMap stack:
aload 6 /* result */
iload 7 /* i */
iload 8 /* cp */
i2b
bastore
end local 8 // int cp
24: .line 531
iinc 7 /* i */ 1
StackMap locals:
StackMap stack:
25: iload 7 /* i */
iload 4 /* len */
if_icmplt 19
end local 7 // int i
26: .line 539
new java.lang.String
dup
aload 6 /* result */
iconst_0
invokespecial java.lang.String.<init>:([BB)V
areturn
end local 6 // byte[] result
end local 5 // java.lang.String lang
end local 4 // int len
end local 3 // int first
end local 2 // java.util.Locale locale
end local 1 // byte[] value
end local 0 // java.lang.String str
LocalVariableTable:
Start End Slot Name Signature
0 27 0 str Ljava/lang/String;
0 27 1 value [B
0 27 2 locale Ljava/util/Locale;
4 27 3 first I
3 27 4 len I
6 8 5 cp I
13 27 5 lang Ljava/lang/String;
16 27 6 result [B
18 26 7 i I
20 24 8 cp I
MethodParameters:
Name Flags
str
value
locale
private static java.lang.String toUpperCaseEx(java.lang.String, byte[], int, java.util.Locale, boolean);
descriptor: (Ljava/lang/String;[BILjava/util/Locale;Z)Ljava/lang/String;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=6, locals=13, args_size=5
start local 0 // java.lang.String str
start local 1 // byte[] value
start local 2 // int first
start local 3 // java.util.Locale locale
start local 4 // boolean localeDependent
0: .line 545
aload 1 /* value */
arraylength
invokestatic java.lang.StringUTF16.newBytesFor:(I)[B
astore 5 /* result */
start local 5 // byte[] result
1: .line 546
iconst_0
istore 6 /* resultOffset */
start local 6 // int resultOffset
2: .line 547
iconst_0
istore 7 /* i */
start local 7 // int i
3: goto 6
4: .line 548
StackMap locals: byte[] int int
StackMap stack:
aload 5 /* result */
iload 6 /* resultOffset */
iinc 6 /* resultOffset */ 1
aload 1 /* value */
iload 7 /* i */
baload
sipush 255
iand
invokestatic java.lang.StringUTF16.putChar:([BII)V
5: .line 547
iinc 7 /* i */ 1
StackMap locals:
StackMap stack:
6: iload 7 /* i */
iload 2 /* first */
if_icmplt 4
end local 7 // int i
7: .line 550
iload 2 /* first */
istore 7 /* i */
start local 7 // int i
8: goto 36
9: .line 551
StackMap locals:
StackMap stack:
aload 1 /* value */
iload 7 /* i */
baload
sipush 255
iand
istore 8 /* srcChar */
start local 8 // int srcChar
10: .line 554
iload 4 /* localeDependent */
ifeq 13
11: .line 555
aload 0 /* str */
iload 7 /* i */
aload 3 /* locale */
invokestatic java.lang.ConditionalSpecialCasing.toUpperCaseEx:(Ljava/lang/String;ILjava/util/Locale;)I
istore 9 /* upperChar */
start local 9 // int upperChar
12: .line 556
goto 14
end local 9 // int upperChar
13: .line 557
StackMap locals: int
StackMap stack:
getstatic java.lang.CharacterDataLatin1.instance:Ljava/lang/CharacterDataLatin1;
iload 8 /* srcChar */
invokevirtual java.lang.CharacterDataLatin1.toUpperCaseEx:(I)I
istore 9 /* upperChar */
start local 9 // int upperChar
14: .line 559
StackMap locals: int
StackMap stack:
iload 9 /* upperChar */
invokestatic java.lang.Character.isBmpCodePoint:(I)Z
ifeq 17
15: .line 560
aload 5 /* result */
iload 6 /* resultOffset */
iinc 6 /* resultOffset */ 1
iload 9 /* upperChar */
invokestatic java.lang.StringUTF16.putChar:([BII)V
16: .line 561
goto 35
17: .line 562
StackMap locals:
StackMap stack:
iload 9 /* upperChar */
iconst_m1
if_icmpne 24
18: .line 563
iload 4 /* localeDependent */
ifeq 22
19: .line 565
aload 0 /* str */
iload 7 /* i */
aload 3 /* locale */
invokestatic java.lang.ConditionalSpecialCasing.toUpperCaseCharArray:(Ljava/lang/String;ILjava/util/Locale;)[C
20: .line 564
astore 10 /* upperCharArray */
start local 10 // char[] upperCharArray
21: .line 566
goto 25
end local 10 // char[] upperCharArray
22: .line 567
StackMap locals:
StackMap stack:
getstatic java.lang.CharacterDataLatin1.instance:Ljava/lang/CharacterDataLatin1;
iload 8 /* srcChar */
invokevirtual java.lang.CharacterDataLatin1.toUpperCaseCharArray:(I)[C
astore 10 /* upperCharArray */
start local 10 // char[] upperCharArray
23: .line 569
goto 25
end local 10 // char[] upperCharArray
24: .line 570
StackMap locals:
StackMap stack:
iload 9 /* upperChar */
invokestatic java.lang.Character.toChars:(I)[C
astore 10 /* upperCharArray */
start local 10 // char[] upperCharArray
25: .line 573
StackMap locals: char[]
StackMap stack:
aload 10 /* upperCharArray */
arraylength
istore 11 /* mapLen */
start local 11 // int mapLen
26: .line 574
iload 11 /* mapLen */
iconst_1
if_icmple 30
27: .line 575
aload 5 /* result */
arraylength
iconst_1
ishr
iload 11 /* mapLen */
iadd
iconst_1
isub
invokestatic java.lang.StringUTF16.newBytesFor:(I)[B
astore 12 /* result2 */
start local 12 // byte[] result2
28: .line 576
aload 5 /* result */
iconst_0
aload 12 /* result2 */
iconst_0
iload 6 /* resultOffset */
iconst_1
ishl
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
29: .line 577
aload 12 /* result2 */
astore 5 /* result */
end local 12 // byte[] result2
30: .line 579
StackMap locals: int
StackMap stack:
iconst_0
istore 12 /* x */
start local 12 // int x
31: goto 34
32: .line 580
StackMap locals: int
StackMap stack:
aload 5 /* result */
iload 6 /* resultOffset */
iinc 6 /* resultOffset */ 1
aload 10 /* upperCharArray */
iload 12 /* x */
caload
invokestatic java.lang.StringUTF16.putChar:([BII)V
33: .line 579
iinc 12 /* x */ 1
StackMap locals:
StackMap stack:
34: iload 12 /* x */
iload 11 /* mapLen */
if_icmplt 32
end local 12 // int x
end local 11 // int mapLen
end local 10 // char[] upperCharArray
end local 9 // int upperChar
end local 8 // int srcChar
35: .line 550
StackMap locals: java.lang.String byte[] int java.util.Locale int byte[] int int
StackMap stack:
iinc 7 /* i */ 1
StackMap locals:
StackMap stack:
36: iload 7 /* i */
aload 1 /* value */
arraylength
if_icmplt 9
end local 7 // int i
37: .line 584
aload 5 /* result */
iconst_0
iload 6 /* resultOffset */
invokestatic java.lang.StringUTF16.newString:([BII)Ljava/lang/String;
areturn
end local 6 // int resultOffset
end local 5 // byte[] result
end local 4 // boolean localeDependent
end local 3 // java.util.Locale locale
end local 2 // int first
end local 1 // byte[] value
end local 0 // java.lang.String str
LocalVariableTable:
Start End Slot Name Signature
0 38 0 str Ljava/lang/String;
0 38 1 value [B
0 38 2 first I
0 38 3 locale Ljava/util/Locale;
0 38 4 localeDependent Z
1 38 5 result [B
2 38 6 resultOffset I
3 7 7 i I
8 37 7 i I
10 35 8 srcChar I
12 13 9 upperChar I
14 35 9 upperChar I
21 22 10 upperCharArray [C
23 24 10 upperCharArray [C
25 35 10 upperCharArray [C
26 35 11 mapLen I
28 30 12 result2 [B
31 35 12 x I
MethodParameters:
Name Flags
str
value
first
locale
localeDependent
public static java.lang.String trim(byte[]);
descriptor: ([B)Ljava/lang/String;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=4, locals=3, args_size=1
start local 0 // byte[] value
0: .line 588
aload 0 /* value */
arraylength
istore 1 /* len */
start local 1 // int len
1: .line 589
iconst_0
istore 2 /* st */
start local 2 // int st
2: .line 590
goto 4
3: .line 591
StackMap locals: int int
StackMap stack:
iinc 2 /* st */ 1
4: .line 590
StackMap locals:
StackMap stack:
iload 2 /* st */
iload 1 /* len */
if_icmpge 7
aload 0 /* value */
iload 2 /* st */
baload
sipush 255
iand
bipush 32
if_icmple 3
5: .line 593
goto 7
6: .line 594
StackMap locals:
StackMap stack:
iinc 1 /* len */ -1
7: .line 593
StackMap locals:
StackMap stack:
iload 2 /* st */
iload 1 /* len */
if_icmpge 8
aload 0 /* value */
iload 1 /* len */
iconst_1
isub
baload
sipush 255
iand
bipush 32
if_icmple 6
8: .line 596
StackMap locals:
StackMap stack:
iload 2 /* st */
ifgt 9
iload 1 /* len */
aload 0 /* value */
arraylength
if_icmpge 10
9: .line 597
StackMap locals:
StackMap stack:
aload 0 /* value */
iload 2 /* st */
iload 1 /* len */
iload 2 /* st */
isub
invokestatic java.lang.StringLatin1.newString:([BII)Ljava/lang/String;
goto 11
StackMap locals:
StackMap stack:
10: aconst_null
11: .line 596
StackMap locals:
StackMap stack: java.lang.String
areturn
end local 2 // int st
end local 1 // int len
end local 0 // byte[] value
LocalVariableTable:
Start End Slot Name Signature
0 12 0 value [B
1 12 1 len I
2 12 2 st I
MethodParameters:
Name Flags
value
public static int indexOfNonWhitespace(byte[]);
descriptor: ([B)I
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=4, args_size=1
start local 0 // byte[] value
0: .line 601
aload 0 /* value */
arraylength
istore 1 /* length */
start local 1 // int length
1: .line 602
iconst_0
istore 2 /* left */
start local 2 // int left
2: .line 603
goto 7
3: .line 604
StackMap locals: int int
StackMap stack:
aload 0 /* value */
iload 2 /* left */
invokestatic java.lang.StringLatin1.getChar:([BI)C
istore 3 /* ch */
start local 3 // char ch
4: .line 605
iload 3 /* ch */
bipush 32
if_icmpeq 6
iload 3 /* ch */
bipush 9
if_icmpeq 6
getstatic java.lang.CharacterDataLatin1.instance:Ljava/lang/CharacterDataLatin1;
iload 3 /* ch */
invokevirtual java.lang.CharacterDataLatin1.isWhitespace:(I)Z
ifne 6
5: .line 606
goto 8
6: .line 608
StackMap locals: int
StackMap stack:
iinc 2 /* left */ 1
end local 3 // char ch
7: .line 603
StackMap locals:
StackMap stack:
iload 2 /* left */
iload 1 /* length */
if_icmplt 3
8: .line 610
StackMap locals:
StackMap stack:
iload 2 /* left */
ireturn
end local 2 // int left
end local 1 // int length
end local 0 // byte[] value
LocalVariableTable:
Start End Slot Name Signature
0 9 0 value [B
1 9 1 length I
2 9 2 left I
4 7 3 ch C
MethodParameters:
Name Flags
value
public static int lastIndexOfNonWhitespace(byte[]);
descriptor: ([B)I
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=4, args_size=1
start local 0 // byte[] value
0: .line 614
aload 0 /* value */
arraylength
istore 1 /* length */
start local 1 // int length
1: .line 615
iload 1 /* length */
istore 2 /* right */
start local 2 // int right
2: .line 616
goto 7
3: .line 617
StackMap locals: int int
StackMap stack:
aload 0 /* value */
iload 2 /* right */
iconst_1
isub
invokestatic java.lang.StringLatin1.getChar:([BI)C
istore 3 /* ch */
start local 3 // char ch
4: .line 618
iload 3 /* ch */
bipush 32
if_icmpeq 6
iload 3 /* ch */
bipush 9
if_icmpeq 6
getstatic java.lang.CharacterDataLatin1.instance:Ljava/lang/CharacterDataLatin1;
iload 3 /* ch */
invokevirtual java.lang.CharacterDataLatin1.isWhitespace:(I)Z
ifne 6
5: .line 619
goto 8
6: .line 621
StackMap locals: int
StackMap stack:
iinc 2 /* right */ -1
end local 3 // char ch
7: .line 616
StackMap locals:
StackMap stack:
iload 2 /* right */
ifgt 3
8: .line 623
StackMap locals:
StackMap stack:
iload 2 /* right */
ireturn
end local 2 // int right
end local 1 // int length
end local 0 // byte[] value
LocalVariableTable:
Start End Slot Name Signature
0 9 0 value [B
1 9 1 length I
2 9 2 right I
4 7 3 ch C
MethodParameters:
Name Flags
value
public static java.lang.String strip(byte[]);
descriptor: ([B)Ljava/lang/String;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=4, locals=4, args_size=1
start local 0 // byte[] value
0: .line 627
aload 0 /* value */
invokestatic java.lang.StringLatin1.indexOfNonWhitespace:([B)I
istore 1 /* left */
start local 1 // int left
1: .line 628
iload 1 /* left */
aload 0 /* value */
arraylength
if_icmpne 3
2: .line 629
ldc ""
areturn
3: .line 631
StackMap locals: int
StackMap stack:
aload 0 /* value */
invokestatic java.lang.StringLatin1.lastIndexOfNonWhitespace:([B)I
istore 2 /* right */
start local 2 // int right
4: .line 632
iload 1 /* left */
ifgt 5
iload 2 /* right */
aload 0 /* value */
arraylength
if_icmplt 5
iconst_0
goto 6
StackMap locals: int
StackMap stack:
5: iconst_1
StackMap locals:
StackMap stack: int
6: istore 3 /* ifChanged */
start local 3 // boolean ifChanged
7: .line 633
iload 3 /* ifChanged */
ifeq 8
aload 0 /* value */
iload 1 /* left */
iload 2 /* right */
iload 1 /* left */
isub
invokestatic java.lang.StringLatin1.newString:([BII)Ljava/lang/String;
goto 9
StackMap locals: int
StackMap stack:
8: aconst_null
StackMap locals:
StackMap stack: java.lang.String
9: areturn
end local 3 // boolean ifChanged
end local 2 // int right
end local 1 // int left
end local 0 // byte[] value
LocalVariableTable:
Start End Slot Name Signature
0 10 0 value [B
1 10 1 left I
4 10 2 right I
7 10 3 ifChanged Z
MethodParameters:
Name Flags
value
public static java.lang.String stripLeading(byte[]);
descriptor: ([B)Ljava/lang/String;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=4, locals=2, args_size=1
start local 0 // byte[] value
0: .line 637
aload 0 /* value */
invokestatic java.lang.StringLatin1.indexOfNonWhitespace:([B)I
istore 1 /* left */
start local 1 // int left
1: .line 638
iload 1 /* left */
ifeq 2
aload 0 /* value */
iload 1 /* left */
aload 0 /* value */
arraylength
iload 1 /* left */
isub
invokestatic java.lang.StringLatin1.newString:([BII)Ljava/lang/String;
goto 3
StackMap locals: int
StackMap stack:
2: aconst_null
StackMap locals:
StackMap stack: java.lang.String
3: areturn
end local 1 // int left
end local 0 // byte[] value
LocalVariableTable:
Start End Slot Name Signature
0 4 0 value [B
1 4 1 left I
MethodParameters:
Name Flags
value
public static java.lang.String stripTrailing(byte[]);
descriptor: ([B)Ljava/lang/String;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=2, args_size=1
start local 0 // byte[] value
0: .line 642
aload 0 /* value */
invokestatic java.lang.StringLatin1.lastIndexOfNonWhitespace:([B)I
istore 1 /* right */
start local 1 // int right
1: .line 643
iload 1 /* right */
aload 0 /* value */
arraylength
if_icmpeq 2
aload 0 /* value */
iconst_0
iload 1 /* right */
invokestatic java.lang.StringLatin1.newString:([BII)Ljava/lang/String;
goto 3
StackMap locals: int
StackMap stack:
2: aconst_null
StackMap locals:
StackMap stack: java.lang.String
3: areturn
end local 1 // int right
end local 0 // byte[] value
LocalVariableTable:
Start End Slot Name Signature
0 4 0 value [B
1 4 1 right I
MethodParameters:
Name Flags
value
static java.util.stream.Stream<java.lang.String> lines(byte[]);
descriptor: ([B)Ljava/util/stream/Stream;
flags: (0x0008) ACC_STATIC
Code:
stack=2, locals=1, args_size=1
start local 0 // byte[] value
0: .line 737
aload 0 /* value */
invokestatic java.lang.StringLatin1$LinesSpliterator.spliterator:([B)Ljava/lang/StringLatin1$LinesSpliterator;
iconst_0
invokestatic java.util.stream.StreamSupport.stream:(Ljava/util/Spliterator;Z)Ljava/util/stream/Stream;
areturn
end local 0 // byte[] value
LocalVariableTable:
Start End Slot Name Signature
0 1 0 value [B
Signature: ([B)Ljava/util/stream/Stream<Ljava/lang/String;>;
MethodParameters:
Name Flags
value
public static void putChar(byte[], int, int);
descriptor: ([BII)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=3, args_size=3
start local 0 // byte[] val
start local 1 // int index
start local 2 // int c
0: .line 742
aload 0 /* val */
iload 1 /* index */
iload 2 /* c */
i2b
bastore
1: .line 743
return
end local 2 // int c
end local 1 // int index
end local 0 // byte[] val
LocalVariableTable:
Start End Slot Name Signature
0 2 0 val [B
0 2 1 index I
0 2 2 c I
MethodParameters:
Name Flags
val
index
c
public static char getChar(byte[], int);
descriptor: ([BI)C
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=2, args_size=2
start local 0 // byte[] val
start local 1 // int index
0: .line 746
aload 0 /* val */
iload 1 /* index */
baload
sipush 255
iand
i2c
ireturn
end local 1 // int index
end local 0 // byte[] val
LocalVariableTable:
Start End Slot Name Signature
0 1 0 val [B
0 1 1 index I
MethodParameters:
Name Flags
val
index
public static byte[] toBytes(int[], int, int);
descriptor: ([III)[B
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=6, args_size=3
start local 0 // int[] val
start local 1 // int off
start local 2 // int len
0: .line 750
iload 2 /* len */
newarray 8
astore 3 /* ret */
start local 3 // byte[] ret
1: .line 751
iconst_0
istore 4 /* i */
start local 4 // int i
2: goto 8
3: .line 752
StackMap locals: byte[] int
StackMap stack:
aload 0 /* val */
iload 1 /* off */
iinc 1 /* off */ 1
iaload
istore 5 /* cp */
start local 5 // int cp
4: .line 753
iload 5 /* cp */
invokestatic java.lang.StringLatin1.canEncode:(I)Z
ifne 6
5: .line 754
aconst_null
areturn
6: .line 756
StackMap locals: int
StackMap stack:
aload 3 /* ret */
iload 4 /* i */
iload 5 /* cp */
i2b
bastore
end local 5 // int cp
7: .line 751
iinc 4 /* i */ 1
StackMap locals:
StackMap stack:
8: iload 4 /* i */
iload 2 /* len */
if_icmplt 3
end local 4 // int i
9: .line 758
aload 3 /* ret */
areturn
end local 3 // byte[] ret
end local 2 // int len
end local 1 // int off
end local 0 // int[] val
LocalVariableTable:
Start End Slot Name Signature
0 10 0 val [I
0 10 1 off I
0 10 2 len I
1 10 3 ret [B
2 9 4 i I
4 7 5 cp I
MethodParameters:
Name Flags
val
off
len
public static byte[] toBytes(char);
descriptor: (C)[B
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=4, locals=1, args_size=1
start local 0 // char c
0: .line 762
iconst_1
newarray 8
dup
iconst_0
iload 0 /* c */
i2b
bastore
areturn
end local 0 // char c
LocalVariableTable:
Start End Slot Name Signature
0 1 0 c C
MethodParameters:
Name Flags
c
public static java.lang.String newString(byte[], int, int);
descriptor: ([BII)Ljava/lang/String;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=6, locals=3, args_size=3
start local 0 // byte[] val
start local 1 // int index
start local 2 // int len
0: .line 766
iload 2 /* len */
ifne 2
1: .line 767
ldc ""
areturn
2: .line 769
StackMap locals:
StackMap stack:
new java.lang.String
dup
aload 0 /* val */
iload 1 /* index */
iload 1 /* index */
iload 2 /* len */
iadd
invokestatic java.util.Arrays.copyOfRange:([BII)[B
3: .line 770
iconst_0
4: .line 769
invokespecial java.lang.String.<init>:([BB)V
areturn
end local 2 // int len
end local 1 // int index
end local 0 // byte[] val
LocalVariableTable:
Start End Slot Name Signature
0 5 0 val [B
0 5 1 index I
0 5 2 len I
MethodParameters:
Name Flags
val
index
len
public static void fillNull(byte[], int, int);
descriptor: ([BII)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=4, locals=3, args_size=3
start local 0 // byte[] val
start local 1 // int index
start local 2 // int end
0: .line 774
aload 0 /* val */
iload 1 /* index */
iload 2 /* end */
iconst_0
invokestatic java.util.Arrays.fill:([BIIB)V
1: .line 775
return
end local 2 // int end
end local 1 // int index
end local 0 // byte[] val
LocalVariableTable:
Start End Slot Name Signature
0 2 0 val [B
0 2 1 index I
0 2 2 end I
MethodParameters:
Name Flags
val
index
end
public static void inflate(byte[], int, char[], int, int);
descriptor: ([BI[CII)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=4, locals=6, args_size=5
start local 0 // byte[] src
start local 1 // int srcOff
start local 2 // char[] dst
start local 3 // int dstOff
start local 4 // int len
0: .line 780
iconst_0
istore 5 /* i */
start local 5 // int i
1: goto 4
2: .line 781
StackMap locals: int
StackMap stack:
aload 2 /* dst */
iload 3 /* dstOff */
iinc 3 /* dstOff */ 1
aload 0 /* src */
iload 1 /* srcOff */
iinc 1 /* srcOff */ 1
baload
sipush 255
iand
i2c
castore
3: .line 780
iinc 5 /* i */ 1
StackMap locals:
StackMap stack:
4: iload 5 /* i */
iload 4 /* len */
if_icmplt 2
end local 5 // int i
5: .line 783
return
end local 4 // int len
end local 3 // int dstOff
end local 2 // char[] dst
end local 1 // int srcOff
end local 0 // byte[] src
LocalVariableTable:
Start End Slot Name Signature
0 6 0 src [B
0 6 1 srcOff I
0 6 2 dst [C
0 6 3 dstOff I
0 6 4 len I
1 5 5 i I
RuntimeVisibleAnnotations:
jdk.internal.vm.annotation.IntrinsicCandidate()
MethodParameters:
Name Flags
src
srcOff
dst
dstOff
len
public static void inflate(byte[], int, byte[], int, int);
descriptor: ([BI[BII)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=5, locals=5, args_size=5
start local 0 // byte[] src
start local 1 // int srcOff
start local 2 // byte[] dst
start local 3 // int dstOff
start local 4 // int len
0: .line 788
aload 0 /* src */
iload 1 /* srcOff */
aload 2 /* dst */
iload 3 /* dstOff */
iload 4 /* len */
invokestatic java.lang.StringUTF16.inflate:([BI[BII)V
1: .line 789
return
end local 4 // int len
end local 3 // int dstOff
end local 2 // byte[] dst
end local 1 // int srcOff
end local 0 // byte[] src
LocalVariableTable:
Start End Slot Name Signature
0 2 0 src [B
0 2 1 srcOff I
0 2 2 dst [B
0 2 3 dstOff I
0 2 4 len I
RuntimeVisibleAnnotations:
jdk.internal.vm.annotation.IntrinsicCandidate()
MethodParameters:
Name Flags
src
srcOff
dst
dstOff
len
}
SourceFile: "StringLatin1.java"
NestMembers:
java.lang.StringLatin1$CharsSpliterator java.lang.StringLatin1$LinesSpliterator
InnerClasses:
CharsSpliterator = java.lang.StringLatin1$CharsSpliterator of java.lang.StringLatin1
private final LinesSpliterator = java.lang.StringLatin1$LinesSpliterator of java.lang.StringLatin1