final class reactor.core.publisher.FluxMergeOrdered$MergeOrderedMainProducer<T> implements reactor.core.publisher.InnerProducer<T>
minor version: 0
major version: 59
flags: flags: (0x0030) ACC_FINAL, ACC_SUPER
this_class: reactor.core.publisher.FluxMergeOrdered$MergeOrderedMainProducer
super_class: java.lang.Object
{
static final java.lang.Object DONE;
descriptor: Ljava/lang/Object;
flags: (0x0018) ACC_STATIC, ACC_FINAL
final reactor.core.CoreSubscriber<? super T> actual;
descriptor: Lreactor/core/CoreSubscriber;
flags: (0x0010) ACC_FINAL
Signature: Lreactor/core/CoreSubscriber<-TT;>;
final reactor.core.publisher.FluxMergeOrdered$MergeOrderedInnerSubscriber<T>[] subscribers;
descriptor: [Lreactor/core/publisher/FluxMergeOrdered$MergeOrderedInnerSubscriber;
flags: (0x0010) ACC_FINAL
Signature: [Lreactor/core/publisher/FluxMergeOrdered$MergeOrderedInnerSubscriber<TT;>;
final java.util.Comparator<? super T> comparator;
descriptor: Ljava/util/Comparator;
flags: (0x0010) ACC_FINAL
Signature: Ljava/util/Comparator<-TT;>;
final java.lang.Object[] values;
descriptor: [Ljava/lang/Object;
flags: (0x0010) ACC_FINAL
volatile java.lang.Throwable error;
descriptor: Ljava/lang/Throwable;
flags: (0x0040) ACC_VOLATILE
static final java.util.concurrent.atomic.AtomicReferenceFieldUpdater<reactor.core.publisher.FluxMergeOrdered$MergeOrderedMainProducer, java.lang.Throwable> ERROR;
descriptor: Ljava/util/concurrent/atomic/AtomicReferenceFieldUpdater;
flags: (0x0018) ACC_STATIC, ACC_FINAL
Signature: Ljava/util/concurrent/atomic/AtomicReferenceFieldUpdater<Lreactor/core/publisher/FluxMergeOrdered$MergeOrderedMainProducer;Ljava/lang/Throwable;>;
volatile int cancelled;
descriptor: I
flags: (0x0040) ACC_VOLATILE
static final java.util.concurrent.atomic.AtomicIntegerFieldUpdater<reactor.core.publisher.FluxMergeOrdered$MergeOrderedMainProducer> CANCELLED;
descriptor: Ljava/util/concurrent/atomic/AtomicIntegerFieldUpdater;
flags: (0x0018) ACC_STATIC, ACC_FINAL
Signature: Ljava/util/concurrent/atomic/AtomicIntegerFieldUpdater<Lreactor/core/publisher/FluxMergeOrdered$MergeOrderedMainProducer;>;
volatile long requested;
descriptor: J
flags: (0x0040) ACC_VOLATILE
static final java.util.concurrent.atomic.AtomicLongFieldUpdater<reactor.core.publisher.FluxMergeOrdered$MergeOrderedMainProducer> REQUESTED;
descriptor: Ljava/util/concurrent/atomic/AtomicLongFieldUpdater;
flags: (0x0018) ACC_STATIC, ACC_FINAL
Signature: Ljava/util/concurrent/atomic/AtomicLongFieldUpdater<Lreactor/core/publisher/FluxMergeOrdered$MergeOrderedMainProducer;>;
volatile long emitted;
descriptor: J
flags: (0x0040) ACC_VOLATILE
static final java.util.concurrent.atomic.AtomicLongFieldUpdater<reactor.core.publisher.FluxMergeOrdered$MergeOrderedMainProducer> EMITTED;
descriptor: Ljava/util/concurrent/atomic/AtomicLongFieldUpdater;
flags: (0x0018) ACC_STATIC, ACC_FINAL
Signature: Ljava/util/concurrent/atomic/AtomicLongFieldUpdater<Lreactor/core/publisher/FluxMergeOrdered$MergeOrderedMainProducer;>;
volatile int wip;
descriptor: I
flags: (0x0040) ACC_VOLATILE
static final java.util.concurrent.atomic.AtomicIntegerFieldUpdater<reactor.core.publisher.FluxMergeOrdered$MergeOrderedMainProducer> WIP;
descriptor: Ljava/util/concurrent/atomic/AtomicIntegerFieldUpdater;
flags: (0x0018) ACC_STATIC, ACC_FINAL
Signature: Ljava/util/concurrent/atomic/AtomicIntegerFieldUpdater<Lreactor/core/publisher/FluxMergeOrdered$MergeOrderedMainProducer;>;
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=3, locals=0, args_size=0
0: new java.lang.Object
dup
invokespecial java.lang.Object.<init>:()V
putstatic reactor.core.publisher.FluxMergeOrdered$MergeOrderedMainProducer.DONE:Ljava/lang/Object;
1: ldc Lreactor/core/publisher/FluxMergeOrdered$MergeOrderedMainProducer;
ldc Ljava/lang/Throwable;
ldc "error"
invokestatic java.util.concurrent.atomic.AtomicReferenceFieldUpdater.newUpdater:(Ljava/lang/Class;Ljava/lang/Class;Ljava/lang/String;)Ljava/util/concurrent/atomic/AtomicReferenceFieldUpdater;
2: putstatic reactor.core.publisher.FluxMergeOrdered$MergeOrderedMainProducer.ERROR:Ljava/util/concurrent/atomic/AtomicReferenceFieldUpdater;
3: ldc Lreactor/core/publisher/FluxMergeOrdered$MergeOrderedMainProducer;
ldc "cancelled"
invokestatic java.util.concurrent.atomic.AtomicIntegerFieldUpdater.newUpdater:(Ljava/lang/Class;Ljava/lang/String;)Ljava/util/concurrent/atomic/AtomicIntegerFieldUpdater;
4: putstatic reactor.core.publisher.FluxMergeOrdered$MergeOrderedMainProducer.CANCELLED:Ljava/util/concurrent/atomic/AtomicIntegerFieldUpdater;
5: ldc Lreactor/core/publisher/FluxMergeOrdered$MergeOrderedMainProducer;
ldc "requested"
invokestatic java.util.concurrent.atomic.AtomicLongFieldUpdater.newUpdater:(Ljava/lang/Class;Ljava/lang/String;)Ljava/util/concurrent/atomic/AtomicLongFieldUpdater;
6: putstatic reactor.core.publisher.FluxMergeOrdered$MergeOrderedMainProducer.REQUESTED:Ljava/util/concurrent/atomic/AtomicLongFieldUpdater;
7: ldc Lreactor/core/publisher/FluxMergeOrdered$MergeOrderedMainProducer;
ldc "emitted"
invokestatic java.util.concurrent.atomic.AtomicLongFieldUpdater.newUpdater:(Ljava/lang/Class;Ljava/lang/String;)Ljava/util/concurrent/atomic/AtomicLongFieldUpdater;
8: putstatic reactor.core.publisher.FluxMergeOrdered$MergeOrderedMainProducer.EMITTED:Ljava/util/concurrent/atomic/AtomicLongFieldUpdater;
9: ldc Lreactor/core/publisher/FluxMergeOrdered$MergeOrderedMainProducer;
ldc "wip"
invokestatic java.util.concurrent.atomic.AtomicIntegerFieldUpdater.newUpdater:(Ljava/lang/Class;Ljava/lang/String;)Ljava/util/concurrent/atomic/AtomicIntegerFieldUpdater;
10: putstatic reactor.core.publisher.FluxMergeOrdered$MergeOrderedMainProducer.WIP:Ljava/util/concurrent/atomic/AtomicIntegerFieldUpdater;
11: return
LocalVariableTable:
Start End Slot Name Signature
void <init>(reactor.core.CoreSubscriber<? super T>, java.util.Comparator<? super T>, int, );
descriptor: (Lreactor/core/CoreSubscriber;Ljava/util/Comparator;II)V
flags: (0x0000)
Code:
stack=6, locals=7, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
aload 1
putfield reactor.core.publisher.FluxMergeOrdered$MergeOrderedMainProducer.actual:Lreactor/core/CoreSubscriber;
2: aload 0
aload 2
putfield reactor.core.publisher.FluxMergeOrdered$MergeOrderedMainProducer.comparator:Ljava/util/Comparator;
3: iload 4
anewarray reactor.core.publisher.FluxMergeOrdered$MergeOrderedInnerSubscriber
4: astore 5
start local 5 5: aload 0
aload 5
putfield reactor.core.publisher.FluxMergeOrdered$MergeOrderedMainProducer.subscribers:[Lreactor/core/publisher/FluxMergeOrdered$MergeOrderedInnerSubscriber;
6: iconst_0
istore 6
start local 6 7: goto 10
8: StackMap locals: reactor.core.publisher.FluxMergeOrdered$MergeOrderedMainProducer reactor.core.CoreSubscriber java.util.Comparator int int reactor.core.publisher.FluxMergeOrdered$MergeOrderedInnerSubscriber[] int
StackMap stack:
aload 0
getfield reactor.core.publisher.FluxMergeOrdered$MergeOrderedMainProducer.subscribers:[Lreactor/core/publisher/FluxMergeOrdered$MergeOrderedInnerSubscriber;
iload 6
new reactor.core.publisher.FluxMergeOrdered$MergeOrderedInnerSubscriber
dup
aload 0
iload 3
invokespecial reactor.core.publisher.FluxMergeOrdered$MergeOrderedInnerSubscriber.<init>:(Lreactor/core/publisher/FluxMergeOrdered$MergeOrderedMainProducer;I)V
aastore
9: iinc 6 1
StackMap locals:
StackMap stack:
10: iload 6
iload 4
if_icmplt 8
end local 6 11: aload 0
iload 4
anewarray java.lang.Object
putfield reactor.core.publisher.FluxMergeOrdered$MergeOrderedMainProducer.values:[Ljava/lang/Object;
12: return
end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 13 0 this Lreactor/core/publisher/FluxMergeOrdered$MergeOrderedMainProducer<TT;>;
0 13 1 actual Lreactor/core/CoreSubscriber<-TT;>;
0 13 2 comparator Ljava/util/Comparator<-TT;>;
0 13 3 prefetch I
0 13 4 n I
5 13 5 mergeOrderedInnerSub [Lreactor/core/publisher/FluxMergeOrdered$MergeOrderedInnerSubscriber;
7 11 6 i I
Signature: (Lreactor/core/CoreSubscriber<-TT;>;Ljava/util/Comparator<-TT;>;II)V
MethodParameters:
Name Flags
actual
comparator
prefetch
n
void subscribe(org.reactivestreams.Publisher<? extends T>[]);
descriptor: ([Lorg/reactivestreams/Publisher;)V
flags: (0x0000)
Code:
stack=5, locals=3, args_size=2
start local 0 start local 1 0: aload 1
arraylength
aload 0
getfield reactor.core.publisher.FluxMergeOrdered$MergeOrderedMainProducer.subscribers:[Lreactor/core/publisher/FluxMergeOrdered$MergeOrderedInnerSubscriber;
arraylength
if_icmpeq 2
1: new java.lang.IllegalArgumentException
dup
new java.lang.StringBuilder
dup
ldc "must subscribe with "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
getfield reactor.core.publisher.FluxMergeOrdered$MergeOrderedMainProducer.subscribers:[Lreactor/core/publisher/FluxMergeOrdered$MergeOrderedInnerSubscriber;
arraylength
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc " sources"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
2: StackMap locals:
StackMap stack:
iconst_0
istore 2
start local 2 3: goto 7
4: StackMap locals: int
StackMap stack:
aload 1
iload 2
aaload
new java.lang.StringBuilder
dup
ldc "subscribed with a null source: sources["
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 2
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc "]"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object;
checkcast org.reactivestreams.Publisher
5: aload 0
getfield reactor.core.publisher.FluxMergeOrdered$MergeOrderedMainProducer.subscribers:[Lreactor/core/publisher/FluxMergeOrdered$MergeOrderedInnerSubscriber;
iload 2
aaload
invokeinterface org.reactivestreams.Publisher.subscribe:(Lorg/reactivestreams/Subscriber;)V
6: iinc 2 1
StackMap locals:
StackMap stack:
7: iload 2
aload 1
arraylength
if_icmplt 4
end local 2 8: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lreactor/core/publisher/FluxMergeOrdered$MergeOrderedMainProducer<TT;>;
0 9 1 sources [Lorg/reactivestreams/Publisher;
3 8 2 i I
Signature: ([Lorg/reactivestreams/Publisher<+TT;>;)V
MethodParameters:
Name Flags
sources
public reactor.core.CoreSubscriber<? super T> actual();
descriptor: ()Lreactor/core/CoreSubscriber;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield reactor.core.publisher.FluxMergeOrdered$MergeOrderedMainProducer.actual:Lreactor/core/CoreSubscriber;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lreactor/core/publisher/FluxMergeOrdered$MergeOrderedMainProducer<TT;>;
Signature: ()Lreactor/core/CoreSubscriber<-TT;>;
public void request(long);
descriptor: (J)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=3, args_size=2
start local 0 start local 1 0: getstatic reactor.core.publisher.FluxMergeOrdered$MergeOrderedMainProducer.REQUESTED:Ljava/util/concurrent/atomic/AtomicLongFieldUpdater;
aload 0
lload 1
invokestatic reactor.core.publisher.Operators.addCap:(Ljava/util/concurrent/atomic/AtomicLongFieldUpdater;Ljava/lang/Object;J)J
pop2
1: aload 0
invokevirtual reactor.core.publisher.FluxMergeOrdered$MergeOrderedMainProducer.drain:()V
2: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lreactor/core/publisher/FluxMergeOrdered$MergeOrderedMainProducer<TT;>;
0 3 1 n J
MethodParameters:
Name Flags
n
public void cancel();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=5, args_size=1
start local 0 0: getstatic reactor.core.publisher.FluxMergeOrdered$MergeOrderedMainProducer.CANCELLED:Ljava/util/concurrent/atomic/AtomicIntegerFieldUpdater;
aload 0
iconst_0
iconst_1
invokevirtual java.util.concurrent.atomic.AtomicIntegerFieldUpdater.compareAndSet:(Ljava/lang/Object;II)Z
ifeq 13
1: aload 0
getfield reactor.core.publisher.FluxMergeOrdered$MergeOrderedMainProducer.subscribers:[Lreactor/core/publisher/FluxMergeOrdered$MergeOrderedInnerSubscriber;
dup
astore 4
arraylength
istore 3
iconst_0
istore 2
goto 5
StackMap locals: reactor.core.publisher.FluxMergeOrdered$MergeOrderedMainProducer top int int reactor.core.publisher.FluxMergeOrdered$MergeOrderedInnerSubscriber[]
StackMap stack:
2: aload 4
iload 2
aaload
astore 1
start local 1 3: aload 1
invokevirtual reactor.core.publisher.FluxMergeOrdered$MergeOrderedInnerSubscriber.cancel:()V
end local 1 4: iinc 2 1
StackMap locals:
StackMap stack:
5: iload 2
iload 3
if_icmplt 2
6: getstatic reactor.core.publisher.FluxMergeOrdered$MergeOrderedMainProducer.WIP:Ljava/util/concurrent/atomic/AtomicIntegerFieldUpdater;
aload 0
invokevirtual java.util.concurrent.atomic.AtomicIntegerFieldUpdater.getAndIncrement:(Ljava/lang/Object;)I
ifne 13
7: aload 0
getfield reactor.core.publisher.FluxMergeOrdered$MergeOrderedMainProducer.values:[Ljava/lang/Object;
aconst_null
invokestatic java.util.Arrays.fill:([Ljava/lang/Object;Ljava/lang/Object;)V
8: aload 0
getfield reactor.core.publisher.FluxMergeOrdered$MergeOrderedMainProducer.subscribers:[Lreactor/core/publisher/FluxMergeOrdered$MergeOrderedInnerSubscriber;
dup
astore 4
arraylength
istore 3
iconst_0
istore 2
goto 12
StackMap locals:
StackMap stack:
9: aload 4
iload 2
aaload
astore 1
start local 1 10: aload 1
getfield reactor.core.publisher.FluxMergeOrdered$MergeOrderedInnerSubscriber.queue:Ljava/util/Queue;
invokeinterface java.util.Queue.clear:()V
end local 1 11: iinc 2 1
StackMap locals:
StackMap stack:
12: iload 2
iload 3
if_icmplt 9
13: StackMap locals: reactor.core.publisher.FluxMergeOrdered$MergeOrderedMainProducer
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 14 0 this Lreactor/core/publisher/FluxMergeOrdered$MergeOrderedMainProducer<TT;>;
3 4 1 subscriber Lreactor/core/publisher/FluxMergeOrdered$MergeOrderedInnerSubscriber<TT;>;
10 11 1 subscriber Lreactor/core/publisher/FluxMergeOrdered$MergeOrderedInnerSubscriber<TT;>;
void onInnerError(reactor.core.publisher.FluxMergeOrdered$MergeOrderedInnerSubscriber<T>, java.lang.Throwable);
descriptor: (Lreactor/core/publisher/FluxMergeOrdered$MergeOrderedInnerSubscriber;Ljava/lang/Throwable;)V
flags: (0x0000)
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: getstatic reactor.core.publisher.FluxMergeOrdered$MergeOrderedMainProducer.ERROR:Ljava/util/concurrent/atomic/AtomicReferenceFieldUpdater;
aload 0
aload 2
invokestatic reactor.core.Exceptions.addThrowable:(Ljava/util/concurrent/atomic/AtomicReferenceFieldUpdater;Ljava/lang/Object;Ljava/lang/Throwable;)Z
pop
1: aload 1
iconst_1
putfield reactor.core.publisher.FluxMergeOrdered$MergeOrderedInnerSubscriber.done:Z
2: aload 0
invokevirtual reactor.core.publisher.FluxMergeOrdered$MergeOrderedMainProducer.drain:()V
3: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lreactor/core/publisher/FluxMergeOrdered$MergeOrderedMainProducer<TT;>;
0 4 1 inner Lreactor/core/publisher/FluxMergeOrdered$MergeOrderedInnerSubscriber<TT;>;
0 4 2 ex Ljava/lang/Throwable;
Signature: (Lreactor/core/publisher/FluxMergeOrdered$MergeOrderedInnerSubscriber<TT;>;Ljava/lang/Throwable;)V
MethodParameters:
Name Flags
inner
ex
void drain();
descriptor: ()V
flags: (0x0000)
Code:
stack=4, locals=22, args_size=1
start local 0 0: getstatic reactor.core.publisher.FluxMergeOrdered$MergeOrderedMainProducer.WIP:Ljava/util/concurrent/atomic/AtomicIntegerFieldUpdater;
aload 0
invokevirtual java.util.concurrent.atomic.AtomicIntegerFieldUpdater.getAndIncrement:(Ljava/lang/Object;)I
ifeq 2
1: return
2: StackMap locals:
StackMap stack:
iconst_1
istore 1
start local 1 3: aload 0
getfield reactor.core.publisher.FluxMergeOrdered$MergeOrderedMainProducer.actual:Lreactor/core/CoreSubscriber;
astore 2
start local 2 4: aload 0
getfield reactor.core.publisher.FluxMergeOrdered$MergeOrderedMainProducer.comparator:Ljava/util/Comparator;
astore 3
start local 3 5: aload 0
getfield reactor.core.publisher.FluxMergeOrdered$MergeOrderedMainProducer.subscribers:[Lreactor/core/publisher/FluxMergeOrdered$MergeOrderedInnerSubscriber;
astore 4
start local 4 6: aload 4
arraylength
istore 5
start local 5 7: aload 0
getfield reactor.core.publisher.FluxMergeOrdered$MergeOrderedMainProducer.values:[Ljava/lang/Object;
astore 6
start local 6 8: aload 0
getfield reactor.core.publisher.FluxMergeOrdered$MergeOrderedMainProducer.emitted:J
lstore 7
start local 7 9: StackMap locals: reactor.core.publisher.FluxMergeOrdered$MergeOrderedMainProducer int reactor.core.CoreSubscriber java.util.Comparator reactor.core.publisher.FluxMergeOrdered$MergeOrderedInnerSubscriber[] int java.lang.Object[] long
StackMap stack:
aload 0
getfield reactor.core.publisher.FluxMergeOrdered$MergeOrderedMainProducer.requested:J
lstore 9
start local 9 10: StackMap locals: long
StackMap stack:
aload 0
getfield reactor.core.publisher.FluxMergeOrdered$MergeOrderedMainProducer.cancelled:I
ifeq 18
11: aload 6
aconst_null
invokestatic java.util.Arrays.fill:([Ljava/lang/Object;Ljava/lang/Object;)V
12: aload 4
dup
astore 14
arraylength
istore 13
iconst_0
istore 12
goto 16
StackMap locals: reactor.core.publisher.FluxMergeOrdered$MergeOrderedMainProducer int reactor.core.CoreSubscriber java.util.Comparator reactor.core.publisher.FluxMergeOrdered$MergeOrderedInnerSubscriber[] int java.lang.Object[] long long top int int reactor.core.publisher.FluxMergeOrdered$MergeOrderedInnerSubscriber[]
StackMap stack:
13: aload 14
iload 12
aaload
astore 11
start local 11 14: aload 11
getfield reactor.core.publisher.FluxMergeOrdered$MergeOrderedInnerSubscriber.queue:Ljava/util/Queue;
invokeinterface java.util.Queue.clear:()V
end local 11 15: iinc 12 1
StackMap locals:
StackMap stack:
16: iload 12
iload 13
if_icmplt 13
17: return
18: StackMap locals: reactor.core.publisher.FluxMergeOrdered$MergeOrderedMainProducer int reactor.core.CoreSubscriber java.util.Comparator reactor.core.publisher.FluxMergeOrdered$MergeOrderedInnerSubscriber[] int java.lang.Object[] long long
StackMap stack:
iconst_0
istore 11
start local 11 19: iconst_0
istore 12
start local 12 20: iconst_0
istore 13
start local 13 21: goto 41
22: StackMap locals: int int int
StackMap stack:
aload 6
iload 13
aaload
astore 14
start local 14 23: aload 14
getstatic reactor.core.publisher.FluxMergeOrdered$MergeOrderedMainProducer.DONE:Ljava/lang/Object;
if_acmpne 27
24: iinc 11 1
25: iinc 12 1
26: goto 40
27: StackMap locals: java.lang.Object
StackMap stack:
aload 14
ifnonnull 39
28: aload 4
iload 13
aaload
getfield reactor.core.publisher.FluxMergeOrdered$MergeOrderedInnerSubscriber.done:Z
istore 15
start local 15 29: aload 4
iload 13
aaload
getfield reactor.core.publisher.FluxMergeOrdered$MergeOrderedInnerSubscriber.queue:Ljava/util/Queue;
invokeinterface java.util.Queue.poll:()Ljava/lang/Object;
astore 14
30: aload 14
ifnull 34
31: aload 6
iload 13
aload 14
aastore
32: iinc 12 1
33: goto 40
34: StackMap locals: int
StackMap stack:
iload 15
ifeq 40
35: aload 6
iload 13
getstatic reactor.core.publisher.FluxMergeOrdered$MergeOrderedMainProducer.DONE:Ljava/lang/Object;
aastore
36: iinc 11 1
37: iinc 12 1
end local 15 38: goto 40
39: StackMap locals:
StackMap stack:
iinc 12 1
end local 14 40: StackMap locals:
StackMap stack:
iinc 13 1
StackMap locals:
StackMap stack:
41: iload 13
iload 5
if_icmplt 22
end local 13 42: iload 11
iload 5
if_icmpne 49
43: aload 0
getfield reactor.core.publisher.FluxMergeOrdered$MergeOrderedMainProducer.error:Ljava/lang/Throwable;
astore 13
start local 13 44: aload 13
ifnonnull 47
45: aload 2
invokeinterface reactor.core.CoreSubscriber.onComplete:()V
46: goto 48
47: StackMap locals: reactor.core.publisher.FluxMergeOrdered$MergeOrderedMainProducer int reactor.core.CoreSubscriber java.util.Comparator reactor.core.publisher.FluxMergeOrdered$MergeOrderedInnerSubscriber[] int java.lang.Object[] long long int int java.lang.Throwable
StackMap stack:
aload 2
aload 13
invokeinterface reactor.core.CoreSubscriber.onError:(Ljava/lang/Throwable;)V
48: StackMap locals:
StackMap stack:
return
end local 13 49: StackMap locals:
StackMap stack:
iload 12
iload 5
if_icmpne 79
lload 7
lload 9
lcmp
iflt 51
50: goto 79
51: StackMap locals:
StackMap stack:
aconst_null
astore 13
start local 13 52: iconst_m1
istore 14
start local 14 53: iconst_0
istore 15
start local 15 54: aload 6
dup
astore 19
arraylength
istore 18
iconst_0
istore 17
goto 73
StackMap locals: reactor.core.publisher.FluxMergeOrdered$MergeOrderedMainProducer int reactor.core.CoreSubscriber java.util.Comparator reactor.core.publisher.FluxMergeOrdered$MergeOrderedInnerSubscriber[] int java.lang.Object[] long long int int java.lang.Object int int top int int java.lang.Object[]
StackMap stack:
55: aload 19
iload 17
aaload
astore 16
start local 16 56: aload 16
getstatic reactor.core.publisher.FluxMergeOrdered$MergeOrderedMainProducer.DONE:Ljava/lang/Object;
if_acmpeq 71
57: aload 16
astore 21
start local 21 58: aload 13
ifnull 59
aload 3
aload 13
aload 21
invokeinterface java.util.Comparator.compare:(Ljava/lang/Object;Ljava/lang/Object;)I
ifgt 59
iconst_0
goto 60
StackMap locals: reactor.core.publisher.FluxMergeOrdered$MergeOrderedMainProducer int reactor.core.CoreSubscriber java.util.Comparator reactor.core.publisher.FluxMergeOrdered$MergeOrderedInnerSubscriber[] int java.lang.Object[] long long int int java.lang.Object int int java.lang.Object int int java.lang.Object[] top java.lang.Object
StackMap stack:
59: iconst_1
StackMap locals:
StackMap stack: int
60: istore 20
end local 21 start local 20 61: goto 67
end local 20 StackMap locals: reactor.core.publisher.FluxMergeOrdered$MergeOrderedMainProducer int reactor.core.CoreSubscriber java.util.Comparator reactor.core.publisher.FluxMergeOrdered$MergeOrderedInnerSubscriber[] int java.lang.Object[] long long int int java.lang.Object int int java.lang.Object int int java.lang.Object[]
StackMap stack: java.lang.Throwable
62: astore 21
start local 21 63: getstatic reactor.core.publisher.FluxMergeOrdered$MergeOrderedMainProducer.ERROR:Ljava/util/concurrent/atomic/AtomicReferenceFieldUpdater;
aload 0
aload 21
invokestatic reactor.core.Exceptions.addThrowable:(Ljava/util/concurrent/atomic/AtomicReferenceFieldUpdater;Ljava/lang/Object;Ljava/lang/Throwable;)Z
pop
64: aload 0
invokevirtual reactor.core.publisher.FluxMergeOrdered$MergeOrderedMainProducer.cancel:()V
65: aload 2
getstatic reactor.core.publisher.FluxMergeOrdered$MergeOrderedMainProducer.ERROR:Ljava/util/concurrent/atomic/AtomicReferenceFieldUpdater;
aload 0
invokestatic reactor.core.Exceptions.terminate:(Ljava/util/concurrent/atomic/AtomicReferenceFieldUpdater;Ljava/lang/Object;)Ljava/lang/Throwable;
invokeinterface reactor.core.CoreSubscriber.onError:(Ljava/lang/Throwable;)V
66: return
end local 21 start local 20 67: StackMap locals: int
StackMap stack:
iload 20
ifeq 71
68: aload 16
astore 21
start local 21 69: aload 21
astore 13
70: iload 15
istore 14
end local 21 end local 20 71: StackMap locals:
StackMap stack:
iinc 15 1
end local 16 72: iinc 17 1
StackMap locals: reactor.core.publisher.FluxMergeOrdered$MergeOrderedMainProducer int reactor.core.CoreSubscriber java.util.Comparator reactor.core.publisher.FluxMergeOrdered$MergeOrderedInnerSubscriber[] int java.lang.Object[] long long int int java.lang.Object int int top int int java.lang.Object[]
StackMap stack:
73: iload 17
iload 18
if_icmplt 55
74: aload 6
iload 14
aconst_null
aastore
75: aload 2
aload 13
invokeinterface reactor.core.CoreSubscriber.onNext:(Ljava/lang/Object;)V
76: lload 7
lconst_1
ladd
lstore 7
77: aload 4
iload 14
aaload
lconst_1
invokevirtual reactor.core.publisher.FluxMergeOrdered$MergeOrderedInnerSubscriber.request:(J)V
end local 15 end local 14 end local 13 end local 12 end local 11 78: goto 10
79: StackMap locals: reactor.core.publisher.FluxMergeOrdered$MergeOrderedMainProducer int reactor.core.CoreSubscriber java.util.Comparator reactor.core.publisher.FluxMergeOrdered$MergeOrderedInnerSubscriber[] int java.lang.Object[] long long
StackMap stack:
aload 0
lload 7
putfield reactor.core.publisher.FluxMergeOrdered$MergeOrderedMainProducer.emitted:J
80: getstatic reactor.core.publisher.FluxMergeOrdered$MergeOrderedMainProducer.WIP:Ljava/util/concurrent/atomic/AtomicIntegerFieldUpdater;
aload 0
iload 1
ineg
invokevirtual java.util.concurrent.atomic.AtomicIntegerFieldUpdater.addAndGet:(Ljava/lang/Object;I)I
istore 1
81: iload 1
ifne 9
end local 9 82: return
end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 83 0 this Lreactor/core/publisher/FluxMergeOrdered$MergeOrderedMainProducer<TT;>;
3 83 1 missed I
4 83 2 actual Lreactor/core/CoreSubscriber<-TT;>;
5 83 3 comparator Ljava/util/Comparator<-TT;>;
6 83 4 subscribers [Lreactor/core/publisher/FluxMergeOrdered$MergeOrderedInnerSubscriber;
7 83 5 n I
8 83 6 values [Ljava/lang/Object;
9 83 7 e J
10 82 9 r J
14 15 11 inner Lreactor/core/publisher/FluxMergeOrdered$MergeOrderedInnerSubscriber<TT;>;
19 78 11 done I
20 78 12 nonEmpty I
21 42 13 i I
23 40 14 o Ljava/lang/Object;
29 38 15 innerDone Z
44 49 13 ex Ljava/lang/Throwable;
52 78 13 min TT;
53 78 14 minIndex I
54 78 15 i I
56 72 16 o Ljava/lang/Object;
61 62 20 smaller Z
67 71 20 smaller Z
58 61 21 t TT;
63 67 21 ex Ljava/lang/Throwable;
69 71 21 t TT;
Exception table:
from to target type
57 61 62 Class java.lang.Throwable
public java.lang.Object scanUnsafe(reactor.core.Scannable$Attr);
descriptor: (Lreactor/core/Scannable$Attr;)Ljava/lang/Object;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: aload 1
getstatic reactor.core.Scannable$Attr.ACTUAL:Lreactor/core/Scannable$Attr;
if_acmpne 1
aload 0
getfield reactor.core.publisher.FluxMergeOrdered$MergeOrderedMainProducer.actual:Lreactor/core/CoreSubscriber;
areturn
1: StackMap locals:
StackMap stack:
aload 1
getstatic reactor.core.Scannable$Attr.CANCELLED:Lreactor/core/Scannable$Attr;
if_acmpne 3
aload 0
getfield reactor.core.publisher.FluxMergeOrdered$MergeOrderedMainProducer.cancelled:I
ifle 2
iconst_1
invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
areturn
StackMap locals:
StackMap stack:
2: iconst_0
invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
areturn
3: StackMap locals:
StackMap stack:
aload 1
getstatic reactor.core.Scannable$Attr.ERROR:Lreactor/core/Scannable$Attr;
if_acmpne 4
aload 0
getfield reactor.core.publisher.FluxMergeOrdered$MergeOrderedMainProducer.error:Ljava/lang/Throwable;
areturn
4: StackMap locals:
StackMap stack:
aload 1
getstatic reactor.core.Scannable$Attr.DELAY_ERROR:Lreactor/core/Scannable$Attr;
if_acmpne 5
iconst_1
invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
areturn
5: StackMap locals:
StackMap stack:
aload 1
getstatic reactor.core.Scannable$Attr.REQUESTED_FROM_DOWNSTREAM:Lreactor/core/Scannable$Attr;
if_acmpne 6
aload 0
getfield reactor.core.publisher.FluxMergeOrdered$MergeOrderedMainProducer.requested:J
aload 0
getfield reactor.core.publisher.FluxMergeOrdered$MergeOrderedMainProducer.emitted:J
lsub
invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
areturn
6: StackMap locals:
StackMap stack:
aload 1
getstatic reactor.core.Scannable$Attr.RUN_STYLE:Lreactor/core/Scannable$Attr;
if_acmpne 7
getstatic reactor.core.Scannable$Attr$RunStyle.SYNC:Lreactor/core/Scannable$Attr$RunStyle;
areturn
7: StackMap locals:
StackMap stack:
aconst_null
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lreactor/core/publisher/FluxMergeOrdered$MergeOrderedMainProducer<TT;>;
0 8 1 key Lreactor/core/Scannable$Attr;
MethodParameters:
Name Flags
key
}
Signature: <T:Ljava/lang/Object;>Ljava/lang/Object;Lreactor/core/publisher/InnerProducer<TT;>;
SourceFile: "FluxMergeOrdered.java"
NestHost: reactor.core.publisher.FluxMergeOrdered
InnerClasses:
public Attr = reactor.core.Scannable$Attr of reactor.core.Scannable
public final RunStyle = reactor.core.Scannable$Attr$RunStyle of reactor.core.Scannable$Attr
final MergeOrderedInnerSubscriber = reactor.core.publisher.FluxMergeOrdered$MergeOrderedInnerSubscriber of reactor.core.publisher.FluxMergeOrdered
final MergeOrderedMainProducer = reactor.core.publisher.FluxMergeOrdered$MergeOrderedMainProducer of reactor.core.publisher.FluxMergeOrdered