rx.internal.util.unsafe.MpscLinkedQueue.class Maven / Gradle / Ivy
???? 2 f
: ;
: <
= > ? @ A
B C D E
F
G
H
I
J
K
L
M
N O P ()V Code LineNumberTable LocalVariableTable this )Lrx/internal/util/unsafe/MpscLinkedQueue; LocalVariableTypeTable .Lrx/internal/util/unsafe/MpscLinkedQueue; xchgProducerNode T(Lrx/internal/util/atomic/LinkedQueueNode;)Lrx/internal/util/atomic/LinkedQueueNode; newVal )Lrx/internal/util/atomic/LinkedQueueNode; oldVal Ljava/lang/Object; .Lrx/internal/util/atomic/LinkedQueueNode;
StackMapTable Signature ^(Lrx/internal/util/atomic/LinkedQueueNode;)Lrx/internal/util/atomic/LinkedQueueNode; offer (Ljava/lang/Object;)Z nextValue nextNode prevProducerNode TE; (TE;)Z poll ()Ljava/lang/Object; currConsumerNode ; ()TE; peek DLrx/internal/util/unsafe/BaseLinkedQueue;
SourceFile MpscLinkedQueue.java 'rx/internal/util/atomic/LinkedQueueNode Q # ! R # S T U V W X Y Z java/lang/NullPointerException null elements not allowed [ \ ] ^ _ ` a ` b 2 c ^ d ` e 2 'rx/internal/util/unsafe/MpscLinkedQueue 'rx/internal/util/unsafe/BaseLinkedQueue consumerNode producerNode $rx/internal/util/unsafe/UnsafeAccess UNSAFE Lsun/misc/Unsafe;
P_NODE_OFFSET J sun/misc/Unsafe compareAndSwapObject :(Ljava/lang/Object;JLjava/lang/Object;Ljava/lang/Object;)Z (Ljava/lang/String;)V (Ljava/lang/Object;)V soNext ,(Lrx/internal/util/atomic/LinkedQueueNode;)V lpConsumerNode +()Lrx/internal/util/atomic/LinkedQueueNode; lvNext getAndNullValue spConsumerNode lvProducerNode lpValue 1 a *? *? Y? ? **? ? W? ' ( ) * ! ? *? M? *? ,+? ???,? ? 0 1 2 " # $ % " &