final class java.lang.StringUTF16
minor version: 0
major version: 59
flags: flags: (0x0030) ACC_FINAL, ACC_SUPER
this_class: java.lang.StringUTF16
super_class: java.lang.Object
{
static final int HI_BYTE_SHIFT;
descriptor: I
flags: (0x0018) ACC_STATIC, ACC_FINAL
static final int LO_BYTE_SHIFT;
descriptor: I
flags: (0x0018) ACC_STATIC, ACC_FINAL
static final int MAX_LENGTH;
descriptor: I
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: 1073741823
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 43
ldc Ljava/lang/StringUTF16;
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.StringUTF16.$assertionsDisabled:Z
3: .line 1470
invokestatic java.lang.StringUTF16.isBigEndian:()Z
ifeq 7
4: .line 1471
bipush 8
putstatic java.lang.StringUTF16.HI_BYTE_SHIFT:I
5: .line 1472
iconst_0
putstatic java.lang.StringUTF16.LO_BYTE_SHIFT:I
6: .line 1473
goto 9
7: .line 1474
StackMap locals:
StackMap stack:
iconst_0
putstatic java.lang.StringUTF16.HI_BYTE_SHIFT:I
8: .line 1475
bipush 8
putstatic java.lang.StringUTF16.LO_BYTE_SHIFT:I
9: .line 1479
StackMap locals:
StackMap stack:
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.StringUTF16 this
0: .line 43
aload 0 /* this */
invokespecial java.lang.Object.<init>:()V
return
end local 0 // java.lang.StringUTF16 this
LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljava/lang/StringUTF16;
public static byte[] newBytesFor(int);
descriptor: (I)[B
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=5, locals=1, args_size=1
start local 0 // int len
0: .line 46
iload 0 /* len */
ifge 2
1: .line 47
new java.lang.NegativeArraySizeException
dup
invokespecial java.lang.NegativeArraySizeException.<init>:()V
athrow
2: .line 49
StackMap locals:
StackMap stack:
iload 0 /* len */
ldc 1073741823
if_icmple 6
3: .line 50
new java.lang.OutOfMemoryError
dup
new java.lang.StringBuilder
dup
ldc "UTF16 String size is "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 0 /* len */
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
4: .line 51
ldc ", should be less than "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc 1073741823
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
5: .line 50
invokespecial java.lang.OutOfMemoryError.<init>:(Ljava/lang/String;)V
athrow
6: .line 53
StackMap locals:
StackMap stack:
iload 0 /* len */
iconst_1
ishl
newarray 8
areturn
end local 0 // int len
LocalVariableTable:
Start End Slot Name Signature
0 7 0 len I
MethodParameters:
Name Flags
len
static void putChar(byte[], int, int);
descriptor: ([BII)V
flags: (0x0008) ACC_STATIC
Code:
stack=4, locals=3, args_size=3
start local 0 // byte[] val
start local 1 // int index
start local 2 // int c
0: .line 59
getstatic java.lang.StringUTF16.$assertionsDisabled:Z
ifne 2
iload 1 /* index */
iflt 1
iload 1 /* index */
aload 0 /* val */
invokestatic java.lang.StringUTF16.length:([B)I
if_icmplt 2
StackMap locals:
StackMap stack:
1: new java.lang.AssertionError
dup
ldc "Trusted caller missed bounds check"
invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
athrow
2: .line 60
StackMap locals:
StackMap stack:
iload 1 /* index */
iconst_1
ishl
istore 1 /* index */
3: .line 61
aload 0 /* val */
iload 1 /* index */
iinc 1 /* index */ 1
iload 2 /* c */
getstatic java.lang.StringUTF16.HI_BYTE_SHIFT:I
ishr
i2b
bastore
4: .line 62
aload 0 /* val */
iload 1 /* index */
iload 2 /* c */
getstatic java.lang.StringUTF16.LO_BYTE_SHIFT:I
ishr
i2b
bastore
5: .line 63
return
end local 2 // int c
end local 1 // int index
end local 0 // byte[] val
LocalVariableTable:
Start End Slot Name Signature
0 6 0 val [B
0 6 1 index I
0 6 2 c I
RuntimeVisibleAnnotations:
jdk.internal.HotSpotIntrinsicCandidate()
MethodParameters:
Name Flags
val
index
c
static char getChar(byte[], int);
descriptor: ([BI)C
flags: (0x0008) ACC_STATIC
Code:
stack=3, locals=2, args_size=2
start local 0 // byte[] val
start local 1 // int index
0: .line 68
getstatic java.lang.StringUTF16.$assertionsDisabled:Z
ifne 2
iload 1 /* index */
iflt 1
iload 1 /* index */
aload 0 /* val */
invokestatic java.lang.StringUTF16.length:([B)I
if_icmplt 2
StackMap locals:
StackMap stack:
1: new java.lang.AssertionError
dup
ldc "Trusted caller missed bounds check"
invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
athrow
2: .line 69
StackMap locals:
StackMap stack:
iload 1 /* index */
iconst_1
ishl
istore 1 /* index */
3: .line 70
aload 0 /* val */
iload 1 /* index */
iinc 1 /* index */ 1
baload
sipush 255
iand
getstatic java.lang.StringUTF16.HI_BYTE_SHIFT:I
ishl
4: .line 71
aload 0 /* val */
iload 1 /* index */
baload
sipush 255
iand
getstatic java.lang.StringUTF16.LO_BYTE_SHIFT:I
ishl
5: .line 70
ior
i2c
ireturn
end local 1 // int index
end local 0 // byte[] val
LocalVariableTable:
Start End Slot Name Signature
0 6 0 val [B
0 6 1 index I
RuntimeVisibleAnnotations:
jdk.internal.HotSpotIntrinsicCandidate()
MethodParameters:
Name Flags
val
index
public static int length(byte[]);
descriptor: ([B)I
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=1, args_size=1
start local 0 // byte[] value
0: .line 75
aload 0 /* value */
arraylength
iconst_1
ishr
ireturn
end local 0 // byte[] value
LocalVariableTable:
Start End Slot Name Signature
0 1 0 value [B
MethodParameters:
Name Flags
value
private static int codePointAt(byte[], int, int, boolean);
descriptor: ([BIIZ)I
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=6, args_size=4
start local 0 // byte[] value
start local 1 // int index
start local 2 // int end
start local 3 // boolean checked
0: .line 79
getstatic java.lang.StringUTF16.$assertionsDisabled:Z
ifne 1
iload 1 /* index */
iload 2 /* end */
if_icmplt 1
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
1: .line 80
StackMap locals:
StackMap stack:
iload 3 /* checked */
ifeq 3
2: .line 81
iload 1 /* index */
aload 0 /* value */
invokestatic java.lang.StringUTF16.checkIndex:(I[B)V
3: .line 83
StackMap locals:
StackMap stack:
aload 0 /* value */
iload 1 /* index */
invokestatic java.lang.StringUTF16.getChar:([BI)C
istore 4 /* c1 */
start local 4 // char c1
4: .line 84
iload 4 /* c1 */
invokestatic java.lang.Character.isHighSurrogate:(C)Z
ifeq 10
iinc 1 /* index */ 1
iload 1 /* index */
iload 2 /* end */
if_icmpge 10
5: .line 85
iload 3 /* checked */
ifeq 7
6: .line 86
iload 1 /* index */
aload 0 /* value */
invokestatic java.lang.StringUTF16.checkIndex:(I[B)V
7: .line 88
StackMap locals: int
StackMap stack:
aload 0 /* value */
iload 1 /* index */
invokestatic java.lang.StringUTF16.getChar:([BI)C
istore 5 /* c2 */
start local 5 // char c2
8: .line 89
iload 5 /* c2 */
invokestatic java.lang.Character.isLowSurrogate:(C)Z
ifeq 10
9: .line 90
iload 4 /* c1 */
iload 5 /* c2 */
invokestatic java.lang.Character.toCodePoint:(CC)I
ireturn
end local 5 // char c2
10: .line 93
StackMap locals:
StackMap stack:
iload 4 /* c1 */
ireturn
end local 4 // char c1
end local 3 // boolean checked
end local 2 // int end
end local 1 // int index
end local 0 // byte[] value
LocalVariableTable:
Start End Slot Name Signature
0 11 0 value [B
0 11 1 index I
0 11 2 end I
0 11 3 checked Z
4 11 4 c1 C
8 10 5 c2 C
MethodParameters:
Name Flags
value
index
end
checked
public static int codePointAt(byte[], int, int);
descriptor: ([BII)I
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=4, locals=3, args_size=3
start local 0 // byte[] value
start local 1 // int index
start local 2 // int end
0: .line 97
aload 0 /* value */
iload 1 /* index */
iload 2 /* end */
iconst_0
invokestatic java.lang.StringUTF16.codePointAt:([BIIZ)I
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
private static int codePointBefore(byte[], int, boolean);
descriptor: ([BIZ)I
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=5, args_size=3
start local 0 // byte[] value
start local 1 // int index
start local 2 // boolean checked
0: .line 101
iinc 1 /* index */ -1
1: .line 102
iload 2 /* checked */
ifeq 3
2: .line 103
iload 1 /* index */
aload 0 /* value */
invokestatic java.lang.StringUTF16.checkIndex:(I[B)V
3: .line 105
StackMap locals:
StackMap stack:
aload 0 /* value */
iload 1 /* index */
invokestatic java.lang.StringUTF16.getChar:([BI)C
istore 3 /* c2 */
start local 3 // char c2
4: .line 106
iload 3 /* c2 */
invokestatic java.lang.Character.isLowSurrogate:(C)Z
ifeq 11
iload 1 /* index */
ifle 11
5: .line 107
iinc 1 /* index */ -1
6: .line 108
iload 2 /* checked */
ifeq 8
7: .line 109
iload 1 /* index */
aload 0 /* value */
invokestatic java.lang.StringUTF16.checkIndex:(I[B)V
8: .line 111
StackMap locals: int
StackMap stack:
aload 0 /* value */
iload 1 /* index */
invokestatic java.lang.StringUTF16.getChar:([BI)C
istore 4 /* c1 */
start local 4 // char c1
9: .line 112
iload 4 /* c1 */
invokestatic java.lang.Character.isHighSurrogate:(C)Z
ifeq 11
10: .line 113
iload 4 /* c1 */
iload 3 /* c2 */
invokestatic java.lang.Character.toCodePoint:(CC)I
ireturn
end local 4 // char c1
11: .line 116
StackMap locals:
StackMap stack:
iload 3 /* c2 */
ireturn
end local 3 // char c2
end local 2 // boolean checked
end local 1 // int index
end local 0 // byte[] value
LocalVariableTable:
Start End Slot Name Signature
0 12 0 value [B
0 12 1 index I
0 12 2 checked Z
4 12 3 c2 C
9 11 4 c1 C
MethodParameters:
Name Flags
value
index
checked
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 120
aload 0 /* value */
iload 1 /* index */
iconst_0
invokestatic java.lang.StringUTF16.codePointBefore:([BIZ)I
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
private static int codePointCount(byte[], int, int, boolean);
descriptor: ([BIIZ)I
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=3, locals=6, args_size=4
start local 0 // byte[] value
start local 1 // int beginIndex
start local 2 // int endIndex
start local 3 // boolean checked
0: .line 124
getstatic java.lang.StringUTF16.$assertionsDisabled:Z
ifne 1
iload 1 /* beginIndex */
iload 2 /* endIndex */
if_icmple 1
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
1: .line 125
StackMap locals:
StackMap stack:
iload 2 /* endIndex */
iload 1 /* beginIndex */
isub
istore 4 /* count */
start local 4 // int count
2: .line 126
iload 1 /* beginIndex */
istore 5 /* i */
start local 5 // int i
3: .line 127
iload 3 /* checked */
ifeq 10
iload 5 /* i */
iload 2 /* endIndex */
if_icmpge 10
4: .line 128
iload 5 /* i */
iload 2 /* endIndex */
aload 0 /* value */
invokestatic java.lang.StringUTF16.checkBoundsBeginEnd:(II[B)V
5: .line 130
goto 10
6: .line 131
StackMap locals: int int
StackMap stack:
aload 0 /* value */
iload 5 /* i */
iinc 5 /* i */ 1
invokestatic java.lang.StringUTF16.getChar:([BI)C
invokestatic java.lang.Character.isHighSurrogate:(C)Z
ifeq 10
7: .line 132
aload 0 /* value */
iload 5 /* i */
invokestatic java.lang.StringUTF16.getChar:([BI)C
invokestatic java.lang.Character.isLowSurrogate:(C)Z
ifeq 10
8: .line 133
iinc 4 /* count */ -1
9: .line 134
iinc 5 /* i */ 1
10: .line 130
StackMap locals:
StackMap stack:
iload 5 /* i */
iload 2 /* endIndex */
iconst_1
isub
if_icmplt 6
11: .line 137
iload 4 /* count */
ireturn
end local 5 // int i
end local 4 // int count
end local 3 // boolean checked
end local 2 // int endIndex
end local 1 // int beginIndex
end local 0 // byte[] value
LocalVariableTable:
Start End Slot Name Signature
0 12 0 value [B
0 12 1 beginIndex I
0 12 2 endIndex I
0 12 3 checked Z
2 12 4 count I
3 12 5 i I
MethodParameters:
Name Flags
value
beginIndex
endIndex
checked
public static int codePointCount(byte[], int, int);
descriptor: ([BII)I
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=4, locals=3, args_size=3
start local 0 // byte[] value
start local 1 // int beginIndex
start local 2 // int endIndex
0: .line 141
aload 0 /* value */
iload 1 /* beginIndex */
iload 2 /* endIndex */
iconst_0
invokestatic java.lang.StringUTF16.codePointCount:([BIIZ)I
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 145
aload 0 /* value */
arraylength
iconst_1
ishr
newarray 5
astore 1 /* dst */
start local 1 // char[] dst
1: .line 146
aload 0 /* value */
iconst_0
aload 1 /* dst */
arraylength
aload 1 /* dst */
iconst_0
invokestatic java.lang.StringUTF16.getChars:([BII[CI)V
2: .line 147
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[] toBytes(char[], int, int);
descriptor: ([CII)[B
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=4, locals=5, args_size=3
start local 0 // char[] value
start local 1 // int off
start local 2 // int len
0: .line 152
iload 2 /* len */
invokestatic java.lang.StringUTF16.newBytesFor:(I)[B
astore 3 /* val */
start local 3 // byte[] val
1: .line 153
iconst_0
istore 4 /* i */
start local 4 // int i
2: goto 6
3: .line 154
StackMap locals: byte[] int
StackMap stack:
aload 3 /* val */
iload 4 /* i */
aload 0 /* value */
iload 1 /* off */
caload
invokestatic java.lang.StringUTF16.putChar:([BII)V
4: .line 155
iinc 1 /* off */ 1
5: .line 153
iinc 4 /* i */ 1
StackMap locals:
StackMap stack:
6: iload 4 /* i */
iload 2 /* len */
if_icmplt 3
end local 4 // int i
7: .line 157
aload 3 /* val */
areturn
end local 3 // byte[] val
end local 2 // int len
end local 1 // int off
end local 0 // char[] value
LocalVariableTable:
Start End Slot Name Signature
0 8 0 value [C
0 8 1 off I
0 8 2 len I
1 8 3 val [B
2 7 4 i I
RuntimeVisibleAnnotations:
jdk.internal.HotSpotIntrinsicCandidate()
MethodParameters:
Name Flags
value
off
len
public static byte[] compress(char[], int, int);
descriptor: ([CII)[B
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=5, locals=4, args_size=3
start local 0 // char[] val
start local 1 // int off
start local 2 // int len
0: .line 161
iload 2 /* len */
newarray 8
astore 3 /* ret */
start local 3 // byte[] ret
1: .line 162
aload 0 /* val */
iload 1 /* off */
aload 3 /* ret */
iconst_0
iload 2 /* len */
invokestatic java.lang.StringUTF16.compress:([CI[BII)I
iload 2 /* len */
if_icmpne 3
2: .line 163
aload 3 /* ret */
areturn
3: .line 165
StackMap locals: byte[]
StackMap stack:
aconst_null
areturn
end local 3 // byte[] ret
end local 2 // int len
end local 1 // int off
end local 0 // char[] val
LocalVariableTable:
Start End Slot Name Signature
0 4 0 val [C
0 4 1 off I
0 4 2 len I
1 4 3 ret [B
MethodParameters:
Name Flags
val
off
len
public static byte[] compress(byte[], int, int);
descriptor: ([BII)[B
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=5, locals=4, args_size=3
start local 0 // byte[] val
start local 1 // int off
start local 2 // int len
0: .line 169
iload 2 /* len */
newarray 8
astore 3 /* ret */
start local 3 // byte[] ret
1: .line 170
aload 0 /* val */
iload 1 /* off */
aload 3 /* ret */
iconst_0
iload 2 /* len */
invokestatic java.lang.StringUTF16.compress:([BI[BII)I
iload 2 /* len */
if_icmpne 3
2: .line 171
aload 3 /* ret */
areturn
3: .line 173
StackMap locals: byte[]
StackMap stack:
aconst_null
areturn
end local 3 // byte[] ret
end local 2 // int len
end local 1 // int off
end local 0 // byte[] val
LocalVariableTable:
Start End Slot Name Signature
0 4 0 val [B
0 4 1 off I
0 4 2 len I
1 4 3 ret [B
MethodParameters:
Name Flags
val
off
len
public static int compress(char[], int, byte[], int, int);
descriptor: ([CI[BII)I
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=7, args_size=5
start local 0 // char[] src
start local 1 // int srcOff
start local 2 // byte[] dst
start local 3 // int dstOff
start local 4 // int len
0: .line 179
iconst_0
istore 5 /* i */
start local 5 // int i
1: goto 10
2: .line 180
StackMap locals: int
StackMap stack:
aload 0 /* src */
iload 1 /* srcOff */
caload
istore 6 /* c */
start local 6 // char c
3: .line 181
iload 6 /* c */
sipush 255
if_icmple 6
4: .line 182
iconst_0
istore 4 /* len */
5: .line 183
goto 11
6: .line 185
StackMap locals: int
StackMap stack:
aload 2 /* dst */
iload 3 /* dstOff */
iload 6 /* c */
i2b
bastore
7: .line 186
iinc 1 /* srcOff */ 1
8: .line 187
iinc 3 /* dstOff */ 1
end local 6 // char c
9: .line 179
iinc 5 /* i */ 1
StackMap locals:
StackMap stack:
10: iload 5 /* i */
iload 4 /* len */
if_icmplt 2
end local 5 // int i
11: .line 189
StackMap locals:
StackMap stack:
iload 4 /* len */
ireturn
end local 4 // int len
end local 3 // int dstOff
end local 2 // byte[] dst
end local 1 // int srcOff
end local 0 // char[] src
LocalVariableTable:
Start End Slot Name Signature
0 12 0 src [C
0 12 1 srcOff I
0 12 2 dst [B
0 12 3 dstOff I
0 12 4 len I
1 11 5 i I
3 9 6 c C
RuntimeVisibleAnnotations:
jdk.internal.HotSpotIntrinsicCandidate()
MethodParameters:
Name Flags
src
srcOff
dst
dstOff
len
public static int compress(byte[], int, byte[], int, int);
descriptor: ([BI[BII)I
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=7, 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 196
iload 1 /* srcOff */
iload 4 /* len */
aload 0 /* src */
invokestatic java.lang.StringUTF16.checkBoundsOffCount:(II[B)V
1: .line 197
iconst_0
istore 5 /* i */
start local 5 // int i
2: goto 11
3: .line 198
StackMap locals: int
StackMap stack:
aload 0 /* src */
iload 1 /* srcOff */
invokestatic java.lang.StringUTF16.getChar:([BI)C
istore 6 /* c */
start local 6 // char c
4: .line 199
iload 6 /* c */
sipush 255
if_icmple 7
5: .line 200
iconst_0
istore 4 /* len */
6: .line 201
goto 12
7: .line 203
StackMap locals: int
StackMap stack:
aload 2 /* dst */
iload 3 /* dstOff */
iload 6 /* c */
i2b
bastore
8: .line 204
iinc 1 /* srcOff */ 1
9: .line 205
iinc 3 /* dstOff */ 1
end local 6 // char c
10: .line 197
iinc 5 /* i */ 1
StackMap locals:
StackMap stack:
11: iload 5 /* i */
iload 4 /* len */
if_icmplt 3
end local 5 // int i
12: .line 207
StackMap locals:
StackMap stack:
iload 4 /* len */
ireturn
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 13 0 src [B
0 13 1 srcOff I
0 13 2 dst [B
0 13 3 dstOff I
0 13 4 len I
2 12 5 i I
4 10 6 c C
RuntimeVisibleAnnotations:
jdk.internal.HotSpotIntrinsicCandidate()
MethodParameters:
Name Flags
src
srcOff
dst
dstOff
len
public static byte[] toBytes(int[], int, int);
descriptor: ([III)[B
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=9, args_size=3
start local 0 // int[] val
start local 1 // int index
start local 2 // int len
0: .line 211
iload 1 /* index */
iload 2 /* len */
iadd
istore 3 /* end */
start local 3 // int end
1: .line 213
iload 2 /* len */
istore 4 /* n */
start local 4 // int n
2: .line 214
iload 1 /* index */
istore 5 /* i */
start local 5 // int i
3: goto 11
4: .line 215
StackMap locals: int int int
StackMap stack:
aload 0 /* val */
iload 5 /* i */
iaload
istore 6 /* cp */
start local 6 // int cp
5: .line 216
iload 6 /* cp */
invokestatic java.lang.Character.isBmpCodePoint:(I)Z
ifeq 7
6: .line 217
goto 10
7: .line 218
StackMap locals: int
StackMap stack:
iload 6 /* cp */
invokestatic java.lang.Character.isValidCodePoint:(I)Z
ifeq 9
8: .line 219
iinc 4 /* n */ 1
goto 10
9: .line 220
StackMap locals:
StackMap stack:
new java.lang.IllegalArgumentException
dup
iload 6 /* cp */
invokestatic java.lang.Integer.toString:(I)Ljava/lang/String;
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
end local 6 // int cp
10: .line 214
StackMap locals:
StackMap stack:
iinc 5 /* i */ 1
StackMap locals:
StackMap stack:
11: iload 5 /* i */
iload 3 /* end */
if_icmplt 4
end local 5 // int i
12: .line 223
iload 4 /* n */
invokestatic java.lang.StringUTF16.newBytesFor:(I)[B
astore 5 /* buf */
start local 5 // byte[] buf
13: .line 224
iload 1 /* index */
istore 6 /* i */
start local 6 // int i
14: iconst_0
istore 7 /* j */
start local 7 // int j
15: goto 23
16: .line 225
StackMap locals: int[] int int int int byte[] int int
StackMap stack:
aload 0 /* val */
iload 6 /* i */
iaload
istore 8 /* cp */
start local 8 // int cp
17: .line 226
iload 8 /* cp */
invokestatic java.lang.Character.isBmpCodePoint:(I)Z
ifeq 20
18: .line 227
aload 5 /* buf */
iload 7 /* j */
iload 8 /* cp */
invokestatic java.lang.StringUTF16.putChar:([BII)V
19: .line 228
goto 22
20: .line 229
StackMap locals: int
StackMap stack:
aload 5 /* buf */
iload 7 /* j */
iinc 7 /* j */ 1
iload 8 /* cp */
invokestatic java.lang.Character.highSurrogate:(I)C
invokestatic java.lang.StringUTF16.putChar:([BII)V
21: .line 230
aload 5 /* buf */
iload 7 /* j */
iload 8 /* cp */
invokestatic java.lang.Character.lowSurrogate:(I)C
invokestatic java.lang.StringUTF16.putChar:([BII)V
end local 8 // int cp
22: .line 224
StackMap locals:
StackMap stack:
iinc 6 /* i */ 1
iinc 7 /* j */ 1
StackMap locals:
StackMap stack:
23: iload 6 /* i */
iload 3 /* end */
if_icmplt 16
end local 7 // int j
end local 6 // int i
24: .line 233
aload 5 /* buf */
areturn
end local 5 // byte[] buf
end local 4 // int n
end local 3 // int end
end local 2 // int len
end local 1 // int index
end local 0 // int[] val
LocalVariableTable:
Start End Slot Name Signature
0 25 0 val [I
0 25 1 index I
0 25 2 len I
1 25 3 end I
2 25 4 n I
3 12 5 i I
5 10 6 cp I
13 25 5 buf [B
14 24 6 i I
15 24 7 j I
17 22 8 cp I
MethodParameters:
Name Flags
val
index
len
public static byte[] toBytes(char);
descriptor: (C)[B
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=2, args_size=1
start local 0 // char c
0: .line 237
iconst_2
newarray 8
astore 1 /* result */
start local 1 // byte[] result
1: .line 238
aload 1 /* result */
iconst_0
iload 0 /* c */
invokestatic java.lang.StringUTF16.putChar:([BII)V
2: .line 239
aload 1 /* result */
areturn
end local 1 // byte[] result
end local 0 // char c
LocalVariableTable:
Start End Slot Name Signature
0 3 0 c C
1 3 1 result [B
MethodParameters:
Name Flags
c
static byte[] toBytesSupplementary(int);
descriptor: (I)[B
flags: (0x0008) ACC_STATIC
Code:
stack=3, locals=2, args_size=1
start local 0 // int cp
0: .line 243
iconst_4
newarray 8
astore 1 /* result */
start local 1 // byte[] result
1: .line 244
aload 1 /* result */
iconst_0
iload 0 /* cp */
invokestatic java.lang.Character.highSurrogate:(I)C
invokestatic java.lang.StringUTF16.putChar:([BII)V
2: .line 245
aload 1 /* result */
iconst_1
iload 0 /* cp */
invokestatic java.lang.Character.lowSurrogate:(I)C
invokestatic java.lang.StringUTF16.putChar:([BII)V
3: .line 246
aload 1 /* result */
areturn
end local 1 // byte[] result
end local 0 // int cp
LocalVariableTable:
Start End Slot Name Signature
0 4 0 cp I
1 4 1 result [B
MethodParameters:
Name Flags
cp
public static void getChars(byte[], int, int, char[], int);
descriptor: ([BII[CI)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=4, locals=6, 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 252
iload 1 /* srcBegin */
iload 2 /* srcEnd */
if_icmpge 2
1: .line 253
iload 1 /* srcBegin */
iload 2 /* srcEnd */
iload 1 /* srcBegin */
isub
aload 0 /* value */
invokestatic java.lang.StringUTF16.checkBoundsOffCount:(II[B)V
2: .line 255
StackMap locals:
StackMap stack:
iload 1 /* srcBegin */
istore 5 /* i */
start local 5 // int i
3: goto 6
4: .line 256
StackMap locals: int
StackMap stack:
aload 3 /* dst */
iload 4 /* dstBegin */
iinc 4 /* dstBegin */ 1
aload 0 /* value */
iload 5 /* i */
invokestatic java.lang.StringUTF16.getChar:([BI)C
castore
5: .line 255
iinc 5 /* i */ 1
StackMap locals:
StackMap stack:
6: iload 5 /* i */
iload 2 /* srcEnd */
if_icmplt 4
end local 5 // int i
7: .line 258
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 8 0 value [B
0 8 1 srcBegin I
0 8 2 srcEnd I
0 8 3 dst [C
0 8 4 dstBegin I
3 7 5 i I
RuntimeVisibleAnnotations:
jdk.internal.HotSpotIntrinsicCandidate()
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=4, locals=6, 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 262
iload 1 /* srcBegin */
iconst_1
ishl
istore 1 /* srcBegin */
1: .line 263
iload 2 /* srcEnd */
iconst_1
ishl
istore 2 /* srcEnd */
2: .line 264
iload 1 /* srcBegin */
iconst_1
getstatic java.lang.StringUTF16.LO_BYTE_SHIFT:I
ishr
iadd
istore 5 /* i */
start local 5 // int i
3: goto 6
4: .line 265
StackMap locals: int
StackMap stack:
aload 3 /* dst */
iload 4 /* dstBegin */
iinc 4 /* dstBegin */ 1
aload 0 /* value */
iload 5 /* i */
baload
bastore
5: .line 264
iinc 5 /* i */ 2
StackMap locals:
StackMap stack:
6: iload 5 /* i */
iload 2 /* srcEnd */
if_icmplt 4
end local 5 // int i
7: .line 267
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 8 0 value [B
0 8 1 srcBegin I
0 8 2 srcEnd I
0 8 3 dst [B
0 8 4 dstBegin I
3 7 5 i 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=4, args_size=2
start local 0 // byte[] value
start local 1 // byte[] other
0: .line 271
aload 0 /* value */
arraylength
aload 1 /* other */
arraylength
if_icmpne 9
1: .line 272
aload 0 /* value */
arraylength
iconst_1
ishr
istore 2 /* len */
start local 2 // int len
2: .line 273
iconst_0
istore 3 /* i */
start local 3 // int i
3: goto 7
4: .line 274
StackMap locals: int int
StackMap stack:
aload 0 /* value */
iload 3 /* i */
invokestatic java.lang.StringUTF16.getChar:([BI)C
aload 1 /* other */
iload 3 /* i */
invokestatic java.lang.StringUTF16.getChar:([BI)C
if_icmpeq 6
5: .line 275
iconst_0
ireturn
6: .line 273
StackMap locals:
StackMap stack:
iinc 3 /* i */ 1
StackMap locals:
StackMap stack:
7: iload 3 /* i */
iload 2 /* len */
if_icmplt 4
end local 3 // int i
8: .line 278
iconst_1
ireturn
end local 2 // int len
9: .line 280
StackMap locals:
StackMap stack:
iconst_0
ireturn
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
2 9 2 len I
3 8 3 i I
RuntimeVisibleAnnotations:
jdk.internal.HotSpotIntrinsicCandidate()
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 285
aload 0 /* value */
invokestatic java.lang.StringUTF16.length:([B)I
istore 2 /* len1 */
start local 2 // int len1
1: .line 286
aload 1 /* other */
invokestatic java.lang.StringUTF16.length:([B)I
istore 3 /* len2 */
start local 3 // int len2
2: .line 287
aload 0 /* value */
aload 1 /* other */
iload 2 /* len1 */
iload 3 /* len2 */
invokestatic java.lang.StringUTF16.compareValues:([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.HotSpotIntrinsicCandidate()
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=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 294
iload 2 /* len1 */
aload 0 /* value */
invokestatic java.lang.StringUTF16.checkOffset:(I[B)V
1: .line 295
iload 3 /* len2 */
aload 1 /* other */
invokestatic java.lang.StringUTF16.checkOffset:(I[B)V
2: .line 297
aload 0 /* value */
aload 1 /* other */
iload 2 /* len1 */
iload 3 /* len2 */
invokestatic java.lang.StringUTF16.compareValues:([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 compareValues(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 301
iload 2 /* len1 */
iload 3 /* len2 */
invokestatic java.lang.Math.min:(II)I
istore 4 /* lim */
start local 4 // int lim
1: .line 302
iconst_0
istore 5 /* k */
start local 5 // int k
2: goto 8
3: .line 303
StackMap locals: int int
StackMap stack:
aload 0 /* value */
iload 5 /* k */
invokestatic java.lang.StringUTF16.getChar:([BI)C
istore 6 /* c1 */
start local 6 // char c1
4: .line 304
aload 1 /* other */
iload 5 /* k */
invokestatic java.lang.StringUTF16.getChar:([BI)C
istore 7 /* c2 */
start local 7 // char c2
5: .line 305
iload 6 /* c1 */
iload 7 /* c2 */
if_icmpeq 7
6: .line 306
iload 6 /* c1 */
iload 7 /* c2 */
isub
ireturn
end local 7 // char c2
end local 6 // char c1
7: .line 302
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 309
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 compareToLatin1(byte[], byte[]);
descriptor: ([B[B)I
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=2, args_size=2
start local 0 // byte[] value
start local 1 // byte[] other
0: .line 314
aload 1 /* other */
aload 0 /* value */
invokestatic java.lang.StringLatin1.compareToUTF16:([B[B)I
ineg
ireturn
end local 1 // byte[] other
end local 0 // byte[] value
LocalVariableTable:
Start End Slot Name Signature
0 1 0 value [B
0 1 1 other [B
RuntimeVisibleAnnotations:
jdk.internal.HotSpotIntrinsicCandidate()
MethodParameters:
Name Flags
value
other
public static int compareToLatin1(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 318
aload 1 /* other */
aload 0 /* value */
iload 3 /* len2 */
iload 2 /* len1 */
invokestatic java.lang.StringLatin1.compareToUTF16:([B[BII)I
ineg
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 1 0 value [B
0 1 1 other [B
0 1 2 len1 I
0 1 3 len2 I
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=2, locals=8, args_size=2
start local 0 // byte[] value
start local 1 // byte[] other
0: .line 322
aload 0 /* value */
invokestatic java.lang.StringUTF16.length:([B)I
istore 2 /* len1 */
start local 2 // int len1
1: .line 323
aload 1 /* other */
invokestatic java.lang.StringUTF16.length:([B)I
istore 3 /* len2 */
start local 3 // int len2
2: .line 324
iload 2 /* len1 */
iload 3 /* len2 */
invokestatic java.lang.Math.min:(II)I
istore 4 /* lim */
start local 4 // int lim
3: .line 325
iconst_0
istore 5 /* k */
start local 5 // int k
4: goto 16
5: .line 326
StackMap locals: byte[] byte[] int int int int
StackMap stack:
aload 0 /* value */
iload 5 /* k */
invokestatic java.lang.StringUTF16.getChar:([BI)C
istore 6 /* c1 */
start local 6 // char c1
6: .line 327
aload 1 /* other */
iload 5 /* k */
invokestatic java.lang.StringUTF16.getChar:([BI)C
istore 7 /* c2 */
start local 7 // char c2
7: .line 328
iload 6 /* c1 */
iload 7 /* c2 */
if_icmpeq 15
8: .line 329
iload 6 /* c1 */
invokestatic java.lang.Character.toUpperCase:(C)C
istore 6 /* c1 */
9: .line 330
iload 7 /* c2 */
invokestatic java.lang.Character.toUpperCase:(C)C
istore 7 /* c2 */
10: .line 331
iload 6 /* c1 */
iload 7 /* c2 */
if_icmpeq 15
11: .line 332
iload 6 /* c1 */
invokestatic java.lang.Character.toLowerCase:(C)C
istore 6 /* c1 */
12: .line 333
iload 7 /* c2 */
invokestatic java.lang.Character.toLowerCase:(C)C
istore 7 /* c2 */
13: .line 334
iload 6 /* c1 */
iload 7 /* c2 */
if_icmpeq 15
14: .line 335
iload 6 /* c1 */
iload 7 /* c2 */
isub
ireturn
end local 7 // char c2
end local 6 // char c1
15: .line 325
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 340
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 compareToCI_Latin1(byte[], byte[]);
descriptor: ([B[B)I
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=2, args_size=2
start local 0 // byte[] value
start local 1 // byte[] other
0: .line 344
aload 1 /* other */
aload 0 /* value */
invokestatic java.lang.StringLatin1.compareToCI_UTF16:([B[B)I
ineg
ireturn
end local 1 // byte[] other
end local 0 // byte[] value
LocalVariableTable:
Start End Slot Name Signature
0 1 0 value [B
0 1 1 other [B
MethodParameters:
Name Flags
value
other
public static int hashCode(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 348
iconst_0
istore 1 /* h */
start local 1 // int h
1: .line 349
aload 0 /* value */
arraylength
iconst_1
ishr
istore 2 /* length */
start local 2 // int length
2: .line 350
iconst_0
istore 3 /* i */
start local 3 // int i
3: goto 6
4: .line 351
StackMap locals: int int int
StackMap stack:
bipush 31
iload 1 /* h */
imul
aload 0 /* value */
iload 3 /* i */
invokestatic java.lang.StringUTF16.getChar:([BI)C
iadd
istore 1 /* h */
5: .line 350
iinc 3 /* i */ 1
StackMap locals:
StackMap stack:
6: iload 3 /* i */
iload 2 /* length */
if_icmplt 4
end local 3 // int i
7: .line 353
iload 1 /* h */
ireturn
end local 2 // int length
end local 1 // int h
end local 0 // byte[] value
LocalVariableTable:
Start End Slot Name Signature
0 8 0 value [B
1 8 1 h I
2 8 2 length I
3 7 3 i I
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 357
aload 0 /* value */
arraylength
iconst_1
ishr
istore 3 /* max */
start local 3 // int max
1: .line 358
iload 2 /* fromIndex */
ifge 4
2: .line 359
iconst_0
istore 2 /* fromIndex */
3: .line 360
goto 6
StackMap locals: int
StackMap stack:
4: iload 2 /* fromIndex */
iload 3 /* max */
if_icmplt 6
5: .line 362
iconst_m1
ireturn
6: .line 364
StackMap locals:
StackMap stack:
iload 1 /* ch */
ldc 65536
if_icmpge 8
7: .line 367
aload 0 /* value */
iload 1 /* ch */
iload 2 /* fromIndex */
iload 3 /* max */
invokestatic java.lang.StringUTF16.indexOfChar:([BIII)I
ireturn
8: .line 369
StackMap locals:
StackMap stack:
aload 0 /* value */
iload 1 /* ch */
iload 2 /* fromIndex */
iload 3 /* max */
invokestatic java.lang.StringUTF16.indexOfSupplementary:([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
1 9 3 max I
MethodParameters:
Name Flags
value
ch
fromIndex
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 375
aload 1 /* str */
arraylength
ifne 2
1: .line 376
iconst_0
ireturn
2: .line 378
StackMap locals:
StackMap stack:
aload 0 /* value */
arraylength
aload 1 /* str */
arraylength
if_icmpge 4
3: .line 379
iconst_m1
ireturn
4: .line 381
StackMap locals:
StackMap stack:
aload 0 /* value */
aload 0 /* value */
invokestatic java.lang.StringUTF16.length:([B)I
aload 1 /* str */
aload 1 /* str */
invokestatic java.lang.StringUTF16.length:([B)I
iconst_0
invokestatic java.lang.StringUTF16.indexOfUnsafe:([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.HotSpotIntrinsicCandidate()
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=5, locals=5, 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 386
iload 4 /* fromIndex */
iload 1 /* valueCount */
aload 0 /* value */
invokestatic java.lang.StringUTF16.checkBoundsBeginEnd:(II[B)V
1: .line 387
iconst_0
iload 3 /* strCount */
aload 2 /* str */
invokestatic java.lang.StringUTF16.checkBoundsBeginEnd:(II[B)V
2: .line 388
aload 0 /* value */
iload 1 /* valueCount */
aload 2 /* str */
iload 3 /* strCount */
iload 4 /* fromIndex */
invokestatic java.lang.StringUTF16.indexOfUnsafe:([BI[BII)I
ireturn
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 3 0 value [B
0 3 1 valueCount I
0 3 2 str [B
0 3 3 strCount I
0 3 4 fromIndex I
RuntimeVisibleAnnotations:
jdk.internal.HotSpotIntrinsicCandidate()
MethodParameters:
Name Flags
value
valueCount
str
strCount
fromIndex
private static int indexOfUnsafe(byte[], int, byte[], int, int);
descriptor: ([BI[BII)I
flags: (0x000a) ACC_PRIVATE, 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 393
getstatic java.lang.StringUTF16.$assertionsDisabled:Z
ifne 1
iload 4 /* fromIndex */
ifge 1
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
1: .line 394
StackMap locals:
StackMap stack:
getstatic java.lang.StringUTF16.$assertionsDisabled:Z
ifne 2
iload 3 /* strCount */
ifgt 2
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
2: .line 395
StackMap locals:
StackMap stack:
getstatic java.lang.StringUTF16.$assertionsDisabled:Z
ifne 3
iload 3 /* strCount */
aload 2 /* str */
invokestatic java.lang.StringUTF16.length:([B)I
if_icmple 3
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
3: .line 396
StackMap locals:
StackMap stack:
getstatic java.lang.StringUTF16.$assertionsDisabled:Z
ifne 4
iload 1 /* valueCount */
iload 3 /* strCount */
if_icmpge 4
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
4: .line 397
StackMap locals:
StackMap stack:
aload 2 /* str */
iconst_0
invokestatic java.lang.StringUTF16.getChar:([BI)C
istore 5 /* first */
start local 5 // char first
5: .line 398
iload 1 /* valueCount */
iload 3 /* strCount */
isub
istore 6 /* max */
start local 6 // int max
6: .line 399
iload 4 /* fromIndex */
istore 7 /* i */
start local 7 // int i
7: goto 20
8: .line 401
StackMap locals: int int int
StackMap stack:
aload 0 /* value */
iload 7 /* i */
invokestatic java.lang.StringUTF16.getChar:([BI)C
iload 5 /* first */
if_icmpeq 10
9: .line 402
StackMap locals:
StackMap stack:
iinc 7 /* i */ 1
iload 7 /* i */
iload 6 /* max */
if_icmpgt 10
aload 0 /* value */
iload 7 /* i */
invokestatic java.lang.StringUTF16.getChar:([BI)C
iload 5 /* first */
if_icmpne 9
10: .line 405
StackMap locals:
StackMap stack:
iload 7 /* i */
iload 6 /* max */
if_icmpgt 19
11: .line 406
iload 7 /* i */
iconst_1
iadd
istore 8 /* j */
start local 8 // int j
12: .line 407
iload 8 /* j */
iload 3 /* strCount */
iadd
iconst_1
isub
istore 9 /* end */
start local 9 // int end
13: .line 408
iconst_1
istore 10 /* k */
start local 10 // int k
14: goto 16
StackMap locals: int int int
StackMap stack:
15: iinc 8 /* j */ 1
iinc 10 /* k */ 1
StackMap locals:
StackMap stack:
16: iload 8 /* j */
iload 9 /* end */
if_icmpge 17
aload 0 /* value */
iload 8 /* j */
invokestatic java.lang.StringUTF16.getChar:([BI)C
aload 2 /* str */
iload 10 /* k */
invokestatic java.lang.StringUTF16.getChar:([BI)C
if_icmpeq 15
end local 10 // int k
17: .line 409
StackMap locals:
StackMap stack:
iload 8 /* j */
iload 9 /* end */
if_icmpne 19
18: .line 411
iload 7 /* i */
ireturn
end local 9 // int end
end local 8 // int j
19: .line 399
StackMap locals:
StackMap stack:
iinc 7 /* i */ 1
StackMap locals:
StackMap stack:
20: iload 7 /* i */
iload 6 /* max */
if_icmple 8
end local 7 // int i
21: .line 415
iconst_m1
ireturn
end local 6 // int max
end local 5 // char 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 22 0 value [B
0 22 1 valueCount I
0 22 2 str [B
0 22 3 strCount I
0 22 4 fromIndex I
5 22 5 first C
6 22 6 max I
7 21 7 i I
12 19 8 j I
13 19 9 end I
14 17 10 k I
MethodParameters:
Name Flags
value
valueCount
str
strCount
fromIndex
public static int indexOfLatin1(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 424
aload 1 /* str */
arraylength
ifne 2
1: .line 425
iconst_0
ireturn
2: .line 427
StackMap locals:
StackMap stack:
aload 0 /* value */
invokestatic java.lang.StringUTF16.length:([B)I
aload 1 /* str */
arraylength
if_icmpge 4
3: .line 428
iconst_m1
ireturn
4: .line 430
StackMap locals:
StackMap stack:
aload 0 /* value */
aload 0 /* value */
invokestatic java.lang.StringUTF16.length:([B)I
aload 1 /* str */
aload 1 /* str */
arraylength
iconst_0
invokestatic java.lang.StringUTF16.indexOfLatin1Unsafe:([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.HotSpotIntrinsicCandidate()
MethodParameters:
Name Flags
value
str
public static int indexOfLatin1(byte[], int, byte[], int, int);
descriptor: ([BI[BII)I
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=5, locals=5, 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 435
iload 4 /* fromIndex */
iload 1 /* srcCount */
aload 0 /* src */
invokestatic java.lang.StringUTF16.checkBoundsBeginEnd:(II[B)V
1: .line 436
iconst_0
iload 3 /* tgtCount */
aload 2 /* tgt */
arraylength
invokestatic java.lang.String.checkBoundsBeginEnd:(III)V
2: .line 437
aload 0 /* src */
iload 1 /* srcCount */
aload 2 /* tgt */
iload 3 /* tgtCount */
iload 4 /* fromIndex */
invokestatic java.lang.StringUTF16.indexOfLatin1Unsafe:([BI[BII)I
ireturn
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 3 0 src [B
0 3 1 srcCount I
0 3 2 tgt [B
0 3 3 tgtCount I
0 3 4 fromIndex I
RuntimeVisibleAnnotations:
jdk.internal.HotSpotIntrinsicCandidate()
MethodParameters:
Name Flags
src
srcCount
tgt
tgtCount
fromIndex
public static int indexOfLatin1Unsafe(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[] src
start local 1 // int srcCount
start local 2 // byte[] tgt
start local 3 // int tgtCount
start local 4 // int fromIndex
0: .line 441
getstatic java.lang.StringUTF16.$assertionsDisabled:Z
ifne 1
iload 4 /* fromIndex */
ifge 1
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
1: .line 442
StackMap locals:
StackMap stack:
getstatic java.lang.StringUTF16.$assertionsDisabled:Z
ifne 2
iload 3 /* tgtCount */
ifgt 2
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
2: .line 443
StackMap locals:
StackMap stack:
getstatic java.lang.StringUTF16.$assertionsDisabled:Z
ifne 3
iload 3 /* tgtCount */
aload 2 /* tgt */
arraylength
if_icmple 3
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
3: .line 444
StackMap locals:
StackMap stack:
getstatic java.lang.StringUTF16.$assertionsDisabled:Z
ifne 4
iload 1 /* srcCount */
iload 3 /* tgtCount */
if_icmpge 4
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
4: .line 445
StackMap locals:
StackMap stack:
aload 2 /* tgt */
iconst_0
baload
sipush 255
iand
i2c
istore 5 /* first */
start local 5 // char first
5: .line 446
iload 1 /* srcCount */
iload 3 /* tgtCount */
isub
istore 6 /* max */
start local 6 // int max
6: .line 447
iload 4 /* fromIndex */
istore 7 /* i */
start local 7 // int i
7: goto 20
8: .line 449
StackMap locals: int int int
StackMap stack:
aload 0 /* src */
iload 7 /* i */
invokestatic java.lang.StringUTF16.getChar:([BI)C
iload 5 /* first */
if_icmpeq 10
9: .line 450
StackMap locals:
StackMap stack:
iinc 7 /* i */ 1
iload 7 /* i */
iload 6 /* max */
if_icmpgt 10
aload 0 /* src */
iload 7 /* i */
invokestatic java.lang.StringUTF16.getChar:([BI)C
iload 5 /* first */
if_icmpne 9
10: .line 453
StackMap locals:
StackMap stack:
iload 7 /* i */
iload 6 /* max */
if_icmpgt 19
11: .line 454
iload 7 /* i */
iconst_1
iadd
istore 8 /* j */
start local 8 // int j
12: .line 455
iload 8 /* j */
iload 3 /* tgtCount */
iadd
iconst_1
isub
istore 9 /* end */
start local 9 // int end
13: .line 456
iconst_1
istore 10 /* k */
start local 10 // int k
14: .line 457
goto 16
15: .line 458
StackMap locals: int int int
StackMap stack:
iinc 8 /* j */ 1
iinc 10 /* k */ 1
16: .line 457
StackMap locals:
StackMap stack:
iload 8 /* j */
iload 9 /* end */
if_icmpge 17
aload 0 /* src */
iload 8 /* j */
invokestatic java.lang.StringUTF16.getChar:([BI)C
aload 2 /* tgt */
iload 10 /* k */
baload
sipush 255
iand
if_icmpeq 15
end local 10 // int k
17: .line 459
StackMap locals:
StackMap stack:
iload 8 /* j */
iload 9 /* end */
if_icmpne 19
18: .line 461
iload 7 /* i */
ireturn
end local 9 // int end
end local 8 // int j
19: .line 447
StackMap locals:
StackMap stack:
iinc 7 /* i */ 1
StackMap locals:
StackMap stack:
20: iload 7 /* i */
iload 6 /* max */
if_icmple 8
end local 7 // int i
21: .line 465
iconst_m1
ireturn
end local 6 // int max
end local 5 // char first
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 22 0 src [B
0 22 1 srcCount I
0 22 2 tgt [B
0 22 3 tgtCount I
0 22 4 fromIndex I
5 22 5 first C
6 22 6 max I
7 21 7 i I
12 19 8 j I
13 19 9 end I
14 17 10 k I
MethodParameters:
Name Flags
src
srcCount
tgt
tgtCount
fromIndex
private static int indexOfChar(byte[], int, int, int);
descriptor: ([BIII)I
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=4, locals=4, 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 470
iload 2 /* fromIndex */
iload 3 /* max */
aload 0 /* value */
invokestatic java.lang.StringUTF16.checkBoundsBeginEnd:(II[B)V
1: .line 471
aload 0 /* value */
iload 1 /* ch */
iload 2 /* fromIndex */
iload 3 /* max */
invokestatic java.lang.StringUTF16.indexOfCharUnsafe:([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 2 0 value [B
0 2 1 ch I
0 2 2 fromIndex I
0 2 3 max I
RuntimeVisibleAnnotations:
jdk.internal.HotSpotIntrinsicCandidate()
MethodParameters:
Name Flags
value
ch
fromIndex
max
private static int indexOfCharUnsafe(byte[], int, int, int);
descriptor: ([BIII)I
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=5, 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 475
iload 2 /* fromIndex */
istore 4 /* i */
start local 4 // int i
1: goto 5
2: .line 476
StackMap locals: int
StackMap stack:
aload 0 /* value */
iload 4 /* i */
invokestatic java.lang.StringUTF16.getChar:([BI)C
iload 1 /* ch */
if_icmpne 4
3: .line 477
iload 4 /* i */
ireturn
4: .line 475
StackMap locals:
StackMap stack:
iinc 4 /* i */ 1
StackMap locals:
StackMap stack:
5: iload 4 /* i */
iload 3 /* max */
if_icmplt 2
end local 4 // int i
6: .line 480
iconst_m1
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 7 0 value [B
0 7 1 ch I
0 7 2 fromIndex I
0 7 3 max I
1 6 4 i I
MethodParameters:
Name Flags
value
ch
fromIndex
max
private static int indexOfSupplementary(byte[], int, int, int);
descriptor: ([BIII)I
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=3, locals=7, 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 487
iload 1 /* ch */
invokestatic java.lang.Character.isValidCodePoint:(I)Z
ifeq 10
1: .line 488
iload 1 /* ch */
invokestatic java.lang.Character.highSurrogate:(I)C
istore 4 /* hi */
start local 4 // char hi
2: .line 489
iload 1 /* ch */
invokestatic java.lang.Character.lowSurrogate:(I)C
istore 5 /* lo */
start local 5 // char lo
3: .line 490
iload 2 /* fromIndex */
iload 3 /* max */
aload 0 /* value */
invokestatic java.lang.StringUTF16.checkBoundsBeginEnd:(II[B)V
4: .line 491
iload 2 /* fromIndex */
istore 6 /* i */
start local 6 // int i
5: goto 9
6: .line 492
StackMap locals: int int int
StackMap stack:
aload 0 /* value */
iload 6 /* i */
invokestatic java.lang.StringUTF16.getChar:([BI)C
iload 4 /* hi */
if_icmpne 8
aload 0 /* value */
iload 6 /* i */
iconst_1
iadd
invokestatic java.lang.StringUTF16.getChar:([BI)C
iload 5 /* lo */
if_icmpne 8
7: .line 493
iload 6 /* i */
ireturn
8: .line 491
StackMap locals:
StackMap stack:
iinc 6 /* i */ 1
StackMap locals:
StackMap stack:
9: iload 6 /* i */
iload 3 /* max */
iconst_1
isub
if_icmplt 6
end local 6 // int i
end local 5 // char lo
end local 4 // char hi
10: .line 497
StackMap locals:
StackMap stack:
iconst_m1
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 11 0 value [B
0 11 1 ch I
0 11 2 fromIndex I
0 11 3 max I
2 10 4 hi C
3 10 5 lo C
5 10 6 i I
MethodParameters:
Name Flags
value
ch
fromIndex
max
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 503
getstatic java.lang.StringUTF16.$assertionsDisabled:Z
ifne 1
iload 4 /* fromIndex */
ifge 1
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
1: .line 504
StackMap locals:
StackMap stack:
getstatic java.lang.StringUTF16.$assertionsDisabled:Z
ifne 2
iload 3 /* tgtCount */
ifgt 2
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
2: .line 505
StackMap locals:
StackMap stack:
getstatic java.lang.StringUTF16.$assertionsDisabled:Z
ifne 3
iload 3 /* tgtCount */
aload 2 /* tgt */
invokestatic java.lang.StringUTF16.length:([B)I
if_icmple 3
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
3: .line 506
StackMap locals:
StackMap stack:
iload 3 /* tgtCount */
iconst_1
isub
istore 5 /* min */
start local 5 // int min
4: .line 507
iload 5 /* min */
iload 4 /* fromIndex */
iadd
istore 6 /* i */
start local 6 // int i
5: .line 508
iload 3 /* tgtCount */
iconst_1
isub
istore 7 /* strLastIndex */
start local 7 // int strLastIndex
6: .line 510
iload 7 /* strLastIndex */
aload 2 /* tgt */
invokestatic java.lang.StringUTF16.checkIndex:(I[B)V
7: .line 511
aload 2 /* tgt */
iload 7 /* strLastIndex */
invokestatic java.lang.StringUTF16.getChar:([BI)C
istore 8 /* strLastChar */
start local 8 // char strLastChar
8: .line 513
iload 6 /* i */
aload 0 /* src */
invokestatic java.lang.StringUTF16.checkIndex:(I[B)V
9: .line 517
goto 11
10: .line 518
StackMap locals: byte[] int byte[] int int int int int int
StackMap stack:
iinc 6 /* i */ -1
11: .line 517
StackMap locals:
StackMap stack:
iload 6 /* i */
iload 5 /* min */
if_icmplt 12
aload 0 /* src */
iload 6 /* i */
invokestatic java.lang.StringUTF16.getChar:([BI)C
iload 8 /* strLastChar */
if_icmpne 10
12: .line 520
StackMap locals:
StackMap stack:
iload 6 /* i */
iload 5 /* min */
if_icmpge 14
13: .line 521
iconst_m1
ireturn
14: .line 523
StackMap locals:
StackMap stack:
iload 6 /* i */
iconst_1
isub
istore 9 /* j */
start local 9 // int j
15: .line 524
iload 9 /* j */
iload 7 /* strLastIndex */
isub
istore 10 /* start */
start local 10 // int start
16: .line 525
iload 7 /* strLastIndex */
iconst_1
isub
istore 11 /* k */
start local 11 // int k
17: .line 526
goto 21
18: .line 527
StackMap locals: int int int
StackMap stack:
aload 0 /* src */
iload 9 /* j */
iinc 9 /* j */ -1
invokestatic java.lang.StringUTF16.getChar:([BI)C
aload 2 /* tgt */
iload 11 /* k */
iinc 11 /* k */ -1
invokestatic java.lang.StringUTF16.getChar:([BI)C
if_icmpeq 21
19: .line 528
iinc 6 /* i */ -1
20: .line 529
goto 23
21: .line 526
StackMap locals:
StackMap stack:
iload 9 /* j */
iload 10 /* start */
if_icmpgt 18
22: .line 532
iload 10 /* start */
iconst_1
iadd
ireturn
end local 11 // int k
end local 10 // int start
end local 9 // int j
23: .line 516
StackMap locals:
StackMap stack:
goto 11
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 24 0 src [B
0 24 1 srcCount I
0 24 2 tgt [B
0 24 3 tgtCount I
0 24 4 fromIndex I
4 24 5 min I
5 24 6 i I
6 24 7 strLastIndex I
8 24 8 strLastChar C
15 23 9 j I
16 23 10 start I
17 23 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 537
iload 1 /* ch */
ldc 65536
if_icmpge 8
1: .line 540
iload 2 /* fromIndex */
aload 0 /* value */
arraylength
iconst_1
ishr
iconst_1
isub
invokestatic java.lang.Math.min:(II)I
istore 3 /* i */
start local 3 // int i
2: .line 541
goto 6
3: .line 542
StackMap locals: int
StackMap stack:
aload 0 /* value */
iload 3 /* i */
invokestatic java.lang.StringUTF16.getChar:([BI)C
iload 1 /* ch */
if_icmpne 5
4: .line 543
iload 3 /* i */
ireturn
5: .line 541
StackMap locals:
StackMap stack:
iinc 3 /* i */ -1
StackMap locals:
StackMap stack:
6: iload 3 /* i */
ifge 3
7: .line 546
iconst_m1
ireturn
end local 3 // int i
8: .line 548
StackMap locals:
StackMap stack:
aload 0 /* value */
iload 1 /* ch */
iload 2 /* fromIndex */
invokestatic java.lang.StringUTF16.lastIndexOfSupplementary:([BII)I
ireturn
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
2 8 3 i I
MethodParameters:
Name Flags
value
ch
fromIndex
private static int lastIndexOfSupplementary(byte[], int, int);
descriptor: ([BII)I
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=3, locals=6, args_size=3
start local 0 // byte[] value
start local 1 // int ch
start local 2 // int fromIndex
0: .line 556
iload 1 /* ch */
invokestatic java.lang.Character.isValidCodePoint:(I)Z
ifeq 9
1: .line 557
iload 1 /* ch */
invokestatic java.lang.Character.highSurrogate:(I)C
istore 3 /* hi */
start local 3 // char hi
2: .line 558
iload 1 /* ch */
invokestatic java.lang.Character.lowSurrogate:(I)C
istore 4 /* lo */
start local 4 // char lo
3: .line 559
iload 2 /* fromIndex */
aload 0 /* value */
arraylength
iconst_1
ishr
iconst_2
isub
invokestatic java.lang.Math.min:(II)I
istore 5 /* i */
start local 5 // int i
4: .line 560
goto 8
5: .line 561
StackMap locals: int int int
StackMap stack:
aload 0 /* value */
iload 5 /* i */
invokestatic java.lang.StringUTF16.getChar:([BI)C
iload 3 /* hi */
if_icmpne 7
aload 0 /* value */
iload 5 /* i */
iconst_1
iadd
invokestatic java.lang.StringUTF16.getChar:([BI)C
iload 4 /* lo */
if_icmpne 7
6: .line 562
iload 5 /* i */
ireturn
7: .line 560
StackMap locals:
StackMap stack:
iinc 5 /* i */ -1
StackMap locals:
StackMap stack:
8: iload 5 /* i */
ifge 5
end local 5 // int i
end local 4 // char lo
end local 3 // char hi
9: .line 566
StackMap locals:
StackMap stack:
iconst_m1
ireturn
end local 2 // int fromIndex
end local 1 // int ch
end local 0 // byte[] value
LocalVariableTable:
Start End Slot Name Signature
0 10 0 value [B
0 10 1 ch I
0 10 2 fromIndex I
2 9 3 hi C
3 9 4 lo C
4 9 5 i 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=4, locals=7, args_size=3
start local 0 // byte[] value
start local 1 // char oldChar
start local 2 // char newChar
0: .line 570
aload 0 /* value */
arraylength
iconst_1
ishr
istore 3 /* len */
start local 3 // int len
1: .line 571
iconst_m1
istore 4 /* i */
start local 4 // int i
2: .line 572
goto 5
3: .line 573
StackMap locals: int int
StackMap stack:
aload 0 /* value */
iload 4 /* i */
invokestatic java.lang.StringUTF16.getChar:([BI)C
iload 1 /* oldChar */
if_icmpne 5
4: .line 574
goto 6
5: .line 572
StackMap locals:
StackMap stack:
iinc 4 /* i */ 1
iload 4 /* i */
iload 3 /* len */
if_icmplt 3
6: .line 577
StackMap locals:
StackMap stack:
iload 4 /* i */
iload 3 /* len */
if_icmpge 27
7: .line 578
aload 0 /* value */
arraylength
newarray 8
astore 5 /* buf */
start local 5 // byte[] buf
8: .line 579
iconst_0
istore 6 /* j */
start local 6 // int j
9: goto 12
10: .line 580
StackMap locals: byte[] int
StackMap stack:
aload 5 /* buf */
iload 6 /* j */
aload 0 /* value */
iload 6 /* j */
invokestatic java.lang.StringUTF16.getChar:([BI)C
invokestatic java.lang.StringUTF16.putChar:([BII)V
11: .line 579
iinc 6 /* j */ 1
StackMap locals:
StackMap stack:
12: iload 6 /* j */
iload 4 /* i */
if_icmplt 10
end local 6 // int j
13: .line 582
goto 19
14: .line 583
StackMap locals:
StackMap stack:
aload 0 /* value */
iload 4 /* i */
invokestatic java.lang.StringUTF16.getChar:([BI)C
istore 6 /* c */
start local 6 // char c
15: .line 584
aload 5 /* buf */
iload 4 /* i */
iload 6 /* c */
iload 1 /* oldChar */
if_icmpne 16
iload 2 /* newChar */
goto 17
StackMap locals: byte[] int int int int byte[] int
StackMap stack: byte[] int
16: iload 6 /* c */
StackMap locals: byte[] int int int int byte[] int
StackMap stack: byte[] int int
17: invokestatic java.lang.StringUTF16.putChar:([BII)V
18: .line 585
iinc 4 /* i */ 1
end local 6 // char c
19: .line 582
StackMap locals:
StackMap stack:
iload 4 /* i */
iload 3 /* len */
if_icmplt 14
20: .line 588
getstatic java.lang.String.COMPACT_STRINGS:Z
ifeq 26
21: .line 589
iload 1 /* oldChar */
invokestatic java.lang.StringLatin1.canEncode:(I)Z
ifne 26
22: .line 590
iload 2 /* newChar */
invokestatic java.lang.StringLatin1.canEncode:(I)Z
ifeq 26
23: .line 591
aload 5 /* buf */
iconst_0
iload 3 /* len */
invokestatic java.lang.StringUTF16.compress:([BII)[B
astore 6 /* val */
start local 6 // byte[] val
24: .line 592
aload 6 /* val */
ifnull 26
25: .line 593
new java.lang.String
dup
aload 6 /* val */
iconst_0
invokespecial java.lang.String.<init>:([BB)V
areturn
end local 6 // byte[] val
26: .line 596
StackMap locals:
StackMap stack:
new java.lang.String
dup
aload 5 /* buf */
iconst_1
invokespecial java.lang.String.<init>:([BB)V
areturn
end local 5 // byte[] buf
27: .line 598
StackMap locals:
StackMap stack:
aconst_null
areturn
end local 4 // int i
end local 3 // int len
end local 2 // char newChar
end local 1 // char oldChar
end local 0 // byte[] value
LocalVariableTable:
Start End Slot Name Signature
0 28 0 value [B
0 28 1 oldChar C
0 28 2 newChar C
1 28 3 len I
2 28 4 i I
8 27 5 buf [B
9 13 6 j I
15 19 6 c C
24 26 6 val [B
MethodParameters:
Name Flags
value
oldChar
newChar
public static java.lang.String replace(byte[], int, boolean, byte[], int, boolean, byte[], int, boolean);
descriptor: ([BIZ[BIZ[BIZ)Ljava/lang/String;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=5, locals=21, args_size=9
start local 0 // byte[] value
start local 1 // int valLen
start local 2 // boolean valLat1
start local 3 // byte[] targ
start local 4 // int targLen
start local 5 // boolean targLat1
start local 6 // byte[] repl
start local 7 // int replLen
start local 8 // boolean replLat1
0: .line 605
getstatic java.lang.StringUTF16.$assertionsDisabled:Z
ifne 1
iload 4 /* targLen */
ifgt 1
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
1: .line 606
StackMap locals:
StackMap stack:
getstatic java.lang.StringUTF16.$assertionsDisabled:Z
ifne 2
iload 2 /* valLat1 */
ifeq 2
iload 5 /* targLat1 */
ifeq 2
iload 8 /* replLat1 */
ifeq 2
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
2: .line 627
StackMap locals:
StackMap stack:
getstatic java.lang.String.COMPACT_STRINGS:Z
ifeq 4
iload 2 /* valLat1 */
ifeq 4
iload 5 /* targLat1 */
ifne 4
3: .line 629
aconst_null
areturn
4: .line 632
StackMap locals:
StackMap stack:
getstatic java.lang.String.COMPACT_STRINGS:Z
ifeq 6
iload 2 /* valLat1 */
ifeq 6
5: .line 633
aload 0 /* value */
aload 3 /* targ */
invokestatic java.lang.StringLatin1.indexOf:([B[B)I
goto 9
6: .line 634
StackMap locals:
StackMap stack:
getstatic java.lang.String.COMPACT_STRINGS:Z
ifeq 8
iload 5 /* targLat1 */
ifeq 8
7: .line 635
aload 0 /* value */
aload 3 /* targ */
invokestatic java.lang.StringUTF16.indexOfLatin1:([B[B)I
goto 9
8: .line 636
StackMap locals:
StackMap stack:
aload 0 /* value */
aload 3 /* targ */
invokestatic java.lang.StringUTF16.indexOf:([B[B)I
9: .line 632
StackMap locals:
StackMap stack: int
istore 9 /* i */
start local 9 // int i
10: .line 637
iload 9 /* i */
ifge 12
11: .line 638
aconst_null
areturn
12: .line 642
StackMap locals: int
StackMap stack:
iconst_0
istore 11 /* p */
start local 11 // int p
13: .line 643
bipush 16
newarray 10
astore 12 /* pos */
start local 12 // int[] pos
14: .line 644
aload 12 /* pos */
iconst_0
iload 9 /* i */
iastore
15: .line 645
iload 9 /* i */
iload 4 /* targLen */
iadd
istore 9 /* i */
16: .line 646
goto 21
start local 10 // int j
17: .line 652
StackMap locals: int int int[]
StackMap stack:
iinc 11 /* p */ 1
iload 11 /* p */
aload 12 /* pos */
arraylength
if_icmpne 19
18: .line 653
aload 12 /* pos */
iload 11 /* p */
iconst_1
iload 11 /* p */
iconst_1
ishr
invokestatic jdk.internal.util.ArraysSupport.newLength:(III)I
invokestatic java.util.Arrays.copyOf:([II)[I
astore 12 /* pos */
19: .line 655
StackMap locals:
StackMap stack:
aload 12 /* pos */
iload 11 /* p */
iload 10 /* j */
iastore
20: .line 656
iload 10 /* j */
iload 4 /* targLen */
iadd
istore 9 /* i */
end local 10 // int j
21: .line 646
StackMap locals: byte[] int int byte[] int int byte[] int int int top int int[]
StackMap stack:
getstatic java.lang.String.COMPACT_STRINGS:Z
ifeq 23
iload 2 /* valLat1 */
ifeq 23
22: .line 647
aload 0 /* value */
iload 1 /* valLen */
aload 3 /* targ */
iload 4 /* targLen */
iload 9 /* i */
invokestatic java.lang.StringLatin1.indexOf:([BI[BII)I
goto 26
23: .line 648
StackMap locals:
StackMap stack:
getstatic java.lang.String.COMPACT_STRINGS:Z
ifeq 25
iload 5 /* targLat1 */
ifeq 25
24: .line 649
aload 0 /* value */
iload 1 /* valLen */
aload 3 /* targ */
iload 4 /* targLen */
iload 9 /* i */
invokestatic java.lang.StringUTF16.indexOfLatin1:([BI[BII)I
goto 26
25: .line 650
StackMap locals:
StackMap stack:
aload 0 /* value */
iload 1 /* valLen */
aload 3 /* targ */
iload 4 /* targLen */
iload 9 /* i */
invokestatic java.lang.StringUTF16.indexOf:([BI[BII)I
26: .line 646
StackMap locals:
StackMap stack: int
dup
istore 10 /* j */
start local 10 // int j
27: ifgt 17
28: .line 661
iload 1 /* valLen */
29: .line 662
iinc 11 /* p */ 1
iload 11 /* p */
iload 7 /* replLen */
iload 4 /* targLen */
isub
invokestatic java.lang.Math.multiplyExact:(II)I
30: .line 661
invokestatic java.lang.Math.addExact:(II)I
istore 13 /* resultLen */
start local 13 // int resultLen
31: .line 663
goto 34
end local 13 // int resultLen
StackMap locals: byte[] int int byte[] int int byte[] int int int int int int[]
StackMap stack: java.lang.ArithmeticException
32: pop
33: .line 664
new java.lang.OutOfMemoryError
dup
ldc "Required length exceeds implementation limit"
invokespecial java.lang.OutOfMemoryError.<init>:(Ljava/lang/String;)V
athrow
start local 13 // int resultLen
34: .line 666
StackMap locals: int
StackMap stack:
iload 13 /* resultLen */
ifne 36
35: .line 667
ldc ""
areturn
36: .line 670
StackMap locals:
StackMap stack:
iload 13 /* resultLen */
invokestatic java.lang.StringUTF16.newBytesFor:(I)[B
astore 14 /* result */
start local 14 // byte[] result
37: .line 671
iconst_0
istore 15 /* posFrom */
start local 15 // int posFrom
38: iconst_0
istore 16 /* posTo */
start local 16 // int posTo
39: .line 672
iconst_0
istore 17 /* q */
start local 17 // int q
40: goto 65
41: .line 673
StackMap locals: byte[] int int byte[] int int byte[] int int int int int int[] int byte[] int int int
StackMap stack:
aload 12 /* pos */
iload 17 /* q */
iaload
istore 18 /* nextPos */
start local 18 // int nextPos
42: .line 674
getstatic java.lang.String.COMPACT_STRINGS:Z
ifeq 49
iload 2 /* valLat1 */
ifeq 49
43: .line 675
goto 46
44: .line 676
StackMap locals: int
StackMap stack:
aload 0 /* value */
iload 15 /* posFrom */
iinc 15 /* posFrom */ 1
baload
sipush 255
iand
i2c
istore 19 /* c */
start local 19 // char c
45: .line 677
aload 14 /* result */
iload 16 /* posTo */
iinc 16 /* posTo */ 1
iload 19 /* c */
invokestatic java.lang.StringUTF16.putChar:([BII)V
end local 19 // char c
46: .line 675
StackMap locals:
StackMap stack:
iload 15 /* posFrom */
iload 18 /* nextPos */
if_icmplt 44
47: .line 679
goto 50
48: .line 681
StackMap locals:
StackMap stack:
aload 14 /* result */
iload 16 /* posTo */
iinc 16 /* posTo */ 1
aload 0 /* value */
iload 15 /* posFrom */
iinc 15 /* posFrom */ 1
invokestatic java.lang.StringUTF16.getChar:([BI)C
invokestatic java.lang.StringUTF16.putChar:([BII)V
49: .line 680
StackMap locals:
StackMap stack:
iload 15 /* posFrom */
iload 18 /* nextPos */
if_icmplt 48
50: .line 684
StackMap locals:
StackMap stack:
iload 15 /* posFrom */
iload 4 /* targLen */
iadd
istore 15 /* posFrom */
51: .line 685
getstatic java.lang.String.COMPACT_STRINGS:Z
ifeq 59
iload 8 /* replLat1 */
ifeq 59
52: .line 686
iconst_0
istore 19 /* k */
start local 19 // int k
53: goto 57
54: .line 687
StackMap locals: int
StackMap stack:
aload 6 /* repl */
iload 19 /* k */
baload
sipush 255
iand
i2c
istore 20 /* c */
start local 20 // char c
55: .line 688
aload 14 /* result */
iload 16 /* posTo */
iinc 16 /* posTo */ 1
iload 20 /* c */
invokestatic java.lang.StringUTF16.putChar:([BII)V
end local 20 // char c
56: .line 686
iinc 19 /* k */ 1
StackMap locals:
StackMap stack:
57: iload 19 /* k */
iload 7 /* replLen */
if_icmplt 54
end local 19 // int k
58: .line 690
goto 64
59: .line 691
StackMap locals:
StackMap stack:
iconst_0
istore 19 /* k */
start local 19 // int k
60: goto 63
61: .line 692
StackMap locals: int
StackMap stack:
aload 14 /* result */
iload 16 /* posTo */
iinc 16 /* posTo */ 1
aload 6 /* repl */
iload 19 /* k */
invokestatic java.lang.StringUTF16.getChar:([BI)C
invokestatic java.lang.StringUTF16.putChar:([BII)V
62: .line 691
iinc 19 /* k */ 1
StackMap locals:
StackMap stack:
63: iload 19 /* k */
iload 7 /* replLen */
if_icmplt 61
end local 19 // int k
end local 18 // int nextPos
64: .line 672
StackMap locals:
StackMap stack:
iinc 17 /* q */ 1
StackMap locals:
StackMap stack:
65: iload 17 /* q */
iload 11 /* p */
if_icmplt 41
end local 17 // int q
66: .line 696
getstatic java.lang.String.COMPACT_STRINGS:Z
ifeq 73
iload 2 /* valLat1 */
ifeq 73
67: .line 697
goto 70
68: .line 698
StackMap locals:
StackMap stack:
aload 0 /* value */
iload 15 /* posFrom */
iinc 15 /* posFrom */ 1
baload
sipush 255
iand
i2c
istore 17 /* c */
start local 17 // char c
69: .line 699
aload 14 /* result */
iload 16 /* posTo */
iinc 16 /* posTo */ 1
iload 17 /* c */
invokestatic java.lang.StringUTF16.putChar:([BII)V
end local 17 // char c
70: .line 697
StackMap locals:
StackMap stack:
iload 15 /* posFrom */
iload 1 /* valLen */
if_icmplt 68
71: .line 701
goto 74
72: .line 703
StackMap locals:
StackMap stack:
aload 14 /* result */
iload 16 /* posTo */
iinc 16 /* posTo */ 1
aload 0 /* value */
iload 15 /* posFrom */
iinc 15 /* posFrom */ 1
invokestatic java.lang.StringUTF16.getChar:([BI)C
invokestatic java.lang.StringUTF16.putChar:([BII)V
73: .line 702
StackMap locals:
StackMap stack:
iload 15 /* posFrom */
iload 1 /* valLen */
if_icmplt 72
74: .line 707
StackMap locals:
StackMap stack:
getstatic java.lang.String.COMPACT_STRINGS:Z
ifeq 78
iload 8 /* replLat1 */
ifeq 78
iload 5 /* targLat1 */
ifne 78
75: .line 709
aload 14 /* result */
iconst_0
iload 13 /* resultLen */
invokestatic java.lang.StringUTF16.compress:([BII)[B
astore 17 /* lat1Result */
start local 17 // byte[] lat1Result
76: .line 710
aload 17 /* lat1Result */
ifnull 78
77: .line 711
new java.lang.String
dup
aload 17 /* lat1Result */
iconst_0
invokespecial java.lang.String.<init>:([BB)V
areturn
end local 17 // byte[] lat1Result
78: .line 714
StackMap locals:
StackMap stack:
new java.lang.String
dup
aload 14 /* result */
iconst_1
invokespecial java.lang.String.<init>:([BB)V
areturn
end local 16 // int posTo
end local 15 // int posFrom
end local 14 // byte[] result
end local 13 // int resultLen
end local 12 // int[] pos
end local 11 // int p
end local 10 // int j
end local 9 // int i
end local 8 // boolean replLat1
end local 7 // int replLen
end local 6 // byte[] repl
end local 5 // boolean targLat1
end local 4 // int targLen
end local 3 // byte[] targ
end local 2 // boolean valLat1
end local 1 // int valLen
end local 0 // byte[] value
LocalVariableTable:
Start End Slot Name Signature
0 79 0 value [B
0 79 1 valLen I
0 79 2 valLat1 Z
0 79 3 targ [B
0 79 4 targLen I
0 79 5 targLat1 Z
0 79 6 repl [B
0 79 7 replLen I
0 79 8 replLat1 Z
10 79 9 i I
17 21 10 j I
27 79 10 j I
13 79 11 p I
14 79 12 pos [I
31 32 13 resultLen I
34 79 13 resultLen I
37 79 14 result [B
38 79 15 posFrom I
39 79 16 posTo I
40 66 17 q I
42 64 18 nextPos I
45 46 19 c C
53 58 19 k I
55 56 20 c C
60 64 19 k I
69 70 17 c C
76 78 17 lat1Result [B
Exception table:
from to target type
28 31 32 Class java.lang.ArithmeticException
MethodParameters:
Name Flags
value
valLen
valLat1
targ
targLen
targLat1
repl
replLen
replLat1
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 719
iload 1 /* toffset */
iload 4 /* len */
iadd
istore 5 /* last */
start local 5 // int last
1: .line 720
getstatic java.lang.StringUTF16.$assertionsDisabled:Z
ifne 3
iload 1 /* toffset */
iflt 2
iload 3 /* ooffset */
ifge 3
StackMap locals: int
StackMap stack:
2: new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
3: .line 721
StackMap locals:
StackMap stack:
getstatic java.lang.StringUTF16.$assertionsDisabled:Z
ifne 4
iload 3 /* ooffset */
iload 4 /* len */
iadd
aload 2 /* other */
invokestatic java.lang.StringUTF16.length:([B)I
if_icmple 4
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
4: .line 722
StackMap locals:
StackMap stack:
getstatic java.lang.StringUTF16.$assertionsDisabled:Z
ifne 16
iload 5 /* last */
aload 0 /* value */
invokestatic java.lang.StringUTF16.length:([B)I
if_icmple 16
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
5: .line 724
StackMap locals:
StackMap stack:
aload 0 /* value */
iload 1 /* toffset */
iinc 1 /* toffset */ 1
invokestatic java.lang.StringUTF16.getChar:([BI)C
istore 6 /* c1 */
start local 6 // char c1
6: .line 725
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
7: .line 726
iload 6 /* c1 */
iload 7 /* c2 */
if_icmpne 9
8: .line 727
goto 16
9: .line 732
StackMap locals: int int
StackMap stack:
iload 6 /* c1 */
invokestatic java.lang.Character.toUpperCase:(C)C
istore 8 /* u1 */
start local 8 // char u1
10: .line 733
iload 7 /* c2 */
invokestatic java.lang.Character.toUpperCase:(C)C
istore 9 /* u2 */
start local 9 // char u2
11: .line 734
iload 8 /* u1 */
iload 9 /* u2 */
if_icmpne 13
12: .line 735
goto 16
13: .line 741
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 15
14: .line 742
goto 16
15: .line 744
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
16: .line 723
StackMap locals: byte[] int byte[] int int int
StackMap stack:
iload 1 /* toffset */
iload 5 /* last */
if_icmplt 5
17: .line 746
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 18 0 value [B
0 18 1 toffset I
0 18 2 other [B
0 18 3 ooffset I
0 18 4 len I
1 18 5 last I
6 16 6 c1 C
7 16 7 c2 C
10 16 8 u1 C
11 16 9 u2 C
MethodParameters:
Name Flags
value
toffset
other
ooffset
len
public static boolean regionMatchesCI_Latin1(byte[], int, byte[], int, int);
descriptor: ([BI[BII)Z
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=5, locals=5, 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 752
aload 2 /* other */
iload 3 /* ooffset */
aload 0 /* value */
iload 1 /* toffset */
iload 4 /* len */
invokestatic java.lang.StringLatin1.regionMatchesCI_UTF16:([BI[BII)Z
ireturn
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 1 0 value [B
0 1 1 toffset I
0 1 2 other [B
0 1 3 ooffset I
0 1 4 len I
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=6, locals=11, args_size=3
start local 0 // java.lang.String str
start local 1 // byte[] value
start local 2 // java.util.Locale locale
0: .line 756
aload 2 /* locale */
ifnonnull 2
1: .line 757
new java.lang.NullPointerException
dup
invokespecial java.lang.NullPointerException.<init>:()V
athrow
2: .line 760
StackMap locals:
StackMap stack:
iconst_0
istore 4 /* hasSurr */
start local 4 // boolean hasSurr
3: .line 761
aload 1 /* value */
arraylength
iconst_1
ishr
istore 5 /* len */
start local 5 // int len
4: .line 764
iconst_0
istore 3 /* first */
start local 3 // int first
5: goto 13
6: .line 765
StackMap locals: int int int
StackMap stack:
aload 1 /* value */
iload 3 /* first */
invokestatic java.lang.StringUTF16.getChar:([BI)C
istore 6 /* cp */
start local 6 // int cp
7: .line 766
iload 6 /* cp */
i2c
invokestatic java.lang.Character.isSurrogate:(C)Z
ifeq 10
8: .line 767
iconst_1
istore 4 /* hasSurr */
9: .line 768
goto 14
10: .line 770
StackMap locals: int
StackMap stack:
iload 6 /* cp */
iload 6 /* cp */
invokestatic java.lang.Character.toLowerCase:(I)I
if_icmpeq 12
11: .line 771
goto 14
end local 6 // int cp
12: .line 764
StackMap locals:
StackMap stack:
iinc 3 /* first */ 1
StackMap locals:
StackMap stack:
13: iload 3 /* first */
iload 5 /* len */
if_icmplt 6
14: .line 774
StackMap locals:
StackMap stack:
iload 3 /* first */
iload 5 /* len */
if_icmpne 16
15: .line 775
aload 0 /* str */
areturn
16: .line 776
StackMap locals:
StackMap stack:
aload 1 /* value */
arraylength
newarray 8
astore 6 /* result */
start local 6 // byte[] result
17: .line 777
aload 1 /* value */
iconst_0
aload 6 /* result */
iconst_0
iload 3 /* first */
iconst_1
ishl
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
18: .line 779
aload 2 /* locale */
invokevirtual java.util.Locale.getLanguage:()Ljava/lang/String;
astore 7 /* lang */
start local 7 // java.lang.String lang
19: .line 780
aload 7 /* lang */
ldc "tr"
if_acmpeq 20
aload 7 /* lang */
ldc "az"
if_acmpeq 20
aload 7 /* lang */
ldc "lt"
if_acmpne 21
20: .line 781
StackMap locals: byte[] java.lang.String
StackMap stack:
aload 0 /* str */
aload 1 /* value */
aload 6 /* result */
iload 3 /* first */
aload 2 /* locale */
iconst_1
invokestatic java.lang.StringUTF16.toLowerCaseEx:(Ljava/lang/String;[B[BILjava/util/Locale;Z)Ljava/lang/String;
areturn
21: .line 783
StackMap locals:
StackMap stack:
iload 4 /* hasSurr */
ifeq 23
22: .line 784
aload 0 /* str */
aload 1 /* value */
aload 6 /* result */
iload 3 /* first */
aload 2 /* locale */
iconst_0
invokestatic java.lang.StringUTF16.toLowerCaseEx:(Ljava/lang/String;[B[BILjava/util/Locale;Z)Ljava/lang/String;
areturn
23: .line 786
StackMap locals:
StackMap stack:
iconst_0
istore 8 /* bits */
start local 8 // int bits
24: .line 787
iload 3 /* first */
istore 9 /* i */
start local 9 // int i
25: goto 38
26: .line 788
StackMap locals: int int
StackMap stack:
aload 1 /* value */
iload 9 /* i */
invokestatic java.lang.StringUTF16.getChar:([BI)C
istore 10 /* cp */
start local 10 // int cp
27: .line 789
iload 10 /* cp */
sipush 931
if_icmpeq 29
28: .line 790
iload 10 /* cp */
i2c
invokestatic java.lang.Character.isSurrogate:(C)Z
ifeq 30
29: .line 791
StackMap locals: int
StackMap stack:
aload 0 /* str */
aload 1 /* value */
aload 6 /* result */
iload 9 /* i */
aload 2 /* locale */
iconst_0
invokestatic java.lang.StringUTF16.toLowerCaseEx:(Ljava/lang/String;[B[BILjava/util/Locale;Z)Ljava/lang/String;
areturn
30: .line 793
StackMap locals:
StackMap stack:
iload 10 /* cp */
sipush 304
if_icmpne 32
31: .line 794
aload 0 /* str */
aload 1 /* value */
aload 6 /* result */
iload 9 /* i */
aload 2 /* locale */
iconst_1
invokestatic java.lang.StringUTF16.toLowerCaseEx:(Ljava/lang/String;[B[BILjava/util/Locale;Z)Ljava/lang/String;
areturn
32: .line 796
StackMap locals:
StackMap stack:
iload 10 /* cp */
invokestatic java.lang.Character.toLowerCase:(I)I
istore 10 /* cp */
33: .line 797
iload 10 /* cp */
invokestatic java.lang.Character.isBmpCodePoint:(I)Z
ifne 35
34: .line 798
aload 0 /* str */
aload 1 /* value */
aload 6 /* result */
iload 9 /* i */
aload 2 /* locale */
iconst_0
invokestatic java.lang.StringUTF16.toLowerCaseEx:(Ljava/lang/String;[B[BILjava/util/Locale;Z)Ljava/lang/String;
areturn
35: .line 800
StackMap locals:
StackMap stack:
iload 8 /* bits */
iload 10 /* cp */
ior
istore 8 /* bits */
36: .line 801
aload 6 /* result */
iload 9 /* i */
iload 10 /* cp */
invokestatic java.lang.StringUTF16.putChar:([BII)V
end local 10 // int cp
37: .line 787
iinc 9 /* i */ 1
StackMap locals:
StackMap stack:
38: iload 9 /* i */
iload 5 /* len */
if_icmplt 26
end local 9 // int i
39: .line 803
iload 8 /* bits */
sipush 255
if_icmple 41
40: .line 804
new java.lang.String
dup
aload 6 /* result */
iconst_1
invokespecial java.lang.String.<init>:([BB)V
areturn
41: .line 806
StackMap locals:
StackMap stack:
aload 6 /* result */
iconst_0
iload 5 /* len */
invokestatic java.lang.StringUTF16.newString:([BII)Ljava/lang/String;
areturn
end local 8 // int bits
end local 7 // java.lang.String lang
end local 6 // byte[] result
end local 5 // int len
end local 4 // boolean hasSurr
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 42 0 str Ljava/lang/String;
0 42 1 value [B
0 42 2 locale Ljava/util/Locale;
5 42 3 first I
3 42 4 hasSurr Z
4 42 5 len I
7 12 6 cp I
17 42 6 result [B
19 42 7 lang Ljava/lang/String;
24 42 8 bits I
25 39 9 i I
27 37 10 cp I
MethodParameters:
Name Flags
str
value
locale
private static java.lang.String toLowerCaseEx(java.lang.String, byte[], byte[], int, java.util.Locale, boolean);
descriptor: (Ljava/lang/String;[B[BILjava/util/Locale;Z)Ljava/lang/String;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=6, locals=15, args_size=6
start local 0 // java.lang.String str
start local 1 // byte[] value
start local 2 // byte[] result
start local 3 // int first
start local 4 // java.util.Locale locale
start local 5 // boolean localeDependent
0: .line 813
getstatic java.lang.StringUTF16.$assertionsDisabled:Z
ifne 1
aload 2 /* result */
arraylength
aload 1 /* value */
arraylength
if_icmpeq 1
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
1: .line 814
StackMap locals:
StackMap stack:
getstatic java.lang.StringUTF16.$assertionsDisabled:Z
ifne 2
iload 3 /* first */
ifge 2
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
2: .line 815
StackMap locals:
StackMap stack:
iload 3 /* first */
istore 6 /* resultOffset */
start local 6 // int resultOffset
3: .line 816
aload 1 /* value */
arraylength
iconst_1
ishr
istore 7 /* length */
start local 7 // int length
4: .line 818
iload 3 /* first */
istore 9 /* i */
start local 9 // int i
5: goto 37
6: .line 819
StackMap locals: java.lang.String byte[] byte[] int java.util.Locale int int int top int
StackMap stack:
aload 1 /* value */
iload 9 /* i */
invokestatic java.lang.StringUTF16.getChar:([BI)C
istore 10 /* srcChar */
start local 10 // int srcChar
7: .line 822
iconst_1
istore 8 /* srcCount */
start local 8 // int srcCount
8: .line 823
iload 10 /* srcChar */
i2c
invokestatic java.lang.Character.isSurrogate:(C)Z
ifeq 11
9: .line 824
aload 1 /* value */
iload 9 /* i */
iload 7 /* length */
invokestatic java.lang.StringUTF16.codePointAt:([BII)I
istore 10 /* srcChar */
10: .line 825
iload 10 /* srcChar */
invokestatic java.lang.Character.charCount:(I)I
istore 8 /* srcCount */
11: .line 827
StackMap locals: java.lang.String byte[] byte[] int java.util.Locale int int int int int int
StackMap stack:
iload 5 /* localeDependent */
ifne 14
12: .line 828
iload 10 /* srcChar */
sipush 931
if_icmpeq 14
13: .line 829
iload 10 /* srcChar */
sipush 304
if_icmpne 16
14: .line 830
StackMap locals:
StackMap stack:
aload 0 /* str */
iload 9 /* i */
aload 4 /* locale */
invokestatic java.lang.ConditionalSpecialCasing.toLowerCaseEx:(Ljava/lang/String;ILjava/util/Locale;)I
istore 11 /* lowerChar */
start local 11 // int lowerChar
15: .line 831
goto 17
end local 11 // int lowerChar
16: .line 832
StackMap locals:
StackMap stack:
iload 10 /* srcChar */
invokestatic java.lang.Character.toLowerCase:(I)I
istore 11 /* lowerChar */
start local 11 // int lowerChar
17: .line 834
StackMap locals: int
StackMap stack:
iload 11 /* lowerChar */
invokestatic java.lang.Character.isBmpCodePoint:(I)Z
ifeq 20
18: .line 835
aload 2 /* result */
iload 6 /* resultOffset */
iinc 6 /* resultOffset */ 1
iload 11 /* lowerChar */
invokestatic java.lang.StringUTF16.putChar:([BII)V
19: .line 836
goto 36
20: .line 837
StackMap locals:
StackMap stack:
iload 11 /* lowerChar */
iconst_m1
if_icmpne 23
21: .line 838
aload 0 /* str */
iload 9 /* i */
aload 4 /* locale */
invokestatic java.lang.ConditionalSpecialCasing.toLowerCaseCharArray:(Ljava/lang/String;ILjava/util/Locale;)[C
astore 12 /* lowerCharArray */
start local 12 // char[] lowerCharArray
22: .line 839
goto 24
end local 12 // char[] lowerCharArray
23: .line 840
StackMap locals:
StackMap stack:
iload 11 /* lowerChar */
invokestatic java.lang.Character.toChars:(I)[C
astore 12 /* lowerCharArray */
start local 12 // char[] lowerCharArray
24: .line 843
StackMap locals: char[]
StackMap stack:
aload 12 /* lowerCharArray */
arraylength
istore 13 /* mapLen */
start local 13 // int mapLen
25: .line 844
iload 13 /* mapLen */
iload 8 /* srcCount */
if_icmple 29
26: .line 845
aload 2 /* result */
arraylength
iconst_1
ishr
iload 13 /* mapLen */
iadd
iload 8 /* srcCount */
isub
invokestatic java.lang.StringUTF16.newBytesFor:(I)[B
astore 14 /* result2 */
start local 14 // byte[] result2
27: .line 846
aload 2 /* result */
iconst_0
aload 14 /* result2 */
iconst_0
iload 6 /* resultOffset */
iconst_1
ishl
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
28: .line 847
aload 14 /* result2 */
astore 2 /* result */
end local 14 // byte[] result2
29: .line 849
StackMap locals: int
StackMap stack:
getstatic java.lang.StringUTF16.$assertionsDisabled:Z
ifne 30
iload 6 /* resultOffset */
ifge 30
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
30: .line 850
StackMap locals:
StackMap stack:
getstatic java.lang.StringUTF16.$assertionsDisabled:Z
ifne 31
iload 6 /* resultOffset */
iload 13 /* mapLen */
iadd
aload 2 /* result */
invokestatic java.lang.StringUTF16.length:([B)I
if_icmple 31
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
31: .line 851
StackMap locals:
StackMap stack:
iconst_0
istore 14 /* x */
start local 14 // int x
32: goto 35
33: .line 852
StackMap locals: int
StackMap stack:
aload 2 /* result */
iload 6 /* resultOffset */
iinc 6 /* resultOffset */ 1
aload 12 /* lowerCharArray */
iload 14 /* x */
caload
invokestatic java.lang.StringUTF16.putChar:([BII)V
34: .line 851
iinc 14 /* x */ 1
StackMap locals:
StackMap stack:
35: iload 14 /* x */
iload 13 /* mapLen */
if_icmplt 33
end local 14 // int x
end local 13 // int mapLen
end local 12 // char[] lowerCharArray
end local 11 // int lowerChar
end local 10 // int srcChar
36: .line 818
StackMap locals: java.lang.String byte[] byte[] int java.util.Locale int int int int int
StackMap stack:
iload 9 /* i */
iload 8 /* srcCount */
iadd
istore 9 /* i */
end local 8 // int srcCount
StackMap locals: java.lang.String byte[] byte[] int java.util.Locale int int int top int
StackMap stack:
37: iload 9 /* i */
iload 7 /* length */
if_icmplt 6
end local 9 // int i
38: .line 856
aload 2 /* result */
iconst_0
iload 6 /* resultOffset */
invokestatic java.lang.StringUTF16.newString:([BII)Ljava/lang/String;
areturn
end local 7 // int length
end local 6 // int resultOffset
end local 5 // boolean localeDependent
end local 4 // java.util.Locale locale
end local 3 // int first
end local 2 // byte[] result
end local 1 // byte[] value
end local 0 // java.lang.String str
LocalVariableTable:
Start End Slot Name Signature
0 39 0 str Ljava/lang/String;
0 39 1 value [B
0 39 2 result [B
0 39 3 first I
0 39 4 locale Ljava/util/Locale;
0 39 5 localeDependent Z
3 39 6 resultOffset I
4 39 7 length I
8 37 8 srcCount I
5 38 9 i I
7 36 10 srcChar I
15 16 11 lowerChar I
17 36 11 lowerChar I
22 23 12 lowerCharArray [C
24 36 12 lowerCharArray [C
25 36 13 mapLen I
27 29 14 result2 [B
32 36 14 x I
MethodParameters:
Name Flags
str
value
result
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=6, locals=11, args_size=3
start local 0 // java.lang.String str
start local 1 // byte[] value
start local 2 // java.util.Locale locale
0: .line 860
aload 2 /* locale */
ifnonnull 2
1: .line 861
new java.lang.NullPointerException
dup
invokespecial java.lang.NullPointerException.<init>:()V
athrow
2: .line 864
StackMap locals:
StackMap stack:
iconst_0
istore 4 /* hasSurr */
start local 4 // boolean hasSurr
3: .line 865
aload 1 /* value */
arraylength
iconst_1
ishr
istore 5 /* len */
start local 5 // int len
4: .line 868
iconst_0
istore 3 /* first */
start local 3 // int first
5: goto 13
6: .line 869
StackMap locals: int int int
StackMap stack:
aload 1 /* value */
iload 3 /* first */
invokestatic java.lang.StringUTF16.getChar:([BI)C
istore 6 /* cp */
start local 6 // int cp
7: .line 870
iload 6 /* cp */
i2c
invokestatic java.lang.Character.isSurrogate:(C)Z
ifeq 10
8: .line 871
iconst_1
istore 4 /* hasSurr */
9: .line 872
goto 14
10: .line 874
StackMap locals: int
StackMap stack:
iload 6 /* cp */
iload 6 /* cp */
invokestatic java.lang.Character.toUpperCaseEx:(I)I
if_icmpeq 12
11: .line 875
goto 14
end local 6 // int cp
12: .line 868
StackMap locals:
StackMap stack:
iinc 3 /* first */ 1
StackMap locals:
StackMap stack:
13: iload 3 /* first */
iload 5 /* len */
if_icmplt 6
14: .line 878
StackMap locals:
StackMap stack:
iload 3 /* first */
iload 5 /* len */
if_icmpne 16
15: .line 879
aload 0 /* str */
areturn
16: .line 881
StackMap locals:
StackMap stack:
aload 1 /* value */
arraylength
newarray 8
astore 6 /* result */
start local 6 // byte[] result
17: .line 882
aload 1 /* value */
iconst_0
aload 6 /* result */
iconst_0
iload 3 /* first */
iconst_1
ishl
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
18: .line 884
aload 2 /* locale */
invokevirtual java.util.Locale.getLanguage:()Ljava/lang/String;
astore 7 /* lang */
start local 7 // java.lang.String lang
19: .line 885
aload 7 /* lang */
ldc "tr"
if_acmpeq 20
aload 7 /* lang */
ldc "az"
if_acmpeq 20
aload 7 /* lang */
ldc "lt"
if_acmpne 21
20: .line 886
StackMap locals: byte[] java.lang.String
StackMap stack:
aload 0 /* str */
aload 1 /* value */
aload 6 /* result */
iload 3 /* first */
aload 2 /* locale */
iconst_1
invokestatic java.lang.StringUTF16.toUpperCaseEx:(Ljava/lang/String;[B[BILjava/util/Locale;Z)Ljava/lang/String;
areturn
21: .line 888
StackMap locals:
StackMap stack:
iload 4 /* hasSurr */
ifeq 23
22: .line 889
aload 0 /* str */
aload 1 /* value */
aload 6 /* result */
iload 3 /* first */
aload 2 /* locale */
iconst_0
invokestatic java.lang.StringUTF16.toUpperCaseEx:(Ljava/lang/String;[B[BILjava/util/Locale;Z)Ljava/lang/String;
areturn
23: .line 891
StackMap locals:
StackMap stack:
iconst_0
istore 8 /* bits */
start local 8 // int bits
24: .line 892
iload 3 /* first */
istore 9 /* i */
start local 9 // int i
25: goto 35
26: .line 893
StackMap locals: int int
StackMap stack:
aload 1 /* value */
iload 9 /* i */
invokestatic java.lang.StringUTF16.getChar:([BI)C
istore 10 /* cp */
start local 10 // int cp
27: .line 894
iload 10 /* cp */
i2c
invokestatic java.lang.Character.isSurrogate:(C)Z
ifeq 29
28: .line 895
aload 0 /* str */
aload 1 /* value */
aload 6 /* result */
iload 9 /* i */
aload 2 /* locale */
iconst_0
invokestatic java.lang.StringUTF16.toUpperCaseEx:(Ljava/lang/String;[B[BILjava/util/Locale;Z)Ljava/lang/String;
areturn
29: .line 897
StackMap locals: int
StackMap stack:
iload 10 /* cp */
invokestatic java.lang.Character.toUpperCaseEx:(I)I
istore 10 /* cp */
30: .line 898
iload 10 /* cp */
invokestatic java.lang.Character.isBmpCodePoint:(I)Z
ifne 32
31: .line 899
aload 0 /* str */
aload 1 /* value */
aload 6 /* result */
iload 9 /* i */
aload 2 /* locale */
iconst_0
invokestatic java.lang.StringUTF16.toUpperCaseEx:(Ljava/lang/String;[B[BILjava/util/Locale;Z)Ljava/lang/String;
areturn
32: .line 901
StackMap locals:
StackMap stack:
iload 8 /* bits */
iload 10 /* cp */
ior
istore 8 /* bits */
33: .line 902
aload 6 /* result */
iload 9 /* i */
iload 10 /* cp */
invokestatic java.lang.StringUTF16.putChar:([BII)V
end local 10 // int cp
34: .line 892
iinc 9 /* i */ 1
StackMap locals:
StackMap stack:
35: iload 9 /* i */
iload 5 /* len */
if_icmplt 26
end local 9 // int i
36: .line 904
iload 8 /* bits */
sipush 255
if_icmple 38
37: .line 905
new java.lang.String
dup
aload 6 /* result */
iconst_1
invokespecial java.lang.String.<init>:([BB)V
areturn
38: .line 907
StackMap locals:
StackMap stack:
aload 6 /* result */
iconst_0
iload 5 /* len */
invokestatic java.lang.StringUTF16.newString:([BII)Ljava/lang/String;
areturn
end local 8 // int bits
end local 7 // java.lang.String lang
end local 6 // byte[] result
end local 5 // int len
end local 4 // boolean hasSurr
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 39 0 str Ljava/lang/String;
0 39 1 value [B
0 39 2 locale Ljava/util/Locale;
5 39 3 first I
3 39 4 hasSurr Z
4 39 5 len I
7 12 6 cp I
17 39 6 result [B
19 39 7 lang Ljava/lang/String;
24 39 8 bits I
25 36 9 i I
27 34 10 cp I
MethodParameters:
Name Flags
str
value
locale
private static java.lang.String toUpperCaseEx(java.lang.String, byte[], byte[], int, java.util.Locale, boolean);
descriptor: (Ljava/lang/String;[B[BILjava/util/Locale;Z)Ljava/lang/String;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=6, locals=15, args_size=6
start local 0 // java.lang.String str
start local 1 // byte[] value
start local 2 // byte[] result
start local 3 // int first
start local 4 // java.util.Locale locale
start local 5 // boolean localeDependent
0: .line 915
getstatic java.lang.StringUTF16.$assertionsDisabled:Z
ifne 1
aload 2 /* result */
arraylength
aload 1 /* value */
arraylength
if_icmpeq 1
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
1: .line 916
StackMap locals:
StackMap stack:
getstatic java.lang.StringUTF16.$assertionsDisabled:Z
ifne 2
iload 3 /* first */
ifge 2
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
2: .line 917
StackMap locals:
StackMap stack:
iload 3 /* first */
istore 6 /* resultOffset */
start local 6 // int resultOffset
3: .line 918
aload 1 /* value */
arraylength
iconst_1
ishr
istore 7 /* length */
start local 7 // int length
4: .line 920
iload 3 /* first */
istore 9 /* i */
start local 9 // int i
5: goto 39
6: .line 921
StackMap locals: java.lang.String byte[] byte[] int java.util.Locale int int int top int
StackMap stack:
aload 1 /* value */
iload 9 /* i */
invokestatic java.lang.StringUTF16.getChar:([BI)C
istore 10 /* srcChar */
start local 10 // int srcChar
7: .line 924
iconst_1
istore 8 /* srcCount */
start local 8 // int srcCount
8: .line 925
iload 10 /* srcChar */
i2c
invokestatic java.lang.Character.isSurrogate:(C)Z
ifeq 11
9: .line 926
aload 1 /* value */
iload 9 /* i */
iload 7 /* length */
invokestatic java.lang.StringUTF16.codePointAt:([BII)I
istore 10 /* srcChar */
10: .line 927
iload 10 /* srcChar */
invokestatic java.lang.Character.charCount:(I)I
istore 8 /* srcCount */
11: .line 929
StackMap locals: java.lang.String byte[] byte[] int java.util.Locale int int int int int int
StackMap stack:
iload 5 /* localeDependent */
ifeq 14
12: .line 930
aload 0 /* str */
iload 9 /* i */
aload 4 /* locale */
invokestatic java.lang.ConditionalSpecialCasing.toUpperCaseEx:(Ljava/lang/String;ILjava/util/Locale;)I
istore 11 /* upperChar */
start local 11 // int upperChar
13: .line 931
goto 15
end local 11 // int upperChar
14: .line 932
StackMap locals:
StackMap stack:
iload 10 /* srcChar */
invokestatic java.lang.Character.toUpperCaseEx:(I)I
istore 11 /* upperChar */
start local 11 // int upperChar
15: .line 934
StackMap locals: int
StackMap stack:
iload 11 /* upperChar */
invokestatic java.lang.Character.isBmpCodePoint:(I)Z
ifeq 18
16: .line 935
aload 2 /* result */
iload 6 /* resultOffset */
iinc 6 /* resultOffset */ 1
iload 11 /* upperChar */
invokestatic java.lang.StringUTF16.putChar:([BII)V
17: .line 936
goto 38
18: .line 937
StackMap locals:
StackMap stack:
iload 11 /* upperChar */
iconst_m1
if_icmpne 25
19: .line 938
iload 5 /* localeDependent */
ifeq 23
20: .line 940
aload 0 /* str */
iload 9 /* i */
aload 4 /* locale */
invokestatic java.lang.ConditionalSpecialCasing.toUpperCaseCharArray:(Ljava/lang/String;ILjava/util/Locale;)[C
21: .line 939
astore 12 /* upperCharArray */
start local 12 // char[] upperCharArray
22: .line 941
goto 26
end local 12 // char[] upperCharArray
23: .line 942
StackMap locals:
StackMap stack:
iload 10 /* srcChar */
invokestatic java.lang.Character.toUpperCaseCharArray:(I)[C
astore 12 /* upperCharArray */
start local 12 // char[] upperCharArray
24: .line 944
goto 26
end local 12 // char[] upperCharArray
25: .line 945
StackMap locals:
StackMap stack:
iload 11 /* upperChar */
invokestatic java.lang.Character.toChars:(I)[C
astore 12 /* upperCharArray */
start local 12 // char[] upperCharArray
26: .line 948
StackMap locals: char[]
StackMap stack:
aload 12 /* upperCharArray */
arraylength
istore 13 /* mapLen */
start local 13 // int mapLen
27: .line 949
iload 13 /* mapLen */
iload 8 /* srcCount */
if_icmple 31
28: .line 950
aload 2 /* result */
arraylength
iconst_1
ishr
iload 13 /* mapLen */
iadd
iload 8 /* srcCount */
isub
invokestatic java.lang.StringUTF16.newBytesFor:(I)[B
astore 14 /* result2 */
start local 14 // byte[] result2
29: .line 951
aload 2 /* result */
iconst_0
aload 14 /* result2 */
iconst_0
iload 6 /* resultOffset */
iconst_1
ishl
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
30: .line 952
aload 14 /* result2 */
astore 2 /* result */
end local 14 // byte[] result2
31: .line 954
StackMap locals: int
StackMap stack:
getstatic java.lang.StringUTF16.$assertionsDisabled:Z
ifne 32
iload 6 /* resultOffset */
ifge 32
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
32: .line 955
StackMap locals:
StackMap stack:
getstatic java.lang.StringUTF16.$assertionsDisabled:Z
ifne 33
iload 6 /* resultOffset */
iload 13 /* mapLen */
iadd
aload 2 /* result */
invokestatic java.lang.StringUTF16.length:([B)I
if_icmple 33
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
33: .line 956
StackMap locals:
StackMap stack:
iconst_0
istore 14 /* x */
start local 14 // int x
34: goto 37
35: .line 957
StackMap locals: int
StackMap stack:
aload 2 /* result */
iload 6 /* resultOffset */
iinc 6 /* resultOffset */ 1
aload 12 /* upperCharArray */
iload 14 /* x */
caload
invokestatic java.lang.StringUTF16.putChar:([BII)V
36: .line 956
iinc 14 /* x */ 1
StackMap locals:
StackMap stack:
37: iload 14 /* x */
iload 13 /* mapLen */
if_icmplt 35
end local 14 // int x
end local 13 // int mapLen
end local 12 // char[] upperCharArray
end local 11 // int upperChar
end local 10 // int srcChar
38: .line 920
StackMap locals: java.lang.String byte[] byte[] int java.util.Locale int int int int int
StackMap stack:
iload 9 /* i */
iload 8 /* srcCount */
iadd
istore 9 /* i */
end local 8 // int srcCount
StackMap locals: java.lang.String byte[] byte[] int java.util.Locale int int int top int
StackMap stack:
39: iload 9 /* i */
iload 7 /* length */
if_icmplt 6
end local 9 // int i
40: .line 961
aload 2 /* result */
iconst_0
iload 6 /* resultOffset */
invokestatic java.lang.StringUTF16.newString:([BII)Ljava/lang/String;
areturn
end local 7 // int length
end local 6 // int resultOffset
end local 5 // boolean localeDependent
end local 4 // java.util.Locale locale
end local 3 // int first
end local 2 // byte[] result
end local 1 // byte[] value
end local 0 // java.lang.String str
LocalVariableTable:
Start End Slot Name Signature
0 41 0 str Ljava/lang/String;
0 41 1 value [B
0 41 2 result [B
0 41 3 first I
0 41 4 locale Ljava/util/Locale;
0 41 5 localeDependent Z
3 41 6 resultOffset I
4 41 7 length I
8 39 8 srcCount I
5 40 9 i I
7 38 10 srcChar I
13 14 11 upperChar I
15 38 11 upperChar I
22 23 12 upperCharArray [C
24 25 12 upperCharArray [C
26 38 12 upperCharArray [C
27 38 13 mapLen I
29 31 14 result2 [B
34 38 14 x I
MethodParameters:
Name Flags
str
value
result
first
locale
localeDependent
public static java.lang.String trim(byte[]);
descriptor: ([B)Ljava/lang/String;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=6, locals=4, args_size=1
start local 0 // byte[] value
0: .line 965
aload 0 /* value */
arraylength
iconst_1
ishr
istore 1 /* length */
start local 1 // int length
1: .line 966
iload 1 /* length */
istore 2 /* len */
start local 2 // int len
2: .line 967
iconst_0
istore 3 /* st */
start local 3 // int st
3: .line 968
goto 5
4: .line 969
StackMap locals: int int int
StackMap stack:
iinc 3 /* st */ 1
5: .line 968
StackMap locals:
StackMap stack:
iload 3 /* st */
iload 2 /* len */
if_icmpge 8
aload 0 /* value */
iload 3 /* st */
invokestatic java.lang.StringUTF16.getChar:([BI)C
bipush 32
if_icmple 4
6: .line 971
goto 8
7: .line 972
StackMap locals:
StackMap stack:
iinc 2 /* len */ -1
8: .line 971
StackMap locals:
StackMap stack:
iload 3 /* st */
iload 2 /* len */
if_icmpge 9
aload 0 /* value */
iload 2 /* len */
iconst_1
isub
invokestatic java.lang.StringUTF16.getChar:([BI)C
bipush 32
if_icmple 7
9: .line 974
StackMap locals:
StackMap stack:
iload 3 /* st */
ifgt 10
iload 2 /* len */
iload 1 /* length */
if_icmpge 11
10: .line 975
StackMap locals:
StackMap stack:
new java.lang.String
dup
aload 0 /* value */
iload 3 /* st */
iconst_1
ishl
iload 2 /* len */
iconst_1
ishl
invokestatic java.util.Arrays.copyOfRange:([BII)[B
iconst_1
invokespecial java.lang.String.<init>:([BB)V
goto 12
11: .line 976
StackMap locals:
StackMap stack:
aconst_null
12: .line 974
StackMap locals:
StackMap stack: java.lang.String
areturn
end local 3 // int st
end local 2 // int len
end local 1 // int length
end local 0 // byte[] value
LocalVariableTable:
Start End Slot Name Signature
0 13 0 value [B
1 13 1 length I
2 13 2 len I
3 13 3 st I
MethodParameters:
Name Flags
value
public static int indexOfNonWhitespace(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 980
aload 0 /* value */
arraylength
iconst_1
ishr
istore 1 /* length */
start local 1 // int length
1: .line 981
iconst_0
istore 2 /* left */
start local 2 // int left
2: .line 982
goto 7
3: .line 983
StackMap locals: int int
StackMap stack:
aload 0 /* value */
iload 2 /* left */
iload 1 /* length */
invokestatic java.lang.StringUTF16.codePointAt:([BII)I
istore 3 /* codepoint */
start local 3 // int codepoint
4: .line 984
iload 3 /* codepoint */
bipush 32
if_icmpeq 6
iload 3 /* codepoint */
bipush 9
if_icmpeq 6
iload 3 /* codepoint */
invokestatic java.lang.Character.isWhitespace:(I)Z
ifne 6
5: .line 985
goto 8
6: .line 987
StackMap locals: int
StackMap stack:
iload 2 /* left */
iload 3 /* codepoint */
invokestatic java.lang.Character.charCount:(I)I
iadd
istore 2 /* left */
end local 3 // int codepoint
7: .line 982
StackMap locals:
StackMap stack:
iload 2 /* left */
iload 1 /* length */
if_icmplt 3
8: .line 989
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 codepoint I
MethodParameters:
Name Flags
value
public static int lastIndexOfNonWhitespace(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 993
aload 0 /* value */
arraylength
iconst_1
iushr
istore 1 /* length */
start local 1 // int length
1: .line 994
iload 1 /* length */
istore 2 /* right */
start local 2 // int right
2: .line 995
goto 7
3: .line 996
StackMap locals: int int
StackMap stack:
aload 0 /* value */
iload 2 /* right */
invokestatic java.lang.StringUTF16.codePointBefore:([BI)I
istore 3 /* codepoint */
start local 3 // int codepoint
4: .line 997
iload 3 /* codepoint */
bipush 32
if_icmpeq 6
iload 3 /* codepoint */
bipush 9
if_icmpeq 6
iload 3 /* codepoint */
invokestatic java.lang.Character.isWhitespace:(I)Z
ifne 6
5: .line 998
goto 8
6: .line 1000
StackMap locals: int
StackMap stack:
iload 2 /* right */
iload 3 /* codepoint */
invokestatic java.lang.Character.charCount:(I)I
isub
istore 2 /* right */
end local 3 // int codepoint
7: .line 995
StackMap locals:
StackMap stack:
iload 2 /* right */
ifgt 3
8: .line 1002
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 codepoint I
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=5, args_size=1
start local 0 // byte[] value
0: .line 1006
aload 0 /* value */
arraylength
iconst_1
iushr
istore 1 /* length */
start local 1 // int length
1: .line 1007
aload 0 /* value */
invokestatic java.lang.StringUTF16.indexOfNonWhitespace:([B)I
istore 2 /* left */
start local 2 // int left
2: .line 1008
iload 2 /* left */
iload 1 /* length */
if_icmpne 4
3: .line 1009
ldc ""
areturn
4: .line 1011
StackMap locals: int int
StackMap stack:
aload 0 /* value */
invokestatic java.lang.StringUTF16.lastIndexOfNonWhitespace:([B)I
istore 3 /* right */
start local 3 // int right
5: .line 1012
iload 2 /* left */
ifgt 6
iload 3 /* right */
iload 1 /* length */
if_icmplt 6
iconst_0
goto 7
StackMap locals: int
StackMap stack:
6: iconst_1
StackMap locals:
StackMap stack: int
7: istore 4 /* ifChanged */
start local 4 // boolean ifChanged
8: .line 1013
iload 4 /* ifChanged */
ifeq 9
aload 0 /* value */
iload 2 /* left */
iload 3 /* right */
iload 2 /* left */
isub
invokestatic java.lang.StringUTF16.newString:([BII)Ljava/lang/String;
goto 10
StackMap locals: int
StackMap stack:
9: aconst_null
StackMap locals:
StackMap stack: java.lang.String
10: areturn
end local 4 // boolean ifChanged
end local 3 // int right
end local 2 // int left
end local 1 // int length
end local 0 // byte[] value
LocalVariableTable:
Start End Slot Name Signature
0 11 0 value [B
1 11 1 length I
2 11 2 left I
5 11 3 right I
8 11 4 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=3, args_size=1
start local 0 // byte[] value
0: .line 1017
aload 0 /* value */
arraylength
iconst_1
iushr
istore 1 /* length */
start local 1 // int length
1: .line 1018
aload 0 /* value */
invokestatic java.lang.StringUTF16.indexOfNonWhitespace:([B)I
istore 2 /* left */
start local 2 // int left
2: .line 1019
iload 2 /* left */
ifeq 3
aload 0 /* value */
iload 2 /* left */
iload 1 /* length */
iload 2 /* left */
isub
invokestatic java.lang.StringUTF16.newString:([BII)Ljava/lang/String;
goto 4
StackMap locals: int int
StackMap stack:
3: aconst_null
StackMap locals:
StackMap stack: java.lang.String
4: areturn
end local 2 // int left
end local 1 // int length
end local 0 // byte[] value
LocalVariableTable:
Start End Slot Name Signature
0 5 0 value [B
1 5 1 length I
2 5 2 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=3, args_size=1
start local 0 // byte[] value
0: .line 1023
aload 0 /* value */
arraylength
iconst_1
iushr
istore 1 /* length */
start local 1 // int length
1: .line 1024
aload 0 /* value */
invokestatic java.lang.StringUTF16.lastIndexOfNonWhitespace:([B)I
istore 2 /* right */
start local 2 // int right
2: .line 1025
iload 2 /* right */
iload 1 /* length */
if_icmpeq 3
aload 0 /* value */
iconst_0
iload 2 /* right */
invokestatic java.lang.StringUTF16.newString:([BII)Ljava/lang/String;
goto 4
StackMap locals: int int
StackMap stack:
3: aconst_null
StackMap locals:
StackMap stack: java.lang.String
4: areturn
end local 2 // int right
end local 1 // int length
end local 0 // byte[] value
LocalVariableTable:
Start End Slot Name Signature
0 5 0 value [B
1 5 1 length I
2 5 2 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 1119
aload 0 /* value */
invokestatic java.lang.StringUTF16$LinesSpliterator.spliterator:([B)Ljava/lang/StringUTF16$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
private static void putChars(byte[], int, char[], int, int);
descriptor: ([BI[CII)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=4, locals=5, args_size=5
start local 0 // byte[] val
start local 1 // int index
start local 2 // char[] str
start local 3 // int off
start local 4 // int end
0: .line 1123
goto 2
1: .line 1124
StackMap locals:
StackMap stack:
aload 0 /* val */
iload 1 /* index */
iinc 1 /* index */ 1
aload 2 /* str */
iload 3 /* off */
iinc 3 /* off */ 1
caload
invokestatic java.lang.StringUTF16.putChar:([BII)V
2: .line 1123
StackMap locals:
StackMap stack:
iload 3 /* off */
iload 4 /* end */
if_icmplt 1
3: .line 1126
return
end local 4 // int end
end local 3 // int off
end local 2 // char[] str
end local 1 // int index
end local 0 // byte[] val
LocalVariableTable:
Start End Slot Name Signature
0 4 0 val [B
0 4 1 index I
0 4 2 str [C
0 4 3 off I
0 4 4 end I
MethodParameters:
Name Flags
val
index
str
off
end
public static java.lang.String newString(byte[], int, int);
descriptor: ([BII)Ljava/lang/String;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=6, locals=4, args_size=3
start local 0 // byte[] val
start local 1 // int index
start local 2 // int len
0: .line 1129
iload 2 /* len */
ifne 2
1: .line 1130
ldc ""
areturn
2: .line 1132
StackMap locals:
StackMap stack:
getstatic java.lang.String.COMPACT_STRINGS:Z
ifeq 6
3: .line 1133
aload 0 /* val */
iload 1 /* index */
iload 2 /* len */
invokestatic java.lang.StringUTF16.compress:([BII)[B
astore 3 /* buf */
start local 3 // byte[] buf
4: .line 1134
aload 3 /* buf */
ifnull 6
5: .line 1135
new java.lang.String
dup
aload 3 /* buf */
iconst_0
invokespecial java.lang.String.<init>:([BB)V
areturn
end local 3 // byte[] buf
6: .line 1138
StackMap locals:
StackMap stack:
iload 1 /* index */
iload 2 /* len */
iadd
istore 3 /* last */
start local 3 // int last
7: .line 1139
new java.lang.String
dup
aload 0 /* val */
iload 1 /* index */
iconst_1
ishl
iload 3 /* last */
iconst_1
ishl
invokestatic java.util.Arrays.copyOfRange:([BII)[B
iconst_1
invokespecial java.lang.String.<init>:([BB)V
areturn
end local 3 // int last
end local 2 // int len
end local 1 // int index
end local 0 // byte[] val
LocalVariableTable:
Start End Slot Name Signature
0 8 0 val [B
0 8 1 index I
0 8 2 len I
4 6 3 buf [B
7 8 3 last 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 1143
aload 0 /* val */
iload 1 /* index */
iconst_1
ishl
iload 2 /* end */
iconst_1
ishl
iconst_0
invokestatic java.util.Arrays.fill:([BIIB)V
1: .line 1144
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 putCharSB(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 1295
iload 1 /* index */
aload 0 /* val */
invokestatic java.lang.StringUTF16.checkIndex:(I[B)V
1: .line 1296
aload 0 /* val */
iload 1 /* index */
iload 2 /* c */
invokestatic java.lang.StringUTF16.putChar:([BII)V
2: .line 1297
return
end local 2 // int c
end local 1 // int index
end local 0 // byte[] val
LocalVariableTable:
Start End Slot Name Signature
0 3 0 val [B
0 3 1 index I
0 3 2 c I
MethodParameters:
Name Flags
val
index
c
public static void putCharsSB(byte[], int, char[], int, int);
descriptor: ([BI[CII)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=5, locals=5, args_size=5
start local 0 // byte[] val
start local 1 // int index
start local 2 // char[] ca
start local 3 // int off
start local 4 // int end
0: .line 1300
iload 1 /* index */
iload 1 /* index */
iload 4 /* end */
iadd
iload 3 /* off */
isub
aload 0 /* val */
invokestatic java.lang.StringUTF16.checkBoundsBeginEnd:(II[B)V
1: .line 1301
aload 0 /* val */
iload 1 /* index */
aload 2 /* ca */
iload 3 /* off */
iload 4 /* end */
invokestatic java.lang.StringUTF16.putChars:([BI[CII)V
2: .line 1302
return
end local 4 // int end
end local 3 // int off
end local 2 // char[] ca
end local 1 // int index
end local 0 // byte[] val
LocalVariableTable:
Start End Slot Name Signature
0 3 0 val [B
0 3 1 index I
0 3 2 ca [C
0 3 3 off I
0 3 4 end I
MethodParameters:
Name Flags
val
index
ca
off
end
public static void putCharsSB(byte[], int, java.lang.CharSequence, int, int);
descriptor: ([BILjava/lang/CharSequence;II)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=4, locals=6, args_size=5
start local 0 // byte[] val
start local 1 // int index
start local 2 // java.lang.CharSequence s
start local 3 // int off
start local 4 // int end
0: .line 1305
iload 1 /* index */
iload 1 /* index */
iload 4 /* end */
iadd
iload 3 /* off */
isub
aload 0 /* val */
invokestatic java.lang.StringUTF16.checkBoundsBeginEnd:(II[B)V
1: .line 1306
iload 3 /* off */
istore 5 /* i */
start local 5 // int i
2: goto 5
3: .line 1307
StackMap locals: int
StackMap stack:
aload 0 /* val */
iload 1 /* index */
iinc 1 /* index */ 1
aload 2 /* s */
iload 5 /* i */
invokeinterface java.lang.CharSequence.charAt:(I)C
invokestatic java.lang.StringUTF16.putChar:([BII)V
4: .line 1306
iinc 5 /* i */ 1
StackMap locals:
StackMap stack:
5: iload 5 /* i */
iload 4 /* end */
if_icmplt 3
end local 5 // int i
6: .line 1309
return
end local 4 // int end
end local 3 // int off
end local 2 // java.lang.CharSequence s
end local 1 // int index
end local 0 // byte[] val
LocalVariableTable:
Start End Slot Name Signature
0 7 0 val [B
0 7 1 index I
0 7 2 s Ljava/lang/CharSequence;
0 7 3 off I
0 7 4 end I
2 6 5 i I
MethodParameters:
Name Flags
val
index
s
off
end
public static int codePointAtSB(byte[], int, int);
descriptor: ([BII)I
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 1312
aload 0 /* val */
iload 1 /* index */
iload 2 /* end */
iconst_1
invokestatic java.lang.StringUTF16.codePointAt:([BIIZ)I
ireturn
end local 2 // int end
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
0 1 2 end I
MethodParameters:
Name Flags
val
index
end
public static int codePointBeforeSB(byte[], int);
descriptor: ([BI)I
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=2, args_size=2
start local 0 // byte[] val
start local 1 // int index
0: .line 1316
aload 0 /* val */
iload 1 /* index */
iconst_1
invokestatic java.lang.StringUTF16.codePointBefore:([BIZ)I
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 int codePointCountSB(byte[], int, int);
descriptor: ([BII)I
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=4, locals=3, args_size=3
start local 0 // byte[] val
start local 1 // int beginIndex
start local 2 // int endIndex
0: .line 1320
aload 0 /* val */
iload 1 /* beginIndex */
iload 2 /* endIndex */
iconst_1
invokestatic java.lang.StringUTF16.codePointCount:([BIIZ)I
ireturn
end local 2 // int endIndex
end local 1 // int beginIndex
end local 0 // byte[] val
LocalVariableTable:
Start End Slot Name Signature
0 1 0 val [B
0 1 1 beginIndex I
0 1 2 endIndex I
MethodParameters:
Name Flags
val
beginIndex
endIndex
public static int getChars(int, int, int, byte[]);
descriptor: (III[B)I
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=5, args_size=4
start local 0 // int i
start local 1 // int begin
start local 2 // int end
start local 3 // byte[] value
0: .line 1324
iload 1 /* begin */
iload 2 /* end */
aload 3 /* value */
invokestatic java.lang.StringUTF16.checkBoundsBeginEnd:(II[B)V
1: .line 1325
iload 0 /* i */
iload 2 /* end */
aload 3 /* value */
invokestatic java.lang.StringUTF16.getChars:(II[B)I
istore 4 /* pos */
start local 4 // int pos
2: .line 1326
getstatic java.lang.StringUTF16.$assertionsDisabled:Z
ifne 3
iload 1 /* begin */
iload 4 /* pos */
if_icmpeq 3
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
3: .line 1327
StackMap locals: int
StackMap stack:
iload 4 /* pos */
ireturn
end local 4 // int pos
end local 3 // byte[] value
end local 2 // int end
end local 1 // int begin
end local 0 // int i
LocalVariableTable:
Start End Slot Name Signature
0 4 0 i I
0 4 1 begin I
0 4 2 end I
0 4 3 value [B
2 4 4 pos I
MethodParameters:
Name Flags
i
begin
end
value
public static int getChars(long, int, int, byte[]);
descriptor: (JII[B)I
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=4, locals=6, args_size=4
start local 0 // long l
start local 2 // int begin
start local 3 // int end
start local 4 // byte[] value
0: .line 1331
iload 2 /* begin */
iload 3 /* end */
aload 4 /* value */
invokestatic java.lang.StringUTF16.checkBoundsBeginEnd:(II[B)V
1: .line 1332
lload 0 /* l */
iload 3 /* end */
aload 4 /* value */
invokestatic java.lang.StringUTF16.getChars:(JI[B)I
istore 5 /* pos */
start local 5 // int pos
2: .line 1333
getstatic java.lang.StringUTF16.$assertionsDisabled:Z
ifne 3
iload 2 /* begin */
iload 5 /* pos */
if_icmpeq 3
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
3: .line 1334
StackMap locals: int
StackMap stack:
iload 5 /* pos */
ireturn
end local 5 // int pos
end local 4 // byte[] value
end local 3 // int end
end local 2 // int begin
end local 0 // long l
LocalVariableTable:
Start End Slot Name Signature
0 4 0 l J
0 4 2 begin I
0 4 3 end I
0 4 4 value [B
2 4 5 pos I
MethodParameters:
Name Flags
l
begin
end
value
public static boolean contentEquals(byte[], byte[], int);
descriptor: ([B[BI)Z
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=4, args_size=3
start local 0 // byte[] v1
start local 1 // byte[] v2
start local 2 // int len
0: .line 1338
iconst_0
iload 2 /* len */
aload 1 /* v2 */
invokestatic java.lang.StringUTF16.checkBoundsOffCount:(II[B)V
1: .line 1339
iconst_0
istore 3 /* i */
start local 3 // int i
2: goto 6
3: .line 1340
StackMap locals: int
StackMap stack:
aload 0 /* v1 */
iload 3 /* i */
baload
sipush 255
iand
i2c
aload 1 /* v2 */
iload 3 /* i */
invokestatic java.lang.StringUTF16.getChar:([BI)C
if_icmpeq 5
4: .line 1341
iconst_0
ireturn
5: .line 1339
StackMap locals:
StackMap stack:
iinc 3 /* i */ 1
StackMap locals:
StackMap stack:
6: iload 3 /* i */
iload 2 /* len */
if_icmplt 3
end local 3 // int i
7: .line 1344
iconst_1
ireturn
end local 2 // int len
end local 1 // byte[] v2
end local 0 // byte[] v1
LocalVariableTable:
Start End Slot Name Signature
0 8 0 v1 [B
0 8 1 v2 [B
0 8 2 len I
2 7 3 i I
MethodParameters:
Name Flags
v1
v2
len
public static boolean contentEquals(byte[], java.lang.CharSequence, int);
descriptor: ([BLjava/lang/CharSequence;I)Z
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=4, args_size=3
start local 0 // byte[] value
start local 1 // java.lang.CharSequence cs
start local 2 // int len
0: .line 1348
iload 2 /* len */
aload 0 /* value */
invokestatic java.lang.StringUTF16.checkOffset:(I[B)V
1: .line 1349
iconst_0
istore 3 /* i */
start local 3 // int i
2: goto 6
3: .line 1350
StackMap locals: int
StackMap stack:
aload 0 /* value */
iload 3 /* i */
invokestatic java.lang.StringUTF16.getChar:([BI)C
aload 1 /* cs */
iload 3 /* i */
invokeinterface java.lang.CharSequence.charAt:(I)C
if_icmpeq 5
4: .line 1351
iconst_0
ireturn
5: .line 1349
StackMap locals:
StackMap stack:
iinc 3 /* i */ 1
StackMap locals:
StackMap stack:
6: iload 3 /* i */
iload 2 /* len */
if_icmplt 3
end local 3 // int i
7: .line 1354
iconst_1
ireturn
end local 2 // int len
end local 1 // java.lang.CharSequence cs
end local 0 // byte[] value
LocalVariableTable:
Start End Slot Name Signature
0 8 0 value [B
0 8 1 cs Ljava/lang/CharSequence;
0 8 2 len I
2 7 3 i I
MethodParameters:
Name Flags
value
cs
len
public static int putCharsAt(byte[], int, char, char, char, char);
descriptor: ([BICCCC)I
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=7, args_size=6
start local 0 // byte[] value
start local 1 // int i
start local 2 // char c1
start local 3 // char c2
start local 4 // char c3
start local 5 // char c4
0: .line 1358
iload 1 /* i */
iconst_4
iadd
istore 6 /* end */
start local 6 // int end
1: .line 1359
iload 1 /* i */
iload 6 /* end */
aload 0 /* value */
invokestatic java.lang.StringUTF16.checkBoundsBeginEnd:(II[B)V
2: .line 1360
aload 0 /* value */
iload 1 /* i */
iinc 1 /* i */ 1
iload 2 /* c1 */
invokestatic java.lang.StringUTF16.putChar:([BII)V
3: .line 1361
aload 0 /* value */
iload 1 /* i */
iinc 1 /* i */ 1
iload 3 /* c2 */
invokestatic java.lang.StringUTF16.putChar:([BII)V
4: .line 1362
aload 0 /* value */
iload 1 /* i */
iinc 1 /* i */ 1
iload 4 /* c3 */
invokestatic java.lang.StringUTF16.putChar:([BII)V
5: .line 1363
aload 0 /* value */
iload 1 /* i */
iinc 1 /* i */ 1
iload 5 /* c4 */
invokestatic java.lang.StringUTF16.putChar:([BII)V
6: .line 1364
getstatic java.lang.StringUTF16.$assertionsDisabled:Z
ifne 7
iload 1 /* i */
iload 6 /* end */
if_icmpeq 7
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
7: .line 1365
StackMap locals: int
StackMap stack:
iload 6 /* end */
ireturn
end local 6 // int end
end local 5 // char c4
end local 4 // char c3
end local 3 // char c2
end local 2 // char c1
end local 1 // int i
end local 0 // byte[] value
LocalVariableTable:
Start End Slot Name Signature
0 8 0 value [B
0 8 1 i I
0 8 2 c1 C
0 8 3 c2 C
0 8 4 c3 C
0 8 5 c4 C
1 8 6 end I
MethodParameters:
Name Flags
value
i
c1
c2
c3
c4
public static int putCharsAt(byte[], int, char, char, char, char, char);
descriptor: ([BICCCCC)I
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=8, args_size=7
start local 0 // byte[] value
start local 1 // int i
start local 2 // char c1
start local 3 // char c2
start local 4 // char c3
start local 5 // char c4
start local 6 // char c5
0: .line 1369
iload 1 /* i */
iconst_5
iadd
istore 7 /* end */
start local 7 // int end
1: .line 1370
iload 1 /* i */
iload 7 /* end */
aload 0 /* value */
invokestatic java.lang.StringUTF16.checkBoundsBeginEnd:(II[B)V
2: .line 1371
aload 0 /* value */
iload 1 /* i */
iinc 1 /* i */ 1
iload 2 /* c1 */
invokestatic java.lang.StringUTF16.putChar:([BII)V
3: .line 1372
aload 0 /* value */
iload 1 /* i */
iinc 1 /* i */ 1
iload 3 /* c2 */
invokestatic java.lang.StringUTF16.putChar:([BII)V
4: .line 1373
aload 0 /* value */
iload 1 /* i */
iinc 1 /* i */ 1
iload 4 /* c3 */
invokestatic java.lang.StringUTF16.putChar:([BII)V
5: .line 1374
aload 0 /* value */
iload 1 /* i */
iinc 1 /* i */ 1
iload 5 /* c4 */
invokestatic java.lang.StringUTF16.putChar:([BII)V
6: .line 1375
aload 0 /* value */
iload 1 /* i */
iinc 1 /* i */ 1
iload 6 /* c5 */
invokestatic java.lang.StringUTF16.putChar:([BII)V
7: .line 1376
getstatic java.lang.StringUTF16.$assertionsDisabled:Z
ifne 8
iload 1 /* i */
iload 7 /* end */
if_icmpeq 8
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
8: .line 1377
StackMap locals: int
StackMap stack:
iload 7 /* end */
ireturn
end local 7 // int end
end local 6 // char c5
end local 5 // char c4
end local 4 // char c3
end local 3 // char c2
end local 2 // char c1
end local 1 // int i
end local 0 // byte[] value
LocalVariableTable:
Start End Slot Name Signature
0 9 0 value [B
0 9 1 i I
0 9 2 c1 C
0 9 3 c2 C
0 9 4 c3 C
0 9 5 c4 C
0 9 6 c5 C
1 9 7 end I
MethodParameters:
Name Flags
value
i
c1
c2
c3
c4
c5
public static char charAt(byte[], int);
descriptor: ([BI)C
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=2, args_size=2
start local 0 // byte[] value
start local 1 // int index
0: .line 1381
iload 1 /* index */
aload 0 /* value */
invokestatic java.lang.StringUTF16.checkIndex:(I[B)V
1: .line 1382
aload 0 /* value */
iload 1 /* index */
invokestatic java.lang.StringUTF16.getChar:([BI)C
ireturn
end local 1 // int index
end local 0 // byte[] value
LocalVariableTable:
Start End Slot Name Signature
0 2 0 value [B
0 2 1 index I
MethodParameters:
Name Flags
value
index
public static void reverse(byte[], int);
descriptor: ([BI)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=8, args_size=2
start local 0 // byte[] val
start local 1 // int count
0: .line 1386
iload 1 /* count */
aload 0 /* val */
invokestatic java.lang.StringUTF16.checkOffset:(I[B)V
1: .line 1387
iload 1 /* count */
iconst_1
isub
istore 2 /* n */
start local 2 // int n
2: .line 1388
iconst_0
istore 3 /* hasSurrogates */
start local 3 // boolean hasSurrogates
3: .line 1389
iload 2 /* n */
iconst_1
isub
iconst_1
ishr
istore 4 /* j */
start local 4 // int j
4: goto 14
5: .line 1390
StackMap locals: int int int
StackMap stack:
iload 2 /* n */
iload 4 /* j */
isub
istore 5 /* k */
start local 5 // int k
6: .line 1391
aload 0 /* val */
iload 4 /* j */
invokestatic java.lang.StringUTF16.getChar:([BI)C
istore 6 /* cj */
start local 6 // char cj
7: .line 1392
aload 0 /* val */
iload 5 /* k */
invokestatic java.lang.StringUTF16.getChar:([BI)C
istore 7 /* ck */
start local 7 // char ck
8: .line 1393
aload 0 /* val */
iload 4 /* j */
iload 7 /* ck */
invokestatic java.lang.StringUTF16.putChar:([BII)V
9: .line 1394
aload 0 /* val */
iload 5 /* k */
iload 6 /* cj */
invokestatic java.lang.StringUTF16.putChar:([BII)V
10: .line 1395
iload 6 /* cj */
invokestatic java.lang.Character.isSurrogate:(C)Z
ifne 12
11: .line 1396
iload 7 /* ck */
invokestatic java.lang.Character.isSurrogate:(C)Z
ifeq 13
12: .line 1397
StackMap locals: int int int
StackMap stack:
iconst_1
istore 3 /* hasSurrogates */
end local 7 // char ck
end local 6 // char cj
end local 5 // int k
13: .line 1389
StackMap locals:
StackMap stack:
iinc 4 /* j */ -1
StackMap locals:
StackMap stack:
14: iload 4 /* j */
ifge 5
end local 4 // int j
15: .line 1400
iload 3 /* hasSurrogates */
ifeq 17
16: .line 1401
aload 0 /* val */
iload 1 /* count */
invokestatic java.lang.StringUTF16.reverseAllValidSurrogatePairs:([BI)V
17: .line 1403
StackMap locals:
StackMap stack:
return
end local 3 // boolean hasSurrogates
end local 2 // int n
end local 1 // int count
end local 0 // byte[] val
LocalVariableTable:
Start End Slot Name Signature
0 18 0 val [B
0 18 1 count I
2 18 2 n I
3 18 3 hasSurrogates Z
4 15 4 j I
6 13 5 k I
7 13 6 cj C
8 13 7 ck C
MethodParameters:
Name Flags
val
count
private static void reverseAllValidSurrogatePairs(byte[], int);
descriptor: ([BI)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=3, locals=5, args_size=2
start local 0 // byte[] val
start local 1 // int count
0: .line 1407
iconst_0
istore 2 /* i */
start local 2 // int i
1: goto 9
2: .line 1408
StackMap locals: int
StackMap stack:
aload 0 /* val */
iload 2 /* i */
invokestatic java.lang.StringUTF16.getChar:([BI)C
istore 3 /* c2 */
start local 3 // char c2
3: .line 1409
iload 3 /* c2 */
invokestatic java.lang.Character.isLowSurrogate:(C)Z
ifeq 8
4: .line 1410
aload 0 /* val */
iload 2 /* i */
iconst_1
iadd
invokestatic java.lang.StringUTF16.getChar:([BI)C
istore 4 /* c1 */
start local 4 // char c1
5: .line 1411
iload 4 /* c1 */
invokestatic java.lang.Character.isHighSurrogate:(C)Z
ifeq 8
6: .line 1412
aload 0 /* val */
iload 2 /* i */
iinc 2 /* i */ 1
iload 4 /* c1 */
invokestatic java.lang.StringUTF16.putChar:([BII)V
7: .line 1413
aload 0 /* val */
iload 2 /* i */
iload 3 /* c2 */
invokestatic java.lang.StringUTF16.putChar:([BII)V
end local 4 // char c1
end local 3 // char c2
8: .line 1407
StackMap locals:
StackMap stack:
iinc 2 /* i */ 1
StackMap locals:
StackMap stack:
9: iload 2 /* i */
iload 1 /* count */
iconst_1
isub
if_icmplt 2
end local 2 // int i
10: .line 1417
return
end local 1 // int count
end local 0 // byte[] val
LocalVariableTable:
Start End Slot Name Signature
0 11 0 val [B
0 11 1 count I
1 10 2 i I
3 8 3 c2 C
5 8 4 c1 C
MethodParameters:
Name Flags
val
count
public static void inflate(byte[], int, byte[], int, int);
descriptor: ([BI[BII)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 // byte[] dst
start local 3 // int dstOff
start local 4 // int len
0: .line 1422
iload 3 /* dstOff */
iload 4 /* len */
aload 2 /* dst */
invokestatic java.lang.StringUTF16.checkBoundsOffCount:(II[B)V
1: .line 1423
iconst_0
istore 5 /* i */
start local 5 // int i
2: goto 5
3: .line 1424
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
invokestatic java.lang.StringUTF16.putChar:([BII)V
4: .line 1423
iinc 5 /* i */ 1
StackMap locals:
StackMap stack:
5: iload 5 /* i */
iload 4 /* len */
if_icmplt 3
end local 5 // int i
6: .line 1426
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 7 0 src [B
0 7 1 srcOff I
0 7 2 dst [B
0 7 3 dstOff I
0 7 4 len I
2 6 5 i I
MethodParameters:
Name Flags
src
srcOff
dst
dstOff
len
public static int lastIndexOfLatin1(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 1431
getstatic java.lang.StringUTF16.$assertionsDisabled:Z
ifne 1
iload 4 /* fromIndex */
ifge 1
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
1: .line 1432
StackMap locals:
StackMap stack:
getstatic java.lang.StringUTF16.$assertionsDisabled:Z
ifne 2
iload 3 /* tgtCount */
ifgt 2
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
2: .line 1433
StackMap locals:
StackMap stack:
getstatic java.lang.StringUTF16.$assertionsDisabled:Z
ifne 3
iload 3 /* tgtCount */
aload 2 /* tgt */
arraylength
if_icmple 3
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
3: .line 1434
StackMap locals:
StackMap stack:
iload 3 /* tgtCount */
iconst_1
isub
istore 5 /* min */
start local 5 // int min
4: .line 1435
iload 5 /* min */
iload 4 /* fromIndex */
iadd
istore 6 /* i */
start local 6 // int i
5: .line 1436
iload 3 /* tgtCount */
iconst_1
isub
istore 7 /* strLastIndex */
start local 7 // int strLastIndex
6: .line 1438
aload 2 /* tgt */
iload 7 /* strLastIndex */
baload
sipush 255
iand
i2c
istore 8 /* strLastChar */
start local 8 // char strLastChar
7: .line 1440
iload 6 /* i */
aload 0 /* src */
invokestatic java.lang.StringUTF16.checkIndex:(I[B)V
8: .line 1444
goto 10
9: .line 1445
StackMap locals: byte[] int byte[] int int int int int int
StackMap stack:
iinc 6 /* i */ -1
10: .line 1444
StackMap locals:
StackMap stack:
iload 6 /* i */
iload 5 /* min */
if_icmplt 11
aload 0 /* src */
iload 6 /* i */
invokestatic java.lang.StringUTF16.getChar:([BI)C
iload 8 /* strLastChar */
if_icmpne 9
11: .line 1447
StackMap locals:
StackMap stack:
iload 6 /* i */
iload 5 /* min */
if_icmpge 13
12: .line 1448
iconst_m1
ireturn
13: .line 1450
StackMap locals:
StackMap stack:
iload 6 /* i */
iconst_1
isub
istore 9 /* j */
start local 9 // int j
14: .line 1451
iload 9 /* j */
iload 7 /* strLastIndex */
isub
istore 10 /* start */
start local 10 // int start
15: .line 1452
iload 7 /* strLastIndex */
iconst_1
isub
istore 11 /* k */
start local 11 // int k
16: .line 1453
goto 20
17: .line 1454
StackMap locals: int int int
StackMap stack:
aload 0 /* src */
iload 9 /* j */
iinc 9 /* j */ -1
invokestatic java.lang.StringUTF16.getChar:([BI)C
aload 2 /* tgt */
iload 11 /* k */
iinc 11 /* k */ -1
baload
sipush 255
iand
if_icmpeq 20
18: .line 1455
iinc 6 /* i */ -1
19: .line 1456
goto 22
20: .line 1453
StackMap locals:
StackMap stack:
iload 9 /* j */
iload 10 /* start */
if_icmpgt 17
21: .line 1459
iload 10 /* start */
iconst_1
iadd
ireturn
end local 11 // int k
end local 10 // int start
end local 9 // int j
22: .line 1443
StackMap locals:
StackMap stack:
goto 10
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 23 0 src [B
0 23 1 srcCount I
0 23 2 tgt [B
0 23 3 tgtCount I
0 23 4 fromIndex I
4 23 5 min I
5 23 6 i I
6 23 7 strLastIndex I
7 23 8 strLastChar C
14 22 9 j I
15 22 10 start I
16 22 11 k I
MethodParameters:
Name Flags
src
srcCount
tgt
tgtCount
fromIndex
private static native boolean isBigEndian();
descriptor: ()Z
flags: (0x010a) ACC_PRIVATE, ACC_STATIC, ACC_NATIVE
static int getChars(int, int, byte[]);
descriptor: (II[B)I
flags: (0x0008) ACC_STATIC
Code:
stack=4, locals=7, args_size=3
start local 0 // int i
start local 1 // int index
start local 2 // byte[] buf
0: .line 1495
iload 1 /* index */
istore 5 /* charPos */
start local 5 // int charPos
1: .line 1497
iload 0 /* i */
ifge 2
iconst_1
goto 3
StackMap locals: int int byte[] top top int
StackMap stack:
2: iconst_0
StackMap locals:
StackMap stack: int
3: istore 6 /* negative */
start local 6 // boolean negative
4: .line 1498
iload 6 /* negative */
ifne 12
5: .line 1499
iload 0 /* i */
ineg
istore 0 /* i */
6: .line 1503
goto 12
7: .line 1504
StackMap locals: int
StackMap stack:
iload 0 /* i */
bipush 100
idiv
istore 3 /* q */
start local 3 // int q
8: .line 1505
iload 3 /* q */
bipush 100
imul
iload 0 /* i */
isub
istore 4 /* r */
start local 4 // int r
9: .line 1506
iload 3 /* q */
istore 0 /* i */
10: .line 1507
aload 2 /* buf */
iinc 5 /* charPos */ -1
iload 5 /* charPos */
getstatic java.lang.Integer.DigitOnes:[B
iload 4 /* r */
baload
invokestatic java.lang.StringUTF16.putChar:([BII)V
11: .line 1508
aload 2 /* buf */
iinc 5 /* charPos */ -1
iload 5 /* charPos */
getstatic java.lang.Integer.DigitTens:[B
iload 4 /* r */
baload
invokestatic java.lang.StringUTF16.putChar:([BII)V
end local 4 // int r
end local 3 // int q
12: .line 1503
StackMap locals:
StackMap stack:
iload 0 /* i */
bipush -100
if_icmple 7
13: .line 1512
iload 0 /* i */
bipush 10
idiv
istore 3 /* q */
start local 3 // int q
14: .line 1513
iload 3 /* q */
bipush 10
imul
iload 0 /* i */
isub
istore 4 /* r */
start local 4 // int r
15: .line 1514
aload 2 /* buf */
iinc 5 /* charPos */ -1
iload 5 /* charPos */
bipush 48
iload 4 /* r */
iadd
invokestatic java.lang.StringUTF16.putChar:([BII)V
16: .line 1517
iload 3 /* q */
ifge 18
17: .line 1518
aload 2 /* buf */
iinc 5 /* charPos */ -1
iload 5 /* charPos */
bipush 48
iload 3 /* q */
isub
invokestatic java.lang.StringUTF16.putChar:([BII)V
18: .line 1521
StackMap locals: int int byte[] int int int int
StackMap stack:
iload 6 /* negative */
ifeq 20
19: .line 1522
aload 2 /* buf */
iinc 5 /* charPos */ -1
iload 5 /* charPos */
bipush 45
invokestatic java.lang.StringUTF16.putChar:([BII)V
20: .line 1524
StackMap locals:
StackMap stack:
iload 5 /* charPos */
ireturn
end local 6 // boolean negative
end local 5 // int charPos
end local 4 // int r
end local 3 // int q
end local 2 // byte[] buf
end local 1 // int index
end local 0 // int i
LocalVariableTable:
Start End Slot Name Signature
0 21 0 i I
0 21 1 index I
0 21 2 buf [B
8 12 3 q I
14 21 3 q I
9 12 4 r I
15 21 4 r I
1 21 5 charPos I
4 21 6 negative Z
MethodParameters:
Name Flags
i
index
buf
static int getChars(long, int, byte[]);
descriptor: (JI[B)I
flags: (0x0008) ACC_STATIC
Code:
stack=4, locals=11, args_size=3
start local 0 // long i
start local 2 // int index
start local 3 // byte[] buf
0: .line 1539
iload 2 /* index */
istore 7 /* charPos */
start local 7 // int charPos
1: .line 1541
lload 0 /* i */
lconst_0
lcmp
ifge 2
iconst_1
goto 3
StackMap locals: long int byte[] top top top int
StackMap stack:
2: iconst_0
StackMap locals:
StackMap stack: int
3: istore 8 /* negative */
start local 8 // boolean negative
4: .line 1542
iload 8 /* negative */
ifne 12
5: .line 1543
lload 0 /* i */
lneg
lstore 0 /* i */
6: .line 1547
goto 12
7: .line 1548
StackMap locals: int
StackMap stack:
lload 0 /* i */
ldc 100
ldiv
lstore 4 /* q */
start local 4 // long q
8: .line 1549
lload 4 /* q */
ldc 100
lmul
lload 0 /* i */
lsub
l2i
istore 6 /* r */
start local 6 // int r
9: .line 1550
lload 4 /* q */
lstore 0 /* i */
10: .line 1551
aload 3 /* buf */
iinc 7 /* charPos */ -1
iload 7 /* charPos */
getstatic java.lang.Integer.DigitOnes:[B
iload 6 /* r */
baload
invokestatic java.lang.StringUTF16.putChar:([BII)V
11: .line 1552
aload 3 /* buf */
iinc 7 /* charPos */ -1
iload 7 /* charPos */
getstatic java.lang.Integer.DigitTens:[B
iload 6 /* r */
baload
invokestatic java.lang.StringUTF16.putChar:([BII)V
end local 6 // int r
end local 4 // long q
12: .line 1547
StackMap locals:
StackMap stack:
lload 0 /* i */
ldc -2147483648
lcmp
ifle 7
13: .line 1557
lload 0 /* i */
l2i
istore 10 /* i2 */
start local 10 // int i2
14: .line 1558
goto 20
15: .line 1559
StackMap locals: long int byte[] top top top int int top int
StackMap stack:
iload 10 /* i2 */
bipush 100
idiv
istore 9 /* q2 */
start local 9 // int q2
16: .line 1560
iload 9 /* q2 */
bipush 100
imul
iload 10 /* i2 */
isub
istore 6 /* r */
start local 6 // int r
17: .line 1561
iload 9 /* q2 */
istore 10 /* i2 */
18: .line 1562
aload 3 /* buf */
iinc 7 /* charPos */ -1
iload 7 /* charPos */
getstatic java.lang.Integer.DigitOnes:[B
iload 6 /* r */
baload
invokestatic java.lang.StringUTF16.putChar:([BII)V
19: .line 1563
aload 3 /* buf */
iinc 7 /* charPos */ -1
iload 7 /* charPos */
getstatic java.lang.Integer.DigitTens:[B
iload 6 /* r */
baload
invokestatic java.lang.StringUTF16.putChar:([BII)V
end local 9 // int q2
end local 6 // int r
20: .line 1558
StackMap locals:
StackMap stack:
iload 10 /* i2 */
bipush -100
if_icmple 15
21: .line 1567
iload 10 /* i2 */
bipush 10
idiv
istore 9 /* q2 */
start local 9 // int q2
22: .line 1568
iload 9 /* q2 */
bipush 10
imul
iload 10 /* i2 */
isub
istore 6 /* r */
start local 6 // int r
23: .line 1569
aload 3 /* buf */
iinc 7 /* charPos */ -1
iload 7 /* charPos */
bipush 48
iload 6 /* r */
iadd
invokestatic java.lang.StringUTF16.putChar:([BII)V
24: .line 1572
iload 9 /* q2 */
ifge 26
25: .line 1573
aload 3 /* buf */
iinc 7 /* charPos */ -1
iload 7 /* charPos */
bipush 48
iload 9 /* q2 */
isub
invokestatic java.lang.StringUTF16.putChar:([BII)V
26: .line 1576
StackMap locals: long int byte[] top top int int int int int
StackMap stack:
iload 8 /* negative */
ifeq 28
27: .line 1577
aload 3 /* buf */
iinc 7 /* charPos */ -1
iload 7 /* charPos */
bipush 45
invokestatic java.lang.StringUTF16.putChar:([BII)V
28: .line 1579
StackMap locals:
StackMap stack:
iload 7 /* charPos */
ireturn
end local 10 // int i2
end local 9 // int q2
end local 8 // boolean negative
end local 7 // int charPos
end local 6 // int r
end local 3 // byte[] buf
end local 2 // int index
end local 0 // long i
LocalVariableTable:
Start End Slot Name Signature
0 29 0 i J
0 29 2 index I
0 29 3 buf [B
8 12 4 q J
9 12 6 r I
17 20 6 r I
23 29 6 r I
1 29 7 charPos I
4 29 8 negative Z
16 20 9 q2 I
22 29 9 q2 I
14 29 10 i2 I
MethodParameters:
Name Flags
i
index
buf
public static void checkIndex(int, byte[]);
descriptor: (I[B)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=2, args_size=2
start local 0 // int off
start local 1 // byte[] val
0: .line 1584
iload 0 /* off */
aload 1 /* val */
invokestatic java.lang.StringUTF16.length:([B)I
invokestatic java.lang.String.checkIndex:(II)V
1: .line 1585
return
end local 1 // byte[] val
end local 0 // int off
LocalVariableTable:
Start End Slot Name Signature
0 2 0 off I
0 2 1 val [B
MethodParameters:
Name Flags
off
val
public static void checkOffset(int, byte[]);
descriptor: (I[B)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=2, args_size=2
start local 0 // int off
start local 1 // byte[] val
0: .line 1588
iload 0 /* off */
aload 1 /* val */
invokestatic java.lang.StringUTF16.length:([B)I
invokestatic java.lang.String.checkOffset:(II)V
1: .line 1589
return
end local 1 // byte[] val
end local 0 // int off
LocalVariableTable:
Start End Slot Name Signature
0 2 0 off I
0 2 1 val [B
MethodParameters:
Name Flags
off
val
public static void checkBoundsBeginEnd(int, int, byte[]);
descriptor: (II[B)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=3, args_size=3
start local 0 // int begin
start local 1 // int end
start local 2 // byte[] val
0: .line 1592
iload 0 /* begin */
iload 1 /* end */
aload 2 /* val */
invokestatic java.lang.StringUTF16.length:([B)I
invokestatic java.lang.String.checkBoundsBeginEnd:(III)V
1: .line 1593
return
end local 2 // byte[] val
end local 1 // int end
end local 0 // int begin
LocalVariableTable:
Start End Slot Name Signature
0 2 0 begin I
0 2 1 end I
0 2 2 val [B
MethodParameters:
Name Flags
begin
end
val
public static void checkBoundsOffCount(int, int, byte[]);
descriptor: (II[B)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=3, args_size=3
start local 0 // int offset
start local 1 // int count
start local 2 // byte[] val
0: .line 1596
iload 0 /* offset */
iload 1 /* count */
aload 2 /* val */
invokestatic java.lang.StringUTF16.length:([B)I
invokestatic java.lang.String.checkBoundsOffCount:(III)V
1: .line 1597
return
end local 2 // byte[] val
end local 1 // int count
end local 0 // int offset
LocalVariableTable:
Start End Slot Name Signature
0 2 0 offset I
0 2 1 count I
0 2 2 val [B
MethodParameters:
Name Flags
offset
count
val
}
SourceFile: "StringUTF16.java"
NestMembers:
java.lang.StringUTF16$CharsSpliterator java.lang.StringUTF16$CodePointsSpliterator java.lang.StringUTF16$LinesSpliterator
InnerClasses:
CharsSpliterator = java.lang.StringUTF16$CharsSpliterator of java.lang.StringUTF16
CodePointsSpliterator = java.lang.StringUTF16$CodePointsSpliterator of java.lang.StringUTF16
private final LinesSpliterator = java.lang.StringUTF16$LinesSpliterator of java.lang.StringUTF16