final class io.reactivex.internal.operators.parallel.ParallelJoin$JoinSubscriptionDelayError<T> extends io.reactivex.internal.operators.parallel.ParallelJoin$JoinSubscriptionBase<T>
minor version: 0
major version: 59
flags: flags: (0x0030) ACC_FINAL, ACC_SUPER
this_class: io.reactivex.internal.operators.parallel.ParallelJoin$JoinSubscriptionDelayError
super_class: io.reactivex.internal.operators.parallel.ParallelJoin$JoinSubscriptionBase
{
private static final long serialVersionUID;
descriptor: J
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: -5737965195918321883
void <init>(org.reactivestreams.Subscriber<? super T>, int, );
descriptor: (Lorg/reactivestreams/Subscriber;II)V
flags: (0x0000)
Code:
stack=4, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
aload 1
iload 2
iload 3
invokespecial io.reactivex.internal.operators.parallel.ParallelJoin$JoinSubscriptionBase.<init>:(Lorg/reactivestreams/Subscriber;II)V
1: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lio/reactivex/internal/operators/parallel/ParallelJoin$JoinSubscriptionDelayError<TT;>;
0 2 1 actual Lorg/reactivestreams/Subscriber<-TT;>;
0 2 2 n I
0 2 3 prefetch I
Signature: (Lorg/reactivestreams/Subscriber<-TT;>;II)V
MethodParameters:
Name Flags
actual
n
prefetch
void onNext(io.reactivex.internal.operators.parallel.ParallelJoin$JoinInnerSubscriber<T>, );
descriptor: (Lio/reactivex/internal/operators/parallel/ParallelJoin$JoinInnerSubscriber;Ljava/lang/Object;)V
flags: (0x0000)
Code:
stack=4, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 0
invokevirtual io.reactivex.internal.operators.parallel.ParallelJoin$JoinSubscriptionDelayError.get:()I
ifne 16
aload 0
iconst_0
iconst_1
invokevirtual io.reactivex.internal.operators.parallel.ParallelJoin$JoinSubscriptionDelayError.compareAndSet:(II)Z
ifeq 16
1: aload 0
getfield io.reactivex.internal.operators.parallel.ParallelJoin$JoinSubscriptionDelayError.requested:Ljava/util/concurrent/atomic/AtomicLong;
invokevirtual java.util.concurrent.atomic.AtomicLong.get:()J
lconst_0
lcmp
ifeq 7
2: aload 0
getfield io.reactivex.internal.operators.parallel.ParallelJoin$JoinSubscriptionDelayError.downstream:Lorg/reactivestreams/Subscriber;
aload 2
invokeinterface org.reactivestreams.Subscriber.onNext:(Ljava/lang/Object;)V
3: aload 0
getfield io.reactivex.internal.operators.parallel.ParallelJoin$JoinSubscriptionDelayError.requested:Ljava/util/concurrent/atomic/AtomicLong;
invokevirtual java.util.concurrent.atomic.AtomicLong.get:()J
ldc 9223372036854775807
lcmp
ifeq 5
4: aload 0
getfield io.reactivex.internal.operators.parallel.ParallelJoin$JoinSubscriptionDelayError.requested:Ljava/util/concurrent/atomic/AtomicLong;
invokevirtual java.util.concurrent.atomic.AtomicLong.decrementAndGet:()J
pop2
5: StackMap locals:
StackMap stack:
aload 1
lconst_1
invokevirtual io.reactivex.internal.operators.parallel.ParallelJoin$JoinInnerSubscriber.request:(J)V
6: goto 14
7: StackMap locals:
StackMap stack:
aload 1
invokevirtual io.reactivex.internal.operators.parallel.ParallelJoin$JoinInnerSubscriber.getQueue:()Lio/reactivex/internal/fuseable/SimplePlainQueue;
astore 3
start local 3 8: aload 3
aload 2
invokeinterface io.reactivex.internal.fuseable.SimplePlainQueue.offer:(Ljava/lang/Object;)Z
ifne 14
9: aload 1
invokevirtual io.reactivex.internal.operators.parallel.ParallelJoin$JoinInnerSubscriber.cancel:()Z
pop
10: aload 0
getfield io.reactivex.internal.operators.parallel.ParallelJoin$JoinSubscriptionDelayError.errors:Lio/reactivex/internal/util/AtomicThrowable;
new io.reactivex.exceptions.MissingBackpressureException
dup
ldc "Queue full?!"
invokespecial io.reactivex.exceptions.MissingBackpressureException.<init>:(Ljava/lang/String;)V
invokevirtual io.reactivex.internal.util.AtomicThrowable.addThrowable:(Ljava/lang/Throwable;)Z
pop
11: aload 0
getfield io.reactivex.internal.operators.parallel.ParallelJoin$JoinSubscriptionDelayError.done:Ljava/util/concurrent/atomic/AtomicInteger;
invokevirtual java.util.concurrent.atomic.AtomicInteger.decrementAndGet:()I
pop
12: aload 0
invokevirtual io.reactivex.internal.operators.parallel.ParallelJoin$JoinSubscriptionDelayError.drainLoop:()V
13: return
end local 3 14: StackMap locals:
StackMap stack:
aload 0
invokevirtual io.reactivex.internal.operators.parallel.ParallelJoin$JoinSubscriptionDelayError.decrementAndGet:()I
ifne 23
15: return
16: StackMap locals:
StackMap stack:
aload 1
invokevirtual io.reactivex.internal.operators.parallel.ParallelJoin$JoinInnerSubscriber.getQueue:()Lio/reactivex/internal/fuseable/SimplePlainQueue;
astore 3
start local 3 17: aload 3
aload 2
invokeinterface io.reactivex.internal.fuseable.SimplePlainQueue.offer:(Ljava/lang/Object;)Z
ifne 21
18: aload 1
invokevirtual io.reactivex.internal.operators.parallel.ParallelJoin$JoinInnerSubscriber.cancel:()Z
ifeq 21
19: aload 0
getfield io.reactivex.internal.operators.parallel.ParallelJoin$JoinSubscriptionDelayError.errors:Lio/reactivex/internal/util/AtomicThrowable;
new io.reactivex.exceptions.MissingBackpressureException
dup
ldc "Queue full?!"
invokespecial io.reactivex.exceptions.MissingBackpressureException.<init>:(Ljava/lang/String;)V
invokevirtual io.reactivex.internal.util.AtomicThrowable.addThrowable:(Ljava/lang/Throwable;)Z
pop
20: aload 0
getfield io.reactivex.internal.operators.parallel.ParallelJoin$JoinSubscriptionDelayError.done:Ljava/util/concurrent/atomic/AtomicInteger;
invokevirtual java.util.concurrent.atomic.AtomicInteger.decrementAndGet:()I
pop
21: StackMap locals: io.reactivex.internal.fuseable.SimplePlainQueue
StackMap stack:
aload 0
invokevirtual io.reactivex.internal.operators.parallel.ParallelJoin$JoinSubscriptionDelayError.getAndIncrement:()I
ifeq 23
22: return
end local 3 23: StackMap locals:
StackMap stack:
aload 0
invokevirtual io.reactivex.internal.operators.parallel.ParallelJoin$JoinSubscriptionDelayError.drainLoop:()V
24: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 25 0 this Lio/reactivex/internal/operators/parallel/ParallelJoin$JoinSubscriptionDelayError<TT;>;
0 25 1 inner Lio/reactivex/internal/operators/parallel/ParallelJoin$JoinInnerSubscriber<TT;>;
0 25 2 value TT;
8 14 3 q Lio/reactivex/internal/fuseable/SimplePlainQueue<TT;>;
17 23 3 q Lio/reactivex/internal/fuseable/SimplePlainQueue<TT;>;
Signature: (Lio/reactivex/internal/operators/parallel/ParallelJoin$JoinInnerSubscriber<TT;>;TT;)V
MethodParameters:
Name Flags
inner
value
void onError(java.lang.Throwable);
descriptor: (Ljava/lang/Throwable;)V
flags: (0x0000)
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield io.reactivex.internal.operators.parallel.ParallelJoin$JoinSubscriptionDelayError.errors:Lio/reactivex/internal/util/AtomicThrowable;
aload 1
invokevirtual io.reactivex.internal.util.AtomicThrowable.addThrowable:(Ljava/lang/Throwable;)Z
pop
1: aload 0
getfield io.reactivex.internal.operators.parallel.ParallelJoin$JoinSubscriptionDelayError.done:Ljava/util/concurrent/atomic/AtomicInteger;
invokevirtual java.util.concurrent.atomic.AtomicInteger.decrementAndGet:()I
pop
2: aload 0
invokevirtual io.reactivex.internal.operators.parallel.ParallelJoin$JoinSubscriptionDelayError.drain:()V
3: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lio/reactivex/internal/operators/parallel/ParallelJoin$JoinSubscriptionDelayError<TT;>;
0 4 1 e Ljava/lang/Throwable;
MethodParameters:
Name Flags
e
void onComplete();
descriptor: ()V
flags: (0x0000)
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield io.reactivex.internal.operators.parallel.ParallelJoin$JoinSubscriptionDelayError.done:Ljava/util/concurrent/atomic/AtomicInteger;
invokevirtual java.util.concurrent.atomic.AtomicInteger.decrementAndGet:()I
pop
1: aload 0
invokevirtual io.reactivex.internal.operators.parallel.ParallelJoin$JoinSubscriptionDelayError.drain:()V
2: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lio/reactivex/internal/operators/parallel/ParallelJoin$JoinSubscriptionDelayError<TT;>;
void drain();
descriptor: ()V
flags: (0x0000)
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual io.reactivex.internal.operators.parallel.ParallelJoin$JoinSubscriptionDelayError.getAndIncrement:()I
ifeq 2
1: return
2: StackMap locals:
StackMap stack:
aload 0
invokevirtual io.reactivex.internal.operators.parallel.ParallelJoin$JoinSubscriptionDelayError.drainLoop:()V
3: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lio/reactivex/internal/operators/parallel/ParallelJoin$JoinSubscriptionDelayError<TT;>;
void drainLoop();
descriptor: ()V
flags: (0x0000)
Code:
stack=4, locals=15, args_size=1
start local 0 0: iconst_1
istore 1
start local 1 1: aload 0
getfield io.reactivex.internal.operators.parallel.ParallelJoin$JoinSubscriptionDelayError.subscribers:[Lio/reactivex/internal/operators/parallel/ParallelJoin$JoinInnerSubscriber;
astore 2
start local 2 2: aload 2
arraylength
istore 3
start local 3 3: aload 0
getfield io.reactivex.internal.operators.parallel.ParallelJoin$JoinSubscriptionDelayError.downstream:Lorg/reactivestreams/Subscriber;
astore 4
start local 4 4: StackMap locals: io.reactivex.internal.operators.parallel.ParallelJoin$JoinSubscriptionDelayError int io.reactivex.internal.operators.parallel.ParallelJoin$JoinInnerSubscriber[] int org.reactivestreams.Subscriber
StackMap stack:
aload 0
getfield io.reactivex.internal.operators.parallel.ParallelJoin$JoinSubscriptionDelayError.requested:Ljava/util/concurrent/atomic/AtomicLong;
invokevirtual java.util.concurrent.atomic.AtomicLong.get:()J
lstore 5
start local 5 5: lconst_0
lstore 7
start local 7 6: goto 37
7: StackMap locals: long long
StackMap stack:
aload 0
getfield io.reactivex.internal.operators.parallel.ParallelJoin$JoinSubscriptionDelayError.cancelled:Z
ifeq 10
8: aload 0
invokevirtual io.reactivex.internal.operators.parallel.ParallelJoin$JoinSubscriptionDelayError.cleanup:()V
9: return
10: StackMap locals:
StackMap stack:
aload 0
getfield io.reactivex.internal.operators.parallel.ParallelJoin$JoinSubscriptionDelayError.done:Ljava/util/concurrent/atomic/AtomicInteger;
invokevirtual java.util.concurrent.atomic.AtomicInteger.get:()I
ifne 11
iconst_1
goto 12
StackMap locals:
StackMap stack:
11: iconst_0
StackMap locals:
StackMap stack: int
12: istore 9
start local 9 13: iconst_1
istore 10
start local 10 14: iconst_0
istore 11
start local 11 15: goto 27
16: StackMap locals: int int int
StackMap stack:
aload 2
iload 11
aaload
astore 12
start local 12 17: aload 12
getfield io.reactivex.internal.operators.parallel.ParallelJoin$JoinInnerSubscriber.queue:Lio/reactivex/internal/fuseable/SimplePlainQueue;
astore 13
start local 13 18: aload 13
ifnull 26
19: aload 13
invokeinterface io.reactivex.internal.fuseable.SimplePlainQueue.poll:()Ljava/lang/Object;
astore 14
start local 14 20: aload 14
ifnull 26
21: iconst_0
istore 10
22: aload 4
aload 14
invokeinterface org.reactivestreams.Subscriber.onNext:(Ljava/lang/Object;)V
23: aload 12
invokevirtual io.reactivex.internal.operators.parallel.ParallelJoin$JoinInnerSubscriber.requestOne:()V
24: lload 7
lconst_1
ladd
dup2
lstore 7
lload 5
lcmp
ifne 26
25: goto 38
end local 14 end local 13 end local 12 26: StackMap locals:
StackMap stack:
iinc 11 1
StackMap locals:
StackMap stack:
27: iload 11
iload 3
if_icmplt 16
end local 11 28: iload 9
ifeq 35
iload 10
ifeq 35
29: aload 0
getfield io.reactivex.internal.operators.parallel.ParallelJoin$JoinSubscriptionDelayError.errors:Lio/reactivex/internal/util/AtomicThrowable;
invokevirtual io.reactivex.internal.util.AtomicThrowable.get:()Ljava/lang/Object;
checkcast java.lang.Throwable
astore 11
start local 11 30: aload 11
ifnull 33
31: aload 4
aload 0
getfield io.reactivex.internal.operators.parallel.ParallelJoin$JoinSubscriptionDelayError.errors:Lio/reactivex/internal/util/AtomicThrowable;
invokevirtual io.reactivex.internal.util.AtomicThrowable.terminate:()Ljava/lang/Throwable;
invokeinterface org.reactivestreams.Subscriber.onError:(Ljava/lang/Throwable;)V
32: goto 34
33: StackMap locals: io.reactivex.internal.operators.parallel.ParallelJoin$JoinSubscriptionDelayError int io.reactivex.internal.operators.parallel.ParallelJoin$JoinInnerSubscriber[] int org.reactivestreams.Subscriber long long int int java.lang.Throwable
StackMap stack:
aload 4
invokeinterface org.reactivestreams.Subscriber.onComplete:()V
34: StackMap locals:
StackMap stack:
return
end local 11 35: StackMap locals:
StackMap stack:
iload 10
ifeq 37
36: goto 38
end local 10 end local 9 37: StackMap locals:
StackMap stack:
lload 7
lload 5
lcmp
ifne 7
38: StackMap locals:
StackMap stack:
lload 7
lload 5
lcmp
ifne 62
39: aload 0
getfield io.reactivex.internal.operators.parallel.ParallelJoin$JoinSubscriptionDelayError.cancelled:Z
ifeq 42
40: aload 0
invokevirtual io.reactivex.internal.operators.parallel.ParallelJoin$JoinSubscriptionDelayError.cleanup:()V
41: return
42: StackMap locals:
StackMap stack:
aload 0
getfield io.reactivex.internal.operators.parallel.ParallelJoin$JoinSubscriptionDelayError.done:Ljava/util/concurrent/atomic/AtomicInteger;
invokevirtual java.util.concurrent.atomic.AtomicInteger.get:()I
ifne 43
iconst_1
goto 44
StackMap locals:
StackMap stack:
43: iconst_0
StackMap locals:
StackMap stack: int
44: istore 9
start local 9 45: iconst_1
istore 10
start local 10 46: iconst_0
istore 11
start local 11 47: goto 54
48: StackMap locals: int int int
StackMap stack:
aload 2
iload 11
aaload
astore 12
start local 12 49: aload 12
getfield io.reactivex.internal.operators.parallel.ParallelJoin$JoinInnerSubscriber.queue:Lio/reactivex/internal/fuseable/SimplePlainQueue;
astore 13
start local 13 50: aload 13
ifnull 53
aload 13
invokeinterface io.reactivex.internal.fuseable.SimpleQueue.isEmpty:()Z
ifne 53
51: iconst_0
istore 10
52: goto 55
end local 13 end local 12 53: StackMap locals:
StackMap stack:
iinc 11 1
StackMap locals:
StackMap stack:
54: iload 11
iload 3
if_icmplt 48
end local 11 55: StackMap locals:
StackMap stack:
iload 9
ifeq 62
iload 10
ifeq 62
56: aload 0
getfield io.reactivex.internal.operators.parallel.ParallelJoin$JoinSubscriptionDelayError.errors:Lio/reactivex/internal/util/AtomicThrowable;
invokevirtual io.reactivex.internal.util.AtomicThrowable.get:()Ljava/lang/Object;
checkcast java.lang.Throwable
astore 11
start local 11 57: aload 11
ifnull 60
58: aload 4
aload 0
getfield io.reactivex.internal.operators.parallel.ParallelJoin$JoinSubscriptionDelayError.errors:Lio/reactivex/internal/util/AtomicThrowable;
invokevirtual io.reactivex.internal.util.AtomicThrowable.terminate:()Ljava/lang/Throwable;
invokeinterface org.reactivestreams.Subscriber.onError:(Ljava/lang/Throwable;)V
59: goto 61
60: StackMap locals: java.lang.Throwable
StackMap stack:
aload 4
invokeinterface org.reactivestreams.Subscriber.onComplete:()V
61: StackMap locals:
StackMap stack:
return
end local 11 end local 10 end local 9 62: StackMap locals:
StackMap stack:
lload 7
lconst_0
lcmp
ifeq 64
lload 5
ldc 9223372036854775807
lcmp
ifeq 64
63: aload 0
getfield io.reactivex.internal.operators.parallel.ParallelJoin$JoinSubscriptionDelayError.requested:Ljava/util/concurrent/atomic/AtomicLong;
lload 7
lneg
invokevirtual java.util.concurrent.atomic.AtomicLong.addAndGet:(J)J
pop2
64: StackMap locals:
StackMap stack:
aload 0
invokevirtual io.reactivex.internal.operators.parallel.ParallelJoin$JoinSubscriptionDelayError.get:()I
istore 9
start local 9 65: iload 9
iload 1
if_icmpne 69
66: aload 0
iload 1
ineg
invokevirtual io.reactivex.internal.operators.parallel.ParallelJoin$JoinSubscriptionDelayError.addAndGet:(I)I
istore 1
67: iload 1
ifne 4
68: goto 71
69: StackMap locals: int
StackMap stack:
iload 9
istore 1
end local 9 end local 7 end local 5 70: goto 4
71: StackMap locals:
StackMap stack:
return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 72 0 this Lio/reactivex/internal/operators/parallel/ParallelJoin$JoinSubscriptionDelayError<TT;>;
1 72 1 missed I
2 72 2 s [Lio/reactivex/internal/operators/parallel/ParallelJoin$JoinInnerSubscriber;
3 72 3 n I
4 72 4 a Lorg/reactivestreams/Subscriber<-TT;>;
5 70 5 r J
6 70 7 e J
13 37 9 d Z
14 37 10 empty Z
15 28 11 i I
17 26 12 inner Lio/reactivex/internal/operators/parallel/ParallelJoin$JoinInnerSubscriber<TT;>;
18 26 13 q Lio/reactivex/internal/fuseable/SimplePlainQueue<TT;>;
20 26 14 v TT;
30 35 11 ex Ljava/lang/Throwable;
45 62 9 d Z
46 62 10 empty Z
47 55 11 i I
49 53 12 inner Lio/reactivex/internal/operators/parallel/ParallelJoin$JoinInnerSubscriber<TT;>;
50 53 13 q Lio/reactivex/internal/fuseable/SimpleQueue<TT;>;
57 62 11 ex Ljava/lang/Throwable;
65 70 9 w I
}
Signature: <T:Ljava/lang/Object;>Lio/reactivex/internal/operators/parallel/ParallelJoin$JoinSubscriptionBase<TT;>;
SourceFile: "ParallelJoin.java"
NestHost: io.reactivex.internal.operators.parallel.ParallelJoin
InnerClasses:
final JoinInnerSubscriber = io.reactivex.internal.operators.parallel.ParallelJoin$JoinInnerSubscriber of io.reactivex.internal.operators.parallel.ParallelJoin
abstract JoinSubscriptionBase = io.reactivex.internal.operators.parallel.ParallelJoin$JoinSubscriptionBase of io.reactivex.internal.operators.parallel.ParallelJoin
final JoinSubscriptionDelayError = io.reactivex.internal.operators.parallel.ParallelJoin$JoinSubscriptionDelayError of io.reactivex.internal.operators.parallel.ParallelJoin