public class java.util.Arrays
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: java.util.Arrays
super_class: java.lang.Object
{
private static final int MIN_ARRAY_SORT_GRAN;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 8192
private static final int INSERTIONSORT_THRESHOLD;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 7
static final boolean $assertionsDisabled;
descriptor: Z
flags: (0x1018) ACC_STATIC, ACC_FINAL, ACC_SYNTHETIC
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=1, locals=0, args_size=0
0: ldc Ljava/util/Arrays;
invokevirtual java.lang.Class.desiredAssertionStatus:()Z
ifne 1
iconst_1
goto 2
StackMap locals:
StackMap stack:
1: iconst_0
StackMap locals:
StackMap stack: int
2: putstatic java.util.Arrays.$assertionsDisabled:Z
3: return
LocalVariableTable:
Start End Slot Name Signature
private void <init>();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokespecial java.lang.Object.<init>:()V
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljava/util/Arrays;
static void rangeCheck(int, int, int);
descriptor: (III)V
flags: (0x0008) ACC_STATIC
Code:
stack=5, locals=3, args_size=3
start local 0 start local 1 start local 2 0: iload 1
iload 2
if_icmple 4
1: new java.lang.IllegalArgumentException
dup
2: new java.lang.StringBuilder
dup
ldc "fromIndex("
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 1
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc ") > toIndex("
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
iload 2
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc ")"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
3: invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
4: StackMap locals:
StackMap stack:
iload 1
ifge 6
5: new java.lang.ArrayIndexOutOfBoundsException
dup
iload 1
invokespecial java.lang.ArrayIndexOutOfBoundsException.<init>:(I)V
athrow
6: StackMap locals:
StackMap stack:
iload 2
iload 0
if_icmple 8
7: new java.lang.ArrayIndexOutOfBoundsException
dup
iload 2
invokespecial java.lang.ArrayIndexOutOfBoundsException.<init>:(I)V
athrow
8: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 arrayLength I
0 9 1 fromIndex I
0 9 2 toIndex I
MethodParameters:
Name Flags
arrayLength
fromIndex
toIndex
public static void sort(int[]);
descriptor: ([I)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=6, locals=1, args_size=1
start local 0 0: aload 0
iconst_0
aload 0
arraylength
iconst_1
isub
aconst_null
iconst_0
iconst_0
invokestatic java.util.DualPivotQuicksort.sort:([III[III)V
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 a [I
MethodParameters:
Name Flags
a
public static void sort(int[], int, int);
descriptor: ([III)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=6, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
arraylength
iload 1
iload 2
invokestatic java.util.Arrays.rangeCheck:(III)V
1: aload 0
iload 1
iload 2
iconst_1
isub
aconst_null
iconst_0
iconst_0
invokestatic java.util.DualPivotQuicksort.sort:([III[III)V
2: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 a [I
0 3 1 fromIndex I
0 3 2 toIndex I
MethodParameters:
Name Flags
a
fromIndex
toIndex
public static void sort(long[]);
descriptor: ([J)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=6, locals=1, args_size=1
start local 0 0: aload 0
iconst_0
aload 0
arraylength
iconst_1
isub
aconst_null
iconst_0
iconst_0
invokestatic java.util.DualPivotQuicksort.sort:([JII[JII)V
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 a [J
MethodParameters:
Name Flags
a
public static void sort(long[], int, int);
descriptor: ([JII)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=6, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
arraylength
iload 1
iload 2
invokestatic java.util.Arrays.rangeCheck:(III)V
1: aload 0
iload 1
iload 2
iconst_1
isub
aconst_null
iconst_0
iconst_0
invokestatic java.util.DualPivotQuicksort.sort:([JII[JII)V
2: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 a [J
0 3 1 fromIndex I
0 3 2 toIndex I
MethodParameters:
Name Flags
a
fromIndex
toIndex
public static void sort(short[]);
descriptor: ([S)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=6, locals=1, args_size=1
start local 0 0: aload 0
iconst_0
aload 0
arraylength
iconst_1
isub
aconst_null
iconst_0
iconst_0
invokestatic java.util.DualPivotQuicksort.sort:([SII[SII)V
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 a [S
MethodParameters:
Name Flags
a
public static void sort(short[], int, int);
descriptor: ([SII)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=6, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
arraylength
iload 1
iload 2
invokestatic java.util.Arrays.rangeCheck:(III)V
1: aload 0
iload 1
iload 2
iconst_1
isub
aconst_null
iconst_0
iconst_0
invokestatic java.util.DualPivotQuicksort.sort:([SII[SII)V
2: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 a [S
0 3 1 fromIndex I
0 3 2 toIndex I
MethodParameters:
Name Flags
a
fromIndex
toIndex
public static void sort(char[]);
descriptor: ([C)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=6, locals=1, args_size=1
start local 0 0: aload 0
iconst_0
aload 0
arraylength
iconst_1
isub
aconst_null
iconst_0
iconst_0
invokestatic java.util.DualPivotQuicksort.sort:([CII[CII)V
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 a [C
MethodParameters:
Name Flags
a
public static void sort(char[], int, int);
descriptor: ([CII)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=6, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
arraylength
iload 1
iload 2
invokestatic java.util.Arrays.rangeCheck:(III)V
1: aload 0
iload 1
iload 2
iconst_1
isub
aconst_null
iconst_0
iconst_0
invokestatic java.util.DualPivotQuicksort.sort:([CII[CII)V
2: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 a [C
0 3 1 fromIndex I
0 3 2 toIndex I
MethodParameters:
Name Flags
a
fromIndex
toIndex
public static void sort(byte[]);
descriptor: ([B)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=4, locals=1, args_size=1
start local 0 0: aload 0
iconst_0
aload 0
arraylength
iconst_1
isub
invokestatic java.util.DualPivotQuicksort.sort:([BII)V
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 a [B
MethodParameters:
Name Flags
a
public static void sort(byte[], int, int);
descriptor: ([BII)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=4, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
arraylength
iload 1
iload 2
invokestatic java.util.Arrays.rangeCheck:(III)V
1: aload 0
iload 1
iload 2
iconst_1
isub
invokestatic java.util.DualPivotQuicksort.sort:([BII)V
2: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 a [B
0 3 1 fromIndex I
0 3 2 toIndex I
MethodParameters:
Name Flags
a
fromIndex
toIndex
public static void sort(float[]);
descriptor: ([F)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=6, locals=1, args_size=1
start local 0 0: aload 0
iconst_0
aload 0
arraylength
iconst_1
isub
aconst_null
iconst_0
iconst_0
invokestatic java.util.DualPivotQuicksort.sort:([FII[FII)V
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 a [F
MethodParameters:
Name Flags
a
public static void sort(float[], int, int);
descriptor: ([FII)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=6, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
arraylength
iload 1
iload 2
invokestatic java.util.Arrays.rangeCheck:(III)V
1: aload 0
iload 1
iload 2
iconst_1
isub
aconst_null
iconst_0
iconst_0
invokestatic java.util.DualPivotQuicksort.sort:([FII[FII)V
2: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 a [F
0 3 1 fromIndex I
0 3 2 toIndex I
MethodParameters:
Name Flags
a
fromIndex
toIndex
public static void sort(double[]);
descriptor: ([D)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=6, locals=1, args_size=1
start local 0 0: aload 0
iconst_0
aload 0
arraylength
iconst_1
isub
aconst_null
iconst_0
iconst_0
invokestatic java.util.DualPivotQuicksort.sort:([DII[DII)V
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 a [D
MethodParameters:
Name Flags
a
public static void sort(double[], int, int);
descriptor: ([DII)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=6, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
arraylength
iload 1
iload 2
invokestatic java.util.Arrays.rangeCheck:(III)V
1: aload 0
iload 1
iload 2
iconst_1
isub
aconst_null
iconst_0
iconst_0
invokestatic java.util.DualPivotQuicksort.sort:([DII[DII)V
2: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 a [D
0 3 1 fromIndex I
0 3 2 toIndex I
MethodParameters:
Name Flags
a
fromIndex
toIndex
public static void parallelSort(byte[]);
descriptor: ([B)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=11, locals=4, args_size=1
start local 0 0: aload 0
arraylength
istore 1
start local 1 1: iload 1
sipush 8192
if_icmple 4
2: invokestatic java.util.concurrent.ForkJoinPool.getCommonPoolParallelism:()I
dup
istore 2
start local 2 3: iconst_1
if_icmpne 5
end local 2 4: StackMap locals: int
StackMap stack:
aload 0
iconst_0
iload 1
iconst_1
isub
invokestatic java.util.DualPivotQuicksort.sort:([BII)V
goto 13
start local 2 5: StackMap locals: int
StackMap stack:
new java.util.ArraysParallelSortHelpers$FJByte$Sorter
dup
6: aconst_null
aload 0
iload 1
newarray 8
iconst_0
iload 1
iconst_0
7: iload 1
iload 2
iconst_2
ishl
idiv
dup
istore 3
start local 3 8: sipush 8192
if_icmpgt 10
9: sipush 8192
goto 11
StackMap locals: byte[] int int int
StackMap stack: new 5 new 5 null byte[] byte[] int int int
10: iload 3
11: StackMap locals: byte[] int int int
StackMap stack: new 5 new 5 null byte[] byte[] int int int int
invokespecial java.util.ArraysParallelSortHelpers$FJByte$Sorter.<init>:(Ljava/util/concurrent/CountedCompleter;[B[BIIII)V
12: invokevirtual java.util.ArraysParallelSortHelpers$FJByte$Sorter.invoke:()Ljava/lang/Object;
pop
end local 3 end local 2 13: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 14 0 a [B
1 14 1 n I
3 4 2 p I
5 13 2 p I
8 13 3 g I
MethodParameters:
Name Flags
a
public static void parallelSort(byte[], int, int);
descriptor: ([BII)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=11, locals=6, args_size=3
start local 0 start local 1 start local 2 0: aload 0
arraylength
iload 1
iload 2
invokestatic java.util.Arrays.rangeCheck:(III)V
1: iload 2
iload 1
isub
istore 3
start local 3 2: iload 3
sipush 8192
if_icmple 5
3: invokestatic java.util.concurrent.ForkJoinPool.getCommonPoolParallelism:()I
dup
istore 4
start local 4 4: iconst_1
if_icmpne 6
end local 4 5: StackMap locals: int
StackMap stack:
aload 0
iload 1
iload 2
iconst_1
isub
invokestatic java.util.DualPivotQuicksort.sort:([BII)V
goto 14
start local 4 6: StackMap locals: int
StackMap stack:
new java.util.ArraysParallelSortHelpers$FJByte$Sorter
dup
7: aconst_null
aload 0
iload 3
newarray 8
iload 1
iload 3
iconst_0
8: iload 3
iload 4
iconst_2
ishl
idiv
dup
istore 5
start local 5 9: sipush 8192
if_icmpgt 11
10: sipush 8192
goto 12
StackMap locals: byte[] int int int int int
StackMap stack: new 6 new 6 null byte[] byte[] int int int
11: iload 5
12: StackMap locals: byte[] int int int int int
StackMap stack: new 6 new 6 null byte[] byte[] int int int int
invokespecial java.util.ArraysParallelSortHelpers$FJByte$Sorter.<init>:(Ljava/util/concurrent/CountedCompleter;[B[BIIII)V
13: invokevirtual java.util.ArraysParallelSortHelpers$FJByte$Sorter.invoke:()Ljava/lang/Object;
pop
end local 5 end local 4 14: StackMap locals:
StackMap stack:
return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 15 0 a [B
0 15 1 fromIndex I
0 15 2 toIndex I
2 15 3 n I
4 5 4 p I
6 14 4 p I
9 14 5 g I
MethodParameters:
Name Flags
a
fromIndex
toIndex
public static void parallelSort(char[]);
descriptor: ([C)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=11, locals=4, args_size=1
start local 0 0: aload 0
arraylength
istore 1
start local 1 1: iload 1
sipush 8192
if_icmple 4
2: invokestatic java.util.concurrent.ForkJoinPool.getCommonPoolParallelism:()I
dup
istore 2
start local 2 3: iconst_1
if_icmpne 5
end local 2 4: StackMap locals: int
StackMap stack:
aload 0
iconst_0
iload 1
iconst_1
isub
aconst_null
iconst_0
iconst_0
invokestatic java.util.DualPivotQuicksort.sort:([CII[CII)V
goto 13
start local 2 5: StackMap locals: int
StackMap stack:
new java.util.ArraysParallelSortHelpers$FJChar$Sorter
dup
6: aconst_null
aload 0
iload 1
newarray 5
iconst_0
iload 1
iconst_0
7: iload 1
iload 2
iconst_2
ishl
idiv
dup
istore 3
start local 3 8: sipush 8192
if_icmpgt 10
9: sipush 8192
goto 11
StackMap locals: char[] int int int
StackMap stack: new 5 new 5 null char[] char[] int int int
10: iload 3
11: StackMap locals: char[] int int int
StackMap stack: new 5 new 5 null char[] char[] int int int int
invokespecial java.util.ArraysParallelSortHelpers$FJChar$Sorter.<init>:(Ljava/util/concurrent/CountedCompleter;[C[CIIII)V
12: invokevirtual java.util.ArraysParallelSortHelpers$FJChar$Sorter.invoke:()Ljava/lang/Object;
pop
end local 3 end local 2 13: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 14 0 a [C
1 14 1 n I
3 4 2 p I
5 13 2 p I
8 13 3 g I
MethodParameters:
Name Flags
a
public static void parallelSort(char[], int, int);
descriptor: ([CII)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=11, locals=6, args_size=3
start local 0 start local 1 start local 2 0: aload 0
arraylength
iload 1
iload 2
invokestatic java.util.Arrays.rangeCheck:(III)V
1: iload 2
iload 1
isub
istore 3
start local 3 2: iload 3
sipush 8192
if_icmple 5
3: invokestatic java.util.concurrent.ForkJoinPool.getCommonPoolParallelism:()I
dup
istore 4
start local 4 4: iconst_1
if_icmpne 6
end local 4 5: StackMap locals: int
StackMap stack:
aload 0
iload 1
iload 2
iconst_1
isub
aconst_null
iconst_0
iconst_0
invokestatic java.util.DualPivotQuicksort.sort:([CII[CII)V
goto 14
start local 4 6: StackMap locals: int
StackMap stack:
new java.util.ArraysParallelSortHelpers$FJChar$Sorter
dup
7: aconst_null
aload 0
iload 3
newarray 5
iload 1
iload 3
iconst_0
8: iload 3
iload 4
iconst_2
ishl
idiv
dup
istore 5
start local 5 9: sipush 8192
if_icmpgt 11
10: sipush 8192
goto 12
StackMap locals: char[] int int int int int
StackMap stack: new 6 new 6 null char[] char[] int int int
11: iload 5
12: StackMap locals: char[] int int int int int
StackMap stack: new 6 new 6 null char[] char[] int int int int
invokespecial java.util.ArraysParallelSortHelpers$FJChar$Sorter.<init>:(Ljava/util/concurrent/CountedCompleter;[C[CIIII)V
13: invokevirtual java.util.ArraysParallelSortHelpers$FJChar$Sorter.invoke:()Ljava/lang/Object;
pop
end local 5 end local 4 14: StackMap locals:
StackMap stack:
return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 15 0 a [C
0 15 1 fromIndex I
0 15 2 toIndex I
2 15 3 n I
4 5 4 p I
6 14 4 p I
9 14 5 g I
MethodParameters:
Name Flags
a
fromIndex
toIndex
public static void parallelSort(short[]);
descriptor: ([S)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=11, locals=4, args_size=1
start local 0 0: aload 0
arraylength
istore 1
start local 1 1: iload 1
sipush 8192
if_icmple 4
2: invokestatic java.util.concurrent.ForkJoinPool.getCommonPoolParallelism:()I
dup
istore 2
start local 2 3: iconst_1
if_icmpne 5
end local 2 4: StackMap locals: int
StackMap stack:
aload 0
iconst_0
iload 1
iconst_1
isub
aconst_null
iconst_0
iconst_0
invokestatic java.util.DualPivotQuicksort.sort:([SII[SII)V
goto 13
start local 2 5: StackMap locals: int
StackMap stack:
new java.util.ArraysParallelSortHelpers$FJShort$Sorter
dup
6: aconst_null
aload 0
iload 1
newarray 9
iconst_0
iload 1
iconst_0
7: iload 1
iload 2
iconst_2
ishl
idiv
dup
istore 3
start local 3 8: sipush 8192
if_icmpgt 10
9: sipush 8192
goto 11
StackMap locals: short[] int int int
StackMap stack: new 5 new 5 null short[] short[] int int int
10: iload 3
11: StackMap locals: short[] int int int
StackMap stack: new 5 new 5 null short[] short[] int int int int
invokespecial java.util.ArraysParallelSortHelpers$FJShort$Sorter.<init>:(Ljava/util/concurrent/CountedCompleter;[S[SIIII)V
12: invokevirtual java.util.ArraysParallelSortHelpers$FJShort$Sorter.invoke:()Ljava/lang/Object;
pop
end local 3 end local 2 13: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 14 0 a [S
1 14 1 n I
3 4 2 p I
5 13 2 p I
8 13 3 g I
MethodParameters:
Name Flags
a
public static void parallelSort(short[], int, int);
descriptor: ([SII)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=11, locals=6, args_size=3
start local 0 start local 1 start local 2 0: aload 0
arraylength
iload 1
iload 2
invokestatic java.util.Arrays.rangeCheck:(III)V
1: iload 2
iload 1
isub
istore 3
start local 3 2: iload 3
sipush 8192
if_icmple 5
3: invokestatic java.util.concurrent.ForkJoinPool.getCommonPoolParallelism:()I
dup
istore 4
start local 4 4: iconst_1
if_icmpne 6
end local 4 5: StackMap locals: int
StackMap stack:
aload 0
iload 1
iload 2
iconst_1
isub
aconst_null
iconst_0
iconst_0
invokestatic java.util.DualPivotQuicksort.sort:([SII[SII)V
goto 14
start local 4 6: StackMap locals: int
StackMap stack:
new java.util.ArraysParallelSortHelpers$FJShort$Sorter
dup
7: aconst_null
aload 0
iload 3
newarray 9
iload 1
iload 3
iconst_0
8: iload 3
iload 4
iconst_2
ishl
idiv
dup
istore 5
start local 5 9: sipush 8192
if_icmpgt 11
10: sipush 8192
goto 12
StackMap locals: short[] int int int int int
StackMap stack: new 6 new 6 null short[] short[] int int int
11: iload 5
12: StackMap locals: short[] int int int int int
StackMap stack: new 6 new 6 null short[] short[] int int int int
invokespecial java.util.ArraysParallelSortHelpers$FJShort$Sorter.<init>:(Ljava/util/concurrent/CountedCompleter;[S[SIIII)V
13: invokevirtual java.util.ArraysParallelSortHelpers$FJShort$Sorter.invoke:()Ljava/lang/Object;
pop
end local 5 end local 4 14: StackMap locals:
StackMap stack:
return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 15 0 a [S
0 15 1 fromIndex I
0 15 2 toIndex I
2 15 3 n I
4 5 4 p I
6 14 4 p I
9 14 5 g I
MethodParameters:
Name Flags
a
fromIndex
toIndex
public static void parallelSort(int[]);
descriptor: ([I)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=11, locals=4, args_size=1
start local 0 0: aload 0
arraylength
istore 1
start local 1 1: iload 1
sipush 8192
if_icmple 4
2: invokestatic java.util.concurrent.ForkJoinPool.getCommonPoolParallelism:()I
dup
istore 2
start local 2 3: iconst_1
if_icmpne 5
end local 2 4: StackMap locals: int
StackMap stack:
aload 0
iconst_0
iload 1
iconst_1
isub
aconst_null
iconst_0
iconst_0
invokestatic java.util.DualPivotQuicksort.sort:([III[III)V
goto 13
start local 2 5: StackMap locals: int
StackMap stack:
new java.util.ArraysParallelSortHelpers$FJInt$Sorter
dup
6: aconst_null
aload 0
iload 1
newarray 10
iconst_0
iload 1
iconst_0
7: iload 1
iload 2
iconst_2
ishl
idiv
dup
istore 3
start local 3 8: sipush 8192
if_icmpgt 10
9: sipush 8192
goto 11
StackMap locals: int[] int int int
StackMap stack: new 5 new 5 null int[] int[] int int int
10: iload 3
11: StackMap locals: int[] int int int
StackMap stack: new 5 new 5 null int[] int[] int int int int
invokespecial java.util.ArraysParallelSortHelpers$FJInt$Sorter.<init>:(Ljava/util/concurrent/CountedCompleter;[I[IIIII)V
12: invokevirtual java.util.ArraysParallelSortHelpers$FJInt$Sorter.invoke:()Ljava/lang/Object;
pop
end local 3 end local 2 13: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 14 0 a [I
1 14 1 n I
3 4 2 p I
5 13 2 p I
8 13 3 g I
MethodParameters:
Name Flags
a
public static void parallelSort(int[], int, int);
descriptor: ([III)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=11, locals=6, args_size=3
start local 0 start local 1 start local 2 0: aload 0
arraylength
iload 1
iload 2
invokestatic java.util.Arrays.rangeCheck:(III)V
1: iload 2
iload 1
isub
istore 3
start local 3 2: iload 3
sipush 8192
if_icmple 5
3: invokestatic java.util.concurrent.ForkJoinPool.getCommonPoolParallelism:()I
dup
istore 4
start local 4 4: iconst_1
if_icmpne 6
end local 4 5: StackMap locals: int
StackMap stack:
aload 0
iload 1
iload 2
iconst_1
isub
aconst_null
iconst_0
iconst_0
invokestatic java.util.DualPivotQuicksort.sort:([III[III)V
goto 14
start local 4 6: StackMap locals: int
StackMap stack:
new java.util.ArraysParallelSortHelpers$FJInt$Sorter
dup
7: aconst_null
aload 0
iload 3
newarray 10
iload 1
iload 3
iconst_0
8: iload 3
iload 4
iconst_2
ishl
idiv
dup
istore 5
start local 5 9: sipush 8192
if_icmpgt 11
10: sipush 8192
goto 12
StackMap locals: int[] int int int int int
StackMap stack: new 6 new 6 null int[] int[] int int int
11: iload 5
12: StackMap locals: int[] int int int int int
StackMap stack: new 6 new 6 null int[] int[] int int int int
invokespecial java.util.ArraysParallelSortHelpers$FJInt$Sorter.<init>:(Ljava/util/concurrent/CountedCompleter;[I[IIIII)V
13: invokevirtual java.util.ArraysParallelSortHelpers$FJInt$Sorter.invoke:()Ljava/lang/Object;
pop
end local 5 end local 4 14: StackMap locals:
StackMap stack:
return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 15 0 a [I
0 15 1 fromIndex I
0 15 2 toIndex I
2 15 3 n I
4 5 4 p I
6 14 4 p I
9 14 5 g I
MethodParameters:
Name Flags
a
fromIndex
toIndex
public static void parallelSort(long[]);
descriptor: ([J)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=11, locals=4, args_size=1
start local 0 0: aload 0
arraylength
istore 1
start local 1 1: iload 1
sipush 8192
if_icmple 4
2: invokestatic java.util.concurrent.ForkJoinPool.getCommonPoolParallelism:()I
dup
istore 2
start local 2 3: iconst_1
if_icmpne 5
end local 2 4: StackMap locals: int
StackMap stack:
aload 0
iconst_0
iload 1
iconst_1
isub
aconst_null
iconst_0
iconst_0
invokestatic java.util.DualPivotQuicksort.sort:([JII[JII)V
goto 13
start local 2 5: StackMap locals: int
StackMap stack:
new java.util.ArraysParallelSortHelpers$FJLong$Sorter
dup
6: aconst_null
aload 0
iload 1
newarray 11
iconst_0
iload 1
iconst_0
7: iload 1
iload 2
iconst_2
ishl
idiv
dup
istore 3
start local 3 8: sipush 8192
if_icmpgt 10
9: sipush 8192
goto 11
StackMap locals: long[] int int int
StackMap stack: new 5 new 5 null long[] long[] int int int
10: iload 3
11: StackMap locals: long[] int int int
StackMap stack: new 5 new 5 null long[] long[] int int int int
invokespecial java.util.ArraysParallelSortHelpers$FJLong$Sorter.<init>:(Ljava/util/concurrent/CountedCompleter;[J[JIIII)V
12: invokevirtual java.util.ArraysParallelSortHelpers$FJLong$Sorter.invoke:()Ljava/lang/Object;
pop
end local 3 end local 2 13: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 14 0 a [J
1 14 1 n I
3 4 2 p I
5 13 2 p I
8 13 3 g I
MethodParameters:
Name Flags
a
public static void parallelSort(long[], int, int);
descriptor: ([JII)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=11, locals=6, args_size=3
start local 0 start local 1 start local 2 0: aload 0
arraylength
iload 1
iload 2
invokestatic java.util.Arrays.rangeCheck:(III)V
1: iload 2
iload 1
isub
istore 3
start local 3 2: iload 3
sipush 8192
if_icmple 5
3: invokestatic java.util.concurrent.ForkJoinPool.getCommonPoolParallelism:()I
dup
istore 4
start local 4 4: iconst_1
if_icmpne 6
end local 4 5: StackMap locals: int
StackMap stack:
aload 0
iload 1
iload 2
iconst_1
isub
aconst_null
iconst_0
iconst_0
invokestatic java.util.DualPivotQuicksort.sort:([JII[JII)V
goto 14
start local 4 6: StackMap locals: int
StackMap stack:
new java.util.ArraysParallelSortHelpers$FJLong$Sorter
dup
7: aconst_null
aload 0
iload 3
newarray 11
iload 1
iload 3
iconst_0
8: iload 3
iload 4
iconst_2
ishl
idiv
dup
istore 5
start local 5 9: sipush 8192
if_icmpgt 11
10: sipush 8192
goto 12
StackMap locals: long[] int int int int int
StackMap stack: new 6 new 6 null long[] long[] int int int
11: iload 5
12: StackMap locals: long[] int int int int int
StackMap stack: new 6 new 6 null long[] long[] int int int int
invokespecial java.util.ArraysParallelSortHelpers$FJLong$Sorter.<init>:(Ljava/util/concurrent/CountedCompleter;[J[JIIII)V
13: invokevirtual java.util.ArraysParallelSortHelpers$FJLong$Sorter.invoke:()Ljava/lang/Object;
pop
end local 5 end local 4 14: StackMap locals:
StackMap stack:
return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 15 0 a [J
0 15 1 fromIndex I
0 15 2 toIndex I
2 15 3 n I
4 5 4 p I
6 14 4 p I
9 14 5 g I
MethodParameters:
Name Flags
a
fromIndex
toIndex
public static void parallelSort(float[]);
descriptor: ([F)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=11, locals=4, args_size=1
start local 0 0: aload 0
arraylength
istore 1
start local 1 1: iload 1
sipush 8192
if_icmple 4
2: invokestatic java.util.concurrent.ForkJoinPool.getCommonPoolParallelism:()I
dup
istore 2
start local 2 3: iconst_1
if_icmpne 5
end local 2 4: StackMap locals: int
StackMap stack:
aload 0
iconst_0
iload 1
iconst_1
isub
aconst_null
iconst_0
iconst_0
invokestatic java.util.DualPivotQuicksort.sort:([FII[FII)V
goto 13
start local 2 5: StackMap locals: int
StackMap stack:
new java.util.ArraysParallelSortHelpers$FJFloat$Sorter
dup
6: aconst_null
aload 0
iload 1
newarray 6
iconst_0
iload 1
iconst_0
7: iload 1
iload 2
iconst_2
ishl
idiv
dup
istore 3
start local 3 8: sipush 8192
if_icmpgt 10
9: sipush 8192
goto 11
StackMap locals: float[] int int int
StackMap stack: new 5 new 5 null float[] float[] int int int
10: iload 3
11: StackMap locals: float[] int int int
StackMap stack: new 5 new 5 null float[] float[] int int int int
invokespecial java.util.ArraysParallelSortHelpers$FJFloat$Sorter.<init>:(Ljava/util/concurrent/CountedCompleter;[F[FIIII)V
12: invokevirtual java.util.ArraysParallelSortHelpers$FJFloat$Sorter.invoke:()Ljava/lang/Object;
pop
end local 3 end local 2 13: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 14 0 a [F
1 14 1 n I
3 4 2 p I
5 13 2 p I
8 13 3 g I
MethodParameters:
Name Flags
a
public static void parallelSort(float[], int, int);
descriptor: ([FII)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=11, locals=6, args_size=3
start local 0 start local 1 start local 2 0: aload 0
arraylength
iload 1
iload 2
invokestatic java.util.Arrays.rangeCheck:(III)V
1: iload 2
iload 1
isub
istore 3
start local 3 2: iload 3
sipush 8192
if_icmple 5
3: invokestatic java.util.concurrent.ForkJoinPool.getCommonPoolParallelism:()I
dup
istore 4
start local 4 4: iconst_1
if_icmpne 6
end local 4 5: StackMap locals: int
StackMap stack:
aload 0
iload 1
iload 2
iconst_1
isub
aconst_null
iconst_0
iconst_0
invokestatic java.util.DualPivotQuicksort.sort:([FII[FII)V
goto 14
start local 4 6: StackMap locals: int
StackMap stack:
new java.util.ArraysParallelSortHelpers$FJFloat$Sorter
dup
7: aconst_null
aload 0
iload 3
newarray 6
iload 1
iload 3
iconst_0
8: iload 3
iload 4
iconst_2
ishl
idiv
dup
istore 5
start local 5 9: sipush 8192
if_icmpgt 11
10: sipush 8192
goto 12
StackMap locals: float[] int int int int int
StackMap stack: new 6 new 6 null float[] float[] int int int
11: iload 5
12: StackMap locals: float[] int int int int int
StackMap stack: new 6 new 6 null float[] float[] int int int int
invokespecial java.util.ArraysParallelSortHelpers$FJFloat$Sorter.<init>:(Ljava/util/concurrent/CountedCompleter;[F[FIIII)V
13: invokevirtual java.util.ArraysParallelSortHelpers$FJFloat$Sorter.invoke:()Ljava/lang/Object;
pop
end local 5 end local 4 14: StackMap locals:
StackMap stack:
return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 15 0 a [F
0 15 1 fromIndex I
0 15 2 toIndex I
2 15 3 n I
4 5 4 p I
6 14 4 p I
9 14 5 g I
MethodParameters:
Name Flags
a
fromIndex
toIndex
public static void parallelSort(double[]);
descriptor: ([D)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=11, locals=4, args_size=1
start local 0 0: aload 0
arraylength
istore 1
start local 1 1: iload 1
sipush 8192
if_icmple 4
2: invokestatic java.util.concurrent.ForkJoinPool.getCommonPoolParallelism:()I
dup
istore 2
start local 2 3: iconst_1
if_icmpne 5
end local 2 4: StackMap locals: int
StackMap stack:
aload 0
iconst_0
iload 1
iconst_1
isub
aconst_null
iconst_0
iconst_0
invokestatic java.util.DualPivotQuicksort.sort:([DII[DII)V
goto 13
start local 2 5: StackMap locals: int
StackMap stack:
new java.util.ArraysParallelSortHelpers$FJDouble$Sorter
dup
6: aconst_null
aload 0
iload 1
newarray 7
iconst_0
iload 1
iconst_0
7: iload 1
iload 2
iconst_2
ishl
idiv
dup
istore 3
start local 3 8: sipush 8192
if_icmpgt 10
9: sipush 8192
goto 11
StackMap locals: double[] int int int
StackMap stack: new 5 new 5 null double[] double[] int int int
10: iload 3
11: StackMap locals: double[] int int int
StackMap stack: new 5 new 5 null double[] double[] int int int int
invokespecial java.util.ArraysParallelSortHelpers$FJDouble$Sorter.<init>:(Ljava/util/concurrent/CountedCompleter;[D[DIIII)V
12: invokevirtual java.util.ArraysParallelSortHelpers$FJDouble$Sorter.invoke:()Ljava/lang/Object;
pop
end local 3 end local 2 13: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 14 0 a [D
1 14 1 n I
3 4 2 p I
5 13 2 p I
8 13 3 g I
MethodParameters:
Name Flags
a
public static void parallelSort(double[], int, int);
descriptor: ([DII)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=11, locals=6, args_size=3
start local 0 start local 1 start local 2 0: aload 0
arraylength
iload 1
iload 2
invokestatic java.util.Arrays.rangeCheck:(III)V
1: iload 2
iload 1
isub
istore 3
start local 3 2: iload 3
sipush 8192
if_icmple 5
3: invokestatic java.util.concurrent.ForkJoinPool.getCommonPoolParallelism:()I
dup
istore 4
start local 4 4: iconst_1
if_icmpne 6
end local 4 5: StackMap locals: int
StackMap stack:
aload 0
iload 1
iload 2
iconst_1
isub
aconst_null
iconst_0
iconst_0
invokestatic java.util.DualPivotQuicksort.sort:([DII[DII)V
goto 14
start local 4 6: StackMap locals: int
StackMap stack:
new java.util.ArraysParallelSortHelpers$FJDouble$Sorter
dup
7: aconst_null
aload 0
iload 3
newarray 7
iload 1
iload 3
iconst_0
8: iload 3
iload 4
iconst_2
ishl
idiv
dup
istore 5
start local 5 9: sipush 8192
if_icmpgt 11
10: sipush 8192
goto 12
StackMap locals: double[] int int int int int
StackMap stack: new 6 new 6 null double[] double[] int int int
11: iload 5
12: StackMap locals: double[] int int int int int
StackMap stack: new 6 new 6 null double[] double[] int int int int
invokespecial java.util.ArraysParallelSortHelpers$FJDouble$Sorter.<init>:(Ljava/util/concurrent/CountedCompleter;[D[DIIII)V
13: invokevirtual java.util.ArraysParallelSortHelpers$FJDouble$Sorter.invoke:()Ljava/lang/Object;
pop
end local 5 end local 4 14: StackMap locals:
StackMap stack:
return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 15 0 a [D
0 15 1 fromIndex I
0 15 2 toIndex I
2 15 3 n I
4 5 4 p I
6 14 4 p I
9 14 5 g I
MethodParameters:
Name Flags
a
fromIndex
toIndex
public static <T extends java.lang.Comparable<? super T>> void parallelSort();
descriptor: ([Ljava/lang/Comparable;)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=11, locals=4, args_size=1
start local 0 0: aload 0
arraylength
istore 1
start local 1 1: iload 1
sipush 8192
if_icmple 4
2: invokestatic java.util.concurrent.ForkJoinPool.getCommonPoolParallelism:()I
dup
istore 2
start local 2 3: iconst_1
if_icmpne 5
end local 2 4: StackMap locals: int
StackMap stack:
aload 0
iconst_0
iload 1
getstatic java.util.Arrays$NaturalOrder.INSTANCE:Ljava/util/Arrays$NaturalOrder;
aconst_null
iconst_0
iconst_0
invokestatic java.util.TimSort.sort:([Ljava/lang/Object;IILjava/util/Comparator;[Ljava/lang/Object;II)V
goto 15
start local 2 5: StackMap locals: int
StackMap stack:
new java.util.ArraysParallelSortHelpers$FJObject$Sorter
dup
6: aconst_null
aload 0
7: aload 0
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
invokevirtual java.lang.Class.getComponentType:()Ljava/lang/Class;
iload 1
invokestatic java.lang.reflect.Array.newInstance:(Ljava/lang/Class;I)Ljava/lang/Object;
checkcast java.lang.Comparable[]
8: iconst_0
iload 1
iconst_0
iload 1
iload 2
iconst_2
ishl
idiv
dup
istore 3
start local 3 9: sipush 8192
if_icmpgt 11
10: sipush 8192
goto 12
StackMap locals: java.lang.Comparable[] int int int
StackMap stack: new 5 new 5 null java.lang.Comparable[] java.lang.Comparable[] int int int
11: iload 3
StackMap locals: java.lang.Comparable[] int int int
StackMap stack: new 5 new 5 null java.lang.Comparable[] java.lang.Comparable[] int int int int
12: getstatic java.util.Arrays$NaturalOrder.INSTANCE:Ljava/util/Arrays$NaturalOrder;
13: invokespecial java.util.ArraysParallelSortHelpers$FJObject$Sorter.<init>:(Ljava/util/concurrent/CountedCompleter;[Ljava/lang/Object;[Ljava/lang/Object;IIIILjava/util/Comparator;)V
14: invokevirtual java.util.ArraysParallelSortHelpers$FJObject$Sorter.invoke:()Ljava/lang/Object;
pop
end local 3 end local 2 15: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 16 0 a [Ljava/lang/Comparable;
1 16 1 n I
3 4 2 p I
5 15 2 p I
9 15 3 g I
Signature: <T::Ljava/lang/Comparable<-TT;>;>([TT;)V
MethodParameters:
Name Flags
a
public static <T extends java.lang.Comparable<? super T>> void parallelSort(T[], int, );
descriptor: ([Ljava/lang/Comparable;II)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=11, locals=6, args_size=3
start local 0 start local 1 start local 2 0: aload 0
arraylength
iload 1
iload 2
invokestatic java.util.Arrays.rangeCheck:(III)V
1: iload 2
iload 1
isub
istore 3
start local 3 2: iload 3
sipush 8192
if_icmple 5
3: invokestatic java.util.concurrent.ForkJoinPool.getCommonPoolParallelism:()I
dup
istore 4
start local 4 4: iconst_1
if_icmpne 6
end local 4 5: StackMap locals: int
StackMap stack:
aload 0
iload 1
iload 2
getstatic java.util.Arrays$NaturalOrder.INSTANCE:Ljava/util/Arrays$NaturalOrder;
aconst_null
iconst_0
iconst_0
invokestatic java.util.TimSort.sort:([Ljava/lang/Object;IILjava/util/Comparator;[Ljava/lang/Object;II)V
goto 16
start local 4 6: StackMap locals: int
StackMap stack:
new java.util.ArraysParallelSortHelpers$FJObject$Sorter
dup
7: aconst_null
aload 0
8: aload 0
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
invokevirtual java.lang.Class.getComponentType:()Ljava/lang/Class;
iload 3
invokestatic java.lang.reflect.Array.newInstance:(Ljava/lang/Class;I)Ljava/lang/Object;
checkcast java.lang.Comparable[]
9: iload 1
iload 3
iconst_0
iload 3
iload 4
iconst_2
ishl
idiv
dup
istore 5
start local 5 10: sipush 8192
if_icmpgt 12
11: sipush 8192
goto 13
StackMap locals: java.lang.Comparable[] int int int int int
StackMap stack: new 6 new 6 null java.lang.Comparable[] java.lang.Comparable[] int int int
12: iload 5
StackMap locals: java.lang.Comparable[] int int int int int
StackMap stack: new 6 new 6 null java.lang.Comparable[] java.lang.Comparable[] int int int int
13: getstatic java.util.Arrays$NaturalOrder.INSTANCE:Ljava/util/Arrays$NaturalOrder;
14: invokespecial java.util.ArraysParallelSortHelpers$FJObject$Sorter.<init>:(Ljava/util/concurrent/CountedCompleter;[Ljava/lang/Object;[Ljava/lang/Object;IIIILjava/util/Comparator;)V
15: invokevirtual java.util.ArraysParallelSortHelpers$FJObject$Sorter.invoke:()Ljava/lang/Object;
pop
end local 5 end local 4 16: StackMap locals:
StackMap stack:
return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 17 0 a [Ljava/lang/Comparable;
0 17 1 fromIndex I
0 17 2 toIndex I
2 17 3 n I
4 5 4 p I
6 16 4 p I
10 16 5 g I
Signature: <T::Ljava/lang/Comparable<-TT;>;>([TT;II)V
MethodParameters:
Name Flags
a
fromIndex
toIndex
public static <T> void parallelSort(T[], java.util.Comparator<? super T>);
descriptor: ([Ljava/lang/Object;Ljava/util/Comparator;)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=11, locals=5, args_size=2
start local 0 start local 1 0: aload 1
ifnonnull 2
1: getstatic java.util.Arrays$NaturalOrder.INSTANCE:Ljava/util/Arrays$NaturalOrder;
astore 1
2: StackMap locals:
StackMap stack:
aload 0
arraylength
istore 2
start local 2 3: iload 2
sipush 8192
if_icmple 6
4: invokestatic java.util.concurrent.ForkJoinPool.getCommonPoolParallelism:()I
dup
istore 3
start local 3 5: iconst_1
if_icmpne 7
end local 3 6: StackMap locals: int
StackMap stack:
aload 0
iconst_0
iload 2
aload 1
aconst_null
iconst_0
iconst_0
invokestatic java.util.TimSort.sort:([Ljava/lang/Object;IILjava/util/Comparator;[Ljava/lang/Object;II)V
goto 17
start local 3 7: StackMap locals: int
StackMap stack:
new java.util.ArraysParallelSortHelpers$FJObject$Sorter
dup
8: aconst_null
aload 0
9: aload 0
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
invokevirtual java.lang.Class.getComponentType:()Ljava/lang/Class;
iload 2
invokestatic java.lang.reflect.Array.newInstance:(Ljava/lang/Class;I)Ljava/lang/Object;
checkcast java.lang.Object[]
10: iconst_0
iload 2
iconst_0
iload 2
iload 3
iconst_2
ishl
idiv
dup
istore 4
start local 4 11: sipush 8192
if_icmpgt 13
12: sipush 8192
goto 14
StackMap locals: java.lang.Object[] java.util.Comparator int int int
StackMap stack: new 7 new 7 null java.lang.Object[] java.lang.Object[] int int int
13: iload 4
StackMap locals: java.lang.Object[] java.util.Comparator int int int
StackMap stack: new 7 new 7 null java.lang.Object[] java.lang.Object[] int int int int
14: aload 1
15: invokespecial java.util.ArraysParallelSortHelpers$FJObject$Sorter.<init>:(Ljava/util/concurrent/CountedCompleter;[Ljava/lang/Object;[Ljava/lang/Object;IIIILjava/util/Comparator;)V
16: invokevirtual java.util.ArraysParallelSortHelpers$FJObject$Sorter.invoke:()Ljava/lang/Object;
pop
end local 4 end local 3 17: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 18 0 a [Ljava/lang/Object;
0 18 1 cmp Ljava/util/Comparator<-TT;>;
3 18 2 n I
5 6 3 p I
7 17 3 p I
11 17 4 g I
Signature: <T:Ljava/lang/Object;>([TT;Ljava/util/Comparator<-TT;>;)V
MethodParameters:
Name Flags
a
cmp
public static <T> void parallelSort(T[], int, int, java.util.Comparator<? super T>);
descriptor: ([Ljava/lang/Object;IILjava/util/Comparator;)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=11, locals=7, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
arraylength
iload 1
iload 2
invokestatic java.util.Arrays.rangeCheck:(III)V
1: aload 3
ifnonnull 3
2: getstatic java.util.Arrays$NaturalOrder.INSTANCE:Ljava/util/Arrays$NaturalOrder;
astore 3
3: StackMap locals:
StackMap stack:
iload 2
iload 1
isub
istore 4
start local 4 4: iload 4
sipush 8192
if_icmple 7
5: invokestatic java.util.concurrent.ForkJoinPool.getCommonPoolParallelism:()I
dup
istore 5
start local 5 6: iconst_1
if_icmpne 8
end local 5 7: StackMap locals: int
StackMap stack:
aload 0
iload 1
iload 2
aload 3
aconst_null
iconst_0
iconst_0
invokestatic java.util.TimSort.sort:([Ljava/lang/Object;IILjava/util/Comparator;[Ljava/lang/Object;II)V
goto 18
start local 5 8: StackMap locals: int
StackMap stack:
new java.util.ArraysParallelSortHelpers$FJObject$Sorter
dup
9: aconst_null
aload 0
10: aload 0
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
invokevirtual java.lang.Class.getComponentType:()Ljava/lang/Class;
iload 4
invokestatic java.lang.reflect.Array.newInstance:(Ljava/lang/Class;I)Ljava/lang/Object;
checkcast java.lang.Object[]
11: iload 1
iload 4
iconst_0
iload 4
iload 5
iconst_2
ishl
idiv
dup
istore 6
start local 6 12: sipush 8192
if_icmpgt 14
13: sipush 8192
goto 15
StackMap locals: java.lang.Object[] int int java.util.Comparator int int int
StackMap stack: new 8 new 8 null java.lang.Object[] java.lang.Object[] int int int
14: iload 6
StackMap locals: java.lang.Object[] int int java.util.Comparator int int int
StackMap stack: new 8 new 8 null java.lang.Object[] java.lang.Object[] int int int int
15: aload 3
16: invokespecial java.util.ArraysParallelSortHelpers$FJObject$Sorter.<init>:(Ljava/util/concurrent/CountedCompleter;[Ljava/lang/Object;[Ljava/lang/Object;IIIILjava/util/Comparator;)V
17: invokevirtual java.util.ArraysParallelSortHelpers$FJObject$Sorter.invoke:()Ljava/lang/Object;
pop
end local 6 end local 5 18: StackMap locals:
StackMap stack:
return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 19 0 a [Ljava/lang/Object;
0 19 1 fromIndex I
0 19 2 toIndex I
0 19 3 cmp Ljava/util/Comparator<-TT;>;
4 19 4 n I
6 7 5 p I
8 18 5 p I
12 18 6 g I
Signature: <T:Ljava/lang/Object;>([TT;IILjava/util/Comparator<-TT;>;)V
MethodParameters:
Name Flags
a
fromIndex
toIndex
cmp
public static void sort(java.lang.Object[]);
descriptor: ([Ljava/lang/Object;)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=6, locals=1, args_size=1
start local 0 0: getstatic java.util.Arrays$LegacyMergeSort.userRequested:Z
ifeq 2
1: aload 0
invokestatic java.util.Arrays.legacyMergeSort:([Ljava/lang/Object;)V
goto 3
2: StackMap locals:
StackMap stack:
aload 0
iconst_0
aload 0
arraylength
aconst_null
iconst_0
iconst_0
invokestatic java.util.ComparableTimSort.sort:([Ljava/lang/Object;II[Ljava/lang/Object;II)V
3: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 a [Ljava/lang/Object;
MethodParameters:
Name Flags
a
private static void legacyMergeSort(java.lang.Object[]);
descriptor: ([Ljava/lang/Object;)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=5, locals=2, args_size=1
start local 0 0: aload 0
invokevirtual java.lang.Object[].clone:()Ljava/lang/Object;
checkcast java.lang.Object[]
astore 1
start local 1 1: aload 1
aload 0
iconst_0
aload 0
arraylength
iconst_0
invokestatic java.util.Arrays.mergeSort:([Ljava/lang/Object;[Ljava/lang/Object;III)V
2: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 a [Ljava/lang/Object;
1 3 1 aux [Ljava/lang/Object;
MethodParameters:
Name Flags
a
public static void sort(java.lang.Object[], int, int);
descriptor: ([Ljava/lang/Object;II)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=6, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
arraylength
iload 1
iload 2
invokestatic java.util.Arrays.rangeCheck:(III)V
1: getstatic java.util.Arrays$LegacyMergeSort.userRequested:Z
ifeq 3
2: aload 0
iload 1
iload 2
invokestatic java.util.Arrays.legacyMergeSort:([Ljava/lang/Object;II)V
goto 4
3: StackMap locals:
StackMap stack:
aload 0
iload 1
iload 2
aconst_null
iconst_0
iconst_0
invokestatic java.util.ComparableTimSort.sort:([Ljava/lang/Object;II[Ljava/lang/Object;II)V
4: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 a [Ljava/lang/Object;
0 5 1 fromIndex I
0 5 2 toIndex I
MethodParameters:
Name Flags
a
fromIndex
toIndex
private static void legacyMergeSort(java.lang.Object[], int, int);
descriptor: ([Ljava/lang/Object;II)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=5, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 0
iload 1
iload 2
invokestatic java.util.Arrays.copyOfRange:([Ljava/lang/Object;II)[Ljava/lang/Object;
astore 3
start local 3 1: aload 3
aload 0
iload 1
iload 2
iload 1
ineg
invokestatic java.util.Arrays.mergeSort:([Ljava/lang/Object;[Ljava/lang/Object;III)V
2: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 a [Ljava/lang/Object;
0 3 1 fromIndex I
0 3 2 toIndex I
1 3 3 aux [Ljava/lang/Object;
MethodParameters:
Name Flags
a
fromIndex
toIndex
private static void mergeSort(java.lang.Object[], java.lang.Object[], int, int, int);
descriptor: ([Ljava/lang/Object;[Ljava/lang/Object;III)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=5, locals=12, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: iload 3
iload 2
isub
istore 5
start local 5 1: iload 5
bipush 7
if_icmpge 14
2: iload 2
istore 6
start local 6 3: goto 12
4: StackMap locals: int int
StackMap stack:
iload 6
istore 7
start local 7 5: goto 8
6: StackMap locals: int
StackMap stack:
aload 1
iload 7
iload 7
iconst_1
isub
invokestatic java.util.Arrays.swap:([Ljava/lang/Object;II)V
7: iinc 7 -1
8: StackMap locals:
StackMap stack:
iload 7
iload 2
if_icmple 11
9: aload 1
iload 7
iconst_1
isub
aaload
checkcast java.lang.Comparable
aload 1
iload 7
aaload
invokeinterface java.lang.Comparable.compareTo:(Ljava/lang/Object;)I
10: ifgt 6
end local 7 11: StackMap locals:
StackMap stack:
iinc 6 1
StackMap locals:
StackMap stack:
12: iload 6
iload 3
if_icmplt 4
end local 6 13: return
14: StackMap locals:
StackMap stack:
iload 2
istore 6
start local 6 15: iload 3
istore 7
start local 7 16: iload 2
iload 4
iadd
istore 2
17: iload 3
iload 4
iadd
istore 3
18: iload 2
iload 3
iadd
iconst_1
iushr
istore 8
start local 8 19: aload 1
aload 0
iload 2
iload 8
iload 4
ineg
invokestatic java.util.Arrays.mergeSort:([Ljava/lang/Object;[Ljava/lang/Object;III)V
20: aload 1
aload 0
iload 8
iload 3
iload 4
ineg
invokestatic java.util.Arrays.mergeSort:([Ljava/lang/Object;[Ljava/lang/Object;III)V
21: aload 0
iload 8
iconst_1
isub
aaload
checkcast java.lang.Comparable
aload 0
iload 8
aaload
invokeinterface java.lang.Comparable.compareTo:(Ljava/lang/Object;)I
ifgt 24
22: aload 0
iload 2
aload 1
iload 6
iload 5
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
23: return
24: StackMap locals: int int int
StackMap stack:
iload 6
istore 9
start local 9 25: iload 2
istore 10
start local 10 26: iload 8
istore 11
start local 11 27: goto 32
28: StackMap locals: int int int
StackMap stack:
iload 11
iload 3
if_icmpge 29
iload 10
iload 8
if_icmpge 30
aload 0
iload 10
aaload
checkcast java.lang.Comparable
aload 0
iload 11
aaload
invokeinterface java.lang.Comparable.compareTo:(Ljava/lang/Object;)I
ifgt 30
29: StackMap locals:
StackMap stack:
aload 1
iload 9
aload 0
iload 10
iinc 10 1
aaload
aastore
goto 31
30: StackMap locals:
StackMap stack:
aload 1
iload 9
aload 0
iload 11
iinc 11 1
aaload
aastore
31: StackMap locals:
StackMap stack:
iinc 9 1
StackMap locals:
StackMap stack:
32: iload 9
iload 7
if_icmplt 28
end local 11 end local 10 end local 9 33: return
end local 8 end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 34 0 src [Ljava/lang/Object;
0 34 1 dest [Ljava/lang/Object;
0 34 2 low I
0 34 3 high I
0 34 4 off I
1 34 5 length I
3 13 6 i I
5 11 7 j I
15 34 6 destLow I
16 34 7 destHigh I
19 34 8 mid I
25 33 9 i I
26 33 10 p I
27 33 11 q I
MethodParameters:
Name Flags
src
dest
low
high
off
private static void swap(java.lang.Object[], int, int);
descriptor: ([Ljava/lang/Object;II)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=4, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 0
iload 1
aaload
astore 3
start local 3 1: aload 0
iload 1
aload 0
iload 2
aaload
aastore
2: aload 0
iload 2
aload 3
aastore
3: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 x [Ljava/lang/Object;
0 4 1 a I
0 4 2 b I
1 4 3 t Ljava/lang/Object;
MethodParameters:
Name Flags
x
a
b
public static <T> void sort(T[], java.util.Comparator<? super T>);
descriptor: ([Ljava/lang/Object;Ljava/util/Comparator;)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=7, locals=2, args_size=2
start local 0 start local 1 0: aload 1
ifnonnull 3
1: aload 0
invokestatic java.util.Arrays.sort:([Ljava/lang/Object;)V
2: goto 6
3: StackMap locals:
StackMap stack:
getstatic java.util.Arrays$LegacyMergeSort.userRequested:Z
ifeq 5
4: aload 0
aload 1
invokestatic java.util.Arrays.legacyMergeSort:([Ljava/lang/Object;Ljava/util/Comparator;)V
goto 6
5: StackMap locals:
StackMap stack:
aload 0
iconst_0
aload 0
arraylength
aload 1
aconst_null
iconst_0
iconst_0
invokestatic java.util.TimSort.sort:([Ljava/lang/Object;IILjava/util/Comparator;[Ljava/lang/Object;II)V
6: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 a [Ljava/lang/Object;
0 7 1 c Ljava/util/Comparator<-TT;>;
Signature: <T:Ljava/lang/Object;>([TT;Ljava/util/Comparator<-TT;>;)V
MethodParameters:
Name Flags
a
c
private static <T> void legacyMergeSort(T[], java.util.Comparator<? super T>);
descriptor: ([Ljava/lang/Object;Ljava/util/Comparator;)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=6, locals=3, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual java.lang.Object[].clone:()Ljava/lang/Object;
checkcast java.lang.Object[]
astore 2
start local 2 1: aload 1
ifnonnull 3
2: aload 2
aload 0
iconst_0
aload 0
arraylength
iconst_0
invokestatic java.util.Arrays.mergeSort:([Ljava/lang/Object;[Ljava/lang/Object;III)V
goto 4
3: StackMap locals: java.lang.Object[]
StackMap stack:
aload 2
aload 0
iconst_0
aload 0
arraylength
iconst_0
aload 1
invokestatic java.util.Arrays.mergeSort:([Ljava/lang/Object;[Ljava/lang/Object;IIILjava/util/Comparator;)V
4: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 a [Ljava/lang/Object;
0 5 1 c Ljava/util/Comparator<-TT;>;
1 5 2 aux [Ljava/lang/Object;
Signature: <T:Ljava/lang/Object;>([TT;Ljava/util/Comparator<-TT;>;)V
MethodParameters:
Name Flags
a
c
public static <T> void sort(T[], int, int, java.util.Comparator<? super T>);
descriptor: ([Ljava/lang/Object;IILjava/util/Comparator;)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=7, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 3
ifnonnull 3
1: aload 0
iload 1
iload 2
invokestatic java.util.Arrays.sort:([Ljava/lang/Object;II)V
2: goto 7
3: StackMap locals:
StackMap stack:
aload 0
arraylength
iload 1
iload 2
invokestatic java.util.Arrays.rangeCheck:(III)V
4: getstatic java.util.Arrays$LegacyMergeSort.userRequested:Z
ifeq 6
5: aload 0
iload 1
iload 2
aload 3
invokestatic java.util.Arrays.legacyMergeSort:([Ljava/lang/Object;IILjava/util/Comparator;)V
goto 7
6: StackMap locals:
StackMap stack:
aload 0
iload 1
iload 2
aload 3
aconst_null
iconst_0
iconst_0
invokestatic java.util.TimSort.sort:([Ljava/lang/Object;IILjava/util/Comparator;[Ljava/lang/Object;II)V
7: StackMap locals:
StackMap stack:
return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 a [Ljava/lang/Object;
0 8 1 fromIndex I
0 8 2 toIndex I
0 8 3 c Ljava/util/Comparator<-TT;>;
Signature: <T:Ljava/lang/Object;>([TT;IILjava/util/Comparator<-TT;>;)V
MethodParameters:
Name Flags
a
fromIndex
toIndex
c
private static <T> void legacyMergeSort(T[], int, int, java.util.Comparator<? super T>);
descriptor: ([Ljava/lang/Object;IILjava/util/Comparator;)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=6, locals=5, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
iload 1
iload 2
invokestatic java.util.Arrays.copyOfRange:([Ljava/lang/Object;II)[Ljava/lang/Object;
astore 4
start local 4 1: aload 3
ifnonnull 3
2: aload 4
aload 0
iload 1
iload 2
iload 1
ineg
invokestatic java.util.Arrays.mergeSort:([Ljava/lang/Object;[Ljava/lang/Object;III)V
goto 4
3: StackMap locals: java.lang.Object[]
StackMap stack:
aload 4
aload 0
iload 1
iload 2
iload 1
ineg
aload 3
invokestatic java.util.Arrays.mergeSort:([Ljava/lang/Object;[Ljava/lang/Object;IIILjava/util/Comparator;)V
4: StackMap locals:
StackMap stack:
return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 a [Ljava/lang/Object;
0 5 1 fromIndex I
0 5 2 toIndex I
0 5 3 c Ljava/util/Comparator<-TT;>;
1 5 4 aux [Ljava/lang/Object;
Signature: <T:Ljava/lang/Object;>([TT;IILjava/util/Comparator<-TT;>;)V
MethodParameters:
Name Flags
a
fromIndex
toIndex
c
private static void mergeSort(java.lang.Object[], java.lang.Object[], int, int, int, java.util.Comparator);
descriptor: ([Ljava/lang/Object;[Ljava/lang/Object;IIILjava/util/Comparator;)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=6, locals=13, args_size=6
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 0: iload 3
iload 2
isub
istore 6
start local 6 1: iload 6
bipush 7
if_icmpge 12
2: iload 2
istore 7
start local 7 3: goto 10
4: StackMap locals: int int
StackMap stack:
iload 7
istore 8
start local 8 5: goto 8
6: StackMap locals: int
StackMap stack:
aload 1
iload 8
iload 8
iconst_1
isub
invokestatic java.util.Arrays.swap:([Ljava/lang/Object;II)V
7: iinc 8 -1
StackMap locals:
StackMap stack:
8: iload 8
iload 2
if_icmple 9
aload 5
aload 1
iload 8
iconst_1
isub
aaload
aload 1
iload 8
aaload
invokeinterface java.util.Comparator.compare:(Ljava/lang/Object;Ljava/lang/Object;)I
ifgt 6
end local 8 9: StackMap locals:
StackMap stack:
iinc 7 1
StackMap locals:
StackMap stack:
10: iload 7
iload 3
if_icmplt 4
end local 7 11: return
12: StackMap locals:
StackMap stack:
iload 2
istore 7
start local 7 13: iload 3
istore 8
start local 8 14: iload 2
iload 4
iadd
istore 2
15: iload 3
iload 4
iadd
istore 3
16: iload 2
iload 3
iadd
iconst_1
iushr
istore 9
start local 9 17: aload 1
aload 0
iload 2
iload 9
iload 4
ineg
aload 5
invokestatic java.util.Arrays.mergeSort:([Ljava/lang/Object;[Ljava/lang/Object;IIILjava/util/Comparator;)V
18: aload 1
aload 0
iload 9
iload 3
iload 4
ineg
aload 5
invokestatic java.util.Arrays.mergeSort:([Ljava/lang/Object;[Ljava/lang/Object;IIILjava/util/Comparator;)V
19: aload 5
aload 0
iload 9
iconst_1
isub
aaload
aload 0
iload 9
aaload
invokeinterface java.util.Comparator.compare:(Ljava/lang/Object;Ljava/lang/Object;)I
ifgt 22
20: aload 0
iload 2
aload 1
iload 7
iload 6
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
21: return
22: StackMap locals: int int int
StackMap stack:
iload 7
istore 10
start local 10 23: iload 2
istore 11
start local 11 24: iload 9
istore 12
start local 12 25: goto 30
26: StackMap locals: int int int
StackMap stack:
iload 12
iload 3
if_icmpge 27
iload 11
iload 9
if_icmpge 28
aload 5
aload 0
iload 11
aaload
aload 0
iload 12
aaload
invokeinterface java.util.Comparator.compare:(Ljava/lang/Object;Ljava/lang/Object;)I
ifgt 28
27: StackMap locals:
StackMap stack:
aload 1
iload 10
aload 0
iload 11
iinc 11 1
aaload
aastore
goto 29
28: StackMap locals:
StackMap stack:
aload 1
iload 10
aload 0
iload 12
iinc 12 1
aaload
aastore
29: StackMap locals:
StackMap stack:
iinc 10 1
StackMap locals:
StackMap stack:
30: iload 10
iload 8
if_icmplt 26
end local 12 end local 11 end local 10 31: return
end local 9 end local 8 end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 32 0 src [Ljava/lang/Object;
0 32 1 dest [Ljava/lang/Object;
0 32 2 low I
0 32 3 high I
0 32 4 off I
0 32 5 c Ljava/util/Comparator;
1 32 6 length I
3 11 7 i I
5 9 8 j I
13 32 7 destLow I
14 32 8 destHigh I
17 32 9 mid I
23 31 10 i I
24 31 11 p I
25 31 12 q I
MethodParameters:
Name Flags
src
dest
low
high
off
c
public static <T> void parallelPrefix(T[], java.util.function.BinaryOperator<T>);
descriptor: ([Ljava/lang/Object;Ljava/util/function/BinaryOperator;)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=7, locals=2, args_size=2
start local 0 start local 1 0: aload 1
invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;)Ljava/lang/Object;
pop
1: aload 0
arraylength
ifle 6
2: new java.util.ArrayPrefixHelpers$CumulateTask
dup
3: aconst_null
aload 1
aload 0
iconst_0
aload 0
arraylength
4: invokespecial java.util.ArrayPrefixHelpers$CumulateTask.<init>:(Ljava/util/ArrayPrefixHelpers$CumulateTask;Ljava/util/function/BinaryOperator;[Ljava/lang/Object;II)V
5: invokevirtual java.util.ArrayPrefixHelpers$CumulateTask.invoke:()Ljava/lang/Object;
pop
6: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 array [Ljava/lang/Object;
0 7 1 op Ljava/util/function/BinaryOperator<TT;>;
Signature: <T:Ljava/lang/Object;>([TT;Ljava/util/function/BinaryOperator<TT;>;)V
MethodParameters:
Name Flags
array
op
public static <T> void parallelPrefix(T[], int, int, java.util.function.BinaryOperator<T>);
descriptor: ([Ljava/lang/Object;IILjava/util/function/BinaryOperator;)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=7, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 3
invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;)Ljava/lang/Object;
pop
1: aload 0
arraylength
iload 1
iload 2
invokestatic java.util.Arrays.rangeCheck:(III)V
2: iload 1
iload 2
if_icmpge 7
3: new java.util.ArrayPrefixHelpers$CumulateTask
dup
4: aconst_null
aload 3
aload 0
iload 1
iload 2
5: invokespecial java.util.ArrayPrefixHelpers$CumulateTask.<init>:(Ljava/util/ArrayPrefixHelpers$CumulateTask;Ljava/util/function/BinaryOperator;[Ljava/lang/Object;II)V
6: invokevirtual java.util.ArrayPrefixHelpers$CumulateTask.invoke:()Ljava/lang/Object;
pop
7: StackMap locals:
StackMap stack:
return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 array [Ljava/lang/Object;
0 8 1 fromIndex I
0 8 2 toIndex I
0 8 3 op Ljava/util/function/BinaryOperator<TT;>;
Signature: <T:Ljava/lang/Object;>([TT;IILjava/util/function/BinaryOperator<TT;>;)V
MethodParameters:
Name Flags
array
fromIndex
toIndex
op
public static void parallelPrefix(long[], java.util.function.LongBinaryOperator);
descriptor: ([JLjava/util/function/LongBinaryOperator;)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=7, locals=2, args_size=2
start local 0 start local 1 0: aload 1
invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;)Ljava/lang/Object;
pop
1: aload 0
arraylength
ifle 6
2: new java.util.ArrayPrefixHelpers$LongCumulateTask
dup
3: aconst_null
aload 1
aload 0
iconst_0
aload 0
arraylength
4: invokespecial java.util.ArrayPrefixHelpers$LongCumulateTask.<init>:(Ljava/util/ArrayPrefixHelpers$LongCumulateTask;Ljava/util/function/LongBinaryOperator;[JII)V
5: invokevirtual java.util.ArrayPrefixHelpers$LongCumulateTask.invoke:()Ljava/lang/Object;
pop
6: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 array [J
0 7 1 op Ljava/util/function/LongBinaryOperator;
MethodParameters:
Name Flags
array
op
public static void parallelPrefix(long[], int, int, java.util.function.LongBinaryOperator);
descriptor: ([JIILjava/util/function/LongBinaryOperator;)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=7, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 3
invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;)Ljava/lang/Object;
pop
1: aload 0
arraylength
iload 1
iload 2
invokestatic java.util.Arrays.rangeCheck:(III)V
2: iload 1
iload 2
if_icmpge 7
3: new java.util.ArrayPrefixHelpers$LongCumulateTask
dup
4: aconst_null
aload 3
aload 0
iload 1
iload 2
5: invokespecial java.util.ArrayPrefixHelpers$LongCumulateTask.<init>:(Ljava/util/ArrayPrefixHelpers$LongCumulateTask;Ljava/util/function/LongBinaryOperator;[JII)V
6: invokevirtual java.util.ArrayPrefixHelpers$LongCumulateTask.invoke:()Ljava/lang/Object;
pop
7: StackMap locals:
StackMap stack:
return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 array [J
0 8 1 fromIndex I
0 8 2 toIndex I
0 8 3 op Ljava/util/function/LongBinaryOperator;
MethodParameters:
Name Flags
array
fromIndex
toIndex
op
public static void parallelPrefix(double[], java.util.function.DoubleBinaryOperator);
descriptor: ([DLjava/util/function/DoubleBinaryOperator;)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=7, locals=2, args_size=2
start local 0 start local 1 0: aload 1
invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;)Ljava/lang/Object;
pop
1: aload 0
arraylength
ifle 6
2: new java.util.ArrayPrefixHelpers$DoubleCumulateTask
dup
3: aconst_null
aload 1
aload 0
iconst_0
aload 0
arraylength
4: invokespecial java.util.ArrayPrefixHelpers$DoubleCumulateTask.<init>:(Ljava/util/ArrayPrefixHelpers$DoubleCumulateTask;Ljava/util/function/DoubleBinaryOperator;[DII)V
5: invokevirtual java.util.ArrayPrefixHelpers$DoubleCumulateTask.invoke:()Ljava/lang/Object;
pop
6: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 array [D
0 7 1 op Ljava/util/function/DoubleBinaryOperator;
MethodParameters:
Name Flags
array
op
public static void parallelPrefix(double[], int, int, java.util.function.DoubleBinaryOperator);
descriptor: ([DIILjava/util/function/DoubleBinaryOperator;)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=7, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 3
invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;)Ljava/lang/Object;
pop
1: aload 0
arraylength
iload 1
iload 2
invokestatic java.util.Arrays.rangeCheck:(III)V
2: iload 1
iload 2
if_icmpge 7
3: new java.util.ArrayPrefixHelpers$DoubleCumulateTask
dup
4: aconst_null
aload 3
aload 0
iload 1
iload 2
5: invokespecial java.util.ArrayPrefixHelpers$DoubleCumulateTask.<init>:(Ljava/util/ArrayPrefixHelpers$DoubleCumulateTask;Ljava/util/function/DoubleBinaryOperator;[DII)V
6: invokevirtual java.util.ArrayPrefixHelpers$DoubleCumulateTask.invoke:()Ljava/lang/Object;
pop
7: StackMap locals:
StackMap stack:
return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 array [D
0 8 1 fromIndex I
0 8 2 toIndex I
0 8 3 op Ljava/util/function/DoubleBinaryOperator;
MethodParameters:
Name Flags
array
fromIndex
toIndex
op
public static void parallelPrefix(int[], java.util.function.IntBinaryOperator);
descriptor: ([ILjava/util/function/IntBinaryOperator;)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=7, locals=2, args_size=2
start local 0 start local 1 0: aload 1
invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;)Ljava/lang/Object;
pop
1: aload 0
arraylength
ifle 6
2: new java.util.ArrayPrefixHelpers$IntCumulateTask
dup
3: aconst_null
aload 1
aload 0
iconst_0
aload 0
arraylength
4: invokespecial java.util.ArrayPrefixHelpers$IntCumulateTask.<init>:(Ljava/util/ArrayPrefixHelpers$IntCumulateTask;Ljava/util/function/IntBinaryOperator;[III)V
5: invokevirtual java.util.ArrayPrefixHelpers$IntCumulateTask.invoke:()Ljava/lang/Object;
pop
6: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 array [I
0 7 1 op Ljava/util/function/IntBinaryOperator;
MethodParameters:
Name Flags
array
op
public static void parallelPrefix(int[], int, int, java.util.function.IntBinaryOperator);
descriptor: ([IIILjava/util/function/IntBinaryOperator;)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=7, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 3
invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;)Ljava/lang/Object;
pop
1: aload 0
arraylength
iload 1
iload 2
invokestatic java.util.Arrays.rangeCheck:(III)V
2: iload 1
iload 2
if_icmpge 7
3: new java.util.ArrayPrefixHelpers$IntCumulateTask
dup
4: aconst_null
aload 3
aload 0
iload 1
iload 2
5: invokespecial java.util.ArrayPrefixHelpers$IntCumulateTask.<init>:(Ljava/util/ArrayPrefixHelpers$IntCumulateTask;Ljava/util/function/IntBinaryOperator;[III)V
6: invokevirtual java.util.ArrayPrefixHelpers$IntCumulateTask.invoke:()Ljava/lang/Object;
pop
7: StackMap locals:
StackMap stack:
return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 array [I
0 8 1 fromIndex I
0 8 2 toIndex I
0 8 3 op Ljava/util/function/IntBinaryOperator;
MethodParameters:
Name Flags
array
fromIndex
toIndex
op
public static int binarySearch(long[], long);
descriptor: ([JJ)I
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=5, locals=3, args_size=2
start local 0 start local 1 0: aload 0
iconst_0
aload 0
arraylength
lload 1
invokestatic java.util.Arrays.binarySearch0:([JIIJ)I
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 a [J
0 1 1 key J
MethodParameters:
Name Flags
a
key
public static int binarySearch(long[], int, int, long);
descriptor: ([JIIJ)I
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=5, locals=5, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
arraylength
iload 1
iload 2
invokestatic java.util.Arrays.rangeCheck:(III)V
1: aload 0
iload 1
iload 2
lload 3
invokestatic java.util.Arrays.binarySearch0:([JIIJ)I
ireturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 a [J
0 2 1 fromIndex I
0 2 2 toIndex I
0 2 3 key J
MethodParameters:
Name Flags
a
fromIndex
toIndex
key
private static int binarySearch0(long[], int, int, long);
descriptor: ([JIIJ)I
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=4, locals=10, args_size=4
start local 0 start local 1 start local 2 start local 3 0: iload 1
istore 5
start local 5 1: iload 2
iconst_1
isub
istore 6
start local 6 2: goto 10
3: StackMap locals: int int
StackMap stack:
iload 5
iload 6
iadd
iconst_1
iushr
istore 7
start local 7 4: aload 0
iload 7
laload
lstore 8
start local 8 5: lload 8
lload 3
lcmp
ifge 7
6: iload 7
iconst_1
iadd
istore 5
goto 10
7: StackMap locals: int long
StackMap stack:
lload