public final class com.carrotsearch.hppc.sorting.IndirectSort
minor version: 0
major version: 59
flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
this_class: com.carrotsearch.hppc.sorting.IndirectSort
super_class: java.lang.Object
{
static int MIN_LENGTH_FOR_INSERTION_SORT;
descriptor: I
flags: (0x0008) ACC_STATIC
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=1, locals=0, args_size=0
0: bipush 30
putstatic com.carrotsearch.hppc.sorting.IndirectSort.MIN_LENGTH_FOR_INSERTION_SORT:I
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
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/carrotsearch/hppc/sorting/IndirectSort;
public static int[] mergesort(int, int, com.carrotsearch.hppc.sorting.IndirectComparator);
descriptor: (IILcom/carrotsearch/hppc/sorting/IndirectComparator;)[I
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=5, locals=5, args_size=3
start local 0 start local 1 start local 2 0: iload 0
iload 1
invokestatic com.carrotsearch.hppc.sorting.IndirectSort.createOrderArray:(II)[I
astore 3
start local 3 1: iload 1
iconst_1
if_icmple 5
2: aload 3
invokevirtual int[].clone:()Ljava/lang/Object;
checkcast int[]
astore 4
start local 4 3: aload 3
aload 4
iconst_0
iload 1
aload 2
invokestatic com.carrotsearch.hppc.sorting.IndirectSort.topDownMergeSort:([I[IIILcom/carrotsearch/hppc/sorting/IndirectComparator;)V
4: aload 4
areturn
end local 4 5: StackMap locals: int[]
StackMap stack:
aload 3
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 start I
0 6 1 length I
0 6 2 comparator Lcom/carrotsearch/hppc/sorting/IndirectComparator;
1 6 3 src [I
3 5 4 dst [I
MethodParameters:
Name Flags
start
length
comparator
public static <T> int[] mergesort(T[], int, int, java.util.Comparator<? super T>);
descriptor: ([Ljava/lang/Object;IILjava/util/Comparator;)[I
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=6, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: iload 1
iload 2
new com.carrotsearch.hppc.sorting.IndirectComparator$DelegatingComparator
dup
aload 0
aload 3
invokespecial com.carrotsearch.hppc.sorting.IndirectComparator$DelegatingComparator.<init>:([Ljava/lang/Object;Ljava/util/Comparator;)V
invokestatic com.carrotsearch.hppc.sorting.IndirectSort.mergesort:(IILcom/carrotsearch/hppc/sorting/IndirectComparator;)[I
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 input [Ljava/lang/Object;
0 1 1 start I
0 1 2 length I
0 1 3 comparator Ljava/util/Comparator<-TT;>;
Signature: <T:Ljava/lang/Object;>([TT;IILjava/util/Comparator<-TT;>;)[I
MethodParameters:
Name Flags
input
start
length
comparator
private static void topDownMergeSort(int[], int[], int, int, com.carrotsearch.hppc.sorting.IndirectComparator);
descriptor: ([I[IIILcom/carrotsearch/hppc/sorting/IndirectComparator;)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=6, locals=9, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: iload 3
iload 2
isub
getstatic com.carrotsearch.hppc.sorting.IndirectSort.MIN_LENGTH_FOR_INSERTION_SORT:I
if_icmpgt 3
1: iload 2
iload 3
iload 2
isub
aload 1
aload 4
invokestatic com.carrotsearch.hppc.sorting.IndirectSort.insertionSort:(II[ILcom/carrotsearch/hppc/sorting/IndirectComparator;)V
2: return
3: StackMap locals:
StackMap stack:
iload 2
iload 3
iadd
iconst_1
iushr
istore 5
start local 5 4: aload 1
aload 0
iload 2
iload 5
aload 4
invokestatic com.carrotsearch.hppc.sorting.IndirectSort.topDownMergeSort:([I[IIILcom/carrotsearch/hppc/sorting/IndirectComparator;)V
5: aload 1
aload 0
iload 5
iload 3
aload 4
invokestatic com.carrotsearch.hppc.sorting.IndirectSort.topDownMergeSort:([I[IIILcom/carrotsearch/hppc/sorting/IndirectComparator;)V
6: aload 4
aload 0
iload 5
iconst_1
isub
iaload
aload 0
iload 5
iaload
invokeinterface com.carrotsearch.hppc.sorting.IndirectComparator.compare:(II)I
ifgt 9
7: aload 0
iload 2
aload 1
iload 2
iload 3
iload 2
isub
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
8: goto 19
9: StackMap locals: int
StackMap stack:
iload 2
istore 6
start local 6 10: iload 5
istore 7
start local 7 11: iload 2
istore 8
start local 8 12: goto 18
13: StackMap locals: int int int
StackMap stack:
iload 7
iload 3
if_icmpeq 14
iload 6
iload 5
if_icmpge 16
aload 4
aload 0
iload 6
iaload
aload 0
iload 7
iaload
invokeinterface com.carrotsearch.hppc.sorting.IndirectComparator.compare:(II)I
ifgt 16
14: StackMap locals:
StackMap stack:
aload 1
iload 8
aload 0
iload 6
iinc 6 1
iaload
iastore
15: goto 17
16: StackMap locals:
StackMap stack:
aload 1
iload 8
aload 0
iload 7
iinc 7 1
iaload
iastore
17: StackMap locals:
StackMap stack:
iinc 8 1
StackMap locals:
StackMap stack:
18: iload 8
iload 3
if_icmplt 13
end local 8 end local 7 end local 6 19: StackMap locals:
StackMap stack:
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 20 0 src [I
0 20 1 dst [I
0 20 2 fromIndex I
0 20 3 toIndex I
0 20 4 comp Lcom/carrotsearch/hppc/sorting/IndirectComparator;
4 20 5 mid I
10 19 6 i I
11 19 7 j I
12 19 8 k I
MethodParameters:
Name Flags
src
dst
fromIndex
toIndex
comp
private static void insertionSort(int, int, int[], com.carrotsearch.hppc.sorting.IndirectComparator);
descriptor: (II[ILcom/carrotsearch/hppc/sorting/IndirectComparator;)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=4, locals=8, args_size=4
start local 0 start local 1 start local 2 start local 3 0: iload 0
iconst_1
iadd
istore 4
start local 4 1: goto 10
2: StackMap locals: int
StackMap stack:
aload 2
iload 4
iaload
istore 5
start local 5 3: iload 4
istore 6
start local 6 4: goto 6
start local 7 5: StackMap locals: int int int
StackMap stack:
aload 2
iload 6
iinc 6 -1
iload 7
iastore
end local 7 6: StackMap locals:
StackMap stack:
iload 6
iload 0
if_icmple 8
aload 3
aload 2
iload 6
iconst_1
isub
iaload
dup
istore 7
start local 7 7: iload 5
invokeinterface com.carrotsearch.hppc.sorting.IndirectComparator.compare:(II)I
ifgt 5
end local 7 8: StackMap locals:
StackMap stack:
aload 2
iload 6
iload 5
iastore
end local 6 end local 5 9: iinc 4 1
StackMap locals:
StackMap stack:
10: iload 4
iload 0
iload 1
iadd
if_icmplt 2
end local 4 11: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 off I
0 12 1 len I
0 12 2 order [I
0 12 3 intComparator Lcom/carrotsearch/hppc/sorting/IndirectComparator;
1 11 4 i I
3 9 5 v I
4 9 6 j I
5 6 7 t I
7 8 7 t I
MethodParameters:
Name Flags
off final
len final
order
intComparator
private static int[] createOrderArray(int, int);
descriptor: (II)[I
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=4, locals=4, args_size=2
start local 0 start local 1 0: iload 1
newarray 10
astore 2
start local 2 1: iconst_0
istore 3
start local 3 2: goto 5
3: StackMap locals: int[] int
StackMap stack:
aload 2
iload 3
iload 0
iload 3
iadd
iastore
4: iinc 3 1
StackMap locals:
StackMap stack:
5: iload 3
iload 1
if_icmplt 3
end local 3 6: aload 2
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 start I
0 7 1 length I
1 7 2 order [I
2 6 3 i I
MethodParameters:
Name Flags
start final
length final
}
SourceFile: "IndirectSort.java"
InnerClasses:
public final DelegatingComparator = com.carrotsearch.hppc.sorting.IndirectComparator$DelegatingComparator of com.carrotsearch.hppc.sorting.IndirectComparator