abstract class java.util.stream.AbstractTask<P_IN, P_OUT, R, K extends java.util.stream.AbstractTask<P_IN, P_OUT, R, K>> extends java.util.concurrent.CountedCompleter<R>
minor version: 0
major version: 59
flags: flags: (0x0420) ACC_SUPER, ACC_ABSTRACT
this_class: java.util.stream.AbstractTask
super_class: java.util.concurrent.CountedCompleter
{
private static final int LEAF_TARGET;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
protected final java.util.stream.PipelineHelper<P_OUT> helper;
descriptor: Ljava/util/stream/PipelineHelper;
flags: (0x0014) ACC_PROTECTED, ACC_FINAL
Signature: Ljava/util/stream/PipelineHelper<TP_OUT;>;
protected java.util.Spliterator<P_IN> spliterator;
descriptor: Ljava/util/Spliterator;
flags: (0x0004) ACC_PROTECTED
Signature: Ljava/util/Spliterator<TP_IN;>;
protected long targetSize;
descriptor: J
flags: (0x0004) ACC_PROTECTED
protected K leftChild;
descriptor: Ljava/util/stream/AbstractTask;
flags: (0x0004) ACC_PROTECTED
Signature: TK;
protected K rightChild;
descriptor: Ljava/util/stream/AbstractTask;
flags: (0x0004) ACC_PROTECTED
Signature: TK;
private R localResult;
descriptor: Ljava/lang/Object;
flags: (0x0002) ACC_PRIVATE
Signature: TR;
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=2, locals=0, args_size=0
0: invokestatic java.util.concurrent.ForkJoinPool.getCommonPoolParallelism:()I
iconst_2
ishl
putstatic java.util.stream.AbstractTask.LEAF_TARGET:I
return
LocalVariableTable:
Start End Slot Name Signature
protected void <init>(java.util.stream.PipelineHelper<P_OUT>, java.util.Spliterator<P_IN>);
descriptor: (Ljava/util/stream/PipelineHelper;Ljava/util/Spliterator;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aconst_null
invokespecial java.util.concurrent.CountedCompleter.<init>:(Ljava/util/concurrent/CountedCompleter;)V
1: aload 0
aload 1
putfield java.util.stream.AbstractTask.helper:Ljava/util/stream/PipelineHelper;
2: aload 0
aload 2
putfield java.util.stream.AbstractTask.spliterator:Ljava/util/Spliterator;
3: aload 0
lconst_0
putfield java.util.stream.AbstractTask.targetSize:J
4: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Ljava/util/stream/AbstractTask<TP_IN;TP_OUT;TR;TK;>;
0 5 1 helper Ljava/util/stream/PipelineHelper<TP_OUT;>;
0 5 2 spliterator Ljava/util/Spliterator<TP_IN;>;
Signature: (Ljava/util/stream/PipelineHelper<TP_OUT;>;Ljava/util/Spliterator<TP_IN;>;)V
MethodParameters:
Name Flags
helper
spliterator
protected void <init>(K, java.util.Spliterator<P_IN>);
descriptor: (Ljava/util/stream/AbstractTask;Ljava/util/Spliterator;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
invokespecial java.util.concurrent.CountedCompleter.<init>:(Ljava/util/concurrent/CountedCompleter;)V
1: aload 0
aload 2
putfield java.util.stream.AbstractTask.spliterator:Ljava/util/Spliterator;
2: aload 0
aload 1
getfield java.util.stream.AbstractTask.helper:Ljava/util/stream/PipelineHelper;
putfield java.util.stream.AbstractTask.helper:Ljava/util/stream/PipelineHelper;
3: aload 0
aload 1
getfield java.util.stream.AbstractTask.targetSize:J
putfield java.util.stream.AbstractTask.targetSize:J
4: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Ljava/util/stream/AbstractTask<TP_IN;TP_OUT;TR;TK;>;
0 5 1 parent TK;
0 5 2 spliterator Ljava/util/Spliterator<TP_IN;>;
Signature: (TK;Ljava/util/Spliterator<TP_IN;>;)V
MethodParameters:
Name Flags
parent
spliterator
public static int getLeafTarget();
descriptor: ()I
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=1, args_size=0
0: invokestatic java.lang.Thread.currentThread:()Ljava/lang/Thread;
astore 0
start local 0 1: aload 0
instanceof java.util.concurrent.ForkJoinWorkerThread
ifeq 3
2: aload 0
checkcast java.util.concurrent.ForkJoinWorkerThread
invokevirtual java.util.concurrent.ForkJoinWorkerThread.getPool:()Ljava/util/concurrent/ForkJoinPool;
invokevirtual java.util.concurrent.ForkJoinPool.getParallelism:()I
iconst_2
ishl
ireturn
3: StackMap locals: java.lang.Thread
StackMap stack:
getstatic java.util.stream.AbstractTask.LEAF_TARGET:I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
1 4 0 t Ljava/lang/Thread;
protected abstract K makeChild(java.util.Spliterator<P_IN>);
descriptor: (Ljava/util/Spliterator;)Ljava/util/stream/AbstractTask;
flags: (0x0404) ACC_PROTECTED, ACC_ABSTRACT
Signature: (Ljava/util/Spliterator<TP_IN;>;)TK;
MethodParameters:
Name Flags
spliterator
protected abstract R doLeaf();
descriptor: ()Ljava/lang/Object;
flags: (0x0404) ACC_PROTECTED, ACC_ABSTRACT
Signature: ()TR;
public static long suggestTargetSize(long);
descriptor: (J)J
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=4, locals=4, args_size=1
start local 0 0: lload 0
invokestatic java.util.stream.AbstractTask.getLeafTarget:()I
i2l
ldiv
lstore 2
start local 2 1: lload 2
lconst_0
lcmp
ifle 2
lload 2
goto 3
StackMap locals: long
StackMap stack:
2: lconst_1
StackMap locals:
StackMap stack: long
3: lreturn
end local 2 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 sizeEstimate J
1 4 2 est J
MethodParameters:
Name Flags
sizeEstimate
protected final long getTargetSize(long);
descriptor: (J)J
flags: (0x0014) ACC_PROTECTED, ACC_FINAL
Code:
stack=5, locals=5, args_size=2
start local 0 start local 1 0: aload 0
getfield java.util.stream.AbstractTask.targetSize:J
dup2
lstore 3
start local 3 1: lconst_0
lcmp
ifeq 2
lload 3
goto 3
2: StackMap locals: long
StackMap stack:
aload 0
lload 1
invokestatic java.util.stream.AbstractTask.suggestTargetSize:(J)J
dup2_x1
putfield java.util.stream.AbstractTask.targetSize:J
3: StackMap locals:
StackMap stack: long
lreturn
end local 3 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Ljava/util/stream/AbstractTask<TP_IN;TP_OUT;TR;TK;>;
0 4 1 sizeEstimate J
1 4 3 s J
MethodParameters:
Name Flags
sizeEstimate
public R getRawResult();
descriptor: ()Ljava/lang/Object;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield java.util.stream.AbstractTask.localResult:Ljava/lang/Object;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljava/util/stream/AbstractTask<TP_IN;TP_OUT;TR;TK;>;
Signature: ()TR;
protected void setRawResult();
descriptor: (Ljava/lang/Object;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 1
ifnull 2
1: new java.lang.IllegalStateException
dup
invokespecial java.lang.IllegalStateException.<init>:()V
athrow
2: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Ljava/util/stream/AbstractTask<TP_IN;TP_OUT;TR;TK;>;
0 3 1 result TR;
Signature: (TR;)V
MethodParameters:
Name Flags
result
protected R getLocalResult();
descriptor: ()Ljava/lang/Object;
flags: (0x0004) ACC_PROTECTED
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield java.util.stream.AbstractTask.localResult:Ljava/lang/Object;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljava/util/stream/AbstractTask<TP_IN;TP_OUT;TR;TK;>;
Signature: ()TR;
protected void setLocalResult();
descriptor: (Ljava/lang/Object;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
putfield java.util.stream.AbstractTask.localResult:Ljava/lang/Object;
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Ljava/util/stream/AbstractTask<TP_IN;TP_OUT;TR;TK;>;
0 2 1 localResult TR;
Signature: (TR;)V
MethodParameters:
Name Flags
localResult
protected boolean isLeaf();
descriptor: ()Z
flags: (0x0004) ACC_PROTECTED
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield java.util.stream.AbstractTask.leftChild:Ljava/util/stream/AbstractTask;
ifnonnull 1
iconst_1
ireturn
StackMap locals:
StackMap stack:
1: iconst_0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Ljava/util/stream/AbstractTask<TP_IN;TP_OUT;TR;TK;>;
protected boolean isRoot();
descriptor: ()Z
flags: (0x0004) ACC_PROTECTED
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual java.util.stream.AbstractTask.getParent:()Ljava/util/stream/AbstractTask;
ifnonnull 1
iconst_1
ireturn
StackMap locals:
StackMap stack:
1: iconst_0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Ljava/util/stream/AbstractTask<TP_IN;TP_OUT;TR;TK;>;
protected K getParent();
descriptor: ()Ljava/util/stream/AbstractTask;
flags: (0x0004) ACC_PROTECTED
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual java.util.stream.AbstractTask.getCompleter:()Ljava/util/concurrent/CountedCompleter;
checkcast java.util.stream.AbstractTask
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljava/util/stream/AbstractTask<TP_IN;TP_OUT;TR;TK;>;
Signature: ()TK;
public void compute();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=12, args_size=1
start local 0 0: aload 0
getfield java.util.stream.AbstractTask.spliterator:Ljava/util/Spliterator;
astore 1
start local 1 1: aload 1
invokeinterface java.util.Spliterator.estimateSize:()J
lstore 3
start local 3 2: aload 0
lload 3
invokevirtual java.util.stream.AbstractTask.getTargetSize:(J)J
lstore 5
start local 5 3: iconst_0
istore 7
start local 7 4: aload 0
astore 8
start local 8 5: goto 22
start local 2 6: StackMap locals: java.util.stream.AbstractTask java.util.Spliterator java.util.Spliterator long long int java.util.stream.AbstractTask
StackMap stack:
aload 8
aload 8
aload 2
invokevirtual java.util.stream.AbstractTask.makeChild:(Ljava/util/Spliterator;)Ljava/util/stream/AbstractTask;
dup
astore 9
start local 9 7: putfield java.util.stream.AbstractTask.leftChild:Ljava/util/stream/AbstractTask;
8: aload 8
aload 8
aload 1
invokevirtual java.util.stream.AbstractTask.makeChild:(Ljava/util/Spliterator;)Ljava/util/stream/AbstractTask;
dup
astore 10
start local 10 9: putfield java.util.stream.AbstractTask.rightChild:Ljava/util/stream/AbstractTask;
10: aload 8
iconst_1
invokevirtual java.util.stream.AbstractTask.setPendingCount:(I)V
11: iload 7
ifeq 17
12: iconst_0
istore 7
13: aload 2
astore 1
14: aload 9
astore 8
15: aload 10
astore 11
start local 11 16: goto 20
end local 11 17: StackMap locals: java.util.stream.AbstractTask java.util.stream.AbstractTask
StackMap stack:
iconst_1
istore 7
18: aload 10
astore 8
19: aload 9
astore 11
start local 11 20: StackMap locals: java.util.stream.AbstractTask
StackMap stack:
aload 11
invokevirtual java.util.stream.AbstractTask.fork:()Ljava/util/concurrent/ForkJoinTask;
pop
21: aload 1
invokeinterface java.util.Spliterator.estimateSize:()J
lstore 3
end local 11 end local 10 end local 9 end local 2 22: StackMap locals: java.util.stream.AbstractTask java.util.Spliterator top long long int java.util.stream.AbstractTask
StackMap stack:
lload 3
lload 5
lcmp
ifle 24
aload 1
invokeinterface java.util.Spliterator.trySplit:()Ljava/util/Spliterator;
dup
astore 2
start local 2 23: ifnonnull 6
end local 2 24: StackMap locals:
StackMap stack:
aload 8
aload 8
invokevirtual java.util.stream.AbstractTask.doLeaf:()Ljava/lang/Object;
invokevirtual java.util.stream.AbstractTask.setLocalResult:(Ljava/lang/Object;)V
25: aload 8
invokevirtual java.util.stream.AbstractTask.tryComplete:()V
26: return
end local 8 end local 7 end local 5 end local 3 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 27 0 this Ljava/util/stream/AbstractTask<TP_IN;TP_OUT;TR;TK;>;
1 27 1 rs Ljava/util/Spliterator<TP_IN;>;
6 22 2 ls Ljava/util/Spliterator<TP_IN;>;
23 24 2 ls Ljava/util/Spliterator<TP_IN;>;
2 27 3 sizeEstimate J
3 27 5 sizeThreshold J
4 27 7 forkRight Z
5 27 8 task TK;
7 22 9 leftChild TK;
9 22 10 rightChild TK;
16 17 11 taskToFork TK;
20 22 11 taskToFork TK;
public void onCompletion(java.util.concurrent.CountedCompleter<?>);
descriptor: (Ljava/util/concurrent/CountedCompleter;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aconst_null
putfield java.util.stream.AbstractTask.spliterator:Ljava/util/Spliterator;
1: aload 0
aload 0
aconst_null
dup_x1
putfield java.util.stream.AbstractTask.rightChild:Ljava/util/stream/AbstractTask;
putfield java.util.stream.AbstractTask.leftChild:Ljava/util/stream/AbstractTask;
2: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Ljava/util/stream/AbstractTask<TP_IN;TP_OUT;TR;TK;>;
0 3 1 caller Ljava/util/concurrent/CountedCompleter<*>;
Signature: (Ljava/util/concurrent/CountedCompleter<*>;)V
MethodParameters:
Name Flags
caller
protected boolean isLeftmostNode();
descriptor: ()Z
flags: (0x0004) ACC_PROTECTED
Code:
stack=2, locals=3, args_size=1
start local 0 0: aload 0
astore 1
start local 1 1: goto 6
2: StackMap locals: java.util.stream.AbstractTask
StackMap stack:
aload 1
invokevirtual java.util.stream.AbstractTask.getParent:()Ljava/util/stream/AbstractTask;
astore 2
start local 2 3: aload 2
ifnull 5
aload 2
getfield java.util.stream.AbstractTask.leftChild:Ljava/util/stream/AbstractTask;
aload 1
if_acmpeq 5
4: iconst_0
ireturn
5: StackMap locals: java.util.stream.AbstractTask
StackMap stack:
aload 2
astore 1
end local 2 6: StackMap locals:
StackMap stack:
aload 1
ifnonnull 2
7: iconst_1
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Ljava/util/stream/AbstractTask<TP_IN;TP_OUT;TR;TK;>;
1 8 1 node TK;
3 6 2 parent TK;
}
Signature: <P_IN:Ljava/lang/Object;P_OUT:Ljava/lang/Object;R:Ljava/lang/Object;K:Ljava/util/stream/AbstractTask<TP_IN;TP_OUT;TR;TK;>;>Ljava/util/concurrent/CountedCompleter<TR;>;
SourceFile: "AbstractTask.java"