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 583
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.vm.annotation.IntrinsicCandidate()
MethodParameters:
Name Flags
a
aOffset
b
bOffset
length
log2ArrayIndexScale
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 169
iconst_0
istore 3 /* i */
start local 3 // int i
1: .line 170
iload 2 /* length */
bipush 7
if_icmple 15
2: .line 171
aload 0 /* a */
iconst_0
baload
aload 1 /* b */
iconst_0
baload
if_icmpeq 4
3: .line 172
iconst_0
ireturn
4: .line 174
StackMap locals: int
StackMap stack:
aload 0 /* a */
getstatic jdk.internal.misc.Unsafe.ARRAY_BOOLEAN_BASE_OFFSET:I
i2l
5: .line 175
aload 1 /* b */
getstatic jdk.internal.misc.Unsafe.ARRAY_BOOLEAN_BASE_OFFSET:I
i2l
6: .line 176
iload 2 /* length */
getstatic jdk.internal.util.ArraysSupport.LOG2_ARRAY_BOOLEAN_INDEX_SCALE:I
7: .line 173
invokestatic jdk.internal.util.ArraysSupport.vectorizedMismatch:(Ljava/lang/Object;JLjava/lang/Object;JII)I
istore 3 /* i */
8: .line 177
iload 3 /* i */
iflt 10
9: .line 178
iload 3 /* i */
ireturn
10: .line 179
StackMap locals:
StackMap stack:
iload 2 /* length */
iload 3 /* i */
iconst_m1
ixor
isub
istore 3 /* i */
11: .line 181
goto 15
12: .line 182
StackMap locals:
StackMap stack:
aload 0 /* a */
iload 3 /* i */
baload
aload 1 /* b */
iload 3 /* i */
baload
if_icmpeq 14
13: .line 183
iload 3 /* i */
ireturn
14: .line 181
StackMap locals:
StackMap stack:
iinc 3 /* i */ 1
StackMap locals:
StackMap stack:
15: iload 3 /* i */
iload 2 /* length */
if_icmplt 12
16: .line 185
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 191
iconst_0
istore 5 /* i */
start local 5 // int i
1: .line 192
iload 4 /* length */
bipush 7
if_icmple 17
2: .line 193
aload 0 /* a */
iload 1 /* aFromIndex */
baload
aload 2 /* b */
iload 3 /* bFromIndex */
baload
if_icmpeq 4
3: .line 194
iconst_0
ireturn
4: .line 195
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 196
getstatic jdk.internal.misc.Unsafe.ARRAY_BOOLEAN_BASE_OFFSET:I
iload 3 /* bFromIndex */
iadd
istore 7 /* bOffset */
start local 7 // int bOffset
6: .line 198
aload 0 /* a */
iload 6 /* aOffset */
i2l
7: .line 199
aload 2 /* b */
iload 7 /* bOffset */
i2l
8: .line 200
iload 4 /* length */
getstatic jdk.internal.util.ArraysSupport.LOG2_ARRAY_BOOLEAN_INDEX_SCALE:I
9: .line 197
invokestatic jdk.internal.util.ArraysSupport.vectorizedMismatch:(Ljava/lang/Object;JLjava/lang/Object;JII)I
istore 5 /* i */
10: .line 201
iload 5 /* i */
iflt 12
11: .line 202
iload 5 /* i */
ireturn
12: .line 203
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 205
goto 17
14: .line 206
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 207
iload 5 /* i */
ireturn
16: .line 205
StackMap locals:
StackMap stack:
iinc 5 /* i */ 1
StackMap locals:
StackMap stack:
17: iload 5 /* i */
iload 4 /* length */
if_icmplt 14
18: .line 209
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 235
iconst_0
istore 3 /* i */
start local 3 // int i
1: .line 236
iload 2 /* length */
bipush 7
if_icmple 15
2: .line 237
aload 0 /* a */
iconst_0
baload
aload 1 /* b */
iconst_0
baload
if_icmpeq 4
3: .line 238
iconst_0
ireturn
4: .line 240
StackMap locals: int
StackMap stack:
aload 0 /* a */
getstatic jdk.internal.misc.Unsafe.ARRAY_BYTE_BASE_OFFSET:I
i2l
5: .line 241
aload 1 /* b */
getstatic jdk.internal.misc.Unsafe.ARRAY_BYTE_BASE_OFFSET:I
i2l
6: .line 242
iload 2 /* length */
getstatic jdk.internal.util.ArraysSupport.LOG2_ARRAY_BYTE_INDEX_SCALE:I
7: .line 239
invokestatic jdk.internal.util.ArraysSupport.vectorizedMismatch:(Ljava/lang/Object;JLjava/lang/Object;JII)I
istore 3 /* i */
8: .line 243
iload 3 /* i */
iflt 10
9: .line 244
iload 3 /* i */
ireturn
10: .line 246
StackMap locals:
StackMap stack:
iload 2 /* length */
iload 3 /* i */
iconst_m1
ixor
isub
istore 3 /* i */
11: .line 250
goto 15
12: .line 251
StackMap locals:
StackMap stack:
aload 0 /* a */
iload 3 /* i */
baload
aload 1 /* b */
iload 3 /* i */
baload
if_icmpeq 14
13: .line 252
iload 3 /* i */
ireturn
14: .line 250
StackMap locals:
StackMap stack:
iinc 3 /* i */ 1
StackMap locals:
StackMap stack:
15: iload 3 /* i */
iload 2 /* length */
if_icmplt 12
16: .line 254
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 284
iconst_0
istore 5 /* i */
start local 5 // int i
1: .line 285
iload 4 /* length */
bipush 7
if_icmple 17
2: .line 286
aload 0 /* a */
iload 1 /* aFromIndex */
baload
aload 2 /* b */
iload 3 /* bFromIndex */
baload
if_icmpeq 4
3: .line 287
iconst_0
ireturn
4: .line 288
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 289
getstatic jdk.internal.misc.Unsafe.ARRAY_BYTE_BASE_OFFSET:I
iload 3 /* bFromIndex */
iadd
istore 7 /* bOffset */
start local 7 // int bOffset
6: .line 291
aload 0 /* a */
iload 6 /* aOffset */
i2l
7: .line 292
aload 2 /* b */
iload 7 /* bOffset */
i2l
8: .line 293
iload 4 /* length */
getstatic jdk.internal.util.ArraysSupport.LOG2_ARRAY_BYTE_INDEX_SCALE:I
9: .line 290
invokestatic jdk.internal.util.ArraysSupport.vectorizedMismatch:(Ljava/lang/Object;JLjava/lang/Object;JII)I
istore 5 /* i */
10: .line 294
iload 5 /* i */
iflt 12
11: .line 295
iload 5 /* i */
ireturn
12: .line 296
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 298
goto 17
14: .line 299
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 300
iload 5 /* i */
ireturn
16: .line 298
StackMap locals:
StackMap stack:
iinc 5 /* i */ 1
StackMap locals:
StackMap stack:
17: iload 5 /* i */
iload 4 /* length */
if_icmplt 14
18: .line 302
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 311
iconst_0
istore 3 /* i */
start local 3 // int i
1: .line 312
iload 2 /* length */
iconst_3
if_icmple 15
2: .line 313
aload 0 /* a */
iconst_0
caload
aload 1 /* b */
iconst_0
caload
if_icmpeq 4
3: .line 314
iconst_0
ireturn
4: .line 316
StackMap locals: int
StackMap stack:
aload 0 /* a */
getstatic jdk.internal.misc.Unsafe.ARRAY_CHAR_BASE_OFFSET:I
i2l
5: .line 317
aload 1 /* b */
getstatic jdk.internal.misc.Unsafe.ARRAY_CHAR_BASE_OFFSET:I
i2l
6: .line 318
iload 2 /* length */
getstatic jdk.internal.util.ArraysSupport.LOG2_ARRAY_CHAR_INDEX_SCALE:I
7: .line 315
invokestatic jdk.internal.util.ArraysSupport.vectorizedMismatch:(Ljava/lang/Object;JLjava/lang/Object;JII)I
istore 3 /* i */
8: .line 319
iload 3 /* i */
iflt 10
9: .line 320
iload 3 /* i */
ireturn
10: .line 321
StackMap locals:
StackMap stack:
iload 2 /* length */
iload 3 /* i */
iconst_m1
ixor
isub
istore 3 /* i */
11: .line 323
goto 15
12: .line 324
StackMap locals:
StackMap stack:
aload 0 /* a */
iload 3 /* i */
caload
aload 1 /* b */
iload 3 /* i */
caload
if_icmpeq 14
13: .line 325
iload 3 /* i */
ireturn
14: .line 323
StackMap locals:
StackMap stack:
iinc 3 /* i */ 1
StackMap locals:
StackMap stack:
15: iload 3 /* i */
iload 2 /* length */
if_icmplt 12
16: .line 327
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 333
iconst_0
istore 5 /* i */
start local 5 // int i
1: .line 334
iload 4 /* length */
iconst_3
if_icmple 17
2: .line 335
aload 0 /* a */
iload 1 /* aFromIndex */
caload
aload 2 /* b */
iload 3 /* bFromIndex */
caload
if_icmpeq 4
3: .line 336
iconst_0
ireturn
4: .line 337
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 338
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 340
aload 0 /* a */
iload 6 /* aOffset */
i2l
7: .line 341
aload 2 /* b */
iload 7 /* bOffset */
i2l
8: .line 342
iload 4 /* length */
getstatic jdk.internal.util.ArraysSupport.LOG2_ARRAY_CHAR_INDEX_SCALE:I
9: .line 339
invokestatic jdk.internal.util.ArraysSupport.vectorizedMismatch:(Ljava/lang/Object;JLjava/lang/Object;JII)I
istore 5 /* i */
10: .line 343
iload 5 /* i */
iflt 12
11: .line 344
iload 5 /* i */
ireturn
12: .line 345
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 347
goto 17
14: .line 348
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 349
iload 5 /* i */
ireturn
16: .line 347
StackMap locals:
StackMap stack:
iinc 5 /* i */ 1
StackMap locals:
StackMap stack:
17: iload 5 /* i */
iload 4 /* length */
if_icmplt 14
18: .line 351
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 360
iconst_0
istore 3 /* i */
start local 3 // int i
1: .line 361
iload 2 /* length */
iconst_3
if_icmple 15
2: .line 362
aload 0 /* a */
iconst_0
saload
aload 1 /* b */
iconst_0
saload
if_icmpeq 4
3: .line 363
iconst_0
ireturn
4: .line 365
StackMap locals: int
StackMap stack:
aload 0 /* a */
getstatic jdk.internal.misc.Unsafe.ARRAY_SHORT_BASE_OFFSET:I
i2l
5: .line 366
aload 1 /* b */
getstatic jdk.internal.misc.Unsafe.ARRAY_SHORT_BASE_OFFSET:I
i2l
6: .line 367
iload 2 /* length */
getstatic jdk.internal.util.ArraysSupport.LOG2_ARRAY_SHORT_INDEX_SCALE:I
7: .line 364
invokestatic jdk.internal.util.ArraysSupport.vectorizedMismatch:(Ljava/lang/Object;JLjava/lang/Object;JII)I
istore 3 /* i */
8: .line 368
iload 3 /* i */
iflt 10
9: .line 369
iload 3 /* i */
ireturn
10: .line 370
StackMap locals:
StackMap stack:
iload 2 /* length */
iload 3 /* i */
iconst_m1
ixor
isub
istore 3 /* i */
11: .line 372
goto 15
12: .line 373
StackMap locals:
StackMap stack:
aload 0 /* a */
iload 3 /* i */
saload
aload 1 /* b */
iload 3 /* i */
saload
if_icmpeq 14
13: .line 374
iload 3 /* i */
ireturn
14: .line 372
StackMap locals:
StackMap stack:
iinc 3 /* i */ 1
StackMap locals:
StackMap stack:
15: iload 3 /* i */
iload 2 /* length */
if_icmplt 12
16: .line 376
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 382
iconst_0
istore 5 /* i */
start local 5 // int i
1: .line 383
iload 4 /* length */
iconst_3
if_icmple 17
2: .line 384
aload 0 /* a */
iload 1 /* aFromIndex */
saload
aload 2 /* b */
iload 3 /* bFromIndex */
saload
if_icmpeq 4
3: .line 385
iconst_0
ireturn
4: .line 386
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 387
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 389
aload 0 /* a */
iload 6 /* aOffset */
i2l
7: .line 390
aload 2 /* b */
iload 7 /* bOffset */
i2l
8: .line 391
iload 4 /* length */
getstatic jdk.internal.util.ArraysSupport.LOG2_ARRAY_SHORT_INDEX_SCALE:I
9: .line 388
invokestatic jdk.internal.util.ArraysSupport.vectorizedMismatch:(Ljava/lang/Object;JLjava/lang/Object;JII)I
istore 5 /* i */
10: .line 392
iload 5 /* i */
iflt 12
11: .line 393
iload 5 /* i */
ireturn
12: .line 394
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 396
goto 17
14: .line 397
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 398
iload 5 /* i */
ireturn
16: .line 396
StackMap locals:
StackMap stack:
iinc 5 /* i */ 1
StackMap locals:
StackMap stack:
17: iload 5 /* i */
iload 4 /* length */
if_icmplt 14
18: .line 400
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 409
iconst_0
istore 3 /* i */
start local 3 // int i
1: .line 410
iload 2 /* length */
iconst_1
if_icmple 15
2: .line 411
aload 0 /* a */
iconst_0
iaload
aload 1 /* b */
iconst_0
iaload
if_icmpeq 4
3: .line 412
iconst_0
ireturn
4: .line 414
StackMap locals: int
StackMap stack:
aload 0 /* a */
getstatic jdk.internal.misc.Unsafe.ARRAY_INT_BASE_OFFSET:I
i2l
5: .line 415
aload 1 /* b */
getstatic jdk.internal.misc.Unsafe.ARRAY_INT_BASE_OFFSET:I
i2l
6: .line 416
iload 2 /* length */
getstatic jdk.internal.util.ArraysSupport.LOG2_ARRAY_INT_INDEX_SCALE:I
7: .line 413
invokestatic jdk.internal.util.ArraysSupport.vectorizedMismatch:(Ljava/lang/Object;JLjava/lang/Object;JII)I
istore 3 /* i */
8: .line 417
iload 3 /* i */
iflt 10
9: .line 418
iload 3 /* i */
ireturn
10: .line 419
StackMap locals:
StackMap stack:
iload 2 /* length */
iload 3 /* i */
iconst_m1
ixor
isub
istore 3 /* i */
11: .line 421
goto 15
12: .line 422
StackMap locals:
StackMap stack:
aload 0 /* a */
iload 3 /* i */
iaload
aload 1 /* b */
iload 3 /* i */
iaload
if_icmpeq 14
13: .line 423
iload 3 /* i */
ireturn
14: .line 421
StackMap locals:
StackMap stack:
iinc 3 /* i */ 1
StackMap locals:
StackMap stack:
15: iload 3 /* i */
iload 2 /* length */
if_icmplt 12
16: .line 425
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 431
iconst_0
istore 5 /* i */
start local 5 // int i
1: .line 432
iload 4 /* length */
iconst_1
if_icmple 17
2: .line 433
aload 0 /* a */
iload 1 /* aFromIndex */
iaload
aload 2 /* b */
iload 3 /* bFromIndex */
iaload
if_icmpeq 4
3: .line 434
iconst_0
ireturn
4: .line 435
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 436
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 438
aload 0 /* a */
iload 6 /* aOffset */
i2l
7: .line 439
aload 2 /* b */
iload 7 /* bOffset */
i2l
8: .line 440
iload 4 /* length */
getstatic jdk.internal.util.ArraysSupport.LOG2_ARRAY_INT_INDEX_SCALE:I
9: .line 437
invokestatic jdk.internal.util.ArraysSupport.vectorizedMismatch:(Ljava/lang/Object;JLjava/lang/Object;JII)I
istore 5 /* i */
10: .line 441
iload 5 /* i */
iflt 12
11: .line 442
iload 5 /* i */
ireturn
12: .line 443
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 445
goto 17
14: .line 446
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 447
iload 5 /* i */
ireturn
16: .line 445
StackMap locals:
StackMap stack:
iinc 5 /* i */ 1
StackMap locals:
StackMap stack:
17: iload 5 /* i */
iload 4 /* length */
if_icmplt 14
18: .line 449
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 458
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 464
iconst_0
istore 5 /* i */
start local 5 // int i
1: .line 465
iload 4 /* length */
iconst_1
if_icmple 19
2: .line 466
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 467
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 468
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 470
aload 0 /* a */
iload 6 /* aOffset */
i2l
6: .line 471
aload 2 /* b */
iload 7 /* bOffset */
i2l
7: .line 472
iload 4 /* length */
getstatic jdk.internal.util.ArraysSupport.LOG2_ARRAY_FLOAT_INDEX_SCALE:I
8: .line 469
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 475
StackMap locals: int
StackMap stack:
iload 5 /* i */
iflt 14
10: .line 477
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 478
StackMap locals:
StackMap stack:
iload 5 /* i */
ireturn
12: .line 484
StackMap locals:
StackMap stack:
iinc 5 /* i */ 1
13: .line 485
goto 19
14: .line 488
StackMap locals:
StackMap stack:
iload 4 /* length */
iload 5 /* i */
iconst_m1
ixor
isub
istore 5 /* i */
15: .line 491
goto 19
16: .line 492
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 493
iload 5 /* i */
ireturn
18: .line 491
StackMap locals:
StackMap stack:
iinc 5 /* i */ 1
StackMap locals:
StackMap stack:
19: iload 5 /* i */
iload 4 /* length */
if_icmplt 16
20: .line 495
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 505
iload 2 /* length */
ifne 2
1: .line 506
iconst_m1
ireturn
2: .line 508
StackMap locals:
StackMap stack:
aload 0 /* a */
iconst_0
laload
aload 1 /* b */
iconst_0
laload
lcmp
ifeq 4
3: .line 509
iconst_0
ireturn
4: .line 511
StackMap locals:
StackMap stack:
aload 0 /* a */
getstatic jdk.internal.misc.Unsafe.ARRAY_LONG_BASE_OFFSET:I
i2l
5: .line 512
aload 1 /* b */
getstatic jdk.internal.misc.Unsafe.ARRAY_LONG_BASE_OFFSET:I
i2l
6: .line 513
iload 2 /* length */
getstatic jdk.internal.util.ArraysSupport.LOG2_ARRAY_LONG_INDEX_SCALE:I
7: .line 510
invokestatic jdk.internal.util.ArraysSupport.vectorizedMismatch:(Ljava/lang/Object;JLjava/lang/Object;JII)I
istore 3 /* i */
start local 3 // int i
8: .line 514
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 520
iload 4 /* length */
ifne 2
1: .line 521
iconst_m1
ireturn
2: .line 523
StackMap locals:
StackMap stack:
aload 0 /* a */
iload 1 /* aFromIndex */
laload
aload 2 /* b */
iload 3 /* bFromIndex */
laload
lcmp
ifeq 4
3: .line 524
iconst_0
ireturn
4: .line 525
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 526
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 528
aload 0 /* a */
iload 5 /* aOffset */
i2l
7: .line 529
aload 2 /* b */
iload 6 /* bOffset */
i2l
8: .line 530
iload 4 /* length */
getstatic jdk.internal.util.ArraysSupport.LOG2_ARRAY_LONG_INDEX_SCALE:I
9: .line 527
invokestatic jdk.internal.util.ArraysSupport.vectorizedMismatch:(Ljava/lang/Object;JLjava/lang/Object;JII)I
istore 7 /* i */
start local 7 // int i
10: .line 531
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 540
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 546
iload 4 /* length */
ifne 2
1: .line 547
iconst_m1
ireturn
2: .line 549
StackMap locals:
StackMap stack:
iconst_0
istore 5 /* i */
start local 5 // int i
3: .line 550
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 551
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 552
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 554
aload 0 /* a */
iload 6 /* aOffset */
i2l
7: .line 555
aload 2 /* b */
iload 7 /* bOffset */
i2l
8: .line 556
iload 4 /* length */
getstatic jdk.internal.util.ArraysSupport.LOG2_ARRAY_DOUBLE_INDEX_SCALE:I
9: .line 553
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 558
StackMap locals: int
StackMap stack:
iload 5 /* i */
iflt 19
11: .line 560
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 561
StackMap locals:
StackMap stack:
iload 5 /* i */
ireturn
13: .line 567
StackMap locals:
StackMap stack:
iinc 5 /* i */ 1
14: .line 568
goto 18
15: .line 569
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 570
iload 5 /* i */
ireturn
17: .line 568
StackMap locals:
StackMap stack:
iinc 5 /* i */ 1
StackMap locals:
StackMap stack:
18: iload 5 /* i */
iload 4 /* length */
if_icmplt 15
19: .line 574
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 609
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 610
iload 3 /* newLength */
ldc 2147483639
isub
ifgt 3
2: .line 611
iload 3 /* newLength */
ireturn
3: .line 613
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 617
iload 0 /* oldLength */
iload 1 /* minGrowth */
iadd
istore 2 /* minLength */
start local 2 // int minLength
1: .line 618
iload 2 /* minLength */
ifge 3
2: .line 619
new java.lang.OutOfMemoryError
dup
ldc "Required array length too large"
invokespecial java.lang.OutOfMemoryError.<init>:(Ljava/lang/String;)V
athrow
3: .line 621
StackMap locals: int
StackMap stack:
iload 2 /* minLength */
ldc 2147483639
if_icmpgt 5
4: .line 622
ldc 2147483639
ireturn
5: .line 624
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"