abstract class java.util.stream.Nodes$SizedCollectorTask<P_IN, P_OUT, T_SINK extends java.util.stream.Sink<P_OUT>, K extends java.util.stream.Nodes$SizedCollectorTask<P_IN, P_OUT, T_SINK, K>> extends java.util.concurrent.CountedCompleter<java.lang.Void> implements java.util.stream.Sink<P_OUT>
minor version: 0
major version: 59
flags: flags: (0x0420) ACC_SUPER, ACC_ABSTRACT
this_class: java.util.stream.Nodes$SizedCollectorTask
super_class: java.util.concurrent.CountedCompleter
{
protected final java.util.Spliterator<P_IN> spliterator;
descriptor: Ljava/util/Spliterator;
flags: (0x0014) ACC_PROTECTED, ACC_FINAL
Signature: Ljava/util/Spliterator<TP_IN;>;
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 final long targetSize;
descriptor: J
flags: (0x0014) ACC_PROTECTED, ACC_FINAL
protected long offset;
descriptor: J
flags: (0x0004) ACC_PROTECTED
protected long length;
descriptor: J
flags: (0x0004) ACC_PROTECTED
protected int index;
descriptor: I
flags: (0x0004) ACC_PROTECTED
protected int fence;
descriptor: I
flags: (0x0004) ACC_PROTECTED
static final boolean $assertionsDisabled;
descriptor: Z
flags: (0x1018) ACC_STATIC, ACC_FINAL, ACC_SYNTHETIC
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=1, locals=0, args_size=0
0: ldc Ljava/util/stream/Nodes;
invokevirtual java.lang.Class.desiredAssertionStatus:()Z
ifne 1
iconst_1
goto 2
StackMap locals:
StackMap stack:
1: iconst_0
StackMap locals:
StackMap stack: int
2: putstatic java.util.stream.Nodes$SizedCollectorTask.$assertionsDisabled:Z
return
LocalVariableTable:
Start End Slot Name Signature
void <init>(java.util.Spliterator<P_IN>, java.util.stream.PipelineHelper<P_OUT>, );
descriptor: (Ljava/util/Spliterator;Ljava/util/stream/PipelineHelper;I)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
invokespecial java.util.concurrent.CountedCompleter.<init>:()V
1: getstatic java.util.stream.Nodes$SizedCollectorTask.$assertionsDisabled:Z
ifne 2
aload 1
sipush 16384
invokeinterface java.util.Spliterator.hasCharacteristics:(I)Z
ifne 2
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
2: StackMap locals: java.util.stream.Nodes$SizedCollectorTask java.util.Spliterator java.util.stream.PipelineHelper int
StackMap stack:
aload 0
aload 1
putfield java.util.stream.Nodes$SizedCollectorTask.spliterator:Ljava/util/Spliterator;
3: aload 0
aload 2
putfield java.util.stream.Nodes$SizedCollectorTask.helper:Ljava/util/stream/PipelineHelper;
4: aload 0
aload 1
invokeinterface java.util.Spliterator.estimateSize:()J
invokestatic java.util.stream.AbstractTask.suggestTargetSize:(J)J
putfield java.util.stream.Nodes$SizedCollectorTask.targetSize:J
5: aload 0
lconst_0
putfield java.util.stream.Nodes$SizedCollectorTask.offset:J
6: aload 0
iload 3
i2l
putfield java.util.stream.Nodes$SizedCollectorTask.length:J
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/Nodes$SizedCollectorTask<TP_IN;TP_OUT;TT_SINK;TK;>;
0 8 1 spliterator Ljava/util/Spliterator<TP_IN;>;
0 8 2 helper Ljava/util/stream/PipelineHelper<TP_OUT;>;
0 8 3 arrayLength I
Signature: (Ljava/util/Spliterator<TP_IN;>;Ljava/util/stream/PipelineHelper<TP_OUT;>;I)V
MethodParameters:
Name Flags
spliterator
helper
arrayLength
void <init>(K, java.util.Spliterator<P_IN>, long, long, );
descriptor: (Ljava/util/stream/Nodes$SizedCollectorTask;Ljava/util/Spliterator;JJI)V
flags: (0x0000)
Code:
stack=8, locals=8, args_size=6
start local 0 start local 1 start local 2 start local 3 start local 5 start local 7 0: aload 0
aload 1
invokespecial java.util.concurrent.CountedCompleter.<init>:(Ljava/util/concurrent/CountedCompleter;)V
1: getstatic java.util.stream.Nodes$SizedCollectorTask.$assertionsDisabled:Z
ifne 2
aload 2
sipush 16384
invokeinterface java.util.Spliterator.hasCharacteristics:(I)Z
ifne 2
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
2: StackMap locals: java.util.stream.Nodes$SizedCollectorTask java.util.stream.Nodes$SizedCollectorTask java.util.Spliterator long long int
StackMap stack:
aload 0
aload 2
putfield java.util.stream.Nodes$SizedCollectorTask.spliterator:Ljava/util/Spliterator;
3: aload 0
aload 1
getfield java.util.stream.Nodes$SizedCollectorTask.helper:Ljava/util/stream/PipelineHelper;
putfield java.util.stream.Nodes$SizedCollectorTask.helper:Ljava/util/stream/PipelineHelper;
4: aload 0
aload 1
getfield java.util.stream.Nodes$SizedCollectorTask.targetSize:J
putfield java.util.stream.Nodes$SizedCollectorTask.targetSize:J
5: aload 0
lload 3
putfield java.util.stream.Nodes$SizedCollectorTask.offset:J
6: aload 0
lload 5
putfield java.util.stream.Nodes$SizedCollectorTask.length:J
7: lload 3
lconst_0
lcmp
iflt 8
lload 5
lconst_0
lcmp
iflt 8
lload 3
lload 5
ladd
lconst_1
lsub
iload 7
i2l
lcmp
iflt 13
8: StackMap locals:
StackMap stack:
new java.lang.IllegalArgumentException
dup
9: ldc "offset and length interval [%d, %d + %d) is not within array size interval [0, %d)"
iconst_4
anewarray java.lang.Object
dup
iconst_0
10: lload 3
invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
aastore
dup
iconst_1
lload 3
invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
aastore
dup
iconst_2
lload 5
invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
aastore
dup
iconst_3
iload 7
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
11: invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
12: invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
13: StackMap locals:
StackMap stack:
return
end local 7 end local 5 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 14 0 this Ljava/util/stream/Nodes$SizedCollectorTask<TP_IN;TP_OUT;TT_SINK;TK;>;
0 14 1 parent TK;
0 14 2 spliterator Ljava/util/Spliterator<TP_IN;>;
0 14 3 offset J
0 14 5 length J
0 14 7 arrayLength I
Signature: (TK;Ljava/util/Spliterator<TP_IN;>;JJI)V
MethodParameters:
Name Flags
parent
spliterator
offset
length
arrayLength
public void compute();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=8, locals=6, args_size=1
start local 0 0: aload 0
astore 1
start local 1 1: aload 0
getfield java.util.stream.Nodes$SizedCollectorTask.spliterator:Ljava/util/Spliterator;
astore 2
start local 2 2: goto 9
start local 3 3: StackMap locals: java.util.stream.Nodes$SizedCollectorTask java.util.Spliterator java.util.Spliterator
StackMap stack:
aload 1
iconst_1
invokevirtual java.util.stream.Nodes$SizedCollectorTask.setPendingCount:(I)V
4: aload 3
invokeinterface java.util.Spliterator.estimateSize:()J
lstore 4
start local 4 5: aload 1
aload 3
aload 1
getfield java.util.stream.Nodes$SizedCollectorTask.offset:J
lload 4
invokevirtual java.util.stream.Nodes$SizedCollectorTask.makeChild:(Ljava/util/Spliterator;JJ)Ljava/util/stream/Nodes$SizedCollectorTask;
invokevirtual java.util.stream.Nodes$SizedCollectorTask.fork:()Ljava/util/concurrent/ForkJoinTask;
pop
6: aload 1
aload 2
aload 1
getfield java.util.stream.Nodes$SizedCollectorTask.offset:J
lload 4
ladd
7: aload 1
getfield java.util.stream.Nodes$SizedCollectorTask.length:J
lload 4
lsub
8: invokevirtual java.util.stream.Nodes$SizedCollectorTask.makeChild:(Ljava/util/Spliterator;JJ)Ljava/util/stream/Nodes$SizedCollectorTask;
astore 1
end local 4 end local 3 9: StackMap locals:
StackMap stack:
aload 2
invokeinterface java.util.Spliterator.estimateSize:()J
aload 1
getfield java.util.stream.Nodes$SizedCollectorTask.targetSize:J
lcmp
ifle 12
10: aload 2
invokeinterface java.util.Spliterator.trySplit:()Ljava/util/Spliterator;
dup
astore 3
start local 3 11: ifnonnull 3
end local 3 12: StackMap locals:
StackMap stack:
getstatic java.util.stream.Nodes$SizedCollectorTask.$assertionsDisabled:Z
ifne 13
aload 1
getfield java.util.stream.Nodes$SizedCollectorTask.offset:J
aload 1
getfield java.util.stream.Nodes$SizedCollectorTask.length:J
ladd
ldc 2147483639
lcmp
iflt 13
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
13: StackMap locals:
StackMap stack:
aload 1
astore 4
start local 4 14: aload 1
getfield java.util.stream.Nodes$SizedCollectorTask.helper:Ljava/util/stream/PipelineHelper;
aload 4
aload 2
invokevirtual java.util.stream.PipelineHelper.wrapAndCopyInto:(Ljava/util/stream/Sink;Ljava/util/Spliterator;)Ljava/util/stream/Sink;
pop
15: aload 1
invokevirtual java.util.stream.Nodes$SizedCollectorTask.propagateCompletion:()V
16: return
end local 4 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 17 0 this Ljava/util/stream/Nodes$SizedCollectorTask<TP_IN;TP_OUT;TT_SINK;TK;>;
1 17 1 task Ljava/util/stream/Nodes$SizedCollectorTask<TP_IN;TP_OUT;TT_SINK;TK;>;
2 17 2 rightSplit Ljava/util/Spliterator<TP_IN;>;
3 9 3 leftSplit Ljava/util/Spliterator<TP_IN;>;
11 12 3 leftSplit Ljava/util/Spliterator<TP_IN;>;
5 9 4 leftSplitSize J
14 17 4 sink TT_SINK;
abstract K makeChild(java.util.Spliterator<P_IN>, long, );
descriptor: (Ljava/util/Spliterator;JJ)Ljava/util/stream/Nodes$SizedCollectorTask;
flags: (0x0400) ACC_ABSTRACT
Signature: (Ljava/util/Spliterator<TP_IN;>;JJ)TK;
MethodParameters:
Name Flags
spliterator
offset
size
public void begin(long);
descriptor: (J)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=3, args_size=2
start local 0 start local 1 0: lload 1
aload 0
getfield java.util.stream.Nodes$SizedCollectorTask.length:J
lcmp
ifle 2
1: new java.lang.IllegalStateException
dup
ldc "size passed to Sink.begin exceeds array length"
invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
athrow
2: StackMap locals:
StackMap stack:
aload 0
aload 0
getfield java.util.stream.Nodes$SizedCollectorTask.offset:J
l2i
putfield java.util.stream.Nodes$SizedCollectorTask.index:I
3: aload 0
aload 0
getfield java.util.stream.Nodes$SizedCollectorTask.index:I
aload 0
getfield java.util.stream.Nodes$SizedCollectorTask.length:J
l2i
iadd
putfield java.util.stream.Nodes$SizedCollectorTask.fence:I
4: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Ljava/util/stream/Nodes$SizedCollectorTask<TP_IN;TP_OUT;TT_SINK;TK;>;
0 5 1 size J
MethodParameters:
Name Flags
size
}
Signature: <P_IN:Ljava/lang/Object;P_OUT:Ljava/lang/Object;T_SINK::Ljava/util/stream/Sink<TP_OUT;>;K:Ljava/util/stream/Nodes$SizedCollectorTask<TP_IN;TP_OUT;TT_SINK;TK;>;>Ljava/util/concurrent/CountedCompleter<Ljava/lang/Void;>;Ljava/util/stream/Sink<TP_OUT;>;
SourceFile: "Nodes.java"
NestHost: java.util.stream.Nodes
InnerClasses:
private abstract SizedCollectorTask = java.util.stream.Nodes$SizedCollectorTask of java.util.stream.Nodes
final OfDouble = java.util.stream.Nodes$SizedCollectorTask$OfDouble of java.util.stream.Nodes$SizedCollectorTask
final OfInt = java.util.stream.Nodes$SizedCollectorTask$OfInt of java.util.stream.Nodes$SizedCollectorTask
final OfLong = java.util.stream.Nodes$SizedCollectorTask$OfLong of java.util.stream.Nodes$SizedCollectorTask
final OfRef = java.util.stream.Nodes$SizedCollectorTask$OfRef of java.util.stream.Nodes$SizedCollectorTask