abstract class java.util.stream.StreamSpliterators$UnorderedSliceSpliterator<T, T_SPLITR extends java.util.Spliterator<T>>
minor version: 0
major version: 59
flags: flags: (0x0420) ACC_SUPER, ACC_ABSTRACT
this_class: java.util.stream.StreamSpliterators$UnorderedSliceSpliterator
super_class: java.lang.Object
{
static final int CHUNK_SIZE;
descriptor: I
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: 128
protected final T_SPLITR s;
descriptor: Ljava/util/Spliterator;
flags: (0x0014) ACC_PROTECTED, ACC_FINAL
Signature: TT_SPLITR;
protected final boolean unlimited;
descriptor: Z
flags: (0x0014) ACC_PROTECTED, ACC_FINAL
protected final int chunkSize;
descriptor: I
flags: (0x0014) ACC_PROTECTED, ACC_FINAL
private final long skipThreshold;
descriptor: J
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final java.util.concurrent.atomic.AtomicLong permits;
descriptor: Ljava/util/concurrent/atomic/AtomicLong;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
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/StreamSpliterators;
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.StreamSpliterators$UnorderedSliceSpliterator.$assertionsDisabled:Z
3: return
LocalVariableTable:
Start End Slot Name Signature
void <init>(T_SPLITR, long, );
descriptor: (Ljava/util/Spliterator;JJ)V
flags: (0x0000)
Code:
stack=7, locals=6, args_size=4
start local 0 start local 1 start local 2 start local 4 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
aload 1
putfield java.util.stream.StreamSpliterators$UnorderedSliceSpliterator.s:Ljava/util/Spliterator;
2: aload 0
lload 4
lconst_0
lcmp
ifge 3
iconst_1
goto 4
StackMap locals: java.util.stream.StreamSpliterators$UnorderedSliceSpliterator java.util.Spliterator long long
StackMap stack: java.util.stream.StreamSpliterators$UnorderedSliceSpliterator
3: iconst_0
StackMap locals: java.util.stream.StreamSpliterators$UnorderedSliceSpliterator java.util.Spliterator long long
StackMap stack: java.util.stream.StreamSpliterators$UnorderedSliceSpliterator int
4: putfield java.util.stream.StreamSpliterators$UnorderedSliceSpliterator.unlimited:Z
5: aload 0
lload 4
lconst_0
lcmp
iflt 6
lload 4
goto 7
StackMap locals:
StackMap stack: java.util.stream.StreamSpliterators$UnorderedSliceSpliterator
6: lconst_0
StackMap locals: java.util.stream.StreamSpliterators$UnorderedSliceSpliterator java.util.Spliterator long long
StackMap stack: java.util.stream.StreamSpliterators$UnorderedSliceSpliterator long
7: putfield java.util.stream.StreamSpliterators$UnorderedSliceSpliterator.skipThreshold:J
8: aload 0
lload 4
lconst_0
lcmp
iflt 12
ldc 128
9: lload 2
lload 4
ladd
invokestatic java.util.stream.AbstractTask.getLeafTarget:()I
i2l
ldiv
lconst_1
ladd
10: invokestatic java.lang.Math.min:(JJ)J
l2i
11: goto 13
StackMap locals:
StackMap stack: java.util.stream.StreamSpliterators$UnorderedSliceSpliterator
12: sipush 128
13: StackMap locals: java.util.stream.StreamSpliterators$UnorderedSliceSpliterator java.util.Spliterator long long
StackMap stack: java.util.stream.StreamSpliterators$UnorderedSliceSpliterator int
putfield java.util.stream.StreamSpliterators$UnorderedSliceSpliterator.chunkSize:I
14: aload 0
15: new java.util.concurrent.atomic.AtomicLong
dup
lload 4
lconst_0
lcmp
iflt 16
lload 2
lload 4
ladd
goto 17
StackMap locals: java.util.stream.StreamSpliterators$UnorderedSliceSpliterator java.util.Spliterator long long
StackMap stack: java.util.stream.StreamSpliterators$UnorderedSliceSpliterator new 15 new 15
16: lload 2
StackMap locals: java.util.stream.StreamSpliterators$UnorderedSliceSpliterator java.util.Spliterator long long
StackMap stack: java.util.stream.StreamSpliterators$UnorderedSliceSpliterator new 15 new 15 long
17: invokespecial java.util.concurrent.atomic.AtomicLong.<init>:(J)V
putfield java.util.stream.StreamSpliterators$UnorderedSliceSpliterator.permits:Ljava/util/concurrent/atomic/AtomicLong;
18: return
end local 4 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 19 0 this Ljava/util/stream/StreamSpliterators$UnorderedSliceSpliterator<TT;TT_SPLITR;>;
0 19 1 s TT_SPLITR;
0 19 2 skip J
0 19 4 limit J
Signature: (TT_SPLITR;JJ)V
MethodParameters:
Name Flags
s
skip
limit
void <init>(T_SPLITR, java.util.stream.StreamSpliterators$UnorderedSliceSpliterator<T, T_SPLITR>);
descriptor: (Ljava/util/Spliterator;Ljava/util/stream/StreamSpliterators$UnorderedSliceSpliterator;)V
flags: (0x0000)
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
aload 1
putfield java.util.stream.StreamSpliterators$UnorderedSliceSpliterator.s:Ljava/util/Spliterator;
2: aload 0
aload 2
getfield java.util.stream.StreamSpliterators$UnorderedSliceSpliterator.unlimited:Z
putfield java.util.stream.StreamSpliterators$UnorderedSliceSpliterator.unlimited:Z
3: aload 0
aload 2
getfield java.util.stream.StreamSpliterators$UnorderedSliceSpliterator.permits:Ljava/util/concurrent/atomic/AtomicLong;
putfield java.util.stream.StreamSpliterators$UnorderedSliceSpliterator.permits:Ljava/util/concurrent/atomic/AtomicLong;
4: aload 0
aload 2
getfield java.util.stream.StreamSpliterators$UnorderedSliceSpliterator.skipThreshold:J
putfield java.util.stream.StreamSpliterators$UnorderedSliceSpliterator.skipThreshold:J
5: aload 0
aload 2
getfield java.util.stream.StreamSpliterators$UnorderedSliceSpliterator.chunkSize:I
putfield java.util.stream.StreamSpliterators$UnorderedSliceSpliterator.chunkSize:I
6: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Ljava/util/stream/StreamSpliterators$UnorderedSliceSpliterator<TT;TT_SPLITR;>;
0 7 1 s TT_SPLITR;
0 7 2 parent Ljava/util/stream/StreamSpliterators$UnorderedSliceSpliterator<TT;TT_SPLITR;>;
Signature: (TT_SPLITR;Ljava/util/stream/StreamSpliterators$UnorderedSliceSpliterator<TT;TT_SPLITR;>;)V
MethodParameters:
Name Flags
s
parent
protected final long acquirePermits(long);
descriptor: (J)J
flags: (0x0014) ACC_PROTECTED, ACC_FINAL
Code:
stack=7, locals=7, args_size=2
start local 0 start local 1 0: getstatic java.util.stream.StreamSpliterators$UnorderedSliceSpliterator.$assertionsDisabled:Z
ifne 1
lload 1
lconst_0
lcmp
ifgt 1
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
1: StackMap locals:
StackMap stack:
aload 0
getfield java.util.stream.StreamSpliterators$UnorderedSliceSpliterator.permits:Ljava/util/concurrent/atomic/AtomicLong;
invokevirtual java.util.concurrent.atomic.AtomicLong.get:()J
lstore 3
start local 3 2: lload 3
lconst_0
lcmp
ifne 6
3: aload 0
getfield java.util.stream.StreamSpliterators$UnorderedSliceSpliterator.unlimited:Z
ifeq 4
lload 1
goto 5
StackMap locals: long
StackMap stack:
4: lconst_0
StackMap locals:
StackMap stack: long
5: lreturn
6: StackMap locals:
StackMap stack:
lload 3
lload 1
invokestatic java.lang.Math.min:(JJ)J
lstore 5
start local 5 7: lload 5
lconst_0
lcmp
ifle 9
8: aload 0
getfield java.util.stream.StreamSpliterators$UnorderedSliceSpliterator.permits:Ljava/util/concurrent/atomic/AtomicLong;
lload 3
lload 3
lload 5
lsub
invokevirtual java.util.concurrent.atomic.AtomicLong.compareAndSet:(JJ)Z
ifeq 1
9: StackMap locals: long
StackMap stack:
aload 0
getfield java.util.stream.StreamSpliterators$UnorderedSliceSpliterator.unlimited:Z
ifeq 11
10: lload 1
lload 5
lsub
lconst_0
invokestatic java.lang.Math.max:(JJ)J
lreturn
11: StackMap locals:
StackMap stack:
lload 3
aload 0
getfield java.util.stream.StreamSpliterators$UnorderedSliceSpliterator.skipThreshold:J
lcmp
ifle 13
12: lload 5
lload 3
aload 0
getfield java.util.stream.StreamSpliterators$UnorderedSliceSpliterator.skipThreshold:J
lsub
lsub
lconst_0
invokestatic java.lang.Math.max:(JJ)J
lreturn
13: StackMap locals:
StackMap stack:
lload 5
lreturn
end local 5 end local 3 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 14 0 this Ljava/util/stream/StreamSpliterators$UnorderedSliceSpliterator<TT;TT_SPLITR;>;
0 14 1 numElements J
2 14 3 remainingPermits J
7 14 5 grabbing J
MethodParameters:
Name Flags
numElements
protected final java.util.stream.StreamSpliterators$UnorderedSliceSpliterator$PermitStatus permitStatus();
descriptor: ()Ljava/util/stream/StreamSpliterators$UnorderedSliceSpliterator$PermitStatus;
flags: (0x0014) ACC_PROTECTED, ACC_FINAL
Code:
stack=4, locals=1, args_size=1
start local 0 0: aload 0
getfield java.util.stream.StreamSpliterators$UnorderedSliceSpliterator.permits:Ljava/util/concurrent/atomic/AtomicLong;
invokevirtual java.util.concurrent.atomic.AtomicLong.get:()J
lconst_0
lcmp
ifle 2
1: getstatic java.util.stream.StreamSpliterators$UnorderedSliceSpliterator$PermitStatus.MAYBE_MORE:Ljava/util/stream/StreamSpliterators$UnorderedSliceSpliterator$PermitStatus;
areturn
2: StackMap locals:
StackMap stack:
aload 0
getfield java.util.stream.StreamSpliterators$UnorderedSliceSpliterator.unlimited:Z
ifeq 3
getstatic java.util.stream.StreamSpliterators$UnorderedSliceSpliterator$PermitStatus.UNLIMITED:Ljava/util/stream/StreamSpliterators$UnorderedSliceSpliterator$PermitStatus;
goto 4
StackMap locals:
StackMap stack:
3: getstatic java.util.stream.StreamSpliterators$UnorderedSliceSpliterator$PermitStatus.NO_MORE:Ljava/util/stream/StreamSpliterators$UnorderedSliceSpliterator$PermitStatus;
StackMap locals:
StackMap stack: java.util.stream.StreamSpliterators$UnorderedSliceSpliterator$PermitStatus
4: areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Ljava/util/stream/StreamSpliterators$UnorderedSliceSpliterator<TT;TT_SPLITR;>;
Signature: ()Ljava/util/stream/StreamSpliterators$UnorderedSliceSpliterator$PermitStatus;
public final T_SPLITR trySplit();
descriptor: ()Ljava/util/Spliterator;
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=4, locals=2, args_size=1
start local 0 0: aload 0
getfield java.util.stream.StreamSpliterators$UnorderedSliceSpliterator.permits:Ljava/util/concurrent/atomic/AtomicLong;
invokevirtual java.util.concurrent.atomic.AtomicLong.get:()J
lconst_0
lcmp
ifne 2
1: aconst_null
areturn
2: StackMap locals:
StackMap stack:
aload 0
getfield java.util.stream.StreamSpliterators$UnorderedSliceSpliterator.s:Ljava/util/Spliterator;
invokeinterface java.util.Spliterator.trySplit:()Ljava/util/Spliterator;
astore 1
start local 1 3: aload 1
ifnonnull 4
aconst_null
goto 5
StackMap locals: java.util.Spliterator
StackMap stack:
4: aload 0
aload 1
invokevirtual java.util.stream.StreamSpliterators$UnorderedSliceSpliterator.makeSpliterator:(Ljava/util/Spliterator;)Ljava/util/Spliterator;
StackMap locals:
StackMap stack: java.util.Spliterator
5: areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Ljava/util/stream/StreamSpliterators$UnorderedSliceSpliterator<TT;TT_SPLITR;>;
3 6 1 split TT_SPLITR;
Signature: ()TT_SPLITR;
protected abstract T_SPLITR makeSpliterator();
descriptor: (Ljava/util/Spliterator;)Ljava/util/Spliterator;
flags: (0x0404) ACC_PROTECTED, ACC_ABSTRACT
Signature: (TT_SPLITR;)TT_SPLITR;
MethodParameters:
Name Flags
s
public final long estimateSize();
descriptor: ()J
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield java.util.stream.StreamSpliterators$UnorderedSliceSpliterator.s:Ljava/util/Spliterator;
invokeinterface java.util.Spliterator.estimateSize:()J
lreturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljava/util/stream/StreamSpliterators$UnorderedSliceSpliterator<TT;TT_SPLITR;>;
public final int characteristics();
descriptor: ()I
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield java.util.stream.StreamSpliterators$UnorderedSliceSpliterator.s:Ljava/util/Spliterator;
invokeinterface java.util.Spliterator.characteristics:()I
1: sipush -16465
2: iand
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Ljava/util/stream/StreamSpliterators$UnorderedSliceSpliterator<TT;TT_SPLITR;>;
}
Signature: <T:Ljava/lang/Object;T_SPLITR::Ljava/util/Spliterator<TT;>;>Ljava/lang/Object;
SourceFile: "StreamSpliterators.java"
NestHost: java.util.stream.StreamSpliterators
InnerClasses:
abstract UnorderedSliceSpliterator = java.util.stream.StreamSpliterators$UnorderedSliceSpliterator of java.util.stream.StreamSpliterators
final OfDouble = java.util.stream.StreamSpliterators$UnorderedSliceSpliterator$OfDouble of java.util.stream.StreamSpliterators$UnorderedSliceSpliterator
final OfInt = java.util.stream.StreamSpliterators$UnorderedSliceSpliterator$OfInt of java.util.stream.StreamSpliterators$UnorderedSliceSpliterator
final OfLong = java.util.stream.StreamSpliterators$UnorderedSliceSpliterator$OfLong of java.util.stream.StreamSpliterators$UnorderedSliceSpliterator
abstract OfPrimitive = java.util.stream.StreamSpliterators$UnorderedSliceSpliterator$OfPrimitive of java.util.stream.StreamSpliterators$UnorderedSliceSpliterator
final OfRef = java.util.stream.StreamSpliterators$UnorderedSliceSpliterator$OfRef of java.util.stream.StreamSpliterators$UnorderedSliceSpliterator
final PermitStatus = java.util.stream.StreamSpliterators$UnorderedSliceSpliterator$PermitStatus of java.util.stream.StreamSpliterators$UnorderedSliceSpliterator