class java.util.ArraysSupport
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: java.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
private static final int LOG2_ARRAY_BOOLEAN_INDEX_SCALE;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final int LOG2_ARRAY_BYTE_INDEX_SCALE;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final int LOG2_ARRAY_CHAR_INDEX_SCALE;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final int LOG2_ARRAY_SHORT_INDEX_SCALE;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final int LOG2_ARRAY_INT_INDEX_SCALE;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final int LOG2_ARRAY_LONG_INDEX_SCALE;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final int LOG2_ARRAY_FLOAT_INDEX_SCALE;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final int LOG2_ARRAY_DOUBLE_INDEX_SCALE;
descriptor: I
flags: (0x001a) ACC_PRIVATE, 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 java.util.ArraysSupport.U:Ljdk/internal/misc/Unsafe;
1: .line 56
getstatic java.util.ArraysSupport.U:Ljdk/internal/misc/Unsafe;
invokevirtual jdk.internal.misc.Unsafe.isBigEndian:()Z
putstatic java.util.ArraysSupport.BIG_ENDIAN:Z
2: .line 58
getstatic jdk.internal.misc.Unsafe.ARRAY_BOOLEAN_INDEX_SCALE:I
invokestatic java.util.ArraysSupport.exactLog2:(I)I
putstatic java.util.ArraysSupport.LOG2_ARRAY_BOOLEAN_INDEX_SCALE:I
3: .line 59
getstatic jdk.internal.misc.Unsafe.ARRAY_BYTE_INDEX_SCALE:I
invokestatic java.util.ArraysSupport.exactLog2:(I)I
putstatic java.util.ArraysSupport.LOG2_ARRAY_BYTE_INDEX_SCALE:I
4: .line 60
getstatic jdk.internal.misc.Unsafe.ARRAY_CHAR_INDEX_SCALE:I
invokestatic java.util.ArraysSupport.exactLog2:(I)I
putstatic java.util.ArraysSupport.LOG2_ARRAY_CHAR_INDEX_SCALE:I
5: .line 61
getstatic jdk.internal.misc.Unsafe.ARRAY_SHORT_INDEX_SCALE:I
invokestatic java.util.ArraysSupport.exactLog2:(I)I
putstatic java.util.ArraysSupport.LOG2_ARRAY_SHORT_INDEX_SCALE:I
6: .line 62
getstatic jdk.internal.misc.Unsafe.ARRAY_INT_INDEX_SCALE:I
invokestatic java.util.ArraysSupport.exactLog2:(I)I
putstatic java.util.ArraysSupport.LOG2_ARRAY_INT_INDEX_SCALE:I
7: .line 63
getstatic jdk.internal.misc.Unsafe.ARRAY_LONG_INDEX_SCALE:I
invokestatic java.util.ArraysSupport.exactLog2:(I)I
putstatic java.util.ArraysSupport.LOG2_ARRAY_LONG_INDEX_SCALE:I
8: .line 64
getstatic jdk.internal.misc.Unsafe.ARRAY_FLOAT_INDEX_SCALE:I
invokestatic java.util.ArraysSupport.exactLog2:(I)I
putstatic java.util.ArraysSupport.LOG2_ARRAY_FLOAT_INDEX_SCALE:I
9: .line 65
getstatic jdk.internal.misc.Unsafe.ARRAY_DOUBLE_INDEX_SCALE:I
invokestatic java.util.ArraysSupport.exactLog2:(I)I
putstatic java.util.ArraysSupport.LOG2_ARRAY_DOUBLE_INDEX_SCALE:I
10: .line 67
bipush 8
invokestatic java.util.ArraysSupport.exactLog2:(I)I
putstatic java.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 // java.util.ArraysSupport this
0: .line 75
aload 0 /* this */
invokespecial java.lang.Object.<init>:()V
return
end local 0 // java.util.ArraysSupport this
LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljava/util/ArraysSupport;
static int vectorizedMismatch(java.lang.Object, long, java.lang.Object, long, int, int);
descriptor: (Ljava/lang/Object;JLjava/lang/Object;JII)I
flags: (0x0008) 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 java.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 java.util.ArraysSupport.LOG2_ARRAY_LONG_INDEX_SCALE:I
lshl
lstore 10 /* bi */
start local 10 // long bi
4: .line 124
getstatic java.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 java.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 java.util.ArraysSupport.BIG_ENDIAN:Z
ifeq 10
9: .line 129
lload 16 /* x */
invokestatic java.lang.Long.numberOfLeadingZeros:(J)I
getstatic java.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 java.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 java.util.ArraysSupport.LOG2_ARRAY_INT_INDEX_SCALE:I
if_icmpge 31
17: .line 139
iconst_1
getstatic java.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 java.util.ArraysSupport.LOG2_ARRAY_LONG_INDEX_SCALE:I
lshl
lstore 12 /* bi */
start local 12 // long bi
20: .line 143
getstatic java.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 java.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 java.util.ArraysSupport.BIG_ENDIAN:Z
ifeq 26
25: .line 148
iload 16 /* x */
invokestatic java.lang.Integer.numberOfLeadingZeros:(I)I
getstatic java.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 java.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
static int mismatch(boolean[], boolean[], int);
descriptor: ([Z[ZI)I
flags: (0x0008) 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 13
2: .line 170
aload 0 /* a */
getstatic jdk.internal.misc.Unsafe.ARRAY_BOOLEAN_BASE_OFFSET:I
i2l
3: .line 171
aload 1 /* b */
getstatic jdk.internal.misc.Unsafe.ARRAY_BOOLEAN_BASE_OFFSET:I
i2l
4: .line 172
iload 2 /* length */
getstatic java.util.ArraysSupport.LOG2_ARRAY_BOOLEAN_INDEX_SCALE:I
5: .line 169
invokestatic java.util.ArraysSupport.vectorizedMismatch:(Ljava/lang/Object;JLjava/lang/Object;JII)I
istore 3 /* i */
6: .line 173
iload 3 /* i */
iflt 8
7: .line 174
iload 3 /* i */
ireturn
8: .line 175
StackMap locals: int
StackMap stack:
iload 2 /* length */
iload 3 /* i */
iconst_m1
ixor
isub
istore 3 /* i */
9: .line 177
goto 13
10: .line 178
StackMap locals:
StackMap stack:
aload 0 /* a */
iload 3 /* i */
baload
aload 1 /* b */
iload 3 /* i */
baload
if_icmpeq 12
11: .line 179
iload 3 /* i */
ireturn
12: .line 177
StackMap locals:
StackMap stack:
iinc 3 /* i */ 1
StackMap locals:
StackMap stack:
13: iload 3 /* i */
iload 2 /* length */
if_icmplt 10
14: .line 181
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 15 0 a [Z
0 15 1 b [Z
0 15 2 length I
1 15 3 i I
MethodParameters:
Name Flags
a
b
length
static int mismatch(boolean[], int, boolean[], int, int);
descriptor: ([ZI[ZII)I
flags: (0x0008) 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 187
iconst_0
istore 5 /* i */
start local 5 // int i
1: .line 188
iload 4 /* length */
bipush 7
if_icmple 15
2: .line 189
getstatic jdk.internal.misc.Unsafe.ARRAY_BOOLEAN_BASE_OFFSET:I
iload 1 /* aFromIndex */
iadd
istore 6 /* aOffset */
start local 6 // int aOffset
3: .line 190
getstatic jdk.internal.misc.Unsafe.ARRAY_BOOLEAN_BASE_OFFSET:I
iload 3 /* bFromIndex */
iadd
istore 7 /* bOffset */
start local 7 // int bOffset
4: .line 192
aload 0 /* a */
iload 6 /* aOffset */
i2l
5: .line 193
aload 2 /* b */
iload 7 /* bOffset */
i2l
6: .line 194
iload 4 /* length */
getstatic java.util.ArraysSupport.LOG2_ARRAY_BOOLEAN_INDEX_SCALE:I
7: .line 191
invokestatic java.util.ArraysSupport.vectorizedMismatch:(Ljava/lang/Object;JLjava/lang/Object;JII)I
istore 5 /* i */
8: .line 195
iload 5 /* i */
iflt 10
9: .line 196
iload 5 /* i */
ireturn
10: .line 197
StackMap locals: int 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
11: .line 199
goto 15
12: .line 200
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 14
13: .line 201
iload 5 /* i */
ireturn
14: .line 199
StackMap locals:
StackMap stack:
iinc 5 /* i */ 1
StackMap locals:
StackMap stack:
15: iload 5 /* i */
iload 4 /* length */
if_icmplt 12
16: .line 203
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 17 0 a [Z
0 17 1 aFromIndex I
0 17 2 b [Z
0 17 3 bFromIndex I
0 17 4 length I
1 17 5 i I
3 11 6 aOffset I
4 11 7 bOffset I
MethodParameters:
Name Flags
a
aFromIndex
b
bFromIndex
length
static int mismatch(byte[], byte[], int);
descriptor: ([B[BI)I
flags: (0x0008) 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 229
iconst_0
istore 3 /* i */
start local 3 // int i
1: .line 230
iload 2 /* length */
bipush 7
if_icmple 13
2: .line 232
aload 0 /* a */
getstatic jdk.internal.misc.Unsafe.ARRAY_BYTE_BASE_OFFSET:I
i2l
3: .line 233
aload 1 /* b */
getstatic jdk.internal.misc.Unsafe.ARRAY_BYTE_BASE_OFFSET:I
i2l
4: .line 234
iload 2 /* length */
getstatic java.util.ArraysSupport.LOG2_ARRAY_BYTE_INDEX_SCALE:I
5: .line 231
invokestatic java.util.ArraysSupport.vectorizedMismatch:(Ljava/lang/Object;JLjava/lang/Object;JII)I
istore 3 /* i */
6: .line 235
iload 3 /* i */
iflt 8
7: .line 236
iload 3 /* i */
ireturn
8: .line 238
StackMap locals: int
StackMap stack:
iload 2 /* length */
iload 3 /* i */
iconst_m1
ixor
isub
istore 3 /* i */
9: .line 242
goto 13
10: .line 243
StackMap locals:
StackMap stack:
aload 0 /* a */
iload 3 /* i */
baload
aload 1 /* b */
iload 3 /* i */
baload
if_icmpeq 12
11: .line 244
iload 3 /* i */
ireturn
12: .line 242
StackMap locals:
StackMap stack:
iinc 3 /* i */ 1
StackMap locals:
StackMap stack:
13: iload 3 /* i */
iload 2 /* length */
if_icmplt 10
14: .line 246
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 15 0 a [B
0 15 1 b [B
0 15 2 length I
1 15 3 i I
MethodParameters:
Name Flags
a
b
length
static int mismatch(byte[], int, byte[], int, int);
descriptor: ([BI[BII)I
flags: (0x0008) 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 276
iconst_0
istore 5 /* i */
start local 5 // int i
1: .line 277
iload 4 /* length */
bipush 7
if_icmple 15
2: .line 278
getstatic jdk.internal.misc.Unsafe.ARRAY_BYTE_BASE_OFFSET:I
iload 1 /* aFromIndex */
iadd
istore 6 /* aOffset */
start local 6 // int aOffset
3: .line 279
getstatic jdk.internal.misc.Unsafe.ARRAY_BYTE_BASE_OFFSET:I
iload 3 /* bFromIndex */
iadd
istore 7 /* bOffset */
start local 7 // int bOffset
4: .line 281
aload 0 /* a */
iload 6 /* aOffset */
i2l
5: .line 282
aload 2 /* b */
iload 7 /* bOffset */
i2l
6: .line 283
iload 4 /* length */
getstatic java.util.ArraysSupport.LOG2_ARRAY_BYTE_INDEX_SCALE:I
7: .line 280
invokestatic java.util.ArraysSupport.vectorizedMismatch:(Ljava/lang/Object;JLjava/lang/Object;JII)I
istore 5 /* i */
8: .line 284
iload 5 /* i */
iflt 10
9: .line 285
iload 5 /* i */
ireturn
10: .line 286
StackMap locals: int 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
11: .line 288
goto 15
12: .line 289
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 14
13: .line 290
iload 5 /* i */
ireturn
14: .line 288
StackMap locals:
StackMap stack:
iinc 5 /* i */ 1
StackMap locals:
StackMap stack:
15: iload 5 /* i */
iload 4 /* length */
if_icmplt 12
16: .line 292
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 17 0 a [B
0 17 1 aFromIndex I
0 17 2 b [B
0 17 3 bFromIndex I
0 17 4 length I
1 17 5 i I
3 11 6 aOffset I
4 11 7 bOffset I
MethodParameters:
Name Flags
a
aFromIndex
b
bFromIndex
length
static int mismatch(char[], char[], int);
descriptor: ([C[CI)I
flags: (0x0008) 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 301
iconst_0
istore 3 /* i */
start local 3 // int i
1: .line 302
iload 2 /* length */
iconst_3
if_icmple 13
2: .line 304
aload 0 /* a */
getstatic jdk.internal.misc.Unsafe.ARRAY_CHAR_BASE_OFFSET:I
i2l
3: .line 305
aload 1 /* b */
getstatic jdk.internal.misc.Unsafe.ARRAY_CHAR_BASE_OFFSET:I
i2l
4: .line 306
iload 2 /* length */
getstatic java.util.ArraysSupport.LOG2_ARRAY_CHAR_INDEX_SCALE:I
5: .line 303
invokestatic java.util.ArraysSupport.vectorizedMismatch:(Ljava/lang/Object;JLjava/lang/Object;JII)I
istore 3 /* i */
6: .line 307
iload 3 /* i */
iflt 8
7: .line 308
iload 3 /* i */
ireturn
8: .line 309
StackMap locals: int
StackMap stack:
iload 2 /* length */
iload 3 /* i */
iconst_m1
ixor
isub
istore 3 /* i */
9: .line 311
goto 13
10: .line 312
StackMap locals:
StackMap stack:
aload 0 /* a */
iload 3 /* i */
caload
aload 1 /* b */
iload 3 /* i */
caload
if_icmpeq 12
11: .line 313
iload 3 /* i */
ireturn
12: .line 311
StackMap locals:
StackMap stack:
iinc 3 /* i */ 1
StackMap locals:
StackMap stack:
13: iload 3 /* i */
iload 2 /* length */
if_icmplt 10
14: .line 315
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 15 0 a [C
0 15 1 b [C
0 15 2 length I
1 15 3 i I
MethodParameters:
Name Flags
a
b
length
static int mismatch(char[], int, char[], int, int);
descriptor: ([CI[CII)I
flags: (0x0008) 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 321
iconst_0
istore 5 /* i */
start local 5 // int i
1: .line 322
iload 4 /* length */
iconst_3
if_icmple 15
2: .line 323
getstatic jdk.internal.misc.Unsafe.ARRAY_CHAR_BASE_OFFSET:I
iload 1 /* aFromIndex */
getstatic java.util.ArraysSupport.LOG2_ARRAY_CHAR_INDEX_SCALE:I
ishl
iadd
istore 6 /* aOffset */
start local 6 // int aOffset
3: .line 324
getstatic jdk.internal.misc.Unsafe.ARRAY_CHAR_BASE_OFFSET:I
iload 3 /* bFromIndex */
getstatic java.util.ArraysSupport.LOG2_ARRAY_CHAR_INDEX_SCALE:I
ishl
iadd
istore 7 /* bOffset */
start local 7 // int bOffset
4: .line 326
aload 0 /* a */
iload 6 /* aOffset */
i2l
5: .line 327
aload 2 /* b */
iload 7 /* bOffset */
i2l
6: .line 328
iload 4 /* length */
getstatic java.util.ArraysSupport.LOG2_ARRAY_CHAR_INDEX_SCALE:I
7: .line 325
invokestatic java.util.ArraysSupport.vectorizedMismatch:(Ljava/lang/Object;JLjava/lang/Object;JII)I
istore 5 /* i */
8: .line 329
iload 5 /* i */
iflt 10
9: .line 330
iload 5 /* i */
ireturn
10: .line 331
StackMap locals: int 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
11: .line 333
goto 15
12: .line 334
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 14
13: .line 335
iload 5 /* i */
ireturn
14: .line 333
StackMap locals:
StackMap stack:
iinc 5 /* i */ 1
StackMap locals:
StackMap stack:
15: iload 5 /* i */
iload 4 /* length */
if_icmplt 12
16: .line 337
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 17 0 a [C
0 17 1 aFromIndex I
0 17 2 b [C
0 17 3 bFromIndex I
0 17 4 length I
1 17 5 i I
3 11 6 aOffset I
4 11 7 bOffset I
MethodParameters:
Name Flags
a
aFromIndex
b
bFromIndex
length
static int mismatch(short[], short[], int);
descriptor: ([S[SI)I
flags: (0x0008) 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 346
iconst_0
istore 3 /* i */
start local 3 // int i
1: .line 347
iload 2 /* length */
iconst_3
if_icmple 13
2: .line 349
aload 0 /* a */
getstatic jdk.internal.misc.Unsafe.ARRAY_SHORT_BASE_OFFSET:I
i2l
3: .line 350
aload 1 /* b */
getstatic jdk.internal.misc.Unsafe.ARRAY_SHORT_BASE_OFFSET:I
i2l
4: .line 351
iload 2 /* length */
getstatic java.util.ArraysSupport.LOG2_ARRAY_SHORT_INDEX_SCALE:I
5: .line 348
invokestatic java.util.ArraysSupport.vectorizedMismatch:(Ljava/lang/Object;JLjava/lang/Object;JII)I
istore 3 /* i */
6: .line 352
iload 3 /* i */
iflt 8
7: .line 353
iload 3 /* i */
ireturn
8: .line 354
StackMap locals: int
StackMap stack:
iload 2 /* length */
iload 3 /* i */
iconst_m1
ixor
isub
istore 3 /* i */
9: .line 356
goto 13
10: .line 357
StackMap locals:
StackMap stack:
aload 0 /* a */
iload 3 /* i */
saload
aload 1 /* b */
iload 3 /* i */
saload
if_icmpeq 12
11: .line 358
iload 3 /* i */
ireturn
12: .line 356
StackMap locals:
StackMap stack:
iinc 3 /* i */ 1
StackMap locals:
StackMap stack:
13: iload 3 /* i */
iload 2 /* length */
if_icmplt 10
14: .line 360
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 15 0 a [S
0 15 1 b [S
0 15 2 length I
1 15 3 i I
MethodParameters:
Name Flags
a
b
length
static int mismatch(short[], int, short[], int, int);
descriptor: ([SI[SII)I
flags: (0x0008) 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 366
iconst_0
istore 5 /* i */
start local 5 // int i
1: .line 367
iload 4 /* length */
iconst_3
if_icmple 15
2: .line 368
getstatic jdk.internal.misc.Unsafe.ARRAY_SHORT_BASE_OFFSET:I
iload 1 /* aFromIndex */
getstatic java.util.ArraysSupport.LOG2_ARRAY_SHORT_INDEX_SCALE:I
ishl
iadd
istore 6 /* aOffset */
start local 6 // int aOffset
3: .line 369
getstatic jdk.internal.misc.Unsafe.ARRAY_SHORT_BASE_OFFSET:I
iload 3 /* bFromIndex */
getstatic java.util.ArraysSupport.LOG2_ARRAY_SHORT_INDEX_SCALE:I
ishl
iadd
istore 7 /* bOffset */
start local 7 // int bOffset
4: .line 371
aload 0 /* a */
iload 6 /* aOffset */
i2l
5: .line 372
aload 2 /* b */
iload 7 /* bOffset */
i2l
6: .line 373
iload 4 /* length */
getstatic java.util.ArraysSupport.LOG2_ARRAY_SHORT_INDEX_SCALE:I
7: .line 370
invokestatic java.util.ArraysSupport.vectorizedMismatch:(Ljava/lang/Object;JLjava/lang/Object;JII)I
istore 5 /* i */
8: .line 374
iload 5 /* i */
iflt 10
9: .line 375
iload 5 /* i */
ireturn
10: .line 376
StackMap locals: int 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
11: .line 378
goto 15
12: .line 379
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 14
13: .line 380
iload 5 /* i */
ireturn
14: .line 378
StackMap locals:
StackMap stack:
iinc 5 /* i */ 1
StackMap locals:
StackMap stack:
15: iload 5 /* i */
iload 4 /* length */
if_icmplt 12
16: .line 382
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 17 0 a [S
0 17 1 aFromIndex I
0 17 2 b [S
0 17 3 bFromIndex I
0 17 4 length I
1 17 5 i I
3 11 6 aOffset I
4 11 7 bOffset I
MethodParameters:
Name Flags
a
aFromIndex
b
bFromIndex
length
static int mismatch(int[], int[], int);
descriptor: ([I[II)I
flags: (0x0008) 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 391
iconst_0
istore 3 /* i */
start local 3 // int i
1: .line 392
iload 2 /* length */
iconst_1
if_icmple 13
2: .line 394
aload 0 /* a */
getstatic jdk.internal.misc.Unsafe.ARRAY_INT_BASE_OFFSET:I
i2l
3: .line 395
aload 1 /* b */
getstatic jdk.internal.misc.Unsafe.ARRAY_INT_BASE_OFFSET:I
i2l
4: .line 396
iload 2 /* length */
getstatic java.util.ArraysSupport.LOG2_ARRAY_INT_INDEX_SCALE:I
5: .line 393
invokestatic java.util.ArraysSupport.vectorizedMismatch:(Ljava/lang/Object;JLjava/lang/Object;JII)I
istore 3 /* i */
6: .line 397
iload 3 /* i */
iflt 8
7: .line 398
iload 3 /* i */
ireturn
8: .line 399
StackMap locals: int
StackMap stack:
iload 2 /* length */
iload 3 /* i */
iconst_m1
ixor
isub
istore 3 /* i */
9: .line 401
goto 13
10: .line 402
StackMap locals:
StackMap stack:
aload 0 /* a */
iload 3 /* i */
iaload
aload 1 /* b */
iload 3 /* i */
iaload
if_icmpeq 12
11: .line 403
iload 3 /* i */
ireturn
12: .line 401
StackMap locals:
StackMap stack:
iinc 3 /* i */ 1
StackMap locals:
StackMap stack:
13: iload 3 /* i */
iload 2 /* length */
if_icmplt 10
14: .line 405
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 15 0 a [I
0 15 1 b [I
0 15 2 length I
1 15 3 i I
MethodParameters:
Name Flags
a
b
length
static int mismatch(int[], int, int[], int, int);
descriptor: ([II[III)I
flags: (0x0008) 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 411
iconst_0
istore 5 /* i */
start local 5 // int i
1: .line 412
iload 4 /* length */
iconst_1
if_icmple 15
2: .line 413
getstatic jdk.internal.misc.Unsafe.ARRAY_INT_BASE_OFFSET:I
iload 1 /* aFromIndex */
getstatic java.util.ArraysSupport.LOG2_ARRAY_INT_INDEX_SCALE:I
ishl
iadd
istore 6 /* aOffset */
start local 6 // int aOffset
3: .line 414
getstatic jdk.internal.misc.Unsafe.ARRAY_INT_BASE_OFFSET:I
iload 3 /* bFromIndex */
getstatic java.util.ArraysSupport.LOG2_ARRAY_INT_INDEX_SCALE:I
ishl
iadd
istore 7 /* bOffset */
start local 7 // int bOffset
4: .line 416
aload 0 /* a */
iload 6 /* aOffset */
i2l
5: .line 417
aload 2 /* b */
iload 7 /* bOffset */
i2l
6: .line 418
iload 4 /* length */
getstatic java.util.ArraysSupport.LOG2_ARRAY_INT_INDEX_SCALE:I
7: .line 415
invokestatic java.util.ArraysSupport.vectorizedMismatch:(Ljava/lang/Object;JLjava/lang/Object;JII)I
istore 5 /* i */
8: .line 419
iload 5 /* i */
iflt 10
9: .line 420
iload 5 /* i */
ireturn
10: .line 421
StackMap locals: int 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
11: .line 423
goto 15
12: .line 424
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 14
13: .line 425
iload 5 /* i */
ireturn
14: .line 423
StackMap locals:
StackMap stack:
iinc 5 /* i */ 1
StackMap locals:
StackMap stack:
15: iload 5 /* i */
iload 4 /* length */
if_icmplt 12
16: .line 427
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 17 0 a [I
0 17 1 aFromIndex I
0 17 2 b [I
0 17 3 bFromIndex I
0 17 4 length I
1 17 5 i I
3 11 6 aOffset I
4 11 7 bOffset I
MethodParameters:
Name Flags
a
aFromIndex
b
bFromIndex
length
static int mismatch(float[], float[], int);
descriptor: ([F[FI)I
flags: (0x0008) 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 436
aload 0 /* a */
iconst_0
aload 1 /* b */
iconst_0
iload 2 /* length */
invokestatic java.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
static int mismatch(float[], int, float[], int, int);
descriptor: ([FI[FII)I
flags: (0x0008) 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 442
iconst_0
istore 5 /* i */
start local 5 // int i
1: .line 443
iload 4 /* length */
iconst_1
if_icmple 18
2: .line 444
getstatic jdk.internal.misc.Unsafe.ARRAY_FLOAT_BASE_OFFSET:I
iload 1 /* aFromIndex */
getstatic java.util.ArraysSupport.LOG2_ARRAY_FLOAT_INDEX_SCALE:I
ishl
iadd
istore 6 /* aOffset */
start local 6 // int aOffset
3: .line 445
getstatic jdk.internal.misc.Unsafe.ARRAY_FLOAT_BASE_OFFSET:I
iload 3 /* bFromIndex */
getstatic java.util.ArraysSupport.LOG2_ARRAY_FLOAT_INDEX_SCALE:I
ishl
iadd
istore 7 /* bOffset */
start local 7 // int bOffset
4: .line 447
aload 0 /* a */
iload 6 /* aOffset */
i2l
5: .line 448
aload 2 /* b */
iload 7 /* bOffset */
i2l
6: .line 449
iload 4 /* length */
getstatic java.util.ArraysSupport.LOG2_ARRAY_FLOAT_INDEX_SCALE:I
7: .line 446
invokestatic java.util.ArraysSupport.vectorizedMismatch:(Ljava/lang/Object;JLjava/lang/Object;JII)I
istore 5 /* i */
8: .line 451
iload 5 /* i */
iflt 13
9: .line 453
aload 0 /* a */
iload 1 /* aFromIndex */
iload 5 /* i */
iadd
faload
invokestatic java.lang.Float.isNaN:(F)Z
ifeq 10
aload 2 /* b */
iload 3 /* bFromIndex */
iload 5 /* i */
iadd
faload
invokestatic java.lang.Float.isNaN:(F)Z
ifne 11
10: .line 454
StackMap locals: int int int
StackMap stack:
iload 5 /* i */
ireturn
11: .line 460
StackMap locals:
StackMap stack:
iinc 5 /* i */ 1
12: .line 461
goto 18
13: .line 464
StackMap locals:
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
14: .line 467
goto 18
15: .line 468
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 17
16: .line 469
iload 5 /* i */
ireturn
17: .line 467
StackMap locals:
StackMap stack:
iinc 5 /* i */ 1
StackMap locals:
StackMap stack:
18: iload 5 /* i */
iload 4 /* length */
if_icmplt 15
19: .line 471
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 20 0 a [F
0 20 1 aFromIndex I
0 20 2 b [F
0 20 3 bFromIndex I
0 20 4 length I
1 20 5 i I
3 14 6 aOffset I
4 14 7 bOffset I
MethodParameters:
Name Flags
a
aFromIndex
b
bFromIndex
length
static int mismatch(long[], long[], int);
descriptor: ([J[JI)I
flags: (0x0008) 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 481
iload 2 /* length */
ifne 2
1: .line 482
iconst_m1
ireturn
2: .line 485
StackMap locals:
StackMap stack:
aload 0 /* a */
getstatic jdk.internal.misc.Unsafe.ARRAY_LONG_BASE_OFFSET:I
i2l
3: .line 486
aload 1 /* b */
getstatic jdk.internal.misc.Unsafe.ARRAY_LONG_BASE_OFFSET:I
i2l
4: .line 487
iload 2 /* length */
getstatic java.util.ArraysSupport.LOG2_ARRAY_LONG_INDEX_SCALE:I
5: .line 484
invokestatic java.util.ArraysSupport.vectorizedMismatch:(Ljava/lang/Object;JLjava/lang/Object;JII)I
istore 3 /* i */
start local 3 // int i
6: .line 488
iload 3 /* i */
iflt 7
iload 3 /* i */
goto 8
StackMap locals: int
StackMap stack:
7: iconst_m1
StackMap locals:
StackMap stack: int
8: 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 9 0 a [J
0 9 1 b [J
0 9 2 length I
6 9 3 i I
MethodParameters:
Name Flags
a
b
length
static int mismatch(long[], int, long[], int, int);
descriptor: ([JI[JII)I
flags: (0x0008) 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 494
iload 4 /* length */
ifne 2
1: .line 495
iconst_m1
ireturn
2: .line 497
StackMap locals:
StackMap stack:
getstatic jdk.internal.misc.Unsafe.ARRAY_LONG_BASE_OFFSET:I
iload 1 /* aFromIndex */
getstatic java.util.ArraysSupport.LOG2_ARRAY_LONG_INDEX_SCALE:I
ishl
iadd
istore 5 /* aOffset */
start local 5 // int aOffset
3: .line 498
getstatic jdk.internal.misc.Unsafe.ARRAY_LONG_BASE_OFFSET:I
iload 3 /* bFromIndex */
getstatic java.util.ArraysSupport.LOG2_ARRAY_LONG_INDEX_SCALE:I
ishl
iadd
istore 6 /* bOffset */
start local 6 // int bOffset
4: .line 500
aload 0 /* a */
iload 5 /* aOffset */
i2l
5: .line 501
aload 2 /* b */
iload 6 /* bOffset */
i2l
6: .line 502
iload 4 /* length */
getstatic java.util.ArraysSupport.LOG2_ARRAY_LONG_INDEX_SCALE:I
7: .line 499
invokestatic java.util.ArraysSupport.vectorizedMismatch:(Ljava/lang/Object;JLjava/lang/Object;JII)I
istore 7 /* i */
start local 7 // int i
8: .line 503
iload 7 /* i */
iflt 9
iload 7 /* i */
goto 10
StackMap locals: int int int
StackMap stack:
9: iconst_m1
StackMap locals:
StackMap stack: int
10: 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 11 0 a [J
0 11 1 aFromIndex I
0 11 2 b [J
0 11 3 bFromIndex I
0 11 4 length I
3 11 5 aOffset I
4 11 6 bOffset I
8 11 7 i I
MethodParameters:
Name Flags
a
aFromIndex
b
bFromIndex
length
static int mismatch(double[], double[], int);
descriptor: ([D[DI)I
flags: (0x0008) 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 512
aload 0 /* a */
iconst_0
aload 1 /* b */
iconst_0
iload 2 /* length */
invokestatic java.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
static int mismatch(double[], int, double[], int, int);
descriptor: ([DI[DII)I
flags: (0x0008) 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 518
iload 4 /* length */
ifne 2
1: .line 519
iconst_m1
ireturn
2: .line 521
StackMap locals:
StackMap stack:
getstatic jdk.internal.misc.Unsafe.ARRAY_DOUBLE_BASE_OFFSET:I
iload 1 /* aFromIndex */
getstatic java.util.ArraysSupport.LOG2_ARRAY_DOUBLE_INDEX_SCALE:I
ishl
iadd
istore 5 /* aOffset */
start local 5 // int aOffset
3: .line 522
getstatic jdk.internal.misc.Unsafe.ARRAY_DOUBLE_BASE_OFFSET:I
iload 3 /* bFromIndex */
getstatic java.util.ArraysSupport.LOG2_ARRAY_DOUBLE_INDEX_SCALE:I
ishl
iadd
istore 6 /* bOffset */
start local 6 // int bOffset
4: .line 524
aload 0 /* a */
iload 5 /* aOffset */
i2l
5: .line 525
aload 2 /* b */
iload 6 /* bOffset */
i2l
6: .line 526
iload 4 /* length */
getstatic java.util.ArraysSupport.LOG2_ARRAY_DOUBLE_INDEX_SCALE:I
7: .line 523
invokestatic java.util.ArraysSupport.vectorizedMismatch:(Ljava/lang/Object;JLjava/lang/Object;JII)I
istore 7 /* i */
start local 7 // int i
8: .line 527
iload 7 /* i */
iflt 17
9: .line 529
aload 0 /* a */
iload 1 /* aFromIndex */
iload 7 /* i */
iadd
daload
invokestatic java.lang.Double.isNaN:(D)Z
ifeq 10
aload 2 /* b */
iload 3 /* bFromIndex */
iload 7 /* i */
iadd
daload
invokestatic java.lang.Double.isNaN:(D)Z
ifne 11
10: .line 530
StackMap locals: int int int
StackMap stack:
iload 7 /* i */
ireturn
11: .line 536
StackMap locals:
StackMap stack:
iinc 7 /* i */ 1
12: .line 537
goto 16
13: .line 538
StackMap locals:
StackMap stack:
aload 0 /* a */
iload 1 /* aFromIndex */
iload 7 /* i */
iadd
daload
invokestatic java.lang.Double.doubleToLongBits:(D)J
aload 2 /* b */
iload 3 /* bFromIndex */
iload 7 /* i */
iadd
daload
invokestatic java.lang.Double.doubleToLongBits:(D)J
lcmp
ifeq 15
14: .line 539
iload 7 /* i */
ireturn
15: .line 537
StackMap locals:
StackMap stack:
iinc 7 /* i */ 1
StackMap locals:
StackMap stack:
16: iload 7 /* i */
iload 4 /* length */
if_icmplt 13
17: .line 543
StackMap locals:
StackMap stack:
iconst_m1
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 // double[] b
end local 1 // int aFromIndex
end local 0 // double[] a
LocalVariableTable:
Start End Slot Name Signature
0 18 0 a [D
0 18 1 aFromIndex I
0 18 2 b [D
0 18 3 bFromIndex I
0 18 4 length I
3 18 5 aOffset I
4 18 6 bOffset I
8 18 7 i I
MethodParameters:
Name Flags
a
aFromIndex
b
bFromIndex
length
}
SourceFile: "ArraysSupport.java"