public class jdk.internal.util.ArraysSupport
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: jdk.internal.util.ArraysSupport
super_class: java.lang.Object
{
static final jdk.internal.misc.Unsafe U;
descriptor: Ljdk/internal/misc/Unsafe;
flags: (0x0018) ACC_STATIC, ACC_FINAL
private static final boolean BIG_ENDIAN;
descriptor: Z
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
public static final int LOG2_ARRAY_BOOLEAN_INDEX_SCALE;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
public static final int LOG2_ARRAY_BYTE_INDEX_SCALE;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
public static final int LOG2_ARRAY_CHAR_INDEX_SCALE;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
public static final int LOG2_ARRAY_SHORT_INDEX_SCALE;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
public static final int LOG2_ARRAY_INT_INDEX_SCALE;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
public static final int LOG2_ARRAY_LONG_INDEX_SCALE;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
public static final int LOG2_ARRAY_FLOAT_INDEX_SCALE;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
public static final int LOG2_ARRAY_DOUBLE_INDEX_SCALE;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
private static final int LOG2_BYTE_BIT_SIZE;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
public static final int MAX_ARRAY_LENGTH;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 2147483639
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=1, locals=0, args_size=0
0: .line 56
invokestatic jdk.internal.misc.Unsafe.getUnsafe:()Ljdk/internal/misc/Unsafe;
putstatic jdk.internal.util.ArraysSupport.U:Ljdk/internal/misc/Unsafe;
1: .line 58
getstatic jdk.internal.util.ArraysSupport.U:Ljdk/internal/misc/Unsafe;
invokevirtual jdk.internal.misc.Unsafe.isBigEndian:()Z
putstatic jdk.internal.util.ArraysSupport.BIG_ENDIAN:Z
2: .line 60
getstatic jdk.internal.misc.Unsafe.ARRAY_BOOLEAN_INDEX_SCALE:I
invokestatic jdk.internal.util.ArraysSupport.exactLog2:(I)I
putstatic jdk.internal.util.ArraysSupport.LOG2_ARRAY_BOOLEAN_INDEX_SCALE:I
3: .line 61
getstatic jdk.internal.misc.Unsafe.ARRAY_BYTE_INDEX_SCALE:I
invokestatic jdk.internal.util.ArraysSupport.exactLog2:(I)I
putstatic jdk.internal.util.ArraysSupport.LOG2_ARRAY_BYTE_INDEX_SCALE:I
4: .line 62
getstatic jdk.internal.misc.Unsafe.ARRAY_CHAR_INDEX_SCALE:I
invokestatic jdk.internal.util.ArraysSupport.exactLog2:(I)I
putstatic jdk.internal.util.ArraysSupport.LOG2_ARRAY_CHAR_INDEX_SCALE:I
5: .line 63
getstatic jdk.internal.misc.Unsafe.ARRAY_SHORT_INDEX_SCALE:I
invokestatic jdk.internal.util.ArraysSupport.exactLog2:(I)I
putstatic jdk.internal.util.ArraysSupport.LOG2_ARRAY_SHORT_INDEX_SCALE:I
6: .line 64
getstatic jdk.internal.misc.Unsafe.ARRAY_INT_INDEX_SCALE:I
invokestatic jdk.internal.util.ArraysSupport.exactLog2:(I)I
putstatic jdk.internal.util.ArraysSupport.LOG2_ARRAY_INT_INDEX_SCALE:I
7: .line 65
getstatic jdk.internal.misc.Unsafe.ARRAY_LONG_INDEX_SCALE:I
invokestatic jdk.internal.util.ArraysSupport.exactLog2:(I)I
putstatic jdk.internal.util.ArraysSupport.LOG2_ARRAY_LONG_INDEX_SCALE:I
8: .line 66
getstatic jdk.internal.misc.Unsafe.ARRAY_FLOAT_INDEX_SCALE:I
invokestatic jdk.internal.util.ArraysSupport.exactLog2:(I)I
putstatic jdk.internal.util.ArraysSupport.LOG2_ARRAY_FLOAT_INDEX_SCALE:I
9: .line 67
getstatic jdk.internal.misc.Unsafe.ARRAY_DOUBLE_INDEX_SCALE:I
invokestatic jdk.internal.util.ArraysSupport.exactLog2:(I)I
putstatic jdk.internal.util.ArraysSupport.LOG2_ARRAY_DOUBLE_INDEX_SCALE:I
10: .line 69
bipush 8
invokestatic jdk.internal.util.ArraysSupport.exactLog2:(I)I
putstatic jdk.internal.util.ArraysSupport.LOG2_BYTE_BIT_SIZE:I
11: .line 614
return
LocalVariableTable:
Start End Slot Name Signature
private static int exactLog2(int);
descriptor: (I)I
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=3, locals=1, args_size=1
start local 0 // int scale
0: .line 72
iload 0 /* scale */
iload 0 /* scale */
iconst_1
isub
iand
ifeq 2
1: .line 73
new java.lang.Error
dup
ldc "data type scale not a power of two"
invokespecial java.lang.Error.<init>:(Ljava/lang/String;)V
athrow
2: .line 74
StackMap locals:
StackMap stack:
iload 0 /* scale */
invokestatic java.lang.Integer.numberOfTrailingZeros:(I)I
ireturn
end local 0 // int scale
LocalVariableTable:
Start End Slot Name Signature
0 3 0 scale I
MethodParameters:
Name Flags
scale
private void <init>();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=1, locals=1, args_size=1
start local 0 // jdk.internal.util.ArraysSupport this
0: .line 77
aload 0 /* this */
invokespecial java.lang.Object.<init>:()V
return
end local 0 // jdk.internal.util.ArraysSupport this
LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljdk/internal/util/ArraysSupport;
public static int vectorizedMismatch(java.lang.Object, long, java.lang.Object, long, int, int);
descriptor: (Ljava/lang/Object;JLjava/lang/Object;JII)I
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=6, locals=19, args_size=6
start local 0 // java.lang.Object a
start local 1 // long aOffset
start local 3 // java.lang.Object b
start local 4 // long bOffset
start local 6 // int length
start local 7 // int log2ArrayIndexScale
0: .line 122
getstatic jdk.internal.util.ArraysSupport.LOG2_ARRAY_LONG_INDEX_SCALE:I
iload 7 /* log2ArrayIndexScale */
isub
istore 8 /* log2ValuesPerWidth */
start local 8 // int log2ValuesPerWidth
1: .line 123
iconst_0
istore 9 /* wi */
start local 9 // int wi
2: .line 124
goto 14
3: .line 125
StackMap locals: int int
StackMap stack:
iload 9 /* wi */
i2l
getstatic jdk.internal.util.ArraysSupport.LOG2_ARRAY_LONG_INDEX_SCALE:I
lshl
lstore 10 /* bi */
start local 10 // long bi
4: .line 126
getstatic jdk.internal.util.ArraysSupport.U:Ljdk/internal/misc/Unsafe;
aload 0 /* a */
lload 1 /* aOffset */
lload 10 /* bi */
ladd
invokevirtual jdk.internal.misc.Unsafe.getLongUnaligned:(Ljava/lang/Object;J)J
lstore 12 /* av */
start local 12 // long av
5: .line 127
getstatic jdk.internal.util.ArraysSupport.U:Ljdk/internal/misc/Unsafe;
aload 3 /* b */
lload 4 /* bOffset */
lload 10 /* bi */
ladd
invokevirtual jdk.internal.misc.Unsafe.getLongUnaligned:(Ljava/lang/Object;J)J
lstore 14 /* bv */
start local 14 // long bv
6: .line 128
lload 12 /* av */
lload 14 /* bv */
lcmp
ifeq 13
7: .line 129
lload 12 /* av */
lload 14 /* bv */
lxor
lstore 16 /* x */
start local 16 // long x
8: .line 130
getstatic jdk.internal.util.ArraysSupport.BIG_ENDIAN:Z
ifeq 10
9: .line 131
lload 16 /* x */
invokestatic java.lang.Long.numberOfLeadingZeros:(J)I
getstatic jdk.internal.util.ArraysSupport.LOG2_BYTE_BIT_SIZE:I
iload 7 /* log2ArrayIndexScale */
iadd
ishr
goto 11
10: .line 132
StackMap locals: java.lang.Object long java.lang.Object long int int int int long long long long
StackMap stack:
lload 16 /* x */
invokestatic java.lang.Long.numberOfTrailingZeros:(J)I
getstatic jdk.internal.util.ArraysSupport.LOG2_BYTE_BIT_SIZE:I
iload 7 /* log2ArrayIndexScale */
iadd
ishr
11: .line 130
StackMap locals:
StackMap stack: int
istore 18 /* o */
start local 18 // int o
12: .line 133
iload 9 /* wi */
iload 8 /* log2ValuesPerWidth */
ishl
iload 18 /* o */
iadd
ireturn
end local 18 // int o
end local 16 // long x
end local 14 // long bv
end local 12 // long av
end local 10 // long bi
13: .line 124
StackMap locals: java.lang.Object long java.lang.Object long int int int int
StackMap stack:
iinc 9 /* wi */ 1
StackMap locals:
StackMap stack:
14: iload 9 /* wi */
iload 6 /* length */
iload 8 /* log2ValuesPerWidth */
ishr
if_icmplt 3
15: .line 138
iload 6 /* length */
iload 9 /* wi */
iload 8 /* log2ValuesPerWidth */
ishl
isub
istore 10 /* tail */
start local 10 // int tail
16: .line 140
iload 7 /* log2ArrayIndexScale */
getstatic jdk.internal.util.ArraysSupport.LOG2_ARRAY_INT_INDEX_SCALE:I
if_icmpge 31
17: .line 141
iconst_1
getstatic jdk.internal.util.ArraysSupport.LOG2_ARRAY_INT_INDEX_SCALE:I
iload 7 /* log2ArrayIndexScale */
isub
ishl
istore 11 /* wordTail */
start local 11 // int wordTail
18: .line 143
iload 10 /* tail */
iload 11 /* wordTail */
if_icmplt 30
19: .line 144
iload 9 /* wi */
i2l
getstatic jdk.internal.util.ArraysSupport.LOG2_ARRAY_LONG_INDEX_SCALE:I
lshl
lstore 12 /* bi */
start local 12 // long bi
20: .line 145
getstatic jdk.internal.util.ArraysSupport.U:Ljdk/internal/misc/Unsafe;
aload 0 /* a */
lload 1 /* aOffset */
lload 12 /* bi */
ladd
invokevirtual jdk.internal.misc.Unsafe.getIntUnaligned:(Ljava/lang/Object;J)I
istore 14 /* av */
start local 14 // int av
21: .line 146
getstatic jdk.internal.util.ArraysSupport.U:Ljdk/internal/misc/Unsafe;
aload 3 /* b */
lload 4 /* bOffset */
lload 12 /* bi */
ladd
invokevirtual jdk.internal.misc.Unsafe.getIntUnaligned:(Ljava/lang/Object;J)I
istore 15 /* bv */
start local 15 // int bv
22: .line 147
iload 14 /* av */
iload 15 /* bv */
if_icmpeq 29
23: .line 148
iload 14 /* av */
iload 15 /* bv */
ixor
istore 16 /* x */
start local 16 // int x
24: .line 149
getstatic jdk.internal.util.ArraysSupport.BIG_ENDIAN:Z
ifeq 26
25: .line 150
iload 16 /* x */
invokestatic java.lang.Integer.numberOfLeadingZeros:(I)I
getstatic jdk.internal.util.ArraysSupport.LOG2_BYTE_BIT_SIZE:I
iload 7 /* log2ArrayIndexScale */
iadd
ishr
goto 27
26: .line 151
StackMap locals: java.lang.Object long java.lang.Object long int int int int int int long int int int
StackMap stack:
iload 16 /* x */
invokestatic java.lang.Integer.numberOfTrailingZeros:(I)I
getstatic jdk.internal.util.ArraysSupport.LOG2_BYTE_BIT_SIZE:I
iload 7 /* log2ArrayIndexScale */
iadd
ishr
27: .line 149
StackMap locals:
StackMap stack: int
istore 17 /* o */
start local 17 // int o
28: .line 152
iload 9 /* wi */
iload 8 /* log2ValuesPerWidth */
ishl
iload 17 /* o */
iadd
ireturn
end local 17 // int o
end local 16 // int x
29: .line 154
StackMap locals:
StackMap stack:
iload 10 /* tail */
iload 11 /* wordTail */
isub
istore 10 /* tail */
end local 15 // int bv
end local 14 // int av
end local 12 // long bi
30: .line 156
StackMap locals:
StackMap stack:
iload 10 /* tail */
iconst_m1
ixor
ireturn
end local 11 // int wordTail
31: .line 159
StackMap locals:
StackMap stack:
iload 10 /* tail */
iconst_m1
ixor
ireturn
end local 10 // int tail
end local 9 // int wi
end local 8 // int log2ValuesPerWidth
end local 7 // int log2ArrayIndexScale
end local 6 // int length
end local 4 // long bOffset
end local 3 // java.lang.Object b
end local 1 // long aOffset
end local 0 // java.lang.Object a
LocalVariableTable:
Start End Slot Name Signature
0 32 0 a Ljava/lang/Object;
0 32 1 aOffset J
0 32 3 b Ljava/lang/Object;
0 32 4 bOffset J
0 32 6 length I
0 32 7 log2ArrayIndexScale I
1 32 8 log2ValuesPerWidth I
2 32 9 wi I
4 13 10 bi J
5 13 12 av J
6 13 14 bv J
8 13 16 x J
12 13 18 o I
16 32 10 tail I
18 31 11 wordTail I
20 30 12 bi J
21 30 14 av I
22 30 15 bv I
24 29 16 x I
28 29 17 o I
RuntimeVisibleAnnotations:
jdk.internal.HotSpotIntrinsicCandidate()
MethodParameters:
Name Flags
a
aOffset
b
bOffset
length
log2ArrayIndexScale
public static long vectorizedMismatchLargeForBytes(java.lang.Object, long, java.lang.Object, long, long);
descriptor: (Ljava/lang/Object;JLjava/lang/Object;JJ)J
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=8, locals=15, args_size=5
start local 0 // java.lang.Object a
start local 1 // long aOffset
start local 3 // java.lang.Object b
start local 4 // long bOffset
start local 6 // long length
0: .line 169
lconst_0
lstore 8 /* off */
start local 8 // long off
1: .line 170
lload 6 /* length */
lstore 10 /* remaining */
start local 10 // long remaining
2: .line 172
iconst_0
istore 14 /* lastSubRange */
start local 14 // boolean lastSubRange
3: .line 173
goto 18
4: .line 174
StackMap locals: java.lang.Object long java.lang.Object long long long long top top int
StackMap stack:
lload 10 /* remaining */
ldc 2147483647
lcmp
ifle 7
5: .line 175
ldc 2147483647
istore 13 /* size */
start local 13 // int size
6: .line 176
goto 9
end local 13 // int size
7: .line 177
StackMap locals:
StackMap stack:
lload 10 /* remaining */
l2i
istore 13 /* size */
start local 13 // int size
8: .line 178
iconst_1
istore 14 /* lastSubRange */
9: .line 181
StackMap locals: java.lang.Object long java.lang.Object long long long long top int int
StackMap stack:
aload 0 /* a */
lload 1 /* aOffset */
lload 8 /* off */
ladd
10: .line 182
aload 3 /* b */
lload 4 /* bOffset */
lload 8 /* off */
ladd
11: .line 183
iload 13 /* size */
getstatic jdk.internal.util.ArraysSupport.LOG2_ARRAY_BYTE_INDEX_SCALE:I
12: .line 180
invokestatic jdk.internal.util.ArraysSupport.vectorizedMismatch:(Ljava/lang/Object;JLjava/lang/Object;JII)I
istore 12 /* i */
start local 12 // int i
13: .line 184
iload 12 /* i */
iflt 15
14: .line 185
lload 8 /* off */
iload 12 /* i */
i2l
ladd
lreturn
15: .line 187
StackMap locals: java.lang.Object long java.lang.Object long long long long int int int
StackMap stack:
iload 13 /* size */
iload 12 /* i */
iconst_m1
ixor
isub
istore 12 /* i */
16: .line 188
lload 8 /* off */
iload 12 /* i */
i2l
ladd
lstore 8 /* off */
17: .line 189
lload 10 /* remaining */
iload 12 /* i */
i2l
lsub
lstore 10 /* remaining */
end local 13 // int size
end local 12 // int i
18: .line 173
StackMap locals: java.lang.Object long java.lang.Object long long long long top top int
StackMap stack:
lload 10 /* remaining */
ldc 7
lcmp
ifle 19
iload 14 /* lastSubRange */
ifeq 4
19: .line 191
StackMap locals:
StackMap stack:
lload 10 /* remaining */
ldc -1
lxor
lreturn
end local 14 // boolean lastSubRange
end local 10 // long remaining
end local 8 // long off
end local 6 // long length
end local 4 // long bOffset
end local 3 // java.lang.Object b
end local 1 // long aOffset
end local 0 // java.lang.Object a
LocalVariableTable:
Start End Slot Name Signature
0 20 0 a Ljava/lang/Object;
0 20 1 aOffset J
0 20 3 b Ljava/lang/Object;
0 20 4 bOffset J
0 20 6 length J
1 20 8 off J
2 20 10 remaining J
13 18 12 i I
6 7 13 size I
8 18 13 size I
3 20 14 lastSubRange Z
MethodParameters:
Name Flags
a
aOffset
b
bOffset
length
public static int mismatch(boolean[], boolean[], int);
descriptor: ([Z[ZI)I
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=8, locals=4, args_size=3
start local 0 // boolean[] a
start local 1 // boolean[] b
start local 2 // int length
0: .line 200
iconst_0
istore 3 /* i */
start local 3 // int i
1: .line 201
iload 2 /* length */
bipush 7
if_icmple 15
2: .line 202
aload 0 /* a */
iconst_0
baload
aload 1 /* b */
iconst_0
baload
if_icmpeq 4
3: .line 203
iconst_0
ireturn
4: .line 205
StackMap locals: int
StackMap stack:
aload 0 /* a */
getstatic jdk.internal.misc.Unsafe.ARRAY_BOOLEAN_BASE_OFFSET:I
i2l
5: .line 206
aload 1 /* b */
getstatic jdk.internal.misc.Unsafe.ARRAY_BOOLEAN_BASE_OFFSET:I
i2l
6: .line 207
iload 2 /* length */
getstatic jdk.internal.util.ArraysSupport.LOG2_ARRAY_BOOLEAN_INDEX_SCALE:I
7: .line 204
invokestatic jdk.internal.util.ArraysSupport.vectorizedMismatch:(Ljava/lang/Object;JLjava/lang/Object;JII)I
istore 3 /* i */
8: .line 208
iload 3 /* i */
iflt 10
9: .line 209
iload 3 /* i */
ireturn
10: .line 210
StackMap locals:
StackMap stack:
iload 2 /* length */
iload 3 /* i */
iconst_m1
ixor
isub
istore 3 /* i */
11: .line 212
goto 15
12: .line 213
StackMap locals:
StackMap stack:
aload 0 /* a */
iload 3 /* i */
baload
aload 1 /* b */
iload 3 /* i */
baload
if_icmpeq 14
13: .line 214
iload 3 /* i */
ireturn
14: .line 212
StackMap locals:
StackMap stack:
iinc 3 /* i */ 1
StackMap locals:
StackMap stack:
15: iload 3 /* i */
iload 2 /* length */
if_icmplt 12
16: .line 216
iconst_m1
ireturn
end local 3 // int i
end local 2 // int length
end local 1 // boolean[] b
end local 0 // boolean[] a
LocalVariableTable:
Start End Slot Name Signature
0 17 0 a [Z
0 17 1 b [Z
0 17 2 length I
1 17 3 i I
MethodParameters:
Name Flags
a
b
length
public static int mismatch(boolean[], int, boolean[], int, int);
descriptor: ([ZI[ZII)I
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=8, locals=8, args_size=5
start local 0 // boolean[] a
start local 1 // int aFromIndex
start local 2 // boolean[] b
start local 3 // int bFromIndex
start local 4 // int length
0: .line 222
iconst_0
istore 5 /* i */
start local 5 // int i
1: .line 223
iload 4 /* length */
bipush 7
if_icmple 17
2: .line 224
aload 0 /* a */
iload 1 /* aFromIndex */
baload
aload 2 /* b */
iload 3 /* bFromIndex */
baload
if_icmpeq 4
3: .line 225
iconst_0
ireturn
4: .line 226
StackMap locals: int
StackMap stack:
getstatic jdk.internal.misc.Unsafe.ARRAY_BOOLEAN_BASE_OFFSET:I
iload 1 /* aFromIndex */
iadd
istore 6 /* aOffset */
start local 6 // int aOffset
5: .line 227
getstatic jdk.internal.misc.Unsafe.ARRAY_BOOLEAN_BASE_OFFSET:I
iload 3 /* bFromIndex */
iadd
istore 7 /* bOffset */
start local 7 // int bOffset
6: .line 229
aload 0 /* a */
iload 6 /* aOffset */
i2l
7: .line 230
aload 2 /* b */
iload 7 /* bOffset */
i2l
8: .line 231
iload 4 /* length */
getstatic jdk.internal.util.ArraysSupport.LOG2_ARRAY_BOOLEAN_INDEX_SCALE:I
9: .line 228
invokestatic jdk.internal.util.ArraysSupport.vectorizedMismatch:(Ljava/lang/Object;JLjava/lang/Object;JII)I
istore 5 /* i */
10: .line 232
iload 5 /* i */
iflt 12
11: .line 233
iload 5 /* i */
ireturn
12: .line 234
StackMap locals: int int
StackMap stack:
iload 4 /* length */
iload 5 /* i */
iconst_m1
ixor
isub
istore 5 /* i */
end local 7 // int bOffset
end local 6 // int aOffset
13: .line 236
goto 17
14: .line 237
StackMap locals:
StackMap stack:
aload 0 /* a */
iload 1 /* aFromIndex */
iload 5 /* i */
iadd
baload
aload 2 /* b */
iload 3 /* bFromIndex */
iload 5 /* i */
iadd
baload
if_icmpeq 16
15: .line 238
iload 5 /* i */
ireturn
16: .line 236
StackMap locals:
StackMap stack:
iinc 5 /* i */ 1
StackMap locals:
StackMap stack:
17: iload 5 /* i */
iload 4 /* length */
if_icmplt 14
18: .line 240
iconst_m1
ireturn
end local 5 // int i
end local 4 // int length
end local 3 // int bFromIndex
end local 2 // boolean[] b
end local 1 // int aFromIndex
end local 0 // boolean[] a
LocalVariableTable:
Start End Slot Name Signature
0 19 0 a [Z
0 19 1 aFromIndex I
0 19 2 b [Z
0 19 3 bFromIndex I
0 19 4 length I
1 19 5 i I
5 13 6 aOffset I
6 13 7 bOffset I
MethodParameters:
Name Flags
a
aFromIndex
b
bFromIndex
length
public static int mismatch(byte[], byte[], int);
descriptor: ([B[BI)I
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=8, locals=4, args_size=3
start local 0 // byte[] a
start local 1 // byte[] b
start local 2 // int length
0: .line 266
iconst_0
istore 3 /* i */
start local 3 // int i
1: .line 267
iload 2 /* length */
bipush 7
if_icmple 15
2: .line 268
aload 0 /* a */
iconst_0
baload
aload 1 /* b */
iconst_0
baload
if_icmpeq 4
3: .line 269
iconst_0
ireturn
4: .line 271
StackMap locals: int
StackMap stack:
aload 0 /* a */
getstatic jdk.internal.misc.Unsafe.ARRAY_BYTE_BASE_OFFSET:I
i2l
5: .line 272
aload 1 /* b */
getstatic jdk.internal.misc.Unsafe.ARRAY_BYTE_BASE_OFFSET:I
i2l
6: .line 273
iload 2 /* length */
getstatic jdk.internal.util.ArraysSupport.LOG2_ARRAY_BYTE_INDEX_SCALE:I
7: .line 270
invokestatic jdk.internal.util.ArraysSupport.vectorizedMismatch:(Ljava/lang/Object;JLjava/lang/Object;JII)I
istore 3 /* i */
8: .line 274
iload 3 /* i */
iflt 10
9: .line 275
iload 3 /* i */
ireturn
10: .line 277
StackMap locals:
StackMap stack:
iload 2 /* length */
iload 3 /* i */
iconst_m1
ixor
isub
istore 3 /* i */
11: .line 281
goto 15
12: .line 282
StackMap locals:
StackMap stack:
aload 0 /* a */
iload 3 /* i */
baload
aload 1 /* b */
iload 3 /* i */
baload
if_icmpeq 14
13: .line 283
iload 3 /* i */
ireturn
14: .line 281
StackMap locals:
StackMap stack:
iinc 3 /* i */ 1
StackMap locals:
StackMap stack:
15: iload 3 /* i */
iload 2 /* length */
if_icmplt 12
16: .line 285
iconst_m1
ireturn
end local 3 // int i
end local 2 // int length
end local 1 // byte[] b
end local 0 // byte[] a
LocalVariableTable:
Start End Slot Name Signature
0 17 0 a [B
0 17 1 b [B
0 17 2 length I
1 17 3 i I
MethodParameters:
Name Flags
a
b
length
public static int mismatch(byte[], int, byte[], int, int);
descriptor: ([BI[BII)I
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=8, locals=8, args_size=5
start local 0 // byte[] a
start local 1 // int aFromIndex
start local 2 // byte[] b
start local 3 // int bFromIndex
start local 4 // int length
0: .line 315
iconst_0
istore 5 /* i */
start local 5 // int i
1: .line 316
iload 4 /* length */
bipush 7
if_icmple 17
2: .line 317
aload 0 /* a */
iload 1 /* aFromIndex */
baload
aload 2 /* b */
iload 3 /* bFromIndex */
baload
if_icmpeq 4
3: .line 318
iconst_0
ireturn
4: .line 319
StackMap locals: int
StackMap stack:
getstatic jdk.internal.misc.Unsafe.ARRAY_BYTE_BASE_OFFSET:I
iload 1 /* aFromIndex */
iadd
istore 6 /* aOffset */
start local 6 // int aOffset
5: .line 320
getstatic jdk.internal.misc.Unsafe.ARRAY_BYTE_BASE_OFFSET:I
iload 3 /* bFromIndex */
iadd
istore 7 /* bOffset */
start local 7 // int bOffset
6: .line 322
aload 0 /* a */
iload 6 /* aOffset */
i2l
7: .line 323
aload 2 /* b */
iload 7 /* bOffset */
i2l
8: .line 324
iload 4 /* length */
getstatic jdk.internal.util.ArraysSupport.LOG2_ARRAY_BYTE_INDEX_SCALE:I
9: .line 321
invokestatic jdk.internal.util.ArraysSupport.vectorizedMismatch:(Ljava/lang/Object;JLjava/lang/Object;JII)I
istore 5 /* i */
10: .line 325
iload 5 /* i */
iflt 12
11: .line 326
iload 5 /* i */
ireturn
12: .line 327
StackMap locals: int int
StackMap stack:
iload 4 /* length */
iload 5 /* i */
iconst_m1
ixor
isub
istore 5 /* i */
end local 7 // int bOffset
end local 6 // int aOffset
13: .line 329
goto 17
14: .line 330
StackMap locals:
StackMap stack:
aload 0 /* a */
iload 1 /* aFromIndex */
iload 5 /* i */
iadd
baload
aload 2 /* b */
iload 3 /* bFromIndex */
iload 5 /* i */
iadd
baload
if_icmpeq 16
15: .line 331
iload 5 /* i */
ireturn
16: .line 329
StackMap locals:
StackMap stack:
iinc 5 /* i */ 1
StackMap locals:
StackMap stack:
17: iload 5 /* i */
iload 4 /* length */
if_icmplt 14
18: .line 333
iconst_m1
ireturn
end local 5 // int i
end local 4 // int length
end local 3 // int bFromIndex
end local 2 // byte[] b
end local 1 // int aFromIndex
end local 0 // byte[] a
LocalVariableTable:
Start End Slot Name Signature
0 19 0 a [B
0 19 1 aFromIndex I
0 19 2 b [B
0 19 3 bFromIndex I
0 19 4 length I
1 19 5 i I
5 13 6 aOffset I
6 13 7 bOffset I
MethodParameters:
Name Flags
a
aFromIndex
b
bFromIndex
length
public static int mismatch(char[], char[], int);
descriptor: ([C[CI)I
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=8, locals=4, args_size=3
start local 0 // char[] a
start local 1 // char[] b
start local 2 // int length
0: .line 342
iconst_0
istore 3 /* i */
start local 3 // int i
1: .line 343
iload 2 /* length */
iconst_3
if_icmple 15
2: .line 344
aload 0 /* a */
iconst_0
caload
aload 1 /* b */
iconst_0
caload
if_icmpeq 4
3: .line 345
iconst_0
ireturn
4: .line 347
StackMap locals: int
StackMap stack:
aload 0 /* a */
getstatic jdk.internal.misc.Unsafe.ARRAY_CHAR_BASE_OFFSET:I
i2l
5: .line 348
aload 1 /* b */
getstatic jdk.internal.misc.Unsafe.ARRAY_CHAR_BASE_OFFSET:I
i2l
6: .line 349
iload 2 /* length */
getstatic jdk.internal.util.ArraysSupport.LOG2_ARRAY_CHAR_INDEX_SCALE:I
7: .line 346
invokestatic jdk.internal.util.ArraysSupport.vectorizedMismatch:(Ljava/lang/Object;JLjava/lang/Object;JII)I
istore 3 /* i */
8: .line 350
iload 3 /* i */
iflt 10
9: .line 351
iload 3 /* i */
ireturn
10: .line 352
StackMap locals:
StackMap stack:
iload 2 /* length */
iload 3 /* i */
iconst_m1
ixor
isub
istore 3 /* i */
11: .line 354
goto 15
12: .line 355
StackMap locals:
StackMap stack:
aload 0 /* a */
iload 3 /* i */
caload
aload 1 /* b */
iload 3 /* i */
caload
if_icmpeq 14
13: .line 356
iload 3 /* i */
ireturn
14: .line 354
StackMap locals:
StackMap stack:
iinc 3 /* i */ 1
StackMap locals:
StackMap stack:
15: iload 3 /* i */
iload 2 /* length */
if_icmplt 12
16: .line 358
iconst_m1
ireturn
end local 3 // int i
end local 2 // int length
end local 1 // char[] b
end local 0 // char[] a
LocalVariableTable:
Start End Slot Name Signature
0 17 0 a [C
0 17 1 b [C
0 17 2 length I
1 17 3 i I
MethodParameters:
Name Flags
a
b
length
public static int mismatch(char[], int, char[], int, int);
descriptor: ([CI[CII)I
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=8, locals=8, args_size=5
start local 0 // char[] a
start local 1 // int aFromIndex
start local 2 // char[] b
start local 3 // int bFromIndex
start local 4 // int length
0: .line 364
iconst_0
istore 5 /* i */
start local 5 // int i
1: .line 365
iload 4 /* length */
iconst_3
if_icmple 17
2: .line 366
aload 0 /* a */
iload 1 /* aFromIndex */
caload
aload 2 /* b */
iload 3 /* bFromIndex */
caload
if_icmpeq 4
3: .line 367
iconst_0
ireturn
4: .line 368
StackMap locals: int
StackMap stack:
getstatic jdk.internal.misc.Unsafe.ARRAY_CHAR_BASE_OFFSET:I
iload 1 /* aFromIndex */
getstatic jdk.internal.util.ArraysSupport.LOG2_ARRAY_CHAR_INDEX_SCALE:I
ishl
iadd
istore 6 /* aOffset */
start local 6 // int aOffset
5: .line 369
getstatic jdk.internal.misc.Unsafe.ARRAY_CHAR_BASE_OFFSET:I
iload 3 /* bFromIndex */
getstatic jdk.internal.util.ArraysSupport.LOG2_ARRAY_CHAR_INDEX_SCALE:I
ishl
iadd
istore 7 /* bOffset */
start local 7 // int bOffset
6: .line 371
aload 0 /* a */
iload 6 /* aOffset */
i2l
7: .line 372
aload 2 /* b */
iload 7 /* bOffset */
i2l
8: .line 373
iload 4 /* length */
getstatic jdk.internal.util.ArraysSupport.LOG2_ARRAY_CHAR_INDEX_SCALE:I
9: .line 370
invokestatic jdk.internal.util.ArraysSupport.vectorizedMismatch:(Ljava/lang/Object;JLjava/lang/Object;JII)I
istore 5 /* i */
10: .line 374
iload 5 /* i */
iflt 12
11: .line 375
iload 5 /* i */
ireturn
12: .line 376
StackMap locals: int int
StackMap stack:
iload 4 /* length */
iload 5 /* i */
iconst_m1
ixor
isub
istore 5 /* i */
end local 7 // int bOffset
end local 6 // int aOffset
13: .line 378
goto 17
14: .line 379
StackMap locals:
StackMap stack:
aload 0 /* a */
iload 1 /* aFromIndex */
iload 5 /* i */
iadd
caload
aload 2 /* b */
iload 3 /* bFromIndex */
iload 5 /* i */
iadd
caload
if_icmpeq 16
15: .line 380
iload 5 /* i */
ireturn
16: .line 378
StackMap locals:
StackMap stack:
iinc 5 /* i */ 1
StackMap locals:
StackMap stack:
17: iload 5 /* i */
iload 4 /* length */
if_icmplt 14
18: .line 382
iconst_m1
ireturn
end local 5 // int i
end local 4 // int length
end local 3 // int bFromIndex
end local 2 // char[] b
end local 1 // int aFromIndex
end local 0 // char[] a
LocalVariableTable:
Start End Slot Name Signature
0 19 0 a [C
0 19 1 aFromIndex I
0 19 2 b [C
0 19 3 bFromIndex I
0 19 4 length I
1 19 5 i I
5 13 6 aOffset I
6 13 7 bOffset I
MethodParameters:
Name Flags
a
aFromIndex
b
bFromIndex
length
public static int mismatch(short[], short[], int);
descriptor: ([S[SI)I
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=8, locals=4, args_size=3
start local 0 // short[] a
start local 1 // short[] b
start local 2 // int length
0: .line 391
iconst_0
istore 3 /* i */
start local 3 // int i
1: .line 392
iload 2 /* length */
iconst_3
if_icmple 15
2: .line 393
aload 0 /* a */
iconst_0
saload
aload 1 /* b */
iconst_0
saload
if_icmpeq 4
3: .line 394
iconst_0
ireturn
4: .line 396
StackMap locals: int
StackMap stack:
aload 0 /* a */
getstatic jdk.internal.misc.Unsafe.ARRAY_SHORT_BASE_OFFSET:I
i2l
5: .line 397
aload 1 /* b */
getstatic jdk.internal.misc.Unsafe.ARRAY_SHORT_BASE_OFFSET:I
i2l
6: .line 398
iload 2 /* length */
getstatic jdk.internal.util.ArraysSupport.LOG2_ARRAY_SHORT_INDEX_SCALE:I
7: .line 395
invokestatic jdk.internal.util.ArraysSupport.vectorizedMismatch:(Ljava/lang/Object;JLjava/lang/Object;JII)I
istore 3 /* i */
8: .line 399
iload 3 /* i */
iflt 10
9: .line 400
iload 3 /* i */
ireturn
10: .line 401
StackMap locals:
StackMap stack:
iload 2 /* length */
iload 3 /* i */
iconst_m1
ixor
isub
istore 3 /* i */
11: .line 403
goto 15
12: .line 404
StackMap locals:
StackMap stack:
aload 0 /* a */
iload 3 /* i */
saload
aload 1 /* b */
iload 3 /* i */
saload
if_icmpeq 14
13: .line 405
iload 3 /* i */
ireturn
14: .line 403
StackMap locals:
StackMap stack:
iinc 3 /* i */ 1
StackMap locals:
StackMap stack:
15: iload 3 /* i */
iload 2 /* length */
if_icmplt 12
16: .line 407
iconst_m1
ireturn
end local 3 // int i
end local 2 // int length
end local 1 // short[] b
end local 0 // short[] a
LocalVariableTable:
Start End Slot Name Signature
0 17 0 a [S
0 17 1 b [S
0 17 2 length I
1 17 3 i I
MethodParameters:
Name Flags
a
b
length
public static int mismatch(short[], int, short[], int, int);
descriptor: ([SI[SII)I
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=8, locals=8, args_size=5
start local 0 // short[] a
start local 1 // int aFromIndex
start local 2 // short[] b
start local 3 // int bFromIndex
start local 4 // int length
0: .line 413
iconst_0
istore 5 /* i */
start local 5 // int i
1: .line 414
iload 4 /* length */
iconst_3
if_icmple 17
2: .line 415
aload 0 /* a */
iload 1 /* aFromIndex */
saload
aload 2 /* b */
iload 3 /* bFromIndex */
saload
if_icmpeq 4
3: .line 416
iconst_0
ireturn
4: .line 417
StackMap locals: int
StackMap stack:
getstatic jdk.internal.misc.Unsafe.ARRAY_SHORT_BASE_OFFSET:I
iload 1 /* aFromIndex */
getstatic jdk.internal.util.ArraysSupport.LOG2_ARRAY_SHORT_INDEX_SCALE:I
ishl
iadd
istore 6 /* aOffset */
start local 6 // int aOffset
5: .line 418
getstatic jdk.internal.misc.Unsafe.ARRAY_SHORT_BASE_OFFSET:I
iload 3 /* bFromIndex */
getstatic jdk.internal.util.ArraysSupport.LOG2_ARRAY_SHORT_INDEX_SCALE:I
ishl
iadd
istore 7 /* bOffset */
start local 7 // int bOffset
6: .line 420
aload 0 /* a */
iload 6 /* aOffset */
i2l
7: .line 421
aload 2 /* b */
iload 7 /* bOffset */
i2l
8: .line 422
iload 4 /* length */
getstatic jdk.internal.util.ArraysSupport.LOG2_ARRAY_SHORT_INDEX_SCALE:I
9: .line 419
invokestatic jdk.internal.util.ArraysSupport.vectorizedMismatch:(Ljava/lang/Object;JLjava/lang/Object;JII)I
istore 5 /* i */
10: .line 423
iload 5 /* i */
iflt 12
11: .line 424
iload 5 /* i */
ireturn
12: .line 425
StackMap locals: int int
StackMap stack:
iload 4 /* length */
iload 5 /* i */
iconst_m1
ixor
isub
istore 5 /* i */
end local 7 // int bOffset
end local 6 // int aOffset
13: .line 427
goto 17
14: .line 428
StackMap locals:
StackMap stack:
aload 0 /* a */
iload 1 /* aFromIndex */
iload 5 /* i */
iadd
saload
aload 2 /* b */
iload 3 /* bFromIndex */
iload 5 /* i */
iadd
saload
if_icmpeq 16
15: .line 429
iload 5 /* i */
ireturn
16: .line 427
StackMap locals:
StackMap stack:
iinc 5 /* i */ 1
StackMap locals:
StackMap stack:
17: iload 5 /* i */
iload 4 /* length */
if_icmplt 14
18: .line 431
iconst_m1
ireturn
end local 5 // int i
end local 4 // int length
end local 3 // int bFromIndex
end local 2 // short[] b
end local 1 // int aFromIndex
end local 0 // short[] a
LocalVariableTable:
Start End Slot Name Signature
0 19 0 a [S
0 19 1 aFromIndex I
0 19 2 b [S
0 19 3 bFromIndex I
0 19 4 length I
1 19 5 i I
5 13 6 aOffset I
6 13 7 bOffset I
MethodParameters:
Name Flags
a
aFromIndex
b
bFromIndex
length
public static int mismatch(int[], int[], int);
descriptor: ([I[II)I
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=8, locals=4, args_size=3
start local 0 // int[] a
start local 1 // int[] b
start local 2 // int length
0: .line 440
iconst_0
istore 3 /* i */
start local 3 // int i
1: .line 441
iload 2 /* length */
iconst_1
if_icmple 15
2: .line 442
aload 0 /* a */
iconst_0
iaload
aload 1 /* b */
iconst_0
iaload
if_icmpeq 4
3: .line 443
iconst_0
ireturn
4: .line 445
StackMap locals: int
StackMap stack:
aload 0 /* a */
getstatic jdk.internal.misc.Unsafe.ARRAY_INT_BASE_OFFSET:I
i2l
5: .line 446
aload 1 /* b */
getstatic jdk.internal.misc.Unsafe.ARRAY_INT_BASE_OFFSET:I
i2l
6: .line 447
iload 2 /* length */
getstatic jdk.internal.util.ArraysSupport.LOG2_ARRAY_INT_INDEX_SCALE:I
7: .line 444
invokestatic jdk.internal.util.ArraysSupport.vectorizedMismatch:(Ljava/lang/Object;JLjava/lang/Object;JII)I
istore 3 /* i */
8: .line 448
iload 3 /* i */
iflt 10
9: .line 449
iload 3 /* i */
ireturn
10: .line 450
StackMap locals:
StackMap stack:
iload 2 /* length */
iload 3 /* i */
iconst_m1
ixor
isub
istore 3 /* i */
11: .line 452
goto 15
12: .line 453
StackMap locals:
StackMap stack:
aload 0 /* a */
iload 3 /* i */
iaload
aload 1 /* b */
iload 3 /* i */
iaload
if_icmpeq 14
13: .line 454
iload 3 /* i */
ireturn
14: .line 452
StackMap locals:
StackMap stack:
iinc 3 /* i */ 1
StackMap locals:
StackMap stack:
15: iload 3 /* i */
iload 2 /* length */
if_icmplt 12
16: .line 456
iconst_m1
ireturn
end local 3 // int i
end local 2 // int length
end local 1 // int[] b
end local 0 // int[] a
LocalVariableTable:
Start End Slot Name Signature
0 17 0 a [I
0 17 1 b [I
0 17 2 length I
1 17 3 i I
MethodParameters:
Name Flags
a
b
length
public static int mismatch(int[], int, int[], int, int);
descriptor: ([II[III)I
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=8, locals=8, args_size=5
start local 0 // int[] a
start local 1 // int aFromIndex
start local 2 // int[] b
start local 3 // int bFromIndex
start local 4 // int length
0: .line 462
iconst_0
istore 5 /* i */
start local 5 // int i
1: .line 463
iload 4 /* length */
iconst_1
if_icmple 17
2: .line 464
aload 0 /* a */
iload 1 /* aFromIndex */
iaload
aload 2 /* b */
iload 3 /* bFromIndex */
iaload
if_icmpeq 4
3: .line 465
iconst_0
ireturn
4: .line 466
StackMap locals: int
StackMap stack:
getstatic jdk.internal.misc.Unsafe.ARRAY_INT_BASE_OFFSET:I
iload 1 /* aFromIndex */
getstatic jdk.internal.util.ArraysSupport.LOG2_ARRAY_INT_INDEX_SCALE:I
ishl
iadd
istore 6 /* aOffset */
start local 6 // int aOffset
5: .line 467
getstatic jdk.internal.misc.Unsafe.ARRAY_INT_BASE_OFFSET:I
iload 3 /* bFromIndex */
getstatic jdk.internal.util.ArraysSupport.LOG2_ARRAY_INT_INDEX_SCALE:I
ishl
iadd
istore 7 /* bOffset */
start local 7 // int bOffset
6: .line 469
aload 0 /* a */
iload 6 /* aOffset */
i2l
7: .line 470
aload 2 /* b */
iload 7 /* bOffset */
i2l
8: .line 471
iload 4 /* length */
getstatic jdk.internal.util.ArraysSupport.LOG2_ARRAY_INT_INDEX_SCALE:I
9: .line 468
invokestatic jdk.internal.util.ArraysSupport.vectorizedMismatch:(Ljava/lang/Object;JLjava/lang/Object;JII)I
istore 5 /* i */
10: .line 472
iload 5 /* i */
iflt 12
11: .line 473
iload 5 /* i */
ireturn
12: .line 474
StackMap locals: int int
StackMap stack:
iload 4 /* length */
iload 5 /* i */
iconst_m1
ixor
isub
istore 5 /* i */
end local 7 // int bOffset
end local 6 // int aOffset
13: .line 476
goto 17
14: .line 477
StackMap locals:
StackMap stack:
aload 0 /* a */
iload 1 /* aFromIndex */
iload 5 /* i */
iadd
iaload
aload 2 /* b */
iload 3 /* bFromIndex */
iload 5 /* i */
iadd
iaload
if_icmpeq 16
15: .line 478
iload 5 /* i */
ireturn
16: .line 476
StackMap locals:
StackMap stack:
iinc 5 /* i */ 1
StackMap locals:
StackMap stack:
17: iload 5 /* i */
iload 4 /* length */
if_icmplt 14
18: .line 480
iconst_m1
ireturn
end local 5 // int i
end local 4 // int length
end local 3 // int bFromIndex
end local 2 // int[] b
end local 1 // int aFromIndex
end local 0 // int[] a
LocalVariableTable:
Start End Slot Name Signature
0 19 0 a [I
0 19 1 aFromIndex I
0 19 2 b [I
0 19 3 bFromIndex I
0 19 4 length I
1 19 5 i I
5 13 6 aOffset I
6 13 7 bOffset I
MethodParameters:
Name Flags
a
aFromIndex
b
bFromIndex
length
public static int mismatch(float[], float[], int);
descriptor: ([F[FI)I
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=5, locals=3, args_size=3
start local 0 // float[] a
start local 1 // float[] b
start local 2 // int length
0: .line 489
aload 0 /* a */
iconst_0
aload 1 /* b */
iconst_0
iload 2 /* length */
invokestatic jdk.internal.util.ArraysSupport.mismatch:([FI[FII)I
ireturn
end local 2 // int length
end local 1 // float[] b
end local 0 // float[] a
LocalVariableTable:
Start End Slot Name Signature
0 1 0 a [F
0 1 1 b [F
0 1 2 length I
MethodParameters:
Name Flags
a
b
length
public static int mismatch(float[], int, float[], int, int);
descriptor: ([FI[FII)I
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=8, locals=8, args_size=5
start local 0 // float[] a
start local 1 // int aFromIndex
start local 2 // float[] b
start local 3 // int bFromIndex
start local 4 // int length
0: .line 495
iconst_0
istore 5 /* i */
start local 5 // int i
1: .line 496
iload 4 /* length */
iconst_1
if_icmple 19
2: .line 497
aload 0 /* a */
iload 1 /* aFromIndex */
faload
invokestatic java.lang.Float.floatToRawIntBits:(F)I
aload 2 /* b */
iload 3 /* bFromIndex */
faload
invokestatic java.lang.Float.floatToRawIntBits:(F)I
if_icmpne 9
3: .line 498
getstatic jdk.internal.misc.Unsafe.ARRAY_FLOAT_BASE_OFFSET:I
iload 1 /* aFromIndex */
getstatic jdk.internal.util.ArraysSupport.LOG2_ARRAY_FLOAT_INDEX_SCALE:I
ishl
iadd
istore 6 /* aOffset */
start local 6 // int aOffset
4: .line 499
getstatic jdk.internal.misc.Unsafe.ARRAY_FLOAT_BASE_OFFSET:I
iload 3 /* bFromIndex */
getstatic jdk.internal.util.ArraysSupport.LOG2_ARRAY_FLOAT_INDEX_SCALE:I
ishl
iadd
istore 7 /* bOffset */
start local 7 // int bOffset
5: .line 501
aload 0 /* a */
iload 6 /* aOffset */
i2l
6: .line 502
aload 2 /* b */
iload 7 /* bOffset */
i2l
7: .line 503
iload 4 /* length */
getstatic jdk.internal.util.ArraysSupport.LOG2_ARRAY_FLOAT_INDEX_SCALE:I
8: .line 500
invokestatic jdk.internal.util.ArraysSupport.vectorizedMismatch:(Ljava/lang/Object;JLjava/lang/Object;JII)I
istore 5 /* i */
end local 7 // int bOffset
end local 6 // int aOffset
9: .line 506
StackMap locals: int
StackMap stack:
iload 5 /* i */
iflt 14
10: .line 508
aload 0 /* a */
iload 1 /* aFromIndex */
iload 5 /* i */
iadd
faload
invokestatic java.lang.Float.isNaN:(F)Z
ifeq 11
aload 2 /* b */
iload 3 /* bFromIndex */
iload 5 /* i */
iadd
faload
invokestatic java.lang.Float.isNaN:(F)Z
ifne 12
11: .line 509
StackMap locals:
StackMap stack:
iload 5 /* i */
ireturn
12: .line 515
StackMap locals:
StackMap stack:
iinc 5 /* i */ 1
13: .line 516
goto 19
14: .line 519
StackMap locals:
StackMap stack:
iload 4 /* length */
iload 5 /* i */
iconst_m1
ixor
isub
istore 5 /* i */
15: .line 522
goto 19
16: .line 523
StackMap locals:
StackMap stack:
aload 0 /* a */
iload 1 /* aFromIndex */
iload 5 /* i */
iadd
faload
invokestatic java.lang.Float.floatToIntBits:(F)I
aload 2 /* b */
iload 3 /* bFromIndex */
iload 5 /* i */
iadd
faload
invokestatic java.lang.Float.floatToIntBits:(F)I
if_icmpeq 18
17: .line 524
iload 5 /* i */
ireturn
18: .line 522
StackMap locals:
StackMap stack:
iinc 5 /* i */ 1
StackMap locals:
StackMap stack:
19: iload 5 /* i */
iload 4 /* length */
if_icmplt 16
20: .line 526
iconst_m1
ireturn
end local 5 // int i
end local 4 // int length
end local 3 // int bFromIndex
end local 2 // float[] b
end local 1 // int aFromIndex
end local 0 // float[] a
LocalVariableTable:
Start End Slot Name Signature
0 21 0 a [F
0 21 1 aFromIndex I
0 21 2 b [F
0 21 3 bFromIndex I
0 21 4 length I
1 21 5 i I
4 9 6 aOffset I
5 9 7 bOffset I
MethodParameters:
Name Flags
a
aFromIndex
b
bFromIndex
length
public static int mismatch(long[], long[], int);
descriptor: ([J[JI)I
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=8, locals=4, args_size=3
start local 0 // long[] a
start local 1 // long[] b
start local 2 // int length
0: .line 536
iload 2 /* length */
ifne 2
1: .line 537
iconst_m1
ireturn
2: .line 539
StackMap locals:
StackMap stack:
aload 0 /* a */
iconst_0
laload
aload 1 /* b */
iconst_0
laload
lcmp
ifeq 4
3: .line 540
iconst_0
ireturn
4: .line 542
StackMap locals:
StackMap stack:
aload 0 /* a */
getstatic jdk.internal.misc.Unsafe.ARRAY_LONG_BASE_OFFSET:I
i2l
5: .line 543
aload 1 /* b */
getstatic jdk.internal.misc.Unsafe.ARRAY_LONG_BASE_OFFSET:I
i2l
6: .line 544
iload 2 /* length */
getstatic jdk.internal.util.ArraysSupport.LOG2_ARRAY_LONG_INDEX_SCALE:I
7: .line 541
invokestatic jdk.internal.util.ArraysSupport.vectorizedMismatch:(Ljava/lang/Object;JLjava/lang/Object;JII)I
istore 3 /* i */
start local 3 // int i
8: .line 545
iload 3 /* i */
iflt 9
iload 3 /* i */
goto 10
StackMap locals: int
StackMap stack:
9: iconst_m1
StackMap locals:
StackMap stack: int
10: ireturn
end local 3 // int i
end local 2 // int length
end local 1 // long[] b
end local 0 // long[] a
LocalVariableTable:
Start End Slot Name Signature
0 11 0 a [J
0 11 1 b [J
0 11 2 length I
8 11 3 i I
MethodParameters:
Name Flags
a
b
length
public static int mismatch(long[], int, long[], int, int);
descriptor: ([JI[JII)I
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=8, locals=8, args_size=5
start local 0 // long[] a
start local 1 // int aFromIndex
start local 2 // long[] b
start local 3 // int bFromIndex
start local 4 // int length
0: .line 551
iload 4 /* length */
ifne 2
1: .line 552
iconst_m1
ireturn
2: .line 554
StackMap locals:
StackMap stack:
aload 0 /* a */
iload 1 /* aFromIndex */
laload
aload 2 /* b */
iload 3 /* bFromIndex */
laload
lcmp
ifeq 4
3: .line 555
iconst_0
ireturn
4: .line 556
StackMap locals:
StackMap stack:
getstatic jdk.internal.misc.Unsafe.ARRAY_LONG_BASE_OFFSET:I
iload 1 /* aFromIndex */
getstatic jdk.internal.util.ArraysSupport.LOG2_ARRAY_LONG_INDEX_SCALE:I
ishl
iadd
istore 5 /* aOffset */
start local 5 // int aOffset
5: .line 557
getstatic jdk.internal.misc.Unsafe.ARRAY_LONG_BASE_OFFSET:I
iload 3 /* bFromIndex */
getstatic jdk.internal.util.ArraysSupport.LOG2_ARRAY_LONG_INDEX_SCALE:I
ishl
iadd
istore 6 /* bOffset */
start local 6 // int bOffset
6: .line 559
aload 0 /* a */
iload 5 /* aOffset */
i2l
7: .line 560
aload 2 /* b */
iload 6 /* bOffset */
i2l
8: .line 561
iload 4 /* length */
getstatic jdk.internal.util.ArraysSupport.LOG2_ARRAY_LONG_INDEX_SCALE:I
9: .line 558
invokestatic jdk.internal.util.ArraysSupport.vectorizedMismatch:(Ljava/lang/Object;JLjava/lang/Object;JII)I
istore 7 /* i */
start local 7 // int i
10: .line 562
iload 7 /* i */
iflt 11
iload 7 /* i */
goto 12
StackMap locals: int int int
StackMap stack:
11: iconst_m1
StackMap locals:
StackMap stack: int
12: ireturn
end local 7 // int i
end local 6 // int bOffset
end local 5 // int aOffset
end local 4 // int length
end local 3 // int bFromIndex
end local 2 // long[] b
end local 1 // int aFromIndex
end local 0 // long[] a
LocalVariableTable:
Start End Slot Name Signature
0 13 0 a [J
0 13 1 aFromIndex I
0 13 2 b [J
0 13 3 bFromIndex I
0 13 4 length I
5 13 5 aOffset I
6 13 6 bOffset I
10 13 7 i I
MethodParameters:
Name Flags
a
aFromIndex
b
bFromIndex
length
public static int mismatch(double[], double[], int);
descriptor: ([D[DI)I
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=5, locals=3, args_size=3
start local 0 // double[] a
start local 1 // double[] b
start local 2 // int length
0: .line 571
aload 0 /* a */
iconst_0
aload 1 /* b */
iconst_0
iload 2 /* length */
invokestatic jdk.internal.util.ArraysSupport.mismatch:([DI[DII)I
ireturn
end local 2 // int length
end local 1 // double[] b
end local 0 // double[] a
LocalVariableTable:
Start End Slot Name Signature
0 1 0 a [D
0 1 1 b [D
0 1 2 length I
MethodParameters:
Name Flags
a
b
length
public static int mismatch(double[], int, double[], int, int);
descriptor: ([DI[DII)I
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=8, locals=8, args_size=5
start local 0 // double[] a
start local 1 // int aFromIndex
start local 2 // double[] b
start local 3 // int bFromIndex
start local 4 // int length
0: .line 577
iload 4 /* length */
ifne 2
1: .line 578
iconst_m1
ireturn
2: .line 580
StackMap locals:
StackMap stack:
iconst_0
istore 5 /* i */
start local 5 // int i
3: .line 581
aload 0 /* a */
iload 1 /* aFromIndex */
daload
invokestatic java.lang.Double.doubleToRawLongBits:(D)J
aload 2 /* b */
iload 3 /* bFromIndex */
daload
invokestatic java.lang.Double.doubleToRawLongBits:(D)J
lcmp
ifne 10
4: .line 582
getstatic jdk.internal.misc.Unsafe.ARRAY_DOUBLE_BASE_OFFSET:I
iload 1 /* aFromIndex */
getstatic jdk.internal.util.ArraysSupport.LOG2_ARRAY_DOUBLE_INDEX_SCALE:I
ishl
iadd
istore 6 /* aOffset */
start local 6 // int aOffset
5: .line 583
getstatic jdk.internal.misc.Unsafe.ARRAY_DOUBLE_BASE_OFFSET:I
iload 3 /* bFromIndex */
getstatic jdk.internal.util.ArraysSupport.LOG2_ARRAY_DOUBLE_INDEX_SCALE:I
ishl
iadd
istore 7 /* bOffset */
start local 7 // int bOffset
6: .line 585
aload 0 /* a */
iload 6 /* aOffset */
i2l
7: .line 586
aload 2 /* b */
iload 7 /* bOffset */
i2l
8: .line 587
iload 4 /* length */
getstatic jdk.internal.util.ArraysSupport.LOG2_ARRAY_DOUBLE_INDEX_SCALE:I
9: .line 584
invokestatic jdk.internal.util.ArraysSupport.vectorizedMismatch:(Ljava/lang/Object;JLjava/lang/Object;JII)I
istore 5 /* i */
end local 7 // int bOffset
end local 6 // int aOffset
10: .line 589
StackMap locals: int
StackMap stack:
iload 5 /* i */
iflt 19
11: .line 591
aload 0 /* a */
iload 1 /* aFromIndex */
iload 5 /* i */
iadd
daload
invokestatic java.lang.Double.isNaN:(D)Z
ifeq 12
aload 2 /* b */
iload 3 /* bFromIndex */
iload 5 /* i */
iadd
daload
invokestatic java.lang.Double.isNaN:(D)Z
ifne 13
12: .line 592
StackMap locals:
StackMap stack:
iload 5 /* i */
ireturn
13: .line 598
StackMap locals:
StackMap stack:
iinc 5 /* i */ 1
14: .line 599
goto 18
15: .line 600
StackMap locals:
StackMap stack:
aload 0 /* a */
iload 1 /* aFromIndex */
iload 5 /* i */
iadd
daload
invokestatic java.lang.Double.doubleToLongBits:(D)J
aload 2 /* b */
iload 3 /* bFromIndex */
iload 5 /* i */
iadd
daload
invokestatic java.lang.Double.doubleToLongBits:(D)J
lcmp
ifeq 17
16: .line 601
iload 5 /* i */
ireturn
17: .line 599
StackMap locals:
StackMap stack:
iinc 5 /* i */ 1
StackMap locals:
StackMap stack:
18: iload 5 /* i */
iload 4 /* length */
if_icmplt 15
19: .line 605
StackMap locals:
StackMap stack:
iconst_m1
ireturn
end local 5 // int i
end local 4 // int length
end local 3 // int bFromIndex
end local 2 // double[] b
end local 1 // int aFromIndex
end local 0 // double[] a
LocalVariableTable:
Start End Slot Name Signature
0 20 0 a [D
0 20 1 aFromIndex I
0 20 2 b [D
0 20 3 bFromIndex I
0 20 4 length I
3 20 5 i I
5 10 6 aOffset I
6 10 7 bOffset I
MethodParameters:
Name Flags
a
aFromIndex
b
bFromIndex
length
public static int newLength(int, int, int);
descriptor: (III)I
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=4, args_size=3
start local 0 // int oldLength
start local 1 // int minGrowth
start local 2 // int prefGrowth
0: .line 640
iload 1 /* minGrowth */
iload 2 /* prefGrowth */
invokestatic java.lang.Math.max:(II)I
iload 0 /* oldLength */
iadd
istore 3 /* newLength */
start local 3 // int newLength
1: .line 641
iload 3 /* newLength */
ldc 2147483639
isub
ifgt 3
2: .line 642
iload 3 /* newLength */
ireturn
3: .line 644
StackMap locals: int
StackMap stack:
iload 0 /* oldLength */
iload 1 /* minGrowth */
invokestatic jdk.internal.util.ArraysSupport.hugeLength:(II)I
ireturn
end local 3 // int newLength
end local 2 // int prefGrowth
end local 1 // int minGrowth
end local 0 // int oldLength
LocalVariableTable:
Start End Slot Name Signature
0 4 0 oldLength I
0 4 1 minGrowth I
0 4 2 prefGrowth I
1 4 3 newLength I
MethodParameters:
Name Flags
oldLength
minGrowth
prefGrowth
private static int hugeLength(int, int);
descriptor: (II)I
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=3, locals=3, args_size=2
start local 0 // int oldLength
start local 1 // int minGrowth
0: .line 648
iload 0 /* oldLength */
iload 1 /* minGrowth */
iadd
istore 2 /* minLength */
start local 2 // int minLength
1: .line 649
iload 2 /* minLength */
ifge 3
2: .line 650
new java.lang.OutOfMemoryError
dup
ldc "Required array length too large"
invokespecial java.lang.OutOfMemoryError.<init>:(Ljava/lang/String;)V
athrow
3: .line 652
StackMap locals: int
StackMap stack:
iload 2 /* minLength */
ldc 2147483639
if_icmpgt 5
4: .line 653
ldc 2147483639
ireturn
5: .line 655
StackMap locals:
StackMap stack:
ldc 2147483647
ireturn
end local 2 // int minLength
end local 1 // int minGrowth
end local 0 // int oldLength
LocalVariableTable:
Start End Slot Name Signature
0 6 0 oldLength I
0 6 1 minGrowth I
1 6 2 minLength I
MethodParameters:
Name Flags
oldLength
minGrowth
}
SourceFile: "ArraysSupport.java"