final class java.util.stream.ForEachOps$ForEachOrderedTask<S, 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.stream.ForEachOps$ForEachOrderedTask
super_class: java.util.concurrent.CountedCompleter
{
private final java.util.stream.PipelineHelper<T> helper;
descriptor: Ljava/util/stream/PipelineHelper;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/util/stream/PipelineHelper<TT;>;
private java.util.Spliterator<S> spliterator;
descriptor: Ljava/util/Spliterator;
flags: (0x0002) ACC_PRIVATE
Signature: Ljava/util/Spliterator<TS;>;
private final long targetSize;
descriptor: J
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final java.util.concurrent.ConcurrentHashMap<java.util.stream.ForEachOps$ForEachOrderedTask<S, T>, java.util.stream.ForEachOps$ForEachOrderedTask<S, T>> completionMap;
descriptor: Ljava/util/concurrent/ConcurrentHashMap;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/util/concurrent/ConcurrentHashMap<Ljava/util/stream/ForEachOps$ForEachOrderedTask<TS;TT;>;Ljava/util/stream/ForEachOps$ForEachOrderedTask<TS;TT;>;>;
private final java.util.stream.Sink<T> action;
descriptor: Ljava/util/stream/Sink;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/util/stream/Sink<TT;>;
private final java.util.stream.ForEachOps$ForEachOrderedTask<S, T> leftPredecessor;
descriptor: Ljava/util/stream/ForEachOps$ForEachOrderedTask;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/util/stream/ForEachOps$ForEachOrderedTask<TS;TT;>;
private java.util.stream.Node<T> node;
descriptor: Ljava/util/stream/Node;
flags: (0x0002) ACC_PRIVATE
Signature: Ljava/util/stream/Node<TT;>;
protected void <init>(java.util.stream.PipelineHelper<T>, java.util.Spliterator<S>, java.util.stream.Sink<T>);
descriptor: (Ljava/util/stream/PipelineHelper;Ljava/util/Spliterator;Ljava/util/stream/Sink;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=6, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 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.ForEachOps$ForEachOrderedTask.helper:Ljava/util/stream/PipelineHelper;
2: aload 0
aload 2
putfield java.util.stream.ForEachOps$ForEachOrderedTask.spliterator:Ljava/util/Spliterator;
3: aload 0
aload 2
invokeinterface java.util.Spliterator.estimateSize:()J
invokestatic java.util.stream.AbstractTask.suggestTargetSize:(J)J
putfield java.util.stream.ForEachOps$ForEachOrderedTask.targetSize:J
4: aload 0
new java.util.concurrent.ConcurrentHashMap
dup
bipush 16
invokestatic java.util.stream.AbstractTask.getLeafTarget:()I
iconst_1
ishl
invokestatic java.lang.Math.max:(II)I
invokespecial java.util.concurrent.ConcurrentHashMap.<init>:(I)V
putfield java.util.stream.ForEachOps$ForEachOrderedTask.completionMap:Ljava/util/concurrent/ConcurrentHashMap;
5: aload 0
aload 3
putfield java.util.stream.ForEachOps$ForEachOrderedTask.action:Ljava/util/stream/Sink;
6: aload 0
aconst_null
putfield java.util.stream.ForEachOps$ForEachOrderedTask.leftPredecessor:Ljava/util/stream/ForEachOps$ForEachOrderedTask;
7: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Ljava/util/stream/ForEachOps$ForEachOrderedTask<TS;TT;>;
0 8 1 helper Ljava/util/stream/PipelineHelper<TT;>;
0 8 2 spliterator Ljava/util/Spliterator<TS;>;
0 8 3 action Ljava/util/stream/Sink<TT;>;
Signature: (Ljava/util/stream/PipelineHelper<TT;>;Ljava/util/Spliterator<TS;>;Ljava/util/stream/Sink<TT;>;)V
MethodParameters:
Name Flags
helper
spliterator
action
void <init>(java.util.stream.ForEachOps$ForEachOrderedTask<S, T>, java.util.Spliterator<S>, java.util.stream.ForEachOps$ForEachOrderedTask<S, T>);
descriptor: (Ljava/util/stream/ForEachOps$ForEachOrderedTask;Ljava/util/Spliterator;Ljava/util/stream/ForEachOps$ForEachOrderedTask;)V
flags: (0x0000)
Code:
stack=3, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
aload 1
invokespecial java.util.concurrent.CountedCompleter.<init>:(Ljava/util/concurrent/CountedCompleter;)V
1: aload 0
aload 1
getfield java.util.stream.ForEachOps$ForEachOrderedTask.helper:Ljava/util/stream/PipelineHelper;
putfield java.util.stream.ForEachOps$ForEachOrderedTask.helper:Ljava/util/stream/PipelineHelper;
2: aload 0
aload 2
putfield java.util.stream.ForEachOps$ForEachOrderedTask.spliterator:Ljava/util/Spliterator;
3: aload 0
aload 1
getfield java.util.stream.ForEachOps$ForEachOrderedTask.targetSize:J
putfield java.util.stream.ForEachOps$ForEachOrderedTask.targetSize:J
4: aload 0
aload 1
getfield java.util.stream.ForEachOps$ForEachOrderedTask.completionMap:Ljava/util/concurrent/ConcurrentHashMap;
putfield java.util.stream.ForEachOps$ForEachOrderedTask.completionMap:Ljava/util/concurrent/ConcurrentHashMap;
5: aload 0
aload 1
getfield java.util.stream.ForEachOps$ForEachOrderedTask.action:Ljava/util/stream/Sink;
putfield java.util.stream.ForEachOps$ForEachOrderedTask.action:Ljava/util/stream/Sink;
6: aload 0
aload 3
putfield java.util.stream.ForEachOps$ForEachOrderedTask.leftPredecessor:Ljava/util/stream/ForEachOps$ForEachOrderedTask;
7: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Ljava/util/stream/ForEachOps$ForEachOrderedTask<TS;TT;>;
0 8 1 parent Ljava/util/stream/ForEachOps$ForEachOrderedTask<TS;TT;>;
0 8 2 spliterator Ljava/util/Spliterator<TS;>;
0 8 3 leftPredecessor Ljava/util/stream/ForEachOps$ForEachOrderedTask<TS;TT;>;
Signature: (Ljava/util/stream/ForEachOps$ForEachOrderedTask<TS;TT;>;Ljava/util/Spliterator<TS;>;Ljava/util/stream/ForEachOps$ForEachOrderedTask<TS;TT;>;)V
MethodParameters:
Name Flags
parent
spliterator
leftPredecessor
public final void compute();
descriptor: ()V
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokestatic java.util.stream.ForEachOps$ForEachOrderedTask.doCompute:(Ljava/util/stream/ForEachOps$ForEachOrderedTask;)V
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Ljava/util/stream/ForEachOps$ForEachOrderedTask<TS;TT;>;
private static <S, T> void doCompute(java.util.stream.ForEachOps$ForEachOrderedTask<S, T>);
descriptor: (Ljava/util/stream/ForEachOps$ForEachOrderedTask;)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=5, locals=9, args_size=1
start local 0 0: aload 0
getfield java.util.stream.ForEachOps$ForEachOrderedTask.spliterator:Ljava/util/Spliterator;
astore 1
start local 1 1: aload 0
getfield java.util.stream.ForEachOps$ForEachOrderedTask.targetSize:J
lstore 3
start local 3 2: iconst_0
istore 5
start local 5 3: goto 27
start local 2 4: StackMap locals: java.util.stream.ForEachOps$ForEachOrderedTask java.util.Spliterator java.util.Spliterator long int
StackMap stack:
new java.util.stream.ForEachOps$ForEachOrderedTask
dup
aload 0
aload 2
aload 0
getfield java.util.stream.ForEachOps$ForEachOrderedTask.leftPredecessor:Ljava/util/stream/ForEachOps$ForEachOrderedTask;
invokespecial java.util.stream.ForEachOps$ForEachOrderedTask.<init>:(Ljava/util/stream/ForEachOps$ForEachOrderedTask;Ljava/util/Spliterator;Ljava/util/stream/ForEachOps$ForEachOrderedTask;)V
5: astore 6
start local 6 6: new java.util.stream.ForEachOps$ForEachOrderedTask
dup
aload 0
aload 1
aload 6
invokespecial java.util.stream.ForEachOps$ForEachOrderedTask.<init>:(Ljava/util/stream/ForEachOps$ForEachOrderedTask;Ljava/util/Spliterator;Ljava/util/stream/ForEachOps$ForEachOrderedTask;)V
7: astore 7
start local 7 8: aload 0
iconst_1
invokevirtual java.util.stream.ForEachOps$ForEachOrderedTask.addToPendingCount:(I)V
9: aload 7
iconst_1
invokevirtual java.util.stream.ForEachOps$ForEachOrderedTask.addToPendingCount:(I)V
10: aload 0
getfield java.util.stream.ForEachOps$ForEachOrderedTask.completionMap:Ljava/util/concurrent/ConcurrentHashMap;
aload 6
aload 7
invokevirtual java.util.concurrent.ConcurrentHashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
11: aload 0
getfield java.util.stream.ForEachOps$ForEachOrderedTask.leftPredecessor:Ljava/util/stream/ForEachOps$ForEachOrderedTask;
ifnull 17
12: aload 6
iconst_1
invokevirtual java.util.stream.ForEachOps$ForEachOrderedTask.addToPendingCount:(I)V
13: aload 0
getfield java.util.stream.ForEachOps$ForEachOrderedTask.completionMap:Ljava/util/concurrent/ConcurrentHashMap;
aload 0
getfield java.util.stream.ForEachOps$ForEachOrderedTask.leftPredecessor:Ljava/util/stream/ForEachOps$ForEachOrderedTask;
aload 0
aload 6
invokevirtual java.util.concurrent.ConcurrentHashMap.replace:(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Z
ifeq 16
14: aload 0
iconst_m1
invokevirtual java.util.stream.ForEachOps$ForEachOrderedTask.addToPendingCount:(I)V
15: goto 17
16: StackMap locals: java.util.stream.ForEachOps$ForEachOrderedTask java.util.stream.ForEachOps$ForEachOrderedTask
StackMap stack:
aload 6
iconst_m1
invokevirtual java.util.stream.ForEachOps$ForEachOrderedTask.addToPendingCount:(I)V
17: StackMap locals:
StackMap stack:
iload 5
ifeq 23
18: iconst_0
istore 5
19: aload 2
astore 1
20: aload 6
astore 0
21: aload 7
astore 8
start local 8 22: goto 26
end local 8 23: StackMap locals:
StackMap stack:
iconst_1
istore 5
24: aload 7
astore 0
25: aload 6
astore 8
start local 8 26: StackMap locals: java.util.stream.ForEachOps$ForEachOrderedTask
StackMap stack:
aload 8
invokevirtual java.util.stream.ForEachOps$ForEachOrderedTask.fork:()Ljava/util/concurrent/ForkJoinTask;
pop
end local 8 end local 7 end local 6 end local 2 27: StackMap locals: java.util.stream.ForEachOps$ForEachOrderedTask java.util.Spliterator top long int
StackMap stack:
aload 1
invokeinterface java.util.Spliterator.estimateSize:()J
lload 3
lcmp
ifle 30
28: aload 1
invokeinterface java.util.Spliterator.trySplit:()Ljava/util/Spliterator;
dup
astore 2
start local 2 29: ifnonnull 4
end local 2 30: StackMap locals:
StackMap stack:
aload 0
invokevirtual java.util.stream.ForEachOps$ForEachOrderedTask.getPendingCount:()I
ifle 38
31: invokedynamic apply()Ljava/util/function/IntFunction;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
(I)Ljava/lang/Object;
java/util/stream/ForEachOps$ForEachOrderedTask.lambda$0(I)[Ljava/lang/Object; (6)
(I)[Ljava/lang/Object;
astore 6
start local 6 32: aload 0
getfield java.util.stream.ForEachOps$ForEachOrderedTask.helper:Ljava/util/stream/PipelineHelper;
33: aload 0
getfield java.util.stream.ForEachOps$ForEachOrderedTask.helper:Ljava/util/stream/PipelineHelper;
aload 1
invokevirtual java.util.stream.PipelineHelper.exactOutputSizeIfKnown:(Ljava/util/Spliterator;)J
34: aload 6
35: invokevirtual java.util.stream.PipelineHelper.makeNodeBuilder:(JLjava/util/function/IntFunction;)Ljava/util/stream/Node$Builder;
astore 7
start local 7 36: aload 0
aload 0
getfield java.util.stream.ForEachOps$ForEachOrderedTask.helper:Ljava/util/stream/PipelineHelper;
aload 7
aload 1
invokevirtual java.util.stream.PipelineHelper.wrapAndCopyInto:(Ljava/util/stream/Sink;Ljava/util/Spliterator;)Ljava/util/stream/Sink;
checkcast java.util.stream.Node$Builder
invokeinterface java.util.stream.Node$Builder.build:()Ljava/util/stream/Node;
putfield java.util.stream.ForEachOps$ForEachOrderedTask.node:Ljava/util/stream/Node;
37: aload 0
aconst_null
putfield java.util.stream.ForEachOps$ForEachOrderedTask.spliterator:Ljava/util/Spliterator;
end local 7 end local 6 38: StackMap locals:
StackMap stack:
aload 0
invokevirtual java.util.stream.ForEachOps$ForEachOrderedTask.tryComplete:()V
39: return
end local 5 end local 3 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 40 0 task Ljava/util/stream/ForEachOps$ForEachOrderedTask<TS;TT;>;
1 40 1 rightSplit Ljava/util/Spliterator<TS;>;
4 27 2 leftSplit Ljava/util/Spliterator<TS;>;
29 30 2 leftSplit Ljava/util/Spliterator<TS;>;
2 40 3 sizeThreshold J
3 40 5 forkRight Z
6 27 6 leftChild Ljava/util/stream/ForEachOps$ForEachOrderedTask<TS;TT;>;
8 27 7 rightChild Ljava/util/stream/ForEachOps$ForEachOrderedTask<TS;TT;>;
22 23 8 taskToFork Ljava/util/stream/ForEachOps$ForEachOrderedTask<TS;TT;>;
26 27 8 taskToFork Ljava/util/stream/ForEachOps$ForEachOrderedTask<TS;TT;>;
32 38 6 generator Ljava/util/function/IntFunction<[TT;>;
36 38 7 nb Ljava/util/stream/Node$Builder<TT;>;
Signature: <S:Ljava/lang/Object;T:Ljava/lang/Object;>(Ljava/util/stream/ForEachOps$ForEachOrderedTask<TS;TT;>;)V
MethodParameters:
Name Flags
task
public void onCompletion(java.util.concurrent.CountedCompleter<?>);
descriptor: (Ljava/util/concurrent/CountedCompleter;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=2
start local 0 start local 1 0: aload 0
getfield java.util.stream.ForEachOps$ForEachOrderedTask.node:Ljava/util/stream/Node;
ifnull 4
1: aload 0
getfield java.util.stream.ForEachOps$ForEachOrderedTask.node:Ljava/util/stream/Node;
aload 0
getfield java.util.stream.ForEachOps$ForEachOrderedTask.action:Ljava/util/stream/Sink;
invokeinterface java.util.stream.Node.forEach:(Ljava/util/function/Consumer;)V
2: aload 0
aconst_null
putfield java.util.stream.ForEachOps$ForEachOrderedTask.node:Ljava/util/stream/Node;
3: goto 7
4: StackMap locals:
StackMap stack:
aload 0
getfield java.util.stream.ForEachOps$ForEachOrderedTask.spliterator:Ljava/util/Spliterator;
ifnull 7
5: aload 0
getfield java.util.stream.ForEachOps$ForEachOrderedTask.helper:Ljava/util/stream/PipelineHelper;
aload 0
getfield java.util.stream.ForEachOps$ForEachOrderedTask.action:Ljava/util/stream/Sink;
aload 0
getfield java.util.stream.ForEachOps$ForEachOrderedTask.spliterator:Ljava/util/Spliterator;
invokevirtual java.util.stream.PipelineHelper.wrapAndCopyInto:(Ljava/util/stream/Sink;Ljava/util/Spliterator;)Ljava/util/stream/Sink;
pop
6: aload 0
aconst_null
putfield java.util.stream.ForEachOps$ForEachOrderedTask.spliterator:Ljava/util/Spliterator;
7: StackMap locals:
StackMap stack:
aload 0
getfield java.util.stream.ForEachOps$ForEachOrderedTask.completionMap:Ljava/util/concurrent/ConcurrentHashMap;
aload 0
invokevirtual java.util.concurrent.ConcurrentHashMap.remove:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.util.stream.ForEachOps$ForEachOrderedTask
astore 2
start local 2 8: aload 2
ifnull 10
9: aload 2
invokevirtual java.util.stream.ForEachOps$ForEachOrderedTask.tryComplete:()V
10: StackMap locals: java.util.stream.ForEachOps$ForEachOrderedTask
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Ljava/util/stream/ForEachOps$ForEachOrderedTask<TS;TT;>;
0 11 1 caller Ljava/util/concurrent/CountedCompleter<*>;
8 11 2 leftDescendant Ljava/util/stream/ForEachOps$ForEachOrderedTask<TS;TT;>;
Signature: (Ljava/util/concurrent/CountedCompleter<*>;)V
MethodParameters:
Name Flags
caller
private static java.lang.Object[] lambda$0(int);
descriptor: (I)[Ljava/lang/Object;
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: iload 0
anewarray java.lang.Object
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 size I
}
Signature: <S:Ljava/lang/Object;T:Ljava/lang/Object;>Ljava/util/concurrent/CountedCompleter<Ljava/lang/Void;>;
SourceFile: "ForEachOps.java"
NestHost: java.util.stream.ForEachOps
InnerClasses:
public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles
final ForEachOrderedTask = java.util.stream.ForEachOps$ForEachOrderedTask of java.util.stream.ForEachOps
public abstract Builder = java.util.stream.Node$Builder of java.util.stream.Node