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
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=1, locals=0, args_size=0
0: .line 54
invokestatic jdk.internal.misc.Unsafe.getUnsafe:()Ljdk/internal/misc/Unsafe;
putstatic jdk.internal.util.ArraysSupport.U:Ljdk/internal/misc/Unsafe;
1: .line 56
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 58
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 59
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 60
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 61
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 62
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 63
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 64
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 65
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 67
bipush 8
invokestatic jdk.internal.util.ArraysSupport.exactLog2:(I)I
putstatic jdk.internal.util.ArraysSupport.LOG2_BYTE_BIT_SIZE:I
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 70
iload 0 /* scale */
iload 0 /* scale */
iconst_1
isub
iand
ifeq 2
1: .line 71
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 72
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 75
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 120
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 121
iconst_0
istore 9 /* wi */
start local 9 // int wi
2: .line 122
goto 14
3: .line 123
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 124
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 125
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 126
lload 12 /* av */
lload 14 /* bv */
lcmp
ifeq 13
7: .line 127
lload 12 /* av */
lload 14 /* bv */
lxor
lstore 16 /* x */
start local 16 // long x
8: .line 128
getstatic jdk.internal.util.ArraysSupport.BIG_ENDIAN:Z
ifeq 10
9: .line 129
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 130
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 128
StackMap locals:
StackMap stack: int
istore 18 /* o */
start local 18 // int o
12: .line 131
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 122
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 136
iload 6 /* length */
iload 9 /* wi */
iload 8 /* log2ValuesPerWidth */
ishl
isub
istore 10 /* tail */
start local 10 // int tail
16: .line 138
iload 7 /* log2ArrayIndexScale */
getstatic jdk.internal.util.ArraysSupport.LOG2_ARRAY_INT_INDEX_SCALE:I
if_icmpge 31
17: .line 139
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 141
iload 10 /* tail */
iload 11 /* wordTail */
if_icmplt 30
19: .line 142
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 143
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 144
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 145
iload 14 /* av */
iload 15 /* bv */
if_icmpeq 29
23: .line 146
iload 14 /* av */
iload 15 /* bv */
ixor
istore 16 /* x */
start local 16 // int x
24: .line 147
getstatic jdk.internal.util.ArraysSupport.BIG_ENDIAN:Z
ifeq 26
25: .line 148
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 149
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 147
StackMap locals:
StackMap stack: int
istore 17 /* o */
start local 17 // int o
28: .line 150
iload 9 /* wi */
iload 8 /* log2ValuesPerWidth */
ishl
iload 17 /* o */
iadd
ireturn
end local 17 // int o
end local 16 // int x
29: .line 152
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 154
StackMap locals:
StackMap stack:
iload 10 /* tail */
iconst_m1
ixor
ireturn
end local 11 // int wordTail
31: .line 157
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 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 167
iconst_0
istore 3 /* i */
start local 3 // int i
1: .line 168
iload 2 /* length */
bipush 7
if_icmple 15
2: .line 169
aload 0 /* a */
iconst_0
baload
aload 1 /* b */
iconst_0
baload
if_icmpeq 4
3: .line 170
iconst_0
ireturn
4: .line 172
StackMap locals: int
StackMap stack:
aload 0 /* a */
getstatic jdk.internal.misc.Unsafe.ARRAY_BOOLEAN_BASE_OFFSET:I
i2l
5: .line 173
aload 1 /* b */
getstatic jdk.internal.misc.Unsafe.ARRAY_BOOLEAN_BASE_OFFSET:I
i2l
6: .line 174
iload 2 /* length */
getstatic jdk.internal.util.ArraysSupport.LOG2_ARRAY_BOOLEAN_INDEX_SCALE:I
7: .line 171
invokestatic jdk.internal.util.ArraysSupport.vectorizedMismatch:(Ljava/lang/Object;JLjava/lang/Object;JII)I
istore 3 /* i */
8: .line 175
iload 3 /* i */
iflt 10
9: .line 176
iload 3 /* i */
ireturn
10: .line 177
StackMap locals:
StackMap stack:
iload 2 /* length */
iload 3 /* i */
iconst_m1
ixor
isub
istore 3 /* i */
11: .line 179
goto 15
12: .line 180
StackMap locals:
StackMap stack:
aload 0 /* a */
iload 3 /* i */
baload
aload 1 /* b */
iload 3 /* i */
baload
if_icmpeq 14
13: .line 181
iload 3 /* i */
ireturn
14: .line 179
StackMap locals:
StackMap stack:
iinc 3 /* i */ 1
StackMap locals:
StackMap stack:
15: iload 3 /* i */
iload 2 /* length */
if_icmplt 12
16: .line 183
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 189
iconst_0
istore 5 /* i */
start local 5 // int i
1: .line 190
iload 4 /* length */
bipush 7
if_icmple 17
2: .line 191
aload 0 /* a */
iload 1 /* aFromIndex */
baload
aload 2 /* b */
iload 3 /* bFromIndex */
baload
if_icmpeq 4
3: .line 192
iconst_0
ireturn
4: .line 193
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 194
getstatic jdk.internal.misc.Unsafe.ARRAY_BOOLEAN_BASE_OFFSET:I
iload 3 /* bFromIndex */
iadd
istore 7 /* bOffset */
start local 7 // int bOffset
6: .line 196
aload 0 /* a */
iload 6 /* aOffset */
i2l
7: .line 197
aload 2 /* b */
iload 7 /* bOffset */
i2l
8: .line 198
iload 4 /* length */
getstatic jdk.internal.util.ArraysSupport.LOG2_ARRAY_BOOLEAN_INDEX_SCALE:I
9: .line 195
invokestatic jdk.internal.util.ArraysSupport.vectorizedMismatch:(Ljava/lang/Object;JLjava/lang/Object;JII)I
istore 5 /* i */
10: .line 199
iload 5 /* i */
iflt 12
11: .line 200
iload 5 /* i */
ireturn
12: .line 201
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 203
goto 17
14: .line 204
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 205
iload 5 /* i */
ireturn
16: .line 203
StackMap locals:
StackMap stack:
iinc 5 /* i */ 1
StackMap locals:
StackMap stack:
17: iload 5 /* i */
iload 4 /* length */
if_icmplt 14
18: .line 207
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 233
iconst_0
istore 3 /* i */
start local 3 // int i
1: .line 234
iload 2 /* length */
bipush 7
if_icmple 15
2: .line 235
aload 0 /* a */
iconst_0
baload
aload 1 /* b */
iconst_0
baload
if_icmpeq 4
3: .line 236
iconst_0
ireturn
4: .line 238
StackMap locals: int
StackMap stack:
aload 0 /* a */
getstatic jdk.internal.misc.Unsafe.ARRAY_BYTE_BASE_OFFSET:I
i2l
5: .line 239
aload 1 /* b */
getstatic jdk.internal.misc.Unsafe.ARRAY_BYTE_BASE_OFFSET:I
i2l
6: .line 240
iload 2 /* length */
getstatic jdk.internal.util.ArraysSupport.LOG2_ARRAY_BYTE_INDEX_SCALE:I
7: .line 237
invokestatic jdk.internal.util.ArraysSupport.vectorizedMismatch:(Ljava/lang/Object;JLjava/lang/Object;JII)I
istore 3 /* i */
8: .line 241
iload 3 /* i */
iflt 10
9: .line 242
iload 3 /* i */
ireturn
10: .line 244
StackMap locals:
StackMap stack:
iload 2 /* length */
iload 3 /* i */
iconst_m1
ixor
isub
istore 3 /* i */
11: .line 248
goto 15
12: .line 249
StackMap locals:
StackMap stack:
aload 0 /* a */
iload 3 /* i */
baload
aload 1 /* b */
iload 3 /* i */
baload
if_icmpeq 14
13: .line 250
iload 3 /* i */
ireturn
14: .line 248
StackMap locals:
StackMap stack:
iinc 3 /* i */ 1
StackMap locals:
StackMap stack:
15: iload 3 /* i */
iload 2 /* length */
if_icmplt 12
16: .line 252
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 282
iconst_0
istore 5 /* i */
start local 5 // int i
1: .line 283
iload 4 /* length */
bipush 7
if_icmple 17
2: .line 284
aload 0 /* a */
iload 1 /* aFromIndex */
baload
aload 2 /* b */
iload 3 /* bFromIndex */
baload
if_icmpeq 4
3: .line 285
iconst_0
ireturn
4: .line 286
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 287
getstatic jdk.internal.misc.Unsafe.ARRAY_BYTE_BASE_OFFSET:I
iload 3 /* bFromIndex */
iadd
istore 7 /* bOffset */
start local 7 // int bOffset
6: .line 289
aload 0 /* a */
iload 6 /* aOffset */
i2l
7: .line 290
aload 2 /* b */
iload 7 /* bOffset */
i2l
8: .line 291
iload 4 /* length */
getstatic jdk.internal.util.ArraysSupport.LOG2_ARRAY_BYTE_INDEX_SCALE:I
9: .line 288
invokestatic jdk.internal.util.ArraysSupport.vectorizedMismatch:(Ljava/lang/Object;JLjava/lang/Object;JII)I
istore 5 /* i */
10: .line 292
iload 5 /* i */
iflt 12
11: .line 293
iload 5 /* i */
ireturn
12: .line 294
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 296
goto 17
14: .line 297
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 298
iload 5 /* i */
ireturn
16: .line 296
StackMap locals:
StackMap stack:
iinc 5 /* i */ 1
StackMap locals:
StackMap stack:
17: iload 5 /* i */
iload 4 /* length */
if_icmplt 14
18: .line 300
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 309
iconst_0
istore 3 /* i */
start local 3 // int i
1: .line 310
iload 2 /* length */
iconst_3
if_icmple 15
2: .line 311
aload 0 /* a */
iconst_0
caload
aload 1 /* b */
iconst_0
caload
if_icmpeq 4
3: .line 312
iconst_0
ireturn
4: .line 314
StackMap locals: int
StackMap stack:
aload 0 /* a */
getstatic jdk.internal.misc.Unsafe.ARRAY_CHAR_BASE_OFFSET:I
i2l
5: .line 315
aload 1 /* b */
getstatic jdk.internal.misc.Unsafe.ARRAY_CHAR_BASE_OFFSET:I
i2l
6: .line 316
iload 2 /* length */
getstatic jdk.internal.util.ArraysSupport.LOG2_ARRAY_CHAR_INDEX_SCALE:I
7: .line 313
invokestatic jdk.internal.util.ArraysSupport.vectorizedMismatch:(Ljava/lang/Object;JLjava/lang/Object;JII)I
istore 3 /* i */
8: .line 317
iload 3 /* i */
iflt 10
9: .line 318
iload 3 /* i */
ireturn
10: .line 319
StackMap locals:
StackMap stack:
iload 2 /* length */
iload 3 /* i */
iconst_m1
ixor
isub
istore 3 /* i */
11: .line 321
goto 15
12: .line 322
StackMap locals:
StackMap stack:
aload 0 /* a */
iload 3 /* i */
caload
aload 1 /* b */
iload 3 /* i */
caload
if_icmpeq 14
13: .line 323
iload 3 /* i */
ireturn
14: .line 321
StackMap locals:
StackMap stack:
iinc 3 /* i */ 1
StackMap locals:
StackMap stack:
15: iload 3 /* i */
iload 2 /* length */
if_icmplt 12
16: .line 325
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 331
iconst_0
istore 5 /* i */
start local 5 // int i
1: .line 332
iload 4 /* length */
iconst_3
if_icmple 17
2: .line 333
aload 0 /* a */
iload 1 /* aFromIndex */
caload
aload 2 /* b */
iload 3 /* bFromIndex */
caload
if_icmpeq 4
3: .line 334
iconst_0
ireturn
4: .line 335
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 336
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 338
aload 0 /* a */
iload 6 /* aOffset */
i2l
7: .line 339
aload 2 /* b */
iload 7 /* bOffset */
i2l
8: .line 340
iload 4 /* length */
getstatic jdk.internal.util.ArraysSupport.LOG2_ARRAY_CHAR_INDEX_SCALE:I
9: .line 337
invokestatic jdk.internal.util.ArraysSupport.vectorizedMismatch:(Ljava/lang/Object;JLjava/lang/Object;JII)I
istore 5 /* i */
10: .line 341
iload 5 /* i */
iflt 12
11: .line 342
iload 5 /* i */
ireturn
12: .line 343
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 345
goto 17
14: .line 346
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 347
iload 5 /* i */
ireturn
16: .line 345
StackMap locals:
StackMap stack:
iinc 5 /* i */ 1
StackMap locals:
StackMap stack:
17: iload 5 /* i */
iload 4 /* length */
if_icmplt 14
18: .line 349
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 358
iconst_0
istore 3 /* i */
start local 3 // int i
1: .line 359
iload 2 /* length */
iconst_3
if_icmple 15
2: .line 360
aload 0 /* a */
iconst_0
saload
aload 1 /* b */
iconst_0
saload
if_icmpeq 4
3: .line 361
iconst_0
ireturn
4: .line 363
StackMap locals: int
StackMap stack:
aload 0 /* a */
getstatic jdk.internal.misc.Unsafe.ARRAY_SHORT_BASE_OFFSET:I
i2l
5: .line 364
aload 1 /* b */
getstatic jdk.internal.misc.Unsafe.ARRAY_SHORT_BASE_OFFSET:I
i2l
6: .line 365
iload 2 /* length */
getstatic jdk.internal.util.ArraysSupport.LOG2_ARRAY_SHORT_INDEX_SCALE:I
7: .line 362
invokestatic jdk.internal.util.ArraysSupport.vectorizedMismatch:(Ljava/lang/Object;JLjava/lang/Object;JII)I
istore 3 /* i */
8: .line 366
iload 3 /* i */
iflt 10
9: .line 367
iload 3 /* i */
ireturn
10: .line 368
StackMap locals:
StackMap stack:
iload 2 /* length */
iload 3 /* i */
iconst_m1
ixor
isub
istore 3 /* i */
11: .line 370
goto 15
12: .line 371
StackMap locals:
StackMap stack:
aload 0 /* a */
iload 3 /* i */
saload
aload 1 /* b */
iload 3 /* i */
saload
if_icmpeq 14
13: .line 372
iload 3 /* i */
ireturn
14: .line 370
StackMap locals:
StackMap stack:
iinc 3 /* i */ 1
StackMap locals:
StackMap stack:
15: iload 3 /* i */
iload 2 /* length */
if_icmplt 12
16: .line 374
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 380
iconst_0
istore 5 /* i */
start local 5 // int i
1: .line 381
iload 4 /* length */
iconst_3
if_icmple 17
2: .line 382
aload 0 /* a */
iload 1 /* aFromIndex */
saload
aload 2 /* b */
iload 3 /* bFromIndex */
saload
if_icmpeq 4
3: .line 383
iconst_0
ireturn
4: .line 384
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 385
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 387
aload 0 /* a */
iload 6 /* aOffset */
i2l
7: .line 388
aload 2 /* b */
iload 7 /* bOffset */
i2l
8: .line 389
iload 4 /* length */
getstatic jdk.internal.util.ArraysSupport.LOG2_ARRAY_SHORT_INDEX_SCALE:I
9: .line 386
invokestatic jdk.internal.util.ArraysSupport.vectorizedMismatch:(Ljava/lang/Object;JLjava/lang/Object;JII)I
istore 5 /* i */
10: .line 390
iload 5 /* i */
iflt 12
11: .line 391
iload 5 /* i */
ireturn
12: .line 392
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 394
goto 17
14: .line 395
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 396
iload 5 /* i */
ireturn
16: .line 394
StackMap locals:
StackMap stack:
iinc 5 /* i */ 1
StackMap locals:
StackMap stack:
17: iload 5 /* i */
iload 4 /* length */
if_icmplt 14
18: .line 398
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 407
iconst_0
istore 3 /* i */
start local 3 // int i
1: .line 408
iload 2 /* length */
iconst_1
if_icmple 15
2: .line 409
aload 0 /* a */
iconst_0
iaload
aload 1 /* b */
iconst_0
iaload
if_icmpeq 4
3: .line 410
iconst_0
ireturn
4: .line 412
StackMap locals: int
StackMap stack:
aload 0 /* a */
getstatic jdk.internal.misc.Unsafe.ARRAY_INT_BASE_OFFSET:I
i2l
5: .line 413
aload 1 /* b */
getstatic jdk.internal.misc.Unsafe.ARRAY_INT_BASE_OFFSET:I
i2l
6: .line 414
iload 2 /* length */
getstatic jdk.internal.util.ArraysSupport.LOG2_ARRAY_INT_INDEX_SCALE:I
7: .line 411
invokestatic jdk.internal.util.ArraysSupport.vectorizedMismatch:(Ljava/lang/Object;JLjava/lang/Object;JII)I
istore 3 /* i */
8: .line 415
iload 3 /* i */
iflt 10
9: .line 416
iload 3 /* i */
ireturn
10: .line 417
StackMap locals:
StackMap stack:
iload 2 /* length */
iload 3 /* i */
iconst_m1
ixor
isub
istore 3 /* i */
11: .line 419
goto 15
12: .line 420
StackMap locals:
StackMap stack:
aload 0 /* a */
iload 3 /* i */
iaload
aload 1 /* b */
iload 3 /* i */
iaload
if_icmpeq 14
13: .line 421
iload 3 /* i */
ireturn
14: .line 419
StackMap locals:
StackMap stack:
iinc 3 /* i */ 1
StackMap locals:
StackMap stack:
15: iload 3 /* i */
iload 2 /* length */
if_icmplt 12
16: .line 423
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 429
iconst_0
istore 5 /* i */
start local 5 // int i
1: .line 430
iload 4 /* length */
iconst_1
if_icmple 17
2: .line 431
aload 0 /* a */
iload 1 /* aFromIndex */
iaload
aload 2 /* b */
iload 3 /* bFromIndex */
iaload
if_icmpeq 4
3: .line 432
iconst_0
ireturn
4: .line 433
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 434
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 436
aload 0 /* a */
iload 6 /* aOffset */
i2l
7: .line 437
aload 2 /* b */
iload 7 /* bOffset */
i2l
8: .line 438
iload 4 /* length */
getstatic jdk.internal.util.ArraysSupport.LOG2_ARRAY_INT_INDEX_SCALE:I
9: .line 435
invokestatic jdk.internal.util.ArraysSupport.vectorizedMismatch:(Ljava/lang/Object;JLjava/lang/Object;JII)I
istore 5 /* i */
10: .line 439
iload 5 /* i */
iflt 12
11: .line 440
iload 5 /* i */
ireturn
12: .line 441
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 443
goto 17
14: .line 444
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 445
iload 5 /* i */
ireturn
16: .line 443
StackMap locals:
StackMap stack:
iinc 5 /* i */ 1
StackMap locals:
StackMap stack:
17: iload 5 /* i */
iload 4 /* length */
if_icmplt 14
18: .line 447
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 456
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 462
iconst_0
istore 5 /* i */
start local 5 // int i
1: .line 463
iload 4 /* length */
iconst_1
if_icmple 19
2: .line 464
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 465
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 466
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 468
aload 0 /* a */
iload 6 /* aOffset */
i2l
6: .line 469
aload 2 /* b */
iload 7 /* bOffset */
i2l
7: .line 470
iload 4 /* length */
getstatic jdk.internal.util.ArraysSupport.LOG2_ARRAY_FLOAT_INDEX_SCALE:I
8: .line 467
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 473
StackMap locals: int
StackMap stack:
iload 5 /* i */
iflt 14
10: .line 475
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 476
StackMap locals:
StackMap stack:
iload 5 /* i */
ireturn
12: .line 482
StackMap locals:
StackMap stack:
iinc 5 /* i */ 1
13: .line 483
goto 19
14: .line 486
StackMap locals:
StackMap stack:
iload 4 /* length */
iload 5 /* i */
iconst_m1
ixor
isub
istore 5 /* i */
15: .line 489
goto 19
16: .line 490
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 491
iload 5 /* i */
ireturn
18: .line 489
StackMap locals:
StackMap stack:
iinc 5 /* i */ 1
StackMap locals:
StackMap stack:
19: iload 5 /* i */
iload 4 /* length */
if_icmplt 16
20: .line 493
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 503
iload 2 /* length */
ifne 2
1: .line 504
iconst_m1
ireturn
2: .line 506
StackMap locals:
StackMap stack:
aload 0 /* a */
iconst_0
laload
aload 1 /* b */
iconst_0
laload
lcmp
ifeq 4
3: .line 507
iconst_0
ireturn
4: .line 509
StackMap locals:
StackMap stack:
aload 0 /* a */
getstatic jdk.internal.misc.Unsafe.ARRAY_LONG_BASE_OFFSET:I
i2l
5: .line 510
aload 1 /* b */
getstatic jdk.internal.misc.Unsafe.ARRAY_LONG_BASE_OFFSET:I
i2l
6: .line 511
iload 2 /* length */
getstatic jdk.internal.util.ArraysSupport.LOG2_ARRAY_LONG_INDEX_SCALE:I
7: .line 508
invokestatic jdk.internal.util.ArraysSupport.vectorizedMismatch:(Ljava/lang/Object;JLjava/lang/Object;JII)I
istore 3 /* i */
start local 3 // int i
8: .line 512
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 518
iload 4 /* length */
ifne 2
1: .line 519
iconst_m1
ireturn
2: .line 521
StackMap locals:
StackMap stack:
aload 0 /* a */
iload 1 /* aFromIndex */
laload
aload 2 /* b */
iload 3 /* bFromIndex */
laload
lcmp
ifeq 4
3: .line 522
iconst_0
ireturn
4: .line 523
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 524
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 526
aload 0 /* a */
iload 5 /* aOffset */
i2l
7: .line 527
aload 2 /* b */
iload 6 /* bOffset */
i2l
8: .line 528
iload 4 /* length */
getstatic jdk.internal.util.ArraysSupport.LOG2_ARRAY_LONG_INDEX_SCALE:I
9: .line 525
invokestatic jdk.internal.util.ArraysSupport.vectorizedMismatch:(Ljava/lang/Object;JLjava/lang/Object;JII)I
istore 7 /* i */
start local 7 // int i
10: .line 529
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 538
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 544
iload 4 /* length */
ifne 2
1: .line 545
iconst_m1
ireturn
2: .line 547
StackMap locals:
StackMap stack:
iconst_0
istore 5 /* i */
start local 5 // int i
3: .line 548
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 549
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 550
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 552
aload 0 /* a */
iload 6 /* aOffset */
i2l
7: .line 553
aload 2 /* b */
iload 7 /* bOffset */
i2l
8: .line 554
iload 4 /* length */
getstatic jdk.internal.util.ArraysSupport.LOG2_ARRAY_DOUBLE_INDEX_SCALE:I
9: .line 551
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 556
StackMap locals: int
StackMap stack:
iload 5 /* i */
iflt 19
11: .line 558
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 559
StackMap locals:
StackMap stack:
iload 5 /* i */
ireturn
13: .line 565
StackMap locals:
StackMap stack:
iinc 5 /* i */ 1
14: .line 566
goto 18
15: .line 567
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 568
iload 5 /* i */
ireturn
17: .line 566
StackMap locals:
StackMap stack:
iinc 5 /* i */ 1
StackMap locals:
StackMap stack:
18: iload 5 /* i */
iload 4 /* length */
if_icmplt 15
19: .line 572
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
}
SourceFile: "ArraysSupport.java"