final class java.util.ArraysParallelSortHelpers$FJObject$Merger<T> extends java.util.concurrent.CountedCompleter<java.lang.Void>
minor version: 0
major version: 59
flags: flags: (0x0030) ACC_FINAL, ACC_SUPER
this_class: java.util.ArraysParallelSortHelpers$FJObject$Merger
super_class: java.util.concurrent.CountedCompleter
{
static final long serialVersionUID;
descriptor: J
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: 2446542900576103244
final T[] a;
descriptor: [Ljava/lang/Object;
flags: (0x0010) ACC_FINAL
Signature: [TT;
final T[] w;
descriptor: [Ljava/lang/Object;
flags: (0x0010) ACC_FINAL
Signature: [TT;
final int lbase;
descriptor: I
flags: (0x0010) ACC_FINAL
final int lsize;
descriptor: I
flags: (0x0010) ACC_FINAL
final int rbase;
descriptor: I
flags: (0x0010) ACC_FINAL
final int rsize;
descriptor: I
flags: (0x0010) ACC_FINAL
final int wbase;
descriptor: I
flags: (0x0010) ACC_FINAL
final int gran;
descriptor: I
flags: (0x0010) ACC_FINAL
java.util.Comparator<? super T> comparator;
descriptor: Ljava/util/Comparator;
flags: (0x0000)
Signature: Ljava/util/Comparator<-TT;>;
void <init>(java.util.concurrent.CountedCompleter<?>, T[], T[], int, int, int, int, int, int, java.util.Comparator<? super T>);
descriptor: (Ljava/util/concurrent/CountedCompleter;[Ljava/lang/Object;[Ljava/lang/Object;IIIIIILjava/util/Comparator;)V
flags: (0x0000)
Code:
stack=2, locals=11, args_size=11
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 start local 6 start local 7 start local 8 start local 9 start local 10 0: aload 0
aload 1
invokespecial java.util.concurrent.CountedCompleter.<init>:(Ljava/util/concurrent/CountedCompleter;)V
1: aload 0
aload 2
putfield java.util.ArraysParallelSortHelpers$FJObject$Merger.a:[Ljava/lang/Object;
aload 0
aload 3
putfield java.util.ArraysParallelSortHelpers$FJObject$Merger.w:[Ljava/lang/Object;
2: aload 0
iload 4
putfield java.util.ArraysParallelSortHelpers$FJObject$Merger.lbase:I
aload 0
iload 5
putfield java.util.ArraysParallelSortHelpers$FJObject$Merger.lsize:I
3: aload 0
iload 6
putfield java.util.ArraysParallelSortHelpers$FJObject$Merger.rbase:I
aload 0
iload 7
putfield java.util.ArraysParallelSortHelpers$FJObject$Merger.rsize:I
4: aload 0
iload 8
putfield java.util.ArraysParallelSortHelpers$FJObject$Merger.wbase:I
aload 0
iload 9
putfield java.util.ArraysParallelSortHelpers$FJObject$Merger.gran:I
5: aload 0
aload 10
putfield java.util.ArraysParallelSortHelpers$FJObject$Merger.comparator:Ljava/util/Comparator;
6: return
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 7 0 this Ljava/util/ArraysParallelSortHelpers$FJObject$Merger<TT;>;
0 7 1 par Ljava/util/concurrent/CountedCompleter<*>;
0 7 2 a [Ljava/lang/Object;
0 7 3 w [Ljava/lang/Object;
0 7 4 lbase I
0 7 5 lsize I
0 7 6 rbase I
0 7 7 rsize I
0 7 8 wbase I
0 7 9 gran I
0 7 10 comparator Ljava/util/Comparator<-TT;>;
Signature: (Ljava/util/concurrent/CountedCompleter<*>;[TT;[TT;IIIIIILjava/util/Comparator<-TT;>;)V
MethodParameters:
Name Flags
par
a
w
lbase
lsize
rbase
rsize
wbase
gran
comparator
public final void compute();
descriptor: ()V
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=12, locals=15, args_size=1
start local 0 0: aload 0
getfield java.util.ArraysParallelSortHelpers$FJObject$Merger.comparator:Ljava/util/Comparator;
astore 1
start local 1 1: aload 0
getfield java.util.ArraysParallelSortHelpers$FJObject$Merger.a:[Ljava/lang/Object;
astore 2
start local 2 2: aload 0
getfield java.util.ArraysParallelSortHelpers$FJObject$Merger.w:[Ljava/lang/Object;
astore 3
start local 3 3: aload 0
getfield java.util.ArraysParallelSortHelpers$FJObject$Merger.lbase:I
istore 4
start local 4 4: aload 0
getfield java.util.ArraysParallelSortHelpers$FJObject$Merger.lsize:I
istore 5
start local 5 5: aload 0
getfield java.util.ArraysParallelSortHelpers$FJObject$Merger.rbase:I
istore 6
start local 6 6: aload 0
getfield java.util.ArraysParallelSortHelpers$FJObject$Merger.rsize:I
istore 7
start local 7 7: aload 0
getfield java.util.ArraysParallelSortHelpers$FJObject$Merger.wbase:I
istore 8
start local 8 8: aload 0
getfield java.util.ArraysParallelSortHelpers$FJObject$Merger.gran:I
istore 9
start local 9 9: aload 2
ifnull 11
aload 3
ifnull 11
iload 4
iflt 11
iload 6
iflt 11
iload 8
iflt 11
10: aload 1
ifnonnull 12
11: StackMap locals: java.util.ArraysParallelSortHelpers$FJObject$Merger java.util.Comparator java.lang.Object[] java.lang.Object[] int int int int int int
StackMap stack:
new java.lang.IllegalStateException
dup
invokespecial java.lang.IllegalStateException.<init>:()V
athrow
12: StackMap locals:
StackMap stack:
iload 5
iload 7
if_icmplt 26
13: iload 5
iload 9
if_icmpgt 15
14: goto 47
15: StackMap locals:
StackMap stack:
iload 7
istore 11
start local 11 16: aload 2
iload 5
iconst_1
iushr
dup
istore 10
start local 10 17: iload 4
iadd
aaload
astore 12
start local 12 18: iconst_0
istore 13
start local 13 19: goto 24
20: StackMap locals: java.util.ArraysParallelSortHelpers$FJObject$Merger java.util.Comparator java.lang.Object[] java.lang.Object[] int int int int int int int int java.lang.Object int
StackMap stack:
iload 13
iload 11
iadd
iconst_1
iushr
istore 14
start local 14 21: aload 1
aload 12
aload 2
iload 14
iload 6
iadd
aaload
invokeinterface java.util.Comparator.compare:(Ljava/lang/Object;Ljava/lang/Object;)I
ifgt 23
22: iload 14
istore 11
goto 24
23: StackMap locals: int
StackMap stack:
iload 14
iconst_1
iadd
istore 13
end local 14 24: StackMap locals:
StackMap stack:
iload 13
iload 11
if_icmplt 20
end local 13 end local 12 25: goto 38
end local 11 end local 10 26: StackMap locals: java.util.ArraysParallelSortHelpers$FJObject$Merger java.util.Comparator java.lang.Object[] java.lang.Object[] int int int int int int
StackMap stack:
iload 7
iload 9
if_icmpgt 28
27: goto 47
28: StackMap locals:
StackMap stack:
iload 5
istore 10
start local 10 29: aload 2
iload 7
iconst_1
iushr
dup
istore 11
start local 11 30: iload 6
iadd
aaload
astore 12
start local 12 31: iconst_0
istore 13
start local 13 32: goto 37
33: StackMap locals: java.util.ArraysParallelSortHelpers$FJObject$Merger java.util.Comparator java.lang.Object[] java.lang.Object[] int int int int int int int int java.lang.Object int
StackMap stack:
iload 13
iload 10
iadd
iconst_1
iushr
istore 14
start local 14 34: aload 1
aload 12
aload 2
iload 14
iload 4
iadd
aaload
invokeinterface java.util.Comparator.compare:(Ljava/lang/Object;Ljava/lang/Object;)I
ifgt 36
35: iload 14
istore 10
goto 37
36: StackMap locals: int
StackMap stack:
iload 14
iconst_1
iadd
istore 13
end local 14 37: StackMap locals:
StackMap stack:
iload 13
iload 10
if_icmplt 33
end local 13 end local 12 38: StackMap locals:
StackMap stack:
new java.util.ArraysParallelSortHelpers$FJObject$Merger
dup
aload 0
aload 2
aload 3
iload 4
iload 10
iadd
iload 5
iload 10
isub
39: iload 6
iload 11
iadd
iload 7
iload 11
isub
40: iload 8
iload 10
iadd
iload 11
iadd
iload 9
aload 1
41: invokespecial java.util.ArraysParallelSortHelpers$FJObject$Merger.<init>:(Ljava/util/concurrent/CountedCompleter;[Ljava/lang/Object;[Ljava/lang/Object;IIIIIILjava/util/Comparator;)V
astore 12
start local 12 42: iload 11
istore 7
43: iload 10
istore 5
44: aload 0
iconst_1
invokevirtual java.util.ArraysParallelSortHelpers$FJObject$Merger.addToPendingCount:(I)V
45: aload 12
invokevirtual java.util.ArraysParallelSortHelpers$FJObject$Merger.fork:()Ljava/util/concurrent/ForkJoinTask;
pop
end local 12 end local 11 end local 10 46: goto 12
47: StackMap locals:
StackMap stack:
iload 4
iload 5
iadd
istore 10
start local 10 48: iload 6
iload 7
iadd
istore 11
start local 11 49: goto 57
50: StackMap locals: int int
StackMap stack:
aload 1
aload 2
iload 4
aaload
dup
astore 13
start local 13 51: aload 2
iload 6
aaload
dup
astore 14
start local 14 52: invokeinterface java.util.Comparator.compare:(Ljava/lang/Object;Ljava/lang/Object;)I
ifgt 55
53: iinc 4 1
aload 13
astore 12
start local 12 54: goto 56
end local 12 55: StackMap locals: java.util.ArraysParallelSortHelpers$FJObject$Merger java.util.Comparator java.lang.Object[] java.lang.Object[] int int int int int int int int top java.lang.Object java.lang.Object
StackMap stack:
iinc 6 1
aload 14
astore 12
start local 12 56: StackMap locals: java.util.ArraysParallelSortHelpers$FJObject$Merger java.util.Comparator java.lang.Object[] java.lang.Object[] int int int int int int int int java.lang.Object java.lang.Object java.lang.Object
StackMap stack:
aload 3
iload 8
iinc 8 1
aload 12
aastore
end local 14 end local 13 end local 12 57: StackMap locals:
StackMap stack:
iload 4
iload 10
if_icmpge 58
iload 6
iload 11
if_icmplt 50
58: StackMap locals:
StackMap stack:
iload 6
iload 11
if_icmpge 60
59: aload 2
iload 6
aload 3
iload 8
iload 11
iload 6
isub
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
goto 62
60: StackMap locals:
StackMap stack:
iload 4
iload 10
if_icmpge 62
61: aload 2
iload 4
aload 3
iload 8
iload 10
iload 4
isub
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
62: StackMap locals:
StackMap stack:
aload 0
invokevirtual java.util.ArraysParallelSortHelpers$FJObject$Merger.tryComplete:()V
63: return
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 64 0 this Ljava/util/ArraysParallelSortHelpers$FJObject$Merger<TT;>;
1 64 1 c Ljava/util/Comparator<-TT;>;
2 64 2 a [Ljava/lang/Object;
3 64 3 w [Ljava/lang/Object;
4 64 4 lb I
5 64 5 ln I
6 64 6 rb I
7 64 7 rn I
8 64 8 k I
9 64 9 g I
17 26 10 lh I
29 46 10 lh I
16 26 11 rh I
30 46 11 rh I
18 25 12 split TT;
19 25 13 lo I
21 24 14 rm I
31 38 12 split TT;
32 38 13 lo I
34 37 14 lm I
42 46 12 m Ljava/util/ArraysParallelSortHelpers$FJObject$Merger<TT;>;
48 64 10 lf I
49 64 11 rf I
54 55 12 t TT;
56 57 12 t TT;
51 57 13 al TT;
52 57 14 ar TT;
}
Signature: <T:Ljava/lang/Object;>Ljava/util/concurrent/CountedCompleter<Ljava/lang/Void;>;
SourceFile: "ArraysParallelSortHelpers.java"
NestHost: java.util.ArraysParallelSortHelpers
InnerClasses:
final FJObject = java.util.ArraysParallelSortHelpers$FJObject of java.util.ArraysParallelSortHelpers
final Merger = java.util.ArraysParallelSortHelpers$FJObject$Merger of java.util.ArraysParallelSortHelpers$FJObject