FlowablePublish$PublishSubscriber.smali
.class final Lio/reactivex/internal/operators/flowable/FlowablePublish$PublishSubscriber;
.super Ljava/util/concurrent/atomic/AtomicInteger;
.source "FlowablePublish.java"
# interfaces
.implements Lio/reactivex/FlowableSubscriber;
.implements Lio/reactivex/disposables/Disposable;
# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
value = Lio/reactivex/internal/operators/flowable/FlowablePublish;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x18
name = "PublishSubscriber"
.end annotation
.annotation system Ldalvik/annotation/Signature;
value = {
"<T:",
"Ljava/lang/Object;",
">",
"Ljava/util/concurrent/atomic/AtomicInteger;",
"Lio/reactivex/FlowableSubscriber<",
"TT;>;",
"Lio/reactivex/disposables/Disposable;"
}
.end annotation
# static fields
.field static final EMPTY:[Lio/reactivex/internal/operators/flowable/FlowablePublish$InnerSubscriber;
.field static final TERMINATED:[Lio/reactivex/internal/operators/flowable/FlowablePublish$InnerSubscriber;
.field private static final serialVersionUID:J = -0x2cec618a478db7eL
# instance fields
.field final bufferSize:I
.field final current:Ljava/util/concurrent/atomic/AtomicReference;
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/util/concurrent/atomic/AtomicReference<",
"Lio/reactivex/internal/operators/flowable/FlowablePublish$PublishSubscriber<",
"TT;>;>;"
}
.end annotation
.end field
.field volatile queue:Lio/reactivex/internal/fuseable/SimpleQueue;
.annotation system Ldalvik/annotation/Signature;
value = {
"Lio/reactivex/internal/fuseable/SimpleQueue<",
"TT;>;"
}
.end annotation
.end field
.field final s:Ljava/util/concurrent/atomic/AtomicReference;
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/util/concurrent/atomic/AtomicReference<",
"Lorg/reactivestreams/Subscription;",
">;"
}
.end annotation
.end field
.field final shouldConnect:Ljava/util/concurrent/atomic/AtomicBoolean;
.field sourceMode:I
.field final subscribers:Ljava/util/concurrent/atomic/AtomicReference;
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/util/concurrent/atomic/AtomicReference<",
"[",
"Lio/reactivex/internal/operators/flowable/FlowablePublish$InnerSubscriber;",
">;"
}
.end annotation
.end field
.field volatile terminalEvent:Ljava/lang/Object;
# direct methods
.method static constructor <clinit>()V
.registers 2
.line 141
const/4 v0, 0x0
new-array v1, v0, [Lio/reactivex/internal/operators/flowable/FlowablePublish$InnerSubscriber;
sput-object v1, Lio/reactivex/internal/operators/flowable/FlowablePublish$PublishSubscriber;->EMPTY:[Lio/reactivex/internal/operators/flowable/FlowablePublish$InnerSubscriber;
.line 143
new-array v0, v0, [Lio/reactivex/internal/operators/flowable/FlowablePublish$InnerSubscriber;
sput-object v0, Lio/reactivex/internal/operators/flowable/FlowablePublish$PublishSubscriber;->TERMINATED:[Lio/reactivex/internal/operators/flowable/FlowablePublish$InnerSubscriber;
return-void
.end method
.method constructor <init>(Ljava/util/concurrent/atomic/AtomicReference;I)V
.registers 5
.param p2, "bufferSize" # I
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Ljava/util/concurrent/atomic/AtomicReference<",
"Lio/reactivex/internal/operators/flowable/FlowablePublish$PublishSubscriber<",
"TT;>;>;I)V"
}
.end annotation
.line 168
.local p0, "this":Lio/reactivex/internal/operators/flowable/FlowablePublish$PublishSubscriber;, "Lio/reactivex/internal/operators/flowable/FlowablePublish$PublishSubscriber<TT;>;"
.local p1, "current":Ljava/util/concurrent/atomic/AtomicReference;, "Ljava/util/concurrent/atomic/AtomicReference<Lio/reactivex/internal/operators/flowable/FlowablePublish$PublishSubscriber<TT;>;>;"
invoke-direct {p0}, Ljava/util/concurrent/atomic/AtomicInteger;-><init>()V
.line 158
new-instance v0, Ljava/util/concurrent/atomic/AtomicReference;
invoke-direct {v0}, Ljava/util/concurrent/atomic/AtomicReference;-><init>()V
iput-object v0, p0, Lio/reactivex/internal/operators/flowable/FlowablePublish$PublishSubscriber;->s:Ljava/util/concurrent/atomic/AtomicReference;
.line 169
new-instance v0, Ljava/util/concurrent/atomic/AtomicReference;
sget-object v1, Lio/reactivex/internal/operators/flowable/FlowablePublish$PublishSubscriber;->EMPTY:[Lio/reactivex/internal/operators/flowable/FlowablePublish$InnerSubscriber;
invoke-direct {v0, v1}, Ljava/util/concurrent/atomic/AtomicReference;-><init>(Ljava/lang/Object;)V
iput-object v0, p0, Lio/reactivex/internal/operators/flowable/FlowablePublish$PublishSubscriber;->subscribers:Ljava/util/concurrent/atomic/AtomicReference;
.line 170
iput-object p1, p0, Lio/reactivex/internal/operators/flowable/FlowablePublish$PublishSubscriber;->current:Ljava/util/concurrent/atomic/AtomicReference;
.line 171
new-instance v0, Ljava/util/concurrent/atomic/AtomicBoolean;
invoke-direct {v0}, Ljava/util/concurrent/atomic/AtomicBoolean;-><init>()V
iput-object v0, p0, Lio/reactivex/internal/operators/flowable/FlowablePublish$PublishSubscriber;->shouldConnect:Ljava/util/concurrent/atomic/AtomicBoolean;
.line 172
iput p2, p0, Lio/reactivex/internal/operators/flowable/FlowablePublish$PublishSubscriber;->bufferSize:I
.line 173
return-void
.end method
# virtual methods
.method add(Lio/reactivex/internal/operators/flowable/FlowablePublish$InnerSubscriber;)Z
.registers 6
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Lio/reactivex/internal/operators/flowable/FlowablePublish$InnerSubscriber<",
"TT;>;)Z"
}
.end annotation
.line 266
.local p0, "this":Lio/reactivex/internal/operators/flowable/FlowablePublish$PublishSubscriber;, "Lio/reactivex/internal/operators/flowable/FlowablePublish$PublishSubscriber<TT;>;"
.local p1, "producer":Lio/reactivex/internal/operators/flowable/FlowablePublish$InnerSubscriber;, "Lio/reactivex/internal/operators/flowable/FlowablePublish$InnerSubscriber<TT;>;"
:goto_0
iget-object v0, p0, Lio/reactivex/internal/operators/flowable/FlowablePublish$PublishSubscriber;->subscribers:Ljava/util/concurrent/atomic/AtomicReference;
invoke-virtual {v0}, Ljava/util/concurrent/atomic/AtomicReference;->get()Ljava/lang/Object;
move-result-object v0
check-cast v0, [Lio/reactivex/internal/operators/flowable/FlowablePublish$InnerSubscriber;
.line 269
.local v0, "c":[Lio/reactivex/internal/operators/flowable/FlowablePublish$InnerSubscriber;
sget-object v1, Lio/reactivex/internal/operators/flowable/FlowablePublish$PublishSubscriber;->TERMINATED:[Lio/reactivex/internal/operators/flowable/FlowablePublish$InnerSubscriber;
const/4 v2, 0x0
if-ne v0, v1, :cond_e
.line 270
return v2
.line 273
:cond_e
array-length v1, v0
.line 274
.local v1, "len":I
add-int/lit8 v3, v1, 0x1
new-array v3, v3, [Lio/reactivex/internal/operators/flowable/FlowablePublish$InnerSubscriber;
.line 275
.local v3, "u":[Lio/reactivex/internal/operators/flowable/FlowablePublish$InnerSubscriber;
invoke-static {v0, v2, v3, v2, v1}, Ljava/lang/System;->arraycopy(Ljava/lang/Object;ILjava/lang/Object;II)V
.line 276
aput-object p1, v3, v1
.line 278
iget-object v2, p0, Lio/reactivex/internal/operators/flowable/FlowablePublish$PublishSubscriber;->subscribers:Ljava/util/concurrent/atomic/AtomicReference;
invoke-virtual {v2, v0, v3}, Ljava/util/concurrent/atomic/AtomicReference;->compareAndSet(Ljava/lang/Object;Ljava/lang/Object;)Z
move-result v2
if-eqz v2, :cond_22
.line 279
const/4 v2, 0x1
return v2
.line 283
.end local v0 # "c":[Lio/reactivex/internal/operators/flowable/FlowablePublish$InnerSubscriber;
.end local v1 # "len":I
.end local v3 # "u":[Lio/reactivex/internal/operators/flowable/FlowablePublish$InnerSubscriber;
:cond_22
goto :goto_0
.end method
.method checkTerminated(Ljava/lang/Object;Z)Z
.registers 10
.param p1, "term" # Ljava/lang/Object;
.param p2, "empty" # Z
.line 345
.local p0, "this":Lio/reactivex/internal/operators/flowable/FlowablePublish$PublishSubscriber;, "Lio/reactivex/internal/operators/flowable/FlowablePublish$PublishSubscriber<TT;>;"
const/4 v0, 0x0
if-eqz p1, :cond_51
.line 347
invoke-static {p1}, Lio/reactivex/internal/util/NotificationLite;->isComplete(Ljava/lang/Object;)Z
move-result v1
const/4 v2, 0x0
const/4 v3, 0x1
if-eqz v1, :cond_2a
.line 349
if-eqz p2, :cond_51
.line 352
iget-object v1, p0, Lio/reactivex/internal/operators/flowable/FlowablePublish$PublishSubscriber;->current:Ljava/util/concurrent/atomic/AtomicReference;
invoke-virtual {v1, p0, v2}, Ljava/util/concurrent/atomic/AtomicReference;->compareAndSet(Ljava/lang/Object;Ljava/lang/Object;)Z
.line 365
iget-object v1, p0, Lio/reactivex/internal/operators/flowable/FlowablePublish$PublishSubscriber;->subscribers:Ljava/util/concurrent/atomic/AtomicReference;
sget-object v2, Lio/reactivex/internal/operators/flowable/FlowablePublish$PublishSubscriber;->TERMINATED:[Lio/reactivex/internal/operators/flowable/FlowablePublish$InnerSubscriber;
invoke-virtual {v1, v2}, Ljava/util/concurrent/atomic/AtomicReference;->getAndSet(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v1
check-cast v1, [Lio/reactivex/internal/operators/flowable/FlowablePublish$InnerSubscriber;
array-length v2, v1
:goto_1d
if-ge v0, v2, :cond_29
aget-object v4, v1, v0
.line 366
.local v4, "ip":Lio/reactivex/internal/operators/flowable/FlowablePublish$InnerSubscriber;, "Lio/reactivex/internal/operators/flowable/FlowablePublish$InnerSubscriber<*>;"
iget-object v5, v4, Lio/reactivex/internal/operators/flowable/FlowablePublish$InnerSubscriber;->child:Lorg/reactivestreams/Subscriber;
invoke-interface {v5}, Lorg/reactivestreams/Subscriber;->onComplete()V
.line 365
.end local v4 # "ip":Lio/reactivex/internal/operators/flowable/FlowablePublish$InnerSubscriber;, "Lio/reactivex/internal/operators/flowable/FlowablePublish$InnerSubscriber<*>;"
add-int/lit8 v0, v0, 0x1
goto :goto_1d
.line 369
:cond_29
return v3
.line 372
:cond_2a
invoke-static {p1}, Lio/reactivex/internal/util/NotificationLite;->getError(Ljava/lang/Object;)Ljava/lang/Throwable;
move-result-object v1
.line 375
.local v1, "t":Ljava/lang/Throwable;
iget-object v4, p0, Lio/reactivex/internal/operators/flowable/FlowablePublish$PublishSubscriber;->current:Ljava/util/concurrent/atomic/AtomicReference;
invoke-virtual {v4, p0, v2}, Ljava/util/concurrent/atomic/AtomicReference;->compareAndSet(Ljava/lang/Object;Ljava/lang/Object;)Z
.line 379
iget-object v2, p0, Lio/reactivex/internal/operators/flowable/FlowablePublish$PublishSubscriber;->subscribers:Ljava/util/concurrent/atomic/AtomicReference;
sget-object v4, Lio/reactivex/internal/operators/flowable/FlowablePublish$PublishSubscriber;->TERMINATED:[Lio/reactivex/internal/operators/flowable/FlowablePublish$InnerSubscriber;
invoke-virtual {v2, v4}, Ljava/util/concurrent/atomic/AtomicReference;->getAndSet(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v2
check-cast v2, [Lio/reactivex/internal/operators/flowable/FlowablePublish$InnerSubscriber;
.line 380
.local v2, "a":[Lio/reactivex/internal/operators/flowable/FlowablePublish$InnerSubscriber;
array-length v4, v2
if-eqz v4, :cond_4d
.line 381
array-length v4, v2
:goto_41
if-ge v0, v4, :cond_50
aget-object v5, v2, v0
.line 382
.local v5, "ip":Lio/reactivex/internal/operators/flowable/FlowablePublish$InnerSubscriber;, "Lio/reactivex/internal/operators/flowable/FlowablePublish$InnerSubscriber<*>;"
iget-object v6, v5, Lio/reactivex/internal/operators/flowable/FlowablePublish$InnerSubscriber;->child:Lorg/reactivestreams/Subscriber;
invoke-interface {v6, v1}, Lorg/reactivestreams/Subscriber;->onError(Ljava/lang/Throwable;)V
.line 381
.end local v5 # "ip":Lio/reactivex/internal/operators/flowable/FlowablePublish$InnerSubscriber;, "Lio/reactivex/internal/operators/flowable/FlowablePublish$InnerSubscriber<*>;"
add-int/lit8 v0, v0, 0x1
goto :goto_41
.line 385
:cond_4d
invoke-static {v1}, Lio/reactivex/plugins/RxJavaPlugins;->onError(Ljava/lang/Throwable;)V
.line 388
:cond_50
return v3
.line 392
.end local v1 # "t":Ljava/lang/Throwable;
.end local v2 # "a":[Lio/reactivex/internal/operators/flowable/FlowablePublish$InnerSubscriber;
:cond_51
return v0
.end method
.method dispatch()V
.registers 23
.line 403
.local p0, "this":Lio/reactivex/internal/operators/flowable/FlowablePublish$PublishSubscriber;, "Lio/reactivex/internal/operators/flowable/FlowablePublish$PublishSubscriber<TT;>;"
move-object/from16 v1, p0
invoke-virtual/range {p0 .. p0}, Lio/reactivex/internal/operators/flowable/FlowablePublish$PublishSubscriber;->getAndIncrement()I
move-result v0
if-eqz v0, :cond_9
.line 404
return-void
.line 406
:cond_9
const/4 v0, 0x1
move v2, v0
.line 416
.local v2, "missed":I
:cond_b
:goto_b
iget-object v0, v1, Lio/reactivex/internal/operators/flowable/FlowablePublish$PublishSubscriber;->terminalEvent:Ljava/lang/Object;
.line 423
.local v0, "term":Ljava/lang/Object;
iget-object v3, v1, Lio/reactivex/internal/operators/flowable/FlowablePublish$PublishSubscriber;->queue:Lio/reactivex/internal/fuseable/SimpleQueue;
.line 425
.local v3, "q":Lio/reactivex/internal/fuseable/SimpleQueue;, "Lio/reactivex/internal/fuseable/SimpleQueue<TT;>;"
if-eqz v3, :cond_1a
invoke-interface {v3}, Lio/reactivex/internal/fuseable/SimpleQueue;->isEmpty()Z
move-result v6
if-eqz v6, :cond_18
goto :goto_1a
:cond_18
const/4 v6, 0x0
goto :goto_1b
:cond_1a
:goto_1a
const/4 v6, 0x1
.line 429
.local v6, "empty":Z
:goto_1b
invoke-virtual {v1, v0, v6}, Lio/reactivex/internal/operators/flowable/FlowablePublish$PublishSubscriber;->checkTerminated(Ljava/lang/Object;Z)Z
move-result v7
if-eqz v7, :cond_22
.line 430
return-void
.line 436
:cond_22
if-nez v6, :cond_12f
.line 440
iget-object v7, v1, Lio/reactivex/internal/operators/flowable/FlowablePublish$PublishSubscriber;->subscribers:Ljava/util/concurrent/atomic/AtomicReference;
invoke-virtual {v7}, Ljava/util/concurrent/atomic/AtomicReference;->get()Ljava/lang/Object;
move-result-object v7
check-cast v7, [Lio/reactivex/internal/operators/flowable/FlowablePublish$InnerSubscriber;
.line 442
.local v7, "ps":[Lio/reactivex/internal/operators/flowable/FlowablePublish$InnerSubscriber;, "[Lio/reactivex/internal/operators/flowable/FlowablePublish$InnerSubscriber<TT;>;"
array-length v8, v7
.line 444
.local v8, "len":I
const-wide v9, 0x7fffffffffffffffL
.line 446
.local v9, "maxRequested":J
const/4 v11, 0x0
.line 451
.local v11, "cancelled":I
array-length v12, v7
const/4 v13, 0x0
:goto_35
const-wide/16 v14, 0x0
if-ge v13, v12, :cond_53
aget-object v16, v7, v13
.line 452
.local v16, "ip":Lio/reactivex/internal/operators/flowable/FlowablePublish$InnerSubscriber;, "Lio/reactivex/internal/operators/flowable/FlowablePublish$InnerSubscriber<TT;>;"
invoke-virtual/range {v16 .. v16}, Lio/reactivex/internal/operators/flowable/FlowablePublish$InnerSubscriber;->get()J
move-result-wide v4
.line 455
.local v4, "r":J
cmp-long v17, v4, v14
if-ltz v17, :cond_48
.line 456
invoke-static {v9, v10, v4, v5}, Ljava/lang/Math;->min(JJ)J
move-result-wide v9
goto :goto_50
.line 459
:cond_48
const-wide/high16 v14, -0x8000000000000000L
cmp-long v17, v4, v14
if-nez v17, :cond_50
.line 460
add-int/lit8 v11, v11, 0x1
.line 451
.end local v4 # "r":J
.end local v16 # "ip":Lio/reactivex/internal/operators/flowable/FlowablePublish$InnerSubscriber;, "Lio/reactivex/internal/operators/flowable/FlowablePublish$InnerSubscriber<TT;>;"
:cond_50
:goto_50
add-int/lit8 v13, v13, 0x1
goto :goto_35
.line 467
:cond_53
const-wide/16 v4, 0x1
if-ne v8, v11, :cond_95
.line 468
iget-object v12, v1, Lio/reactivex/internal/operators/flowable/FlowablePublish$PublishSubscriber;->terminalEvent:Ljava/lang/Object;
.line 473
.end local v0 # "term":Ljava/lang/Object;
.local v12, "term":Ljava/lang/Object;
:try_start_59
invoke-interface {v3}, Lio/reactivex/internal/fuseable/SimpleQueue;->poll()Ljava/lang/Object;
move-result-object v0
:try_end_5d
.catchall {:try_start_59 .. :try_end_5d} :catchall_5e
.line 480
.local v0, "v":Ljava/lang/Object;, "TT;"
goto :goto_77
.line 474
.end local v0 # "v":Ljava/lang/Object;, "TT;"
:catchall_5e
move-exception v0
move-object v13, v0
move-object v0, v13
.line 475
.local v0, "ex":Ljava/lang/Throwable;
invoke-static {v0}, Lio/reactivex/exceptions/Exceptions;->throwIfFatal(Ljava/lang/Throwable;)V
.line 476
iget-object v13, v1, Lio/reactivex/internal/operators/flowable/FlowablePublish$PublishSubscriber;->s:Ljava/util/concurrent/atomic/AtomicReference;
invoke-virtual {v13}, Ljava/util/concurrent/atomic/AtomicReference;->get()Ljava/lang/Object;
move-result-object v13
check-cast v13, Lorg/reactivestreams/Subscription;
invoke-interface {v13}, Lorg/reactivestreams/Subscription;->cancel()V
.line 477
invoke-static {v0}, Lio/reactivex/internal/util/NotificationLite;->error(Ljava/lang/Throwable;)Ljava/lang/Object;
move-result-object v12
.line 478
iput-object v12, v1, Lio/reactivex/internal/operators/flowable/FlowablePublish$PublishSubscriber;->terminalEvent:Ljava/lang/Object;
.line 479
const/4 v13, 0x0
move-object v0, v13
.line 482
.local v0, "v":Ljava/lang/Object;, "TT;"
:goto_77
if-nez v0, :cond_7b
const/4 v13, 0x1
goto :goto_7c
:cond_7b
const/4 v13, 0x0
:goto_7c
invoke-virtual {v1, v12, v13}, Lio/reactivex/internal/operators/flowable/FlowablePublish$PublishSubscriber;->checkTerminated(Ljava/lang/Object;Z)Z
move-result v13
if-eqz v13, :cond_83
.line 483
return-void
.line 486
:cond_83
iget v13, v1, Lio/reactivex/internal/operators/flowable/FlowablePublish$PublishSubscriber;->sourceMode:I
const/4 v14, 0x1
if-eq v13, v14, :cond_b
.line 487
iget-object v13, v1, Lio/reactivex/internal/operators/flowable/FlowablePublish$PublishSubscriber;->s:Ljava/util/concurrent/atomic/AtomicReference;
invoke-virtual {v13}, Ljava/util/concurrent/atomic/AtomicReference;->get()Ljava/lang/Object;
move-result-object v13
check-cast v13, Lorg/reactivestreams/Subscription;
invoke-interface {v13, v4, v5}, Lorg/reactivestreams/Subscription;->request(J)V
goto/16 :goto_b
.line 495
.end local v12 # "term":Ljava/lang/Object;
.local v0, "term":Ljava/lang/Object;
:cond_95
const/4 v12, 0x0
.line 496
.local v12, "d":I
:goto_96
int-to-long v4, v12
cmp-long v13, v4, v9
if-gez v13, :cond_110
.line 497
iget-object v4, v1, Lio/reactivex/internal/operators/flowable/FlowablePublish$PublishSubscriber;->terminalEvent:Ljava/lang/Object;
.line 501
.end local v0 # "term":Ljava/lang/Object;
.local v4, "term":Ljava/lang/Object;
:try_start_9d
invoke-interface {v3}, Lio/reactivex/internal/fuseable/SimpleQueue;->poll()Ljava/lang/Object;
move-result-object v0
:try_end_a1
.catchall {:try_start_9d .. :try_end_a1} :catchall_a2
.line 508
.local v0, "v":Ljava/lang/Object;, "TT;"
goto :goto_bb
.line 502
.end local v0 # "v":Ljava/lang/Object;, "TT;"
:catchall_a2
move-exception v0
move-object v5, v0
move-object v0, v5
.line 503
.local v0, "ex":Ljava/lang/Throwable;
invoke-static {v0}, Lio/reactivex/exceptions/Exceptions;->throwIfFatal(Ljava/lang/Throwable;)V
.line 504
iget-object v5, v1, Lio/reactivex/internal/operators/flowable/FlowablePublish$PublishSubscriber;->s:Ljava/util/concurrent/atomic/AtomicReference;
invoke-virtual {v5}, Ljava/util/concurrent/atomic/AtomicReference;->get()Ljava/lang/Object;
move-result-object v5
check-cast v5, Lorg/reactivestreams/Subscription;
invoke-interface {v5}, Lorg/reactivestreams/Subscription;->cancel()V
.line 505
invoke-static {v0}, Lio/reactivex/internal/util/NotificationLite;->error(Ljava/lang/Throwable;)Ljava/lang/Object;
move-result-object v4
.line 506
iput-object v4, v1, Lio/reactivex/internal/operators/flowable/FlowablePublish$PublishSubscriber;->terminalEvent:Ljava/lang/Object;
.line 507
const/4 v5, 0x0
move-object v0, v5
.line 510
.local v0, "v":Ljava/lang/Object;, "TT;"
:goto_bb
if-nez v0, :cond_bf
const/4 v5, 0x1
goto :goto_c0
:cond_bf
const/4 v5, 0x0
:goto_c0
move v6, v5
.line 512
invoke-virtual {v1, v4, v6}, Lio/reactivex/internal/operators/flowable/FlowablePublish$PublishSubscriber;->checkTerminated(Ljava/lang/Object;Z)Z
move-result v5
if-eqz v5, :cond_c8
.line 513
return-void
.line 516
:cond_c8
if-eqz v6, :cond_ce
.line 517
move-object/from16 v20, v3
move-object v0, v4
goto :goto_112
.line 520
:cond_ce
invoke-static {v0}, Lio/reactivex/internal/util/NotificationLite;->getValue(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v5
.line 522
.local v5, "value":Ljava/lang/Object;, "TT;"
array-length v13, v7
const/4 v14, 0x0
:goto_d4
if-ge v14, v13, :cond_101
aget-object v15, v7, v14
.line 527
.local v15, "ip":Lio/reactivex/internal/operators/flowable/FlowablePublish$InnerSubscriber;, "Lio/reactivex/internal/operators/flowable/FlowablePublish$InnerSubscriber<TT;>;"
invoke-virtual {v15}, Lio/reactivex/internal/operators/flowable/FlowablePublish$InnerSubscriber;->get()J
move-result-wide v20
const-wide/16 v18, 0x0
cmp-long v16, v20, v18
if-lez v16, :cond_f2
.line 528
move-object/from16 v16, v0
.end local v0 # "v":Ljava/lang/Object;, "TT;"
.local v16, "v":Ljava/lang/Object;, "TT;"
iget-object v0, v15, Lio/reactivex/internal/operators/flowable/FlowablePublish$InnerSubscriber;->child:Lorg/reactivestreams/Subscriber;
invoke-interface {v0, v5}, Lorg/reactivestreams/Subscriber;->onNext(Ljava/lang/Object;)V
.line 530
move-object/from16 v20, v3
move-object v0, v4
const-wide/16 v3, 0x1
.end local v3 # "q":Lio/reactivex/internal/fuseable/SimpleQueue;, "Lio/reactivex/internal/fuseable/SimpleQueue<TT;>;"
.end local v4 # "term":Ljava/lang/Object;
.local v0, "term":Ljava/lang/Object;
.local v20, "q":Lio/reactivex/internal/fuseable/SimpleQueue;, "Lio/reactivex/internal/fuseable/SimpleQueue<TT;>;"
invoke-virtual {v15, v3, v4}, Lio/reactivex/internal/operators/flowable/FlowablePublish$InnerSubscriber;->produced(J)J
goto :goto_f9
.line 527
.end local v16 # "v":Ljava/lang/Object;, "TT;"
.end local v20 # "q":Lio/reactivex/internal/fuseable/SimpleQueue;, "Lio/reactivex/internal/fuseable/SimpleQueue<TT;>;"
.local v0, "v":Ljava/lang/Object;, "TT;"
.restart local v3 # "q":Lio/reactivex/internal/fuseable/SimpleQueue;, "Lio/reactivex/internal/fuseable/SimpleQueue<TT;>;"
.restart local v4 # "term":Ljava/lang/Object;
:cond_f2
move-object/from16 v16, v0
move-object/from16 v20, v3
move-object v0, v4
const-wide/16 v3, 0x1
.line 522
.end local v3 # "q":Lio/reactivex/internal/fuseable/SimpleQueue;, "Lio/reactivex/internal/fuseable/SimpleQueue<TT;>;"
.end local v4 # "term":Ljava/lang/Object;
.end local v15 # "ip":Lio/reactivex/internal/operators/flowable/FlowablePublish$InnerSubscriber;, "Lio/reactivex/internal/operators/flowable/FlowablePublish$InnerSubscriber<TT;>;"
.local v0, "term":Ljava/lang/Object;
.restart local v16 # "v":Ljava/lang/Object;, "TT;"
.restart local v20 # "q":Lio/reactivex/internal/fuseable/SimpleQueue;, "Lio/reactivex/internal/fuseable/SimpleQueue<TT;>;"
:goto_f9
add-int/lit8 v14, v14, 0x1
move-object v4, v0
move-object/from16 v0, v16
move-object/from16 v3, v20
goto :goto_d4
.line 534
.end local v16 # "v":Ljava/lang/Object;, "TT;"
.end local v20 # "q":Lio/reactivex/internal/fuseable/SimpleQueue;, "Lio/reactivex/internal/fuseable/SimpleQueue<TT;>;"
.local v0, "v":Ljava/lang/Object;, "TT;"
.restart local v3 # "q":Lio/reactivex/internal/fuseable/SimpleQueue;, "Lio/reactivex/internal/fuseable/SimpleQueue<TT;>;"
.restart local v4 # "term":Ljava/lang/Object;
:cond_101
move-object/from16 v16, v0
move-object/from16 v20, v3
move-object v0, v4
const-wide/16 v3, 0x1
.end local v3 # "q":Lio/reactivex/internal/fuseable/SimpleQueue;, "Lio/reactivex/internal/fuseable/SimpleQueue<TT;>;"
.end local v4 # "term":Ljava/lang/Object;
.end local v5 # "value":Ljava/lang/Object;, "TT;"
.local v0, "term":Ljava/lang/Object;
.restart local v20 # "q":Lio/reactivex/internal/fuseable/SimpleQueue;, "Lio/reactivex/internal/fuseable/SimpleQueue<TT;>;"
add-int/lit8 v12, v12, 0x1
.line 535
move-wide v4, v3
move-object/from16 v3, v20
const-wide/16 v14, 0x0
goto :goto_96
.line 496
.end local v20 # "q":Lio/reactivex/internal/fuseable/SimpleQueue;, "Lio/reactivex/internal/fuseable/SimpleQueue<TT;>;"
.restart local v3 # "q":Lio/reactivex/internal/fuseable/SimpleQueue;, "Lio/reactivex/internal/fuseable/SimpleQueue<TT;>;"
:cond_110
move-object/from16 v20, v3
.line 538
.end local v3 # "q":Lio/reactivex/internal/fuseable/SimpleQueue;, "Lio/reactivex/internal/fuseable/SimpleQueue<TT;>;"
.restart local v20 # "q":Lio/reactivex/internal/fuseable/SimpleQueue;, "Lio/reactivex/internal/fuseable/SimpleQueue<TT;>;"
:goto_112
if-lez v12, :cond_125
.line 539
iget v3, v1, Lio/reactivex/internal/operators/flowable/FlowablePublish$PublishSubscriber;->sourceMode:I
const/4 v4, 0x1
if-eq v3, v4, :cond_125
.line 540
iget-object v3, v1, Lio/reactivex/internal/operators/flowable/FlowablePublish$PublishSubscriber;->s:Ljava/util/concurrent/atomic/AtomicReference;
invoke-virtual {v3}, Ljava/util/concurrent/atomic/AtomicReference;->get()Ljava/lang/Object;
move-result-object v3
check-cast v3, Lorg/reactivestreams/Subscription;
int-to-long v4, v12
invoke-interface {v3, v4, v5}, Lorg/reactivestreams/Subscription;->request(J)V
.line 546
:cond_125
const-wide/16 v3, 0x0
cmp-long v5, v9, v3
if-eqz v5, :cond_131
if-nez v6, :cond_131
.line 547
goto/16 :goto_b
.line 436
.end local v7 # "ps":[Lio/reactivex/internal/operators/flowable/FlowablePublish$InnerSubscriber;, "[Lio/reactivex/internal/operators/flowable/FlowablePublish$InnerSubscriber<TT;>;"
.end local v8 # "len":I
.end local v9 # "maxRequested":J
.end local v11 # "cancelled":I
.end local v12 # "d":I
.end local v20 # "q":Lio/reactivex/internal/fuseable/SimpleQueue;, "Lio/reactivex/internal/fuseable/SimpleQueue<TT;>;"
.restart local v3 # "q":Lio/reactivex/internal/fuseable/SimpleQueue;, "Lio/reactivex/internal/fuseable/SimpleQueue<TT;>;"
:cond_12f
move-object/from16 v20, v3
.line 551
.end local v3 # "q":Lio/reactivex/internal/fuseable/SimpleQueue;, "Lio/reactivex/internal/fuseable/SimpleQueue<TT;>;"
.restart local v20 # "q":Lio/reactivex/internal/fuseable/SimpleQueue;, "Lio/reactivex/internal/fuseable/SimpleQueue<TT;>;"
:cond_131
neg-int v3, v2
invoke-virtual {v1, v3}, Lio/reactivex/internal/operators/flowable/FlowablePublish$PublishSubscriber;->addAndGet(I)I
move-result v2
.line 552
if-nez v2, :cond_13a
.line 553
nop
.line 556
.end local v0 # "term":Ljava/lang/Object;
.end local v6 # "empty":Z
.end local v20 # "q":Lio/reactivex/internal/fuseable/SimpleQueue;, "Lio/reactivex/internal/fuseable/SimpleQueue<TT;>;"
return-void
.line 555
:cond_13a
goto/16 :goto_b
.end method
.method public dispose()V
.registers 4
.line 177
.local p0, "this":Lio/reactivex/internal/operators/flowable/FlowablePublish$PublishSubscriber;, "Lio/reactivex/internal/operators/flowable/FlowablePublish$PublishSubscriber<TT;>;"
iget-object v0, p0, Lio/reactivex/internal/operators/flowable/FlowablePublish$PublishSubscriber;->subscribers:Ljava/util/concurrent/atomic/AtomicReference;
invoke-virtual {v0}, Ljava/util/concurrent/atomic/AtomicReference;->get()Ljava/lang/Object;
move-result-object v0
sget-object v1, Lio/reactivex/internal/operators/flowable/FlowablePublish$PublishSubscriber;->TERMINATED:[Lio/reactivex/internal/operators/flowable/FlowablePublish$InnerSubscriber;
if-eq v0, v1, :cond_21
.line 178
iget-object v0, p0, Lio/reactivex/internal/operators/flowable/FlowablePublish$PublishSubscriber;->subscribers:Ljava/util/concurrent/atomic/AtomicReference;
invoke-virtual {v0, v1}, Ljava/util/concurrent/atomic/AtomicReference;->getAndSet(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v0
check-cast v0, [Lio/reactivex/internal/operators/flowable/FlowablePublish$InnerSubscriber;
.line 179
.local v0, "ps":[Lio/reactivex/internal/operators/flowable/FlowablePublish$InnerSubscriber;
sget-object v1, Lio/reactivex/internal/operators/flowable/FlowablePublish$PublishSubscriber;->TERMINATED:[Lio/reactivex/internal/operators/flowable/FlowablePublish$InnerSubscriber;
if-eq v0, v1, :cond_21
.line 180
iget-object v1, p0, Lio/reactivex/internal/operators/flowable/FlowablePublish$PublishSubscriber;->current:Ljava/util/concurrent/atomic/AtomicReference;
const/4 v2, 0x0
invoke-virtual {v1, p0, v2}, Ljava/util/concurrent/atomic/AtomicReference;->compareAndSet(Ljava/lang/Object;Ljava/lang/Object;)Z
.line 181
iget-object v1, p0, Lio/reactivex/internal/operators/flowable/FlowablePublish$PublishSubscriber;->s:Ljava/util/concurrent/atomic/AtomicReference;
invoke-static {v1}, Lio/reactivex/internal/subscriptions/SubscriptionHelper;->cancel(Ljava/util/concurrent/atomic/AtomicReference;)Z
.line 184
.end local v0 # "ps":[Lio/reactivex/internal/operators/flowable/FlowablePublish$InnerSubscriber;
:cond_21
return-void
.end method
.method public isDisposed()Z
.registers 3
.line 188
.local p0, "this":Lio/reactivex/internal/operators/flowable/FlowablePublish$PublishSubscriber;, "Lio/reactivex/internal/operators/flowable/FlowablePublish$PublishSubscriber<TT;>;"
iget-object v0, p0, Lio/reactivex/internal/operators/flowable/FlowablePublish$PublishSubscriber;->subscribers:Ljava/util/concurrent/atomic/AtomicReference;
invoke-virtual {v0}, Ljava/util/concurrent/atomic/AtomicReference;->get()Ljava/lang/Object;
move-result-object v0
sget-object v1, Lio/reactivex/internal/operators/flowable/FlowablePublish$PublishSubscriber;->TERMINATED:[Lio/reactivex/internal/operators/flowable/FlowablePublish$InnerSubscriber;
if-ne v0, v1, :cond_c
const/4 v0, 0x1
goto :goto_d
:cond_c
const/4 v0, 0x0
:goto_d
return v0
.end method
.method public onComplete()V
.registers 2
.line 248
.local p0, "this":Lio/reactivex/internal/operators/flowable/FlowablePublish$PublishSubscriber;, "Lio/reactivex/internal/operators/flowable/FlowablePublish$PublishSubscriber<TT;>;"
iget-object v0, p0, Lio/reactivex/internal/operators/flowable/FlowablePublish$PublishSubscriber;->terminalEvent:Ljava/lang/Object;
if-nez v0, :cond_d
.line 249
invoke-static {}, Lio/reactivex/internal/util/NotificationLite;->complete()Ljava/lang/Object;
move-result-object v0
iput-object v0, p0, Lio/reactivex/internal/operators/flowable/FlowablePublish$PublishSubscriber;->terminalEvent:Ljava/lang/Object;
.line 252
invoke-virtual {p0}, Lio/reactivex/internal/operators/flowable/FlowablePublish$PublishSubscriber;->dispatch()V
.line 254
:cond_d
return-void
.end method
.method public onError(Ljava/lang/Throwable;)V
.registers 3
.param p1, "e" # Ljava/lang/Throwable;
.line 235
.local p0, "this":Lio/reactivex/internal/operators/flowable/FlowablePublish$PublishSubscriber;, "Lio/reactivex/internal/operators/flowable/FlowablePublish$PublishSubscriber<TT;>;"
iget-object v0, p0, Lio/reactivex/internal/operators/flowable/FlowablePublish$PublishSubscriber;->terminalEvent:Ljava/lang/Object;
if-nez v0, :cond_e
.line 236
invoke-static {p1}, Lio/reactivex/internal/util/NotificationLite;->error(Ljava/lang/Throwable;)Ljava/lang/Object;
move-result-object v0
iput-object v0, p0, Lio/reactivex/internal/operators/flowable/FlowablePublish$PublishSubscriber;->terminalEvent:Ljava/lang/Object;
.line 239
invoke-virtual {p0}, Lio/reactivex/internal/operators/flowable/FlowablePublish$PublishSubscriber;->dispatch()V
goto :goto_11
.line 241
:cond_e
invoke-static {p1}, Lio/reactivex/plugins/RxJavaPlugins;->onError(Ljava/lang/Throwable;)V
.line 243
:goto_11
return-void
.end method
.method public onNext(Ljava/lang/Object;)V
.registers 4
.annotation system Ldalvik/annotation/Signature;
value = {
"(TT;)V"
}
.end annotation
.line 223
.local p0, "this":Lio/reactivex/internal/operators/flowable/FlowablePublish$PublishSubscriber;, "Lio/reactivex/internal/operators/flowable/FlowablePublish$PublishSubscriber<TT;>;"
.local p1, "t":Ljava/lang/Object;, "TT;"
iget v0, p0, Lio/reactivex/internal/operators/flowable/FlowablePublish$PublishSubscriber;->sourceMode:I
if-nez v0, :cond_17
iget-object v0, p0, Lio/reactivex/internal/operators/flowable/FlowablePublish$PublishSubscriber;->queue:Lio/reactivex/internal/fuseable/SimpleQueue;
invoke-interface {v0, p1}, Lio/reactivex/internal/fuseable/SimpleQueue;->offer(Ljava/lang/Object;)Z
move-result v0
if-nez v0, :cond_17
.line 224
new-instance v0, Lio/reactivex/exceptions/MissingBackpressureException;
const-string v1, "Prefetch queue is full?!"
invoke-direct {v0, v1}, Lio/reactivex/exceptions/MissingBackpressureException;-><init>(Ljava/lang/String;)V
invoke-virtual {p0, v0}, Lio/reactivex/internal/operators/flowable/FlowablePublish$PublishSubscriber;->onError(Ljava/lang/Throwable;)V
.line 225
return-void
.line 229
:cond_17
invoke-virtual {p0}, Lio/reactivex/internal/operators/flowable/FlowablePublish$PublishSubscriber;->dispatch()V
.line 230
return-void
.end method
.method public onSubscribe(Lorg/reactivestreams/Subscription;)V
.registers 6
.param p1, "s" # Lorg/reactivestreams/Subscription;
.line 193
.local p0, "this":Lio/reactivex/internal/operators/flowable/FlowablePublish$PublishSubscriber;, "Lio/reactivex/internal/operators/flowable/FlowablePublish$PublishSubscriber<TT;>;"
iget-object v0, p0, Lio/reactivex/internal/operators/flowable/FlowablePublish$PublishSubscriber;->s:Ljava/util/concurrent/atomic/AtomicReference;
invoke-static {v0, p1}, Lio/reactivex/internal/subscriptions/SubscriptionHelper;->setOnce(Ljava/util/concurrent/atomic/AtomicReference;Lorg/reactivestreams/Subscription;)Z
move-result v0
if-eqz v0, :cond_42
.line 194
instance-of v0, p1, Lio/reactivex/internal/fuseable/QueueSubscription;
if-eqz v0, :cond_33
.line 196
move-object v0, p1
check-cast v0, Lio/reactivex/internal/fuseable/QueueSubscription;
.line 198
.local v0, "qs":Lio/reactivex/internal/fuseable/QueueSubscription;, "Lio/reactivex/internal/fuseable/QueueSubscription<TT;>;"
const/4 v1, 0x3
invoke-interface {v0, v1}, Lio/reactivex/internal/fuseable/QueueSubscription;->requestFusion(I)I
move-result v1
.line 199
.local v1, "m":I
const/4 v2, 0x1
if-ne v1, v2, :cond_25
.line 200
iput v1, p0, Lio/reactivex/internal/operators/flowable/FlowablePublish$PublishSubscriber;->sourceMode:I
.line 201
iput-object v0, p0, Lio/reactivex/internal/operators/flowable/FlowablePublish$PublishSubscriber;->queue:Lio/reactivex/internal/fuseable/SimpleQueue;
.line 202
invoke-static {}, Lio/reactivex/internal/util/NotificationLite;->complete()Ljava/lang/Object;
move-result-object v2
iput-object v2, p0, Lio/reactivex/internal/operators/flowable/FlowablePublish$PublishSubscriber;->terminalEvent:Ljava/lang/Object;
.line 203
invoke-virtual {p0}, Lio/reactivex/internal/operators/flowable/FlowablePublish$PublishSubscriber;->dispatch()V
.line 204
return-void
.line 206
:cond_25
const/4 v2, 0x2
if-ne v1, v2, :cond_33
.line 207
iput v1, p0, Lio/reactivex/internal/operators/flowable/FlowablePublish$PublishSubscriber;->sourceMode:I
.line 208
iput-object v0, p0, Lio/reactivex/internal/operators/flowable/FlowablePublish$PublishSubscriber;->queue:Lio/reactivex/internal/fuseable/SimpleQueue;
.line 209
iget v2, p0, Lio/reactivex/internal/operators/flowable/FlowablePublish$PublishSubscriber;->bufferSize:I
int-to-long v2, v2
invoke-interface {p1, v2, v3}, Lorg/reactivestreams/Subscription;->request(J)V
.line 210
return-void
.line 214
.end local v0 # "qs":Lio/reactivex/internal/fuseable/QueueSubscription;, "Lio/reactivex/internal/fuseable/QueueSubscription<TT;>;"
.end local v1 # "m":I
:cond_33
new-instance v0, Lio/reactivex/internal/queue/SpscArrayQueue;
iget v1, p0, Lio/reactivex/internal/operators/flowable/FlowablePublish$PublishSubscriber;->bufferSize:I
invoke-direct {v0, v1}, Lio/reactivex/internal/queue/SpscArrayQueue;-><init>(I)V
iput-object v0, p0, Lio/reactivex/internal/operators/flowable/FlowablePublish$PublishSubscriber;->queue:Lio/reactivex/internal/fuseable/SimpleQueue;
.line 216
iget v0, p0, Lio/reactivex/internal/operators/flowable/FlowablePublish$PublishSubscriber;->bufferSize:I
int-to-long v0, v0
invoke-interface {p1, v0, v1}, Lorg/reactivestreams/Subscription;->request(J)V
.line 218
:cond_42
return-void
.end method
.method remove(Lio/reactivex/internal/operators/flowable/FlowablePublish$InnerSubscriber;)V
.registers 9
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Lio/reactivex/internal/operators/flowable/FlowablePublish$InnerSubscriber<",
"TT;>;)V"
}
.end annotation
.line 294
.local p0, "this":Lio/reactivex/internal/operators/flowable/FlowablePublish$PublishSubscriber;, "Lio/reactivex/internal/operators/flowable/FlowablePublish$PublishSubscriber<TT;>;"
.local p1, "producer":Lio/reactivex/internal/operators/flowable/FlowablePublish$InnerSubscriber;, "Lio/reactivex/internal/operators/flowable/FlowablePublish$InnerSubscriber<TT;>;"
:goto_0
iget-object v0, p0, Lio/reactivex/internal/operators/flowable/FlowablePublish$PublishSubscriber;->subscribers:Ljava/util/concurrent/atomic/AtomicReference;
invoke-virtual {v0}, Ljava/util/concurrent/atomic/AtomicReference;->get()Ljava/lang/Object;
move-result-object v0
check-cast v0, [Lio/reactivex/internal/operators/flowable/FlowablePublish$InnerSubscriber;
.line 295
.local v0, "c":[Lio/reactivex/internal/operators/flowable/FlowablePublish$InnerSubscriber;
array-length v1, v0
.line 297
.local v1, "len":I
if-nez v1, :cond_c
.line 298
goto :goto_40
.line 302
:cond_c
const/4 v2, -0x1
.line 303
.local v2, "j":I
const/4 v3, 0x0
.local v3, "i":I
:goto_e
if-ge v3, v1, :cond_1d
.line 304
aget-object v4, v0, v3
invoke-virtual {v4, p1}, Ljava/lang/Object;->equals(Ljava/lang/Object;)Z
move-result v4
if-eqz v4, :cond_1a
.line 305
move v2, v3
.line 306
goto :goto_1d
.line 303
:cond_1a
add-int/lit8 v3, v3, 0x1
goto :goto_e
.line 310
.end local v3 # "i":I
:cond_1d
:goto_1d
if-gez v2, :cond_20
.line 311
return-void
.line 317
:cond_20
const/4 v3, 0x1
if-ne v1, v3, :cond_26
.line 318
sget-object v3, Lio/reactivex/internal/operators/flowable/FlowablePublish$PublishSubscriber;->EMPTY:[Lio/reactivex/internal/operators/flowable/FlowablePublish$InnerSubscriber;
.local v3, "u":[Lio/reactivex/internal/operators/flowable/FlowablePublish$InnerSubscriber;
goto :goto_37
.line 321
.end local v3 # "u":[Lio/reactivex/internal/operators/flowable/FlowablePublish$InnerSubscriber;
:cond_26
add-int/lit8 v4, v1, -0x1
new-array v4, v4, [Lio/reactivex/internal/operators/flowable/FlowablePublish$InnerSubscriber;
.line 323
.local v4, "u":[Lio/reactivex/internal/operators/flowable/FlowablePublish$InnerSubscriber;
const/4 v5, 0x0
invoke-static {v0, v5, v4, v5, v2}, Ljava/lang/System;->arraycopy(Ljava/lang/Object;ILjava/lang/Object;II)V
.line 325
add-int/lit8 v5, v2, 0x1
sub-int v6, v1, v2
sub-int/2addr v6, v3
invoke-static {v0, v5, v4, v2, v6}, Ljava/lang/System;->arraycopy(Ljava/lang/Object;ILjava/lang/Object;II)V
move-object v3, v4
.line 328
.end local v4 # "u":[Lio/reactivex/internal/operators/flowable/FlowablePublish$InnerSubscriber;
.restart local v3 # "u":[Lio/reactivex/internal/operators/flowable/FlowablePublish$InnerSubscriber;
:goto_37
iget-object v4, p0, Lio/reactivex/internal/operators/flowable/FlowablePublish$PublishSubscriber;->subscribers:Ljava/util/concurrent/atomic/AtomicReference;
invoke-virtual {v4, v0, v3}, Ljava/util/concurrent/atomic/AtomicReference;->compareAndSet(Ljava/lang/Object;Ljava/lang/Object;)Z
move-result v4
if-eqz v4, :cond_41
.line 329
nop
.line 334
.end local v0 # "c":[Lio/reactivex/internal/operators/flowable/FlowablePublish$InnerSubscriber;
.end local v1 # "len":I
.end local v2 # "j":I
.end local v3 # "u":[Lio/reactivex/internal/operators/flowable/FlowablePublish$InnerSubscriber;
:goto_40
return-void
.line 333
:cond_41
goto :goto_0
.end method