final class java.util.ArrayPrefixHelpers$LongCumulateTask 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.ArrayPrefixHelpers$LongCumulateTask
super_class: java.util.concurrent.CountedCompleter
{
final long[] array;
descriptor: [J
flags: (0x0010) ACC_FINAL
final java.util.function.LongBinaryOperator function;
descriptor: Ljava/util/function/LongBinaryOperator;
flags: (0x0010) ACC_FINAL
java.util.ArrayPrefixHelpers$LongCumulateTask left;
descriptor: Ljava/util/ArrayPrefixHelpers$LongCumulateTask;
flags: (0x0000)
java.util.ArrayPrefixHelpers$LongCumulateTask right;
descriptor: Ljava/util/ArrayPrefixHelpers$LongCumulateTask;
flags: (0x0000)
long in;
descriptor: J
flags: (0x0000)
long out;
descriptor: J
flags: (0x0000)
final int lo;
descriptor: I
flags: (0x0010) ACC_FINAL
final int hi;
descriptor: I
flags: (0x0010) ACC_FINAL
final int origin;
descriptor: I
flags: (0x0010) ACC_FINAL
final int fence;
descriptor: I
flags: (0x0010) ACC_FINAL
final int threshold;
descriptor: I
flags: (0x0010) ACC_FINAL
private static final long serialVersionUID;
descriptor: J
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: -5074099945909284273
public void <init>(java.util.ArrayPrefixHelpers$LongCumulateTask, java.util.function.LongBinaryOperator, long[], int, int);
descriptor: (Ljava/util/ArrayPrefixHelpers$LongCumulateTask;Ljava/util/function/LongBinaryOperator;[JII)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=7, args_size=6
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 0: aload 0
aload 1
invokespecial java.util.concurrent.CountedCompleter.<init>:(Ljava/util/concurrent/CountedCompleter;)V
1: aload 0
aload 2
putfield java.util.ArrayPrefixHelpers$LongCumulateTask.function:Ljava/util/function/LongBinaryOperator;
aload 0
aload 3
putfield java.util.ArrayPrefixHelpers$LongCumulateTask.array:[J
2: aload 0
aload 0
iload 4
dup_x1
putfield java.util.ArrayPrefixHelpers$LongCumulateTask.origin:I
putfield java.util.ArrayPrefixHelpers$LongCumulateTask.lo:I
aload 0
aload 0
iload 5
dup_x1
putfield java.util.ArrayPrefixHelpers$LongCumulateTask.fence:I
putfield java.util.ArrayPrefixHelpers$LongCumulateTask.hi:I
3: aload 0
4: iload 5
iload 4
isub
invokestatic java.util.concurrent.ForkJoinPool.getCommonPoolParallelism:()I
iconst_3
ishl
idiv
dup
istore 6
start local 6 5: bipush 16
if_icmpgt 6
bipush 16
goto 7
StackMap locals: java.util.ArrayPrefixHelpers$LongCumulateTask java.util.ArrayPrefixHelpers$LongCumulateTask java.util.function.LongBinaryOperator long[] int int int
StackMap stack: java.util.ArrayPrefixHelpers$LongCumulateTask
6: iload 6
7: StackMap locals: java.util.ArrayPrefixHelpers$LongCumulateTask java.util.ArrayPrefixHelpers$LongCumulateTask java.util.function.LongBinaryOperator long[] int int int
StackMap stack: java.util.ArrayPrefixHelpers$LongCumulateTask int
putfield java.util.ArrayPrefixHelpers$LongCumulateTask.threshold:I
8: return
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 9 0 this Ljava/util/ArrayPrefixHelpers$LongCumulateTask;
0 9 1 parent Ljava/util/ArrayPrefixHelpers$LongCumulateTask;
0 9 2 function Ljava/util/function/LongBinaryOperator;
0 9 3 array [J
0 9 4 lo I
0 9 5 hi I
5 9 6 p I
MethodParameters:
Name Flags
parent
function
array
lo
hi
void <init>(java.util.ArrayPrefixHelpers$LongCumulateTask, java.util.function.LongBinaryOperator, long[], int, int, int, int, int);
descriptor: (Ljava/util/ArrayPrefixHelpers$LongCumulateTask;Ljava/util/function/LongBinaryOperator;[JIIIII)V
flags: (0x0000)
Code:
stack=2, locals=9, args_size=9
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 0: aload 0
aload 1
invokespecial java.util.concurrent.CountedCompleter.<init>:(Ljava/util/concurrent/CountedCompleter;)V
1: aload 0
aload 2
putfield java.util.ArrayPrefixHelpers$LongCumulateTask.function:Ljava/util/function/LongBinaryOperator;
aload 0
aload 3
putfield java.util.ArrayPrefixHelpers$LongCumulateTask.array:[J
2: aload 0
iload 4
putfield java.util.ArrayPrefixHelpers$LongCumulateTask.origin:I
aload 0
iload 5
putfield java.util.ArrayPrefixHelpers$LongCumulateTask.fence:I
3: aload 0
iload 6
putfield java.util.ArrayPrefixHelpers$LongCumulateTask.threshold:I
4: aload 0
iload 7
putfield java.util.ArrayPrefixHelpers$LongCumulateTask.lo:I
aload 0
iload 8
putfield java.util.ArrayPrefixHelpers$LongCumulateTask.hi:I
5: 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 6 0 this Ljava/util/ArrayPrefixHelpers$LongCumulateTask;
0 6 1 parent Ljava/util/ArrayPrefixHelpers$LongCumulateTask;
0 6 2 function Ljava/util/function/LongBinaryOperator;
0 6 3 array [J
0 6 4 origin I
0 6 5 fence I
0 6 6 threshold I
0 6 7 lo I
0 6 8 hi I
MethodParameters:
Name Flags
parent
function
array
origin
fence
threshold
lo
hi
public final void compute();
descriptor: ()V
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=11, locals=19, args_size=1
start local 0 0: aload 0
getfield java.util.ArrayPrefixHelpers$LongCumulateTask.function:Ljava/util/function/LongBinaryOperator;
dup
astore 1
start local 1 1: ifnull 3
aload 0
getfield java.util.ArrayPrefixHelpers$LongCumulateTask.array:[J
dup
astore 2
start local 2 2: ifnonnull 4
end local 2 3: StackMap locals: java.util.function.LongBinaryOperator
StackMap stack:
new java.lang.NullPointerException
dup
invokespecial java.lang.NullPointerException.<init>:()V
athrow
start local 2 4: StackMap locals: long[]
StackMap stack:
aload 0
getfield java.util.ArrayPrefixHelpers$LongCumulateTask.threshold:I
istore 3
start local 3 5: aload 0
getfield java.util.ArrayPrefixHelpers$LongCumulateTask.origin:I
istore 4
start local 4 6: aload 0
getfield java.util.ArrayPrefixHelpers$LongCumulateTask.fence:I
istore 5
start local 5 7: aload 0
astore 8
start local 8 8: goto 108
start local 6 start local 7 9: StackMap locals: java.util.ArrayPrefixHelpers$LongCumulateTask java.util.function.LongBinaryOperator long[] int int int int int java.util.ArrayPrefixHelpers$LongCumulateTask
StackMap stack:
iload 7
iload 6
isub
iload 3
if_icmple 46
10: aload 8
getfield java.util.ArrayPrefixHelpers$LongCumulateTask.left:Ljava/util/ArrayPrefixHelpers$LongCumulateTask;
astore 9
start local 9 11: aload 8
getfield java.util.ArrayPrefixHelpers$LongCumulateTask.right:Ljava/util/ArrayPrefixHelpers$LongCumulateTask;
astore 10
start local 10 12: aload 9
ifnonnull 21
13: iload 6
iload 7
iadd
iconst_1
iushr
istore 12
start local 12 14: aload 8
15: new java.util.ArrayPrefixHelpers$LongCumulateTask
dup
aload 8
aload 1
aload 2
iload 4
iload 5
iload 3
iload 12
iload 7
invokespecial java.util.ArrayPrefixHelpers$LongCumulateTask.<init>:(Ljava/util/ArrayPrefixHelpers$LongCumulateTask;Ljava/util/function/LongBinaryOperator;[JIIIII)V
16: dup_x1
putfield java.util.ArrayPrefixHelpers$LongCumulateTask.right:Ljava/util/ArrayPrefixHelpers$LongCumulateTask;
dup
astore 10
astore 11
start local 11 17: aload 8
18: new java.util.ArrayPrefixHelpers$LongCumulateTask
dup
aload 8
aload 1
aload 2
iload 4
iload 5
iload 3
iload 6
iload 12
invokespecial java.util.ArrayPrefixHelpers$LongCumulateTask.<init>:(Ljava/util/ArrayPrefixHelpers$LongCumulateTask;Ljava/util/function/LongBinaryOperator;[JIIIII)V
19: dup_x1
putfield java.util.ArrayPrefixHelpers$LongCumulateTask.left:Ljava/util/ArrayPrefixHelpers$LongCumulateTask;
dup
astore 9
astore 8
end local 12 20: goto 43
end local 11 21: StackMap locals: java.util.ArrayPrefixHelpers$LongCumulateTask java.util.ArrayPrefixHelpers$LongCumulateTask
StackMap stack:
aload 8
getfield java.util.ArrayPrefixHelpers$LongCumulateTask.in:J
lstore 12
start local 12 22: aload 9
lload 12
putfield java.util.ArrayPrefixHelpers$LongCumulateTask.in:J
23: aconst_null
dup
astore 8
astore 11
start local 11 24: aload 10
ifnull 34
25: aload 9
getfield java.util.ArrayPrefixHelpers$LongCumulateTask.out:J
lstore 14
start local 14 26: aload 10
iload 6
iload 4
if_icmpne 27
lload 14
goto 28
27: StackMap locals: java.util.ArrayPrefixHelpers$LongCumulateTask java.util.function.LongBinaryOperator long[] int int int int int java.util.ArrayPrefixHelpers$LongCumulateTask java.util.ArrayPrefixHelpers$LongCumulateTask java.util.ArrayPrefixHelpers$LongCumulateTask java.util.ArrayPrefixHelpers$LongCumulateTask long long
StackMap stack: java.util.ArrayPrefixHelpers$LongCumulateTask
aload 1
lload 12
lload 14
invokeinterface java.util.function.LongBinaryOperator.applyAsLong:(JJ)J
28: StackMap locals: java.util.ArrayPrefixHelpers$LongCumulateTask java.util.function.LongBinaryOperator long[] int int int int int java.util.ArrayPrefixHelpers$LongCumulateTask java.util.ArrayPrefixHelpers$LongCumulateTask java.util.ArrayPrefixHelpers$LongCumulateTask java.util.ArrayPrefixHelpers$LongCumulateTask long long
StackMap stack: java.util.ArrayPrefixHelpers$LongCumulateTask long
putfield java.util.ArrayPrefixHelpers$LongCumulateTask.in:J
29: StackMap locals:
StackMap stack:
aload 10
invokevirtual java.util.ArrayPrefixHelpers$LongCumulateTask.getPendingCount:()I
dup
istore 16
start local 16 30: iconst_1
iand
ifeq 32
31: goto 34
32: StackMap locals: int
StackMap stack:
aload 10
iload 16
iload 16
iconst_1
ior
invokevirtual java.util.ArrayPrefixHelpers$LongCumulateTask.compareAndSetPendingCount:(II)Z
ifeq 29
33: aload 10
astore 8
end local 16 end local 14 34: StackMap locals:
StackMap stack:
aload 9
invokevirtual java.util.ArrayPrefixHelpers$LongCumulateTask.getPendingCount:()I
dup
istore 14
start local 14 35: iconst_1
iand
ifeq 37
36: goto 41
37: StackMap locals: int
StackMap stack:
aload 9
iload 14
iload 14
iconst_1
ior
invokevirtual java.util.ArrayPrefixHelpers$LongCumulateTask.compareAndSetPendingCount:(II)Z
ifeq 34
38: aload 8
ifnull 40
39: aload 8
astore 11
40: StackMap locals:
StackMap stack:
aload 9
astore 8
end local 14 41: StackMap locals:
StackMap stack:
aload 8
ifnonnull 43
42: goto 111
end local 12 43: StackMap locals:
StackMap stack:
aload 11
ifnull 108
44: aload 11
invokevirtual java.util.ArrayPrefixHelpers$LongCumulateTask.fork:()Ljava/util/concurrent/ForkJoinTask;
pop
end local 11 end local 10 end local 9 45: goto 108
46: StackMap locals:
StackMap stack:
aload 8
invokevirtual java.util.ArrayPrefixHelpers$LongCumulateTask.getPendingCount:()I
dup
istore 10
start local 10 47: iconst_4
iand
ifeq 49
48: goto 111
49: StackMap locals: java.util.ArrayPrefixHelpers$LongCumulateTask java.util.function.LongBinaryOperator long[] int int int int int java.util.ArrayPrefixHelpers$LongCumulateTask top int
StackMap stack:
iload 10
iconst_1
iand
ifeq 50
iconst_4
goto 52
50: StackMap locals:
StackMap stack:
iload 6
iload 4
if_icmple 51
iconst_2
goto 52
StackMap locals:
StackMap stack:
51: bipush 6
52: StackMap locals:
StackMap stack: int
istore 9
start local 9 53: aload 8
iload 10
iload 10
iload 9
ior
invokevirtual java.util.ArrayPrefixHelpers$LongCumulateTask.compareAndSetPendingCount:(II)Z
ifeq 46
end local 10 54: iload 9
iconst_2
if_icmpeq 67
55: iload 6
iload 4
if_icmpne 59
56: aload 2
iload 4
laload
lstore 10
start local 10 57: iload 4
iconst_1
iadd
istore 12
start local 12 58: goto 61
end local 12 end local 10 59: StackMap locals: java.util.ArrayPrefixHelpers$LongCumulateTask java.util.function.LongBinaryOperator long[] int int int int int java.util.ArrayPrefixHelpers$LongCumulateTask int
StackMap stack:
aload 8
getfield java.util.ArrayPrefixHelpers$LongCumulateTask.in:J
lstore 10
start local 10 60: iload 6
istore 12
start local 12 61: StackMap locals: long int
StackMap stack:
iload 12
istore 13
start local 13 62: goto 65
63: StackMap locals: int
StackMap stack:
aload 2
iload 13
aload 1
lload 10
aload 2
iload 13
laload
invokeinterface java.util.function.LongBinaryOperator.applyAsLong:(JJ)J
dup2
lstore 10
lastore
64: iinc 13 1
StackMap locals:
StackMap stack:
65: iload 13
iload 7
if_icmplt 63
end local 13 end local 12 66: goto 76
end local 10 67: StackMap locals:
StackMap stack:
iload 7
iload 5
if_icmpge 75
68: aload 2
iload 6
laload
lstore 10
start local 10 69: iload 6
iconst_1
iadd
istore 12
start local 12 70: goto 73
71: StackMap locals: long int
StackMap stack:
aload 1
lload 10
aload 2
iload 12
laload
invokeinterface java.util.function.LongBinaryOperator.applyAsLong:(JJ)J
lstore 10
72: iinc 12 1
StackMap locals:
StackMap stack:
73: iload 12
iload 7
if_icmplt 71
end local 12 74: goto 76
end local 10 75: StackMap locals:
StackMap stack:
aload 8
getfield java.util.ArrayPrefixHelpers$LongCumulateTask.in:J
lstore 10
start local 10 76: StackMap locals: long
StackMap stack:
aload 8
lload 10
putfield java.util.ArrayPrefixHelpers$LongCumulateTask.out:J
77: StackMap locals:
StackMap stack:
aload 8
invokevirtual java.util.ArrayPrefixHelpers$LongCumulateTask.getCompleter:()Ljava/util/concurrent/CountedCompleter;
checkcast java.util.ArrayPrefixHelpers$LongCumulateTask
dup
astore 12
start local 12 78: ifnonnull 82
79: iload 9
iconst_4
iand
ifeq 111
80: aload 8
invokevirtual java.util.ArrayPrefixHelpers$LongCumulateTask.quietlyComplete:()V
81: goto 111
82: StackMap locals: java.util.ArrayPrefixHelpers$LongCumulateTask
StackMap stack:
aload 12
invokevirtual java.util.ArrayPrefixHelpers$LongCumulateTask.getPendingCount:()I
istore 13
start local 13 83: iload 13
iload 9
iand
iconst_4
iand
ifeq 85
84: aload 12
astore 8
goto 77
85: StackMap locals: int
StackMap stack:
iload 13
iload 9
iand
iconst_2
iand
ifeq 106
86: aload 12
getfield java.util.ArrayPrefixHelpers$LongCumulateTask.left:Ljava/util/ArrayPrefixHelpers$LongCumulateTask;
dup
astore 15
start local 15 87: ifnull 94
88: aload 12
getfield java.util.ArrayPrefixHelpers$LongCumulateTask.right:Ljava/util/ArrayPrefixHelpers$LongCumulateTask;
dup
astore 16
start local 16 89: ifnull 94
90: aload 15
getfield java.util.ArrayPrefixHelpers$LongCumulateTask.out:J
lstore 17
start local 17 91: aload 12
aload 16
getfield java.util.ArrayPrefixHelpers$LongCumulateTask.hi:I
iload 5
if_icmpne 92
lload 17
goto 93
92: StackMap locals: java.util.ArrayPrefixHelpers$LongCumulateTask java.util.function.LongBinaryOperator long[] int int int int int java.util.ArrayPrefixHelpers$LongCumulateTask int long java.util.ArrayPrefixHelpers$LongCumulateTask int top java.util.ArrayPrefixHelpers$LongCumulateTask java.util.ArrayPrefixHelpers$LongCumulateTask long
StackMap stack: java.util.ArrayPrefixHelpers$LongCumulateTask
aload 1
lload 17
aload 16
getfield java.util.ArrayPrefixHelpers$LongCumulateTask.out:J
invokeinterface java.util.function.LongBinaryOperator.applyAsLong:(JJ)J
93: StackMap locals: java.util.ArrayPrefixHelpers$LongCumulateTask java.util.function.LongBinaryOperator long[] int int int int int java.util.ArrayPrefixHelpers$LongCumulateTask int long java.util.ArrayPrefixHelpers$LongCumulateTask int top java.util.ArrayPrefixHelpers$LongCumulateTask java.util.ArrayPrefixHelpers$LongCumulateTask long
StackMap stack: java.util.ArrayPrefixHelpers$LongCumulateTask long
putfield java.util.ArrayPrefixHelpers$LongCumulateTask.out:J
end local 17 end local 16 94: StackMap locals:
StackMap stack:
iload 13
iconst_1
iand
ifne 96
95: aload 12
getfield java.util.ArrayPrefixHelpers$LongCumulateTask.lo:I
iload 4
if_icmpne 96
iconst_1
goto 97
StackMap locals:
StackMap stack:
96: iconst_0
97: StackMap locals:
StackMap stack: int
istore 17
start local 17 98: iload 13
iload 9
ior
iload 17
ior
dup
istore 14
start local 14 99: iload 13
if_icmpeq 101
100: aload 12
iload 13
iload 14
invokevirtual java.util.ArrayPrefixHelpers$LongCumulateTask.compareAndSetPendingCount:(II)Z
ifeq 77
101: StackMap locals: java.util.ArrayPrefixHelpers$LongCumulateTask java.util.function.LongBinaryOperator long[] int int int int int java.util.ArrayPrefixHelpers$LongCumulateTask int long java.util.ArrayPrefixHelpers$LongCumulateTask int int java.util.ArrayPrefixHelpers$LongCumulateTask top int
StackMap stack:
iconst_2
istore 9
102: aload 12
astore 8
103: iload 17
ifeq 77
104: aload 12
invokevirtual java.util.ArrayPrefixHelpers$LongCumulateTask.fork:()Ljava/util/concurrent/ForkJoinTask;
pop
end local 17 end local 15 end local 14 105: goto 77
106: StackMap locals: java.util.ArrayPrefixHelpers$LongCumulateTask java.util.function.LongBinaryOperator long[] int int int int int java.util.ArrayPrefixHelpers$LongCumulateTask int long java.util.ArrayPrefixHelpers$LongCumulateTask int
StackMap stack:
aload 12
iload 13
iload 13
iload 9
ior
invokevirtual java.util.ArrayPrefixHelpers$LongCumulateTask.compareAndSetPendingCount:(II)Z
ifeq 77
107: goto 111
end local 13 end local 12 end local 10 end local 9 end local 7 end local 6 108: StackMap locals: java.util.ArrayPrefixHelpers$LongCumulateTask java.util.function.LongBinaryOperator long[] int int int top top java.util.ArrayPrefixHelpers$LongCumulateTask
StackMap stack:
aload 8
getfield java.util.ArrayPrefixHelpers$LongCumulateTask.lo:I
dup
istore 6
start local 6 109: iflt 111
aload 8
getfield java.util.ArrayPrefixHelpers$LongCumulateTask.hi:I
dup
istore 7
start local 7 110: aload 2
arraylength
if_icmple 9
end local 7 111: StackMap locals: java.util.ArrayPrefixHelpers$LongCumulateTask java.util.function.LongBinaryOperator long[] int int int int top java.util.ArrayPrefixHelpers$LongCumulateTask
StackMap stack:
return
end local 8 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 112 0 this Ljava/util/ArrayPrefixHelpers$LongCumulateTask;
1 112 1 fn Ljava/util/function/LongBinaryOperator;
2 3 2 a [J
4 112 2 a [J
5 112 3 th I
6 112 4 org I
7 112 5 fnc I
9 108 6 l I
109 112 6 l I
9 108 7 h I
110 111 7 h I
8 112 8 t Ljava/util/ArrayPrefixHelpers$LongCumulateTask;
11 45 9 lt Ljava/util/ArrayPrefixHelpers$LongCumulateTask;
12 45 10 rt Ljava/util/ArrayPrefixHelpers$LongCumulateTask;
17 21 11 f Ljava/util/ArrayPrefixHelpers$LongCumulateTask;
24 45 11 f Ljava/util/ArrayPrefixHelpers$LongCumulateTask;
14 20 12 mid I
22 43 12 pin J
26 34 14 lout J
30 34 16 c I
35 41 14 c I
53 108 9 state I
47 54 10 b I
57 59 10 sum J
60 67 10 sum J
69 75 10 sum J
76 108 10 sum J
58 59 12 first I
61 66 12 first I
62 66 13 i I
70 74 12 i I
78 108 12 par Ljava/util/ArrayPrefixHelpers$LongCumulateTask;
83 108 13 b I
99 105 14 nextState I
87 105 15 lt Ljava/util/ArrayPrefixHelpers$LongCumulateTask;
89 94 16 rt Ljava/util/ArrayPrefixHelpers$LongCumulateTask;
91 94 17 lout J
98 105 17 refork I
}
Signature: Ljava/util/concurrent/CountedCompleter<Ljava/lang/Void;>;
SourceFile: "ArrayPrefixHelpers.java"
NestHost: java.util.ArrayPrefixHelpers
InnerClasses:
final LongCumulateTask = java.util.ArrayPrefixHelpers$LongCumulateTask of java.util.ArrayPrefixHelpers