public class it.unimi.dsi.fastutil.Arrays
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: it.unimi.dsi.fastutil.Arrays
super_class: java.lang.Object
{
public static final int MAX_ARRAY_SIZE;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 2147483639
private static final int MERGESORT_NO_REC;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 16
private static final int QUICKSORT_NO_REC;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 16
private static final int PARALLEL_QUICKSORT_NO_FORK;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 8192
private static final int QUICKSORT_MEDIAN_OF_9;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 128
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 Lit/unimi/dsi/fastutil/Arrays;
public static void ensureFromTo(int, int, int);
descriptor: (III)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=5, locals=3, args_size=3
start local 0 start local 1 start local 2 0: iload 1
ifge 1
new java.lang.ArrayIndexOutOfBoundsException
dup
new java.lang.StringBuilder
dup
ldc "Start index ("
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 1
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc ") is negative"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.lang.ArrayIndexOutOfBoundsException.<init>:(Ljava/lang/String;)V
athrow
1: StackMap locals:
StackMap stack:
iload 1
iload 2
if_icmple 2
new java.lang.IllegalArgumentException
dup
new java.lang.StringBuilder
dup
ldc "Start index ("
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 1
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc ") is greater than end index ("
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;
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
2: StackMap locals:
StackMap stack:
iload 2
iload 0
if_icmple 3
new java.lang.ArrayIndexOutOfBoundsException
dup
new java.lang.StringBuilder
dup
ldc "End index ("
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 2
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc ") is greater than array length ("
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
iload 0
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;
invokespecial java.lang.ArrayIndexOutOfBoundsException.<init>:(Ljava/lang/String;)V
athrow
3: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 arrayLength I
0 4 1 from I
0 4 2 to I
MethodParameters:
Name Flags
arrayLength final
from final
to final
public static void ensureOffsetLength(int, int, int);
descriptor: (III)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=5, locals=3, args_size=3
start local 0 start local 1 start local 2 0: iload 1
ifge 1
new java.lang.ArrayIndexOutOfBoundsException
dup
new java.lang.StringBuilder
dup
ldc "Offset ("
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 1
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc ") is negative"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.lang.ArrayIndexOutOfBoundsException.<init>:(Ljava/lang/String;)V
athrow
1: StackMap locals:
StackMap stack:
iload 2
ifge 2
new java.lang.IllegalArgumentException
dup
new java.lang.StringBuilder
dup
ldc "Length ("
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 2
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc ") is negative"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
2: StackMap locals:
StackMap stack:
iload 1
iload 2
iadd
iload 0
if_icmple 3
new java.lang.ArrayIndexOutOfBoundsException
dup
new java.lang.StringBuilder
dup
ldc "Last index ("
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 1
iload 2
iadd
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc ") is greater than array length ("
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
iload 0
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;
invokespecial java.lang.ArrayIndexOutOfBoundsException.<init>:(Ljava/lang/String;)V
athrow
3: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 arrayLength I
0 4 1 offset I
0 4 2 length I
MethodParameters:
Name Flags
arrayLength final
offset final
length final
private static void inPlaceMerge(int, int, int, it.unimi.dsi.fastutil.ints.IntComparator, it.unimi.dsi.fastutil.Swapper);
descriptor: (IIILit/unimi/dsi/fastutil/ints/IntComparator;Lit/unimi/dsi/fastutil/Swapper;)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 0
iload 1
if_icmpge 1
iload 1
iload 2
if_icmplt 2
StackMap locals:
StackMap stack:
1: return
2: StackMap locals:
StackMap stack:
iload 2
iload 0
isub
iconst_2
if_icmpne 5
3: aload 3
iload 1
iload 0
invokeinterface it.unimi.dsi.fastutil.ints.IntComparator.compare:(II)I
ifge 4
aload 4
iload 0
iload 1
invokeinterface it.unimi.dsi.fastutil.Swapper.swap:(II)V
4: StackMap locals:
StackMap stack:
return
5: StackMap locals:
StackMap stack:
iload 1
iload 0
isub
iload 2
iload 1
isub
if_icmple 9
6: iload 0
iload 1
iload 0
isub
iconst_2
idiv
iadd
istore 5
start local 5 7: iload 1
iload 2
iload 5
aload 3
invokestatic it.unimi.dsi.fastutil.Arrays.lowerBound:(IIILit/unimi/dsi/fastutil/ints/IntComparator;)I
istore 6
start local 6 8: goto 11
end local 6 end local 5 9: StackMap locals:
StackMap stack:
iload 1
iload 2
iload 1
isub
iconst_2
idiv
iadd
istore 6
start local 6 10: iload 0
iload 1
iload 6
aload 3
invokestatic it.unimi.dsi.fastutil.Arrays.upperBound:(IIILit/unimi/dsi/fastutil/ints/IntComparator;)I
istore 5
start local 5 11: StackMap locals: int int
StackMap stack:
iload 5
istore 7
start local 7 12: iload 1
istore 8
start local 8 13: iload 6
istore 9
start local 9 14: iload 8
iload 7
if_icmpeq 30
iload 8
iload 9
if_icmpeq 30
15: iload 7
istore 10
start local 10 16: iload 8
istore 11
start local 11 17: goto 19
18: StackMap locals: int int int it.unimi.dsi.fastutil.ints.IntComparator it.unimi.dsi.fastutil.Swapper int int int int int int int
StackMap stack:
aload 4
iload 10
iinc 10 1
iload 11
invokeinterface it.unimi.dsi.fastutil.Swapper.swap:(II)V
19: StackMap locals:
StackMap stack:
iload 10
iinc 11 -1
iload 11
if_icmplt 18
20: iload 8
istore 10
21: iload 9
istore 11
22: goto 24
23: StackMap locals:
StackMap stack:
aload 4
iload 10
iinc 10 1
iload 11
invokeinterface it.unimi.dsi.fastutil.Swapper.swap:(II)V
24: StackMap locals:
StackMap stack:
iload 10
iinc 11 -1
iload 11
if_icmplt 23
25: iload 7
istore 10
26: iload 9
istore 11
27: goto 29
28: StackMap locals:
StackMap stack:
aload 4
iload 10
iinc 10 1
iload 11
invokeinterface it.unimi.dsi.fastutil.Swapper.swap:(II)V
29: StackMap locals:
StackMap stack:
iload 10
iinc 11 -1
iload 11
if_icmplt 28
end local 11 end local 10 30: StackMap locals:
StackMap stack:
iload 5
iload 6
iload 1
isub
iadd
istore 1
31: iload 0
iload 5
iload 1
aload 3
aload 4
invokestatic it.unimi.dsi.fastutil.Arrays.inPlaceMerge:(IIILit/unimi/dsi/fastutil/ints/IntComparator;Lit/unimi/dsi/fastutil/Swapper;)V
32: iload 1
iload 6
iload 2
aload 3
aload 4
invokestatic it.unimi.dsi.fastutil.Arrays.inPlaceMerge:(IIILit/unimi/dsi/fastutil/ints/IntComparator;Lit/unimi/dsi/fastutil/Swapper;)V
33: 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 34 0 from I
0 34 1 mid I
0 34 2 to I
0 34 3 comp Lit/unimi/dsi/fastutil/ints/IntComparator;
0 34 4 swapper Lit/unimi/dsi/fastutil/Swapper;
7 9 5 firstCut I
11 34 5 firstCut I
8 9 6 secondCut I
10 34 6 secondCut I
12 34 7 first2 I
13 34 8 middle2 I
14 34 9 last2 I
16 30 10 first1 I
17 30 11 last1 I
MethodParameters:
Name Flags
from final
mid
to final
comp final
swapper final
private static int lowerBound(int, int, int, it.unimi.dsi.fastutil.ints.IntComparator);
descriptor: (IIILit/unimi/dsi/fastutil/ints/IntComparator;)I
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=3, locals=7, args_size=4
start local 0 start local 1 start local 2 start local 3 0: iload 1
iload 0
isub
istore 4
start local 4 1: goto 9
2: StackMap locals: int
StackMap stack:
iload 4
iconst_2
idiv
istore 5
start local 5 3: iload 0
iload 5
iadd
istore 6
start local 6 4: aload 3
iload 6
iload 2
invokeinterface it.unimi.dsi.fastutil.ints.IntComparator.compare:(II)I
ifge 8
5: iload 6
iconst_1
iadd
istore 0
6: iload 4
iload 5
iconst_1
iadd
isub
istore 4
7: goto 9
8: StackMap locals: int int
StackMap stack:
iload 5
istore 4
end local 6 end local 5 9: StackMap locals:
StackMap stack:
iload 4
ifgt 2
10: iload 0
ireturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 from I
0 11 1 to I
0 11 2 pos I
0 11 3 comp Lit/unimi/dsi/fastutil/ints/IntComparator;
1 11 4 len I
3 9 5 half I
4 9 6 middle I
MethodParameters:
Name Flags
from
to final
pos final
comp final
private static int upperBound(int, int, int, it.unimi.dsi.fastutil.ints.IntComparator);
descriptor: (IIILit/unimi/dsi/fastutil/ints/IntComparator;)I
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=3, locals=7, args_size=4
start local 0 start local 1 start local 2 start local 3 0: iload 1
iload 0
isub
istore 4
start local 4 1: goto 9
2: StackMap locals: int
StackMap stack:
iload 4
iconst_2
idiv
istore 5
start local 5 3: iload 0
iload 5
iadd
istore 6
start local 6 4: aload 3
iload 2
iload 6
invokeinterface it.unimi.dsi.fastutil.ints.IntComparator.compare:(II)I
ifge 7
5: iload 5
istore 4
6: goto 9
7: StackMap locals: int int
StackMap stack:
iload 6
iconst_1
iadd
istore 0
8: iload 4
iload 5
iconst_1
iadd
isub
istore 4
end local 6 end local 5 9: StackMap locals:
StackMap stack:
iload 4
ifgt 2
10: iload 0
ireturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 from I
0 11 1 mid I
0 11 2 pos I
0 11 3 comp Lit/unimi/dsi/fastutil/ints/IntComparator;
1 11 4 len I
3 9 5 half I
4 9 6 middle I
MethodParameters:
Name Flags
from
mid final
pos final
comp final
private static int med3(int, int, int, it.unimi.dsi.fastutil.ints.IntComparator);
descriptor: (IIILit/unimi/dsi/fastutil/ints/IntComparator;)I
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=3, locals=7, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 3
iload 0
iload 1
invokeinterface it.unimi.dsi.fastutil.ints.IntComparator.compare:(II)I
istore 4
start local 4 1: aload 3
iload 0
iload 2
invokeinterface it.unimi.dsi.fastutil.ints.IntComparator.compare:(II)I
istore 5
start local 5 2: aload 3
iload 1
iload 2
invokeinterface it.unimi.dsi.fastutil.ints.IntComparator.compare:(II)I
istore 6
start local 6 3: iload 4
ifge 7
4: iload 6
ifge 5
iload 1
goto 10
StackMap locals: int int int
StackMap stack:
5: iload 5
ifge 6
iload 2
goto 10
StackMap locals:
StackMap stack:
6: iload 0
goto 10
7: StackMap locals:
StackMap stack:
iload 6
ifle 8
iload 1
goto 10
StackMap locals:
StackMap stack:
8: iload 5
ifle 9
iload 2
goto 10
StackMap locals:
StackMap stack:
9: iload 0
10: StackMap locals:
StackMap stack: int
ireturn
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 11 0 a I
0 11 1 b I
0 11 2 c I
0 11 3 comp Lit/unimi/dsi/fastutil/ints/IntComparator;
1 11 4 ab I
2 11 5 ac I
3 11 6 bc I
MethodParameters:
Name Flags
a final
b final
c final
comp final
public static void mergeSort(int, int, it.unimi.dsi.fastutil.ints.IntComparator, it.unimi.dsi.fastutil.Swapper);
descriptor: (IILit/unimi/dsi/fastutil/ints/IntComparator;Lit/unimi/dsi/fastutil/Swapper;)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=5, locals=7, args_size=4
start local 0 start local 1 start local 2 start local 3 0: iload 1
iload 0
isub
istore 4
start local 4 1: iload 4
bipush 16
if_icmpge 12
2: iload 0
istore 5
start local 5 3: goto 10
4: StackMap locals: int int
StackMap stack:
iload 5
istore 6
start local 6 5: goto 8
6: StackMap locals: int
StackMap stack:
aload 3
iload 6
iload 6
iconst_1
isub
invokeinterface it.unimi.dsi.fastutil.Swapper.swap:(II)V
7: iinc 6 -1
StackMap locals:
StackMap stack:
8: iload 6
iload 0
if_icmple 9
aload 2
iload 6
iconst_1
isub
iload 6
invokeinterface it.unimi.dsi.fastutil.ints.IntComparator.compare:(II)I
ifgt 6
end local 6 9: StackMap locals:
StackMap stack:
iinc 5 1
StackMap locals:
StackMap stack:
10: iload 5
iload 1
if_icmplt 4
end local 5 11: return
12: StackMap locals:
StackMap stack:
iload 0
iload 1
iadd
iconst_1
iushr
istore 5
start local 5 13: iload 0
iload 5
aload 2
aload 3
invokestatic it.unimi.dsi.fastutil.Arrays.mergeSort:(IILit/unimi/dsi/fastutil/ints/IntComparator;Lit/unimi/dsi/fastutil/Swapper;)V
14: iload 5
iload 1
aload 2
aload 3
invokestatic it.unimi.dsi.fastutil.Arrays.mergeSort:(IILit/unimi/dsi/fastutil/ints/IntComparator;Lit/unimi/dsi/fastutil/Swapper;)V
15: aload 2
iload 5
iconst_1
isub
iload 5
invokeinterface it.unimi.dsi.fastutil.ints.IntComparator.compare:(II)I
ifgt 16
return
16: StackMap locals: int
StackMap stack:
iload 0
iload 5
iload 1
aload 2
aload 3
invokestatic it.unimi.dsi.fastutil.Arrays.inPlaceMerge:(IIILit/unimi/dsi/fastutil/ints/IntComparator;Lit/unimi/dsi/fastutil/Swapper;)V
17: return
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 18 0 from I
0 18 1 to I
0 18 2 c Lit/unimi/dsi/fastutil/ints/IntComparator;
0 18 3 swapper Lit/unimi/dsi/fastutil/Swapper;
1 18 4 length I
3 11 5 i I
5 9 6 j I
13 18 5 mid I
MethodParameters:
Name Flags
from final
to final
c final
swapper final
protected static void swap(it.unimi.dsi.fastutil.Swapper, int, int, int);
descriptor: (Lit/unimi/dsi/fastutil/Swapper;III)V
flags: (0x000c) ACC_PROTECTED, ACC_STATIC
Code:
stack=3, locals=5, args_size=4
start local 0 start local 1 start local 2 start local 3 0: iconst_0
istore 4
start local 4 1: goto 3
StackMap locals: int
StackMap stack:
2: aload 0
iload 1
iload 2
invokeinterface it.unimi.dsi.fastutil.Swapper.swap:(II)V
iinc 4 1
iinc 1 1
iinc 2 1
StackMap locals:
StackMap stack:
3: iload 4
iload 3
if_icmplt 2
end local 4 4: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 swapper Lit/unimi/dsi/fastutil/Swapper;
0 5 1 a I
0 5 2 b I
0 5 3 n I
1 4 4 i I
MethodParameters:
Name Flags
swapper final
a
b
n final
public static void parallelQuickSort(int, int, it.unimi.dsi.fastutil.ints.IntComparator, it.unimi.dsi.fastutil.Swapper);
descriptor: (IILit/unimi/dsi/fastutil/ints/IntComparator;Lit/unimi/dsi/fastutil/Swapper;)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=7, locals=5, args_size=4
start local 0 start local 1 start local 2 start local 3 0: new java.util.concurrent.ForkJoinPool
dup
invokestatic java.lang.Runtime.getRuntime:()Ljava/lang/Runtime;
invokevirtual java.lang.Runtime.availableProcessors:()I
invokespecial java.util.concurrent.ForkJoinPool.<init>:(I)V
astore 4
start local 4 1: aload 4
new it.unimi.dsi.fastutil.Arrays$ForkJoinGenericQuickSort
dup
iload 0
iload 1
aload 2
aload 3
invokespecial it.unimi.dsi.fastutil.Arrays$ForkJoinGenericQuickSort.<init>:(IILit/unimi/dsi/fastutil/ints/IntComparator;Lit/unimi/dsi/fastutil/Swapper;)V
invokevirtual java.util.concurrent.ForkJoinPool.invoke:(Ljava/util/concurrent/ForkJoinTask;)Ljava/lang/Object;
pop
2: aload 4
invokevirtual java.util.concurrent.ForkJoinPool.shutdown:()V
3: return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 from I
0 4 1 to I
0 4 2 comp Lit/unimi/dsi/fastutil/ints/IntComparator;
0 4 3 swapper Lit/unimi/dsi/fastutil/Swapper;
1 4 4 pool Ljava/util/concurrent/ForkJoinPool;
MethodParameters:
Name Flags
from final
to final
comp final
swapper final
public static void quickSort(int, int, it.unimi.dsi.fastutil.ints.IntComparator, it.unimi.dsi.fastutil.Swapper);
descriptor: (IILit/unimi/dsi/fastutil/ints/IntComparator;Lit/unimi/dsi/fastutil/Swapper;)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=5, locals=13, args_size=4
start local 0 start local 1 start local 2 start local 3 0: iload 1
iload 0
isub
istore 4
start local 4 1: iload 4
bipush 16
if_icmpge 12
2: iload 0
istore 5
start local 5 3: goto 10
4: StackMap locals: int int
StackMap stack:
iload 5
istore 6
start local 6 5: goto 8
6: StackMap locals: int
StackMap stack:
aload 3
iload 6
iload 6
iconst_1
isub
invokeinterface it.unimi.dsi.fastutil.Swapper.swap:(II)V
7: iinc 6 -1
StackMap locals:
StackMap stack:
8: iload 6
iload 0
if_icmple 9
aload 2
iload 6
iconst_1
isub
iload 6
invokeinterface it.unimi.dsi.fastutil.ints.IntComparator.compare:(II)I
ifgt 6
end local 6 9: StackMap locals:
StackMap stack:
iinc 5 1
StackMap locals:
StackMap stack:
10: iload 5
iload 1
if_icmplt 4
end local 5 11: return
12: StackMap locals:
StackMap stack:
iload 0
iload 4
iconst_2
idiv
iadd
istore 5
start local 5 13: iload 0
istore 6
start local 6 14: iload 1
iconst_1
isub
istore 7
start local 7 15: iload 4
sipush 128
if_icmple 20
16: iload 4
bipush 8
idiv
istore 8
start local 8 17: iload 6
iload 6
iload 8
iadd
iload 6
iconst_2
iload 8
imul
iadd
aload 2
invokestatic it.unimi.dsi.fastutil.Arrays.med3:(IIILit/unimi/dsi/fastutil/ints/IntComparator;)I
istore 6
18: iload 5
iload 8
isub
iload 5
iload 5
iload 8
iadd
aload 2
invokestatic it.unimi.dsi.fastutil.Arrays.med3:(IIILit/unimi/dsi/fastutil/ints/IntComparator;)I
istore 5
19: iload 7
iconst_2
iload 8
imul
isub
iload 7
iload 8
isub
iload 7
aload 2
invokestatic it.unimi.dsi.fastutil.Arrays.med3:(IIILit/unimi/dsi/fastutil/ints/IntComparator;)I
istore 7
end local 8 20: StackMap locals: int int int
StackMap stack:
iload 6
iload 5
iload 7
aload 2
invokestatic it.unimi.dsi.fastutil.Arrays.med3:(IIILit/unimi/dsi/fastutil/ints/IntComparator;)I
istore 5
21: iload 0
istore 8
start local 8 22: iload 8
istore 9
start local 9 23: iload 1
iconst_1
isub
istore 10
start local 10 24: iload 10
istore 11
start local 11 25: goto 31
start local 12 26: StackMap locals: int int it.unimi.dsi.fastutil.ints.IntComparator it.unimi.dsi.fastutil.Swapper int int int int int int int int int
StackMap stack:
iload 12
ifne 30
27: iload 8
iload 5
if_icmpne 28
iload 9
istore 5
goto 29
28: StackMap locals:
StackMap stack:
iload 9
iload 5
if_icmpne 29
iload 8
istore 5
29: StackMap locals:
StackMap stack:
aload 3
iload 8
iinc 8 1
iload 9
invokeinterface it.unimi.dsi.fastutil.Swapper.swap:(II)V
30: StackMap locals:
StackMap stack:
iinc 9 1
end local 12 31: StackMap locals:
StackMap stack:
iload 9
iload 10
if_icmpgt 39
aload 2
iload 9
iload 5
invokeinterface it.unimi.dsi.fastutil.ints.IntComparator.compare:(II)I
dup
istore 12
start local 12 32: ifle 26
end local 12 33: goto 39
start local 12 34: StackMap locals: int
StackMap stack:
iload 12
ifne 38
35: iload 10
iload 5
if_icmpne 36
iload 11
istore 5
goto 37
36: StackMap locals:
StackMap stack:
iload 11
iload 5
if_icmpne 37
iload 10
istore 5
37: StackMap locals:
StackMap stack:
aload 3
iload 10
iload 11
iinc 11 -1
invokeinterface it.unimi.dsi.fastutil.Swapper.swap:(II)V
38: StackMap locals:
StackMap stack:
iinc 10 -1
end local 12 39: StackMap locals:
StackMap stack:
iload 10
iload 9
if_icmplt 41
aload 2
iload 10
iload 5
invokeinterface it.unimi.dsi.fastutil.ints.IntComparator.compare:(II)I
dup
istore 12
start local 12 40: ifge 34
end local 12 41: StackMap locals:
StackMap stack:
iload 9
iload 10
if_icmple 42
goto 46
42: StackMap locals:
StackMap stack:
iload 9
iload 5
if_icmpne 43
iload 11
istore 5
goto 44
43: StackMap locals:
StackMap stack:
iload 10
iload 5
if_icmpne 44
iload 10
istore 5
44: StackMap locals:
StackMap stack:
aload 3
iload 9
iinc 9 1
iload 10
iinc 10 -1
invokeinterface it.unimi.dsi.fastutil.Swapper.swap:(II)V
45: goto 31
46: StackMap locals:
StackMap stack:
iload 8
iload 0
isub
iload 9
iload 8
isub
invokestatic java.lang.Math.min:(II)I
istore 12
start local 12 47: aload 3
iload 0
iload 9
iload 12
isub
iload 12
invokestatic it.unimi.dsi.fastutil.Arrays.swap:(Lit/unimi/dsi/fastutil/Swapper;III)V
48: iload 11
iload 10
isub
iload 1
iload 11
isub
iconst_1
isub
invokestatic java.lang.Math.min:(II)I
istore 12
49: aload 3
iload 9
iload 1
iload 12
isub
iload 12
invokestatic it.unimi.dsi.fastutil.Arrays.swap:(Lit/unimi/dsi/fastutil/Swapper;III)V
50: iload 9
iload 8
isub
dup
istore 12
iconst_1
if_icmple 51
iload 0
iload 0
iload 12
iadd
aload 2
aload 3
invokestatic it.unimi.dsi.fastutil.Arrays.quickSort:(IILit/unimi/dsi/fastutil/ints/IntComparator;Lit/unimi/dsi/fastutil/Swapper;)V
51: StackMap locals: int
StackMap stack:
iload 11
iload 10
isub
dup
istore 12
iconst_1
if_icmple 52
iload 1
iload 12
isub
iload 1
aload 2
aload 3
invokestatic it.unimi.dsi.fastutil.Arrays.quickSort:(IILit/unimi/dsi/fastutil/ints/IntComparator;Lit/unimi/dsi/fastutil/Swapper;)V
52: StackMap locals:
StackMap stack:
return
end local 12 end local 11 end local 10 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 53 0 from I
0 53 1 to I
0 53 2 comp Lit/unimi/dsi/fastutil/ints/IntComparator;
0 53 3 swapper Lit/unimi/dsi/fastutil/Swapper;
1 53 4 len I
3 11 5 i I
5 9 6 j I
13 53 5 m I
14 53 6 l I
15 53 7 n I
17 20 8 s I
22 53 8 a I
23 53 9 b I
24 53 10 c I
25 53 11 d I
26 31 12 comparison I
32 33 12 comparison I
34 39 12 comparison I
40 41 12 comparison I
47 53 12 s I
MethodParameters:
Name Flags
from final
to final
comp final
swapper final
}
SourceFile: "Arrays.java"
NestMembers:
it.unimi.dsi.fastutil.Arrays$ForkJoinGenericQuickSort
InnerClasses:
protected ForkJoinGenericQuickSort = it.unimi.dsi.fastutil.Arrays$ForkJoinGenericQuickSort of it.unimi.dsi.fastutil.Arrays