public class java.util.concurrent.LinkedTransferQueue<E> extends java.util.AbstractQueue<E> implements java.util.concurrent.TransferQueue<E>, java.io.Serializable
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: java.util.concurrent.LinkedTransferQueue
super_class: java.util.AbstractQueue
{
private static final long serialVersionUID;
descriptor: J
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: -3223113410248163686
private static final boolean MP;
descriptor: Z
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final int FRONT_SPINS;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 128
private static final int CHAINED_SPINS;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 64
static final int SWEEP_THRESHOLD;
descriptor: I
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: 32
volatile transient java.util.concurrent.LinkedTransferQueue$Node head;
descriptor: Ljava/util/concurrent/LinkedTransferQueue$Node;
flags: (0x00c0) ACC_VOLATILE, ACC_TRANSIENT
private volatile transient java.util.concurrent.LinkedTransferQueue$Node tail;
descriptor: Ljava/util/concurrent/LinkedTransferQueue$Node;
flags: (0x00c2) ACC_PRIVATE, ACC_VOLATILE, ACC_TRANSIENT
private volatile transient int sweepVotes;
descriptor: I
flags: (0x00c2) ACC_PRIVATE, ACC_VOLATILE, ACC_TRANSIENT
private static final int NOW;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 0
private static final int ASYNC;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 1
private static final int SYNC;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 2
private static final int TIMED;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 3
private static final int MAX_HOPS;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 8
private static final java.lang.invoke.VarHandle HEAD;
descriptor: Ljava/lang/invoke/VarHandle;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final java.lang.invoke.VarHandle TAIL;
descriptor: Ljava/lang/invoke/VarHandle;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final java.lang.invoke.VarHandle SWEEPVOTES;
descriptor: Ljava/lang/invoke/VarHandle;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
static final java.lang.invoke.VarHandle ITEM;
descriptor: Ljava/lang/invoke/VarHandle;
flags: (0x0018) ACC_STATIC, ACC_FINAL
static final java.lang.invoke.VarHandle NEXT;
descriptor: Ljava/lang/invoke/VarHandle;
flags: (0x0018) ACC_STATIC, ACC_FINAL
static final java.lang.invoke.VarHandle WAITER;
descriptor: Ljava/lang/invoke/VarHandle;
flags: (0x0018) ACC_STATIC, ACC_FINAL
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=4, locals=1, args_size=0
0: invokestatic java.lang.Runtime.getRuntime:()Ljava/lang/Runtime;
invokevirtual java.lang.Runtime.availableProcessors:()I
iconst_1
if_icmple 1
iconst_1
goto 2
StackMap locals:
StackMap stack:
1: iconst_0
2: StackMap locals:
StackMap stack: int
putstatic java.util.concurrent.LinkedTransferQueue.MP:Z
3: invokestatic java.lang.invoke.MethodHandles.lookup:()Ljava/lang/invoke/MethodHandles$Lookup;
astore 0
start local 0 4: aload 0
ldc Ljava/util/concurrent/LinkedTransferQueue;
ldc "head"
5: ldc Ljava/util/concurrent/LinkedTransferQueue$Node;
6: invokevirtual java.lang.invoke.MethodHandles$Lookup.findVarHandle:(Ljava/lang/Class;Ljava/lang/String;Ljava/lang/Class;)Ljava/lang/invoke/VarHandle;
putstatic java.util.concurrent.LinkedTransferQueue.HEAD:Ljava/lang/invoke/VarHandle;
7: aload 0
ldc Ljava/util/concurrent/LinkedTransferQueue;
ldc "tail"
8: ldc Ljava/util/concurrent/LinkedTransferQueue$Node;
9: invokevirtual java.lang.invoke.MethodHandles$Lookup.findVarHandle:(Ljava/lang/Class;Ljava/lang/String;Ljava/lang/Class;)Ljava/lang/invoke/VarHandle;
putstatic java.util.concurrent.LinkedTransferQueue.TAIL:Ljava/lang/invoke/VarHandle;
10: aload 0
ldc Ljava/util/concurrent/LinkedTransferQueue;
ldc "sweepVotes"
11: getstatic java.lang.Integer.TYPE:Ljava/lang/Class;
12: invokevirtual java.lang.invoke.MethodHandles$Lookup.findVarHandle:(Ljava/lang/Class;Ljava/lang/String;Ljava/lang/Class;)Ljava/lang/invoke/VarHandle;
putstatic java.util.concurrent.LinkedTransferQueue.SWEEPVOTES:Ljava/lang/invoke/VarHandle;
13: aload 0
ldc Ljava/util/concurrent/LinkedTransferQueue$Node;
ldc "item"
ldc Ljava/lang/Object;
invokevirtual java.lang.invoke.MethodHandles$Lookup.findVarHandle:(Ljava/lang/Class;Ljava/lang/String;Ljava/lang/Class;)Ljava/lang/invoke/VarHandle;
putstatic java.util.concurrent.LinkedTransferQueue.ITEM:Ljava/lang/invoke/VarHandle;
14: aload 0
ldc Ljava/util/concurrent/LinkedTransferQueue$Node;
ldc "next"
ldc Ljava/util/concurrent/LinkedTransferQueue$Node;
invokevirtual java.lang.invoke.MethodHandles$Lookup.findVarHandle:(Ljava/lang/Class;Ljava/lang/String;Ljava/lang/Class;)Ljava/lang/invoke/VarHandle;
putstatic java.util.concurrent.LinkedTransferQueue.NEXT:Ljava/lang/invoke/VarHandle;
15: aload 0
ldc Ljava/util/concurrent/LinkedTransferQueue$Node;
ldc "waiter"
ldc Ljava/lang/Thread;
invokevirtual java.lang.invoke.MethodHandles$Lookup.findVarHandle:(Ljava/lang/Class;Ljava/lang/String;Ljava/lang/Class;)Ljava/lang/invoke/VarHandle;
putstatic java.util.concurrent.LinkedTransferQueue.WAITER:Ljava/lang/invoke/VarHandle;
end local 0 16: goto 19
StackMap locals:
StackMap stack: java.lang.ReflectiveOperationException
17: astore 0
start local 0 18: new java.lang.ExceptionInInitializerError
dup
aload 0
invokespecial java.lang.ExceptionInInitializerError.<init>:(Ljava/lang/Throwable;)V
athrow
end local 0 19: StackMap locals:
StackMap stack:
return
LocalVariableTable:
Start End Slot Name Signature
4 16 0 l Ljava/lang/invoke/MethodHandles$Lookup;
18 19 0 e Ljava/lang/ReflectiveOperationException;
Exception table:
from to target type
3 16 17 Class java.lang.ReflectiveOperationException
private boolean casTail(java.util.concurrent.LinkedTransferQueue$Node, java.util.concurrent.LinkedTransferQueue$Node);
descriptor: (Ljava/util/concurrent/LinkedTransferQueue$Node;Ljava/util/concurrent/LinkedTransferQueue$Node;)Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=3, args_size=3
start local 0 start local 1 start local 2 0: getstatic java.util.concurrent.LinkedTransferQueue.TAIL:Ljava/lang/invoke/VarHandle;
aload 0
aload 1
aload 2
invokevirtual java.lang.invoke.VarHandle.compareAndSet:(Ljava/util/concurrent/LinkedTransferQueue;Ljava/util/concurrent/LinkedTransferQueue$Node;Ljava/util/concurrent/LinkedTransferQueue$Node;)Z
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljava/util/concurrent/LinkedTransferQueue<TE;>;
0 1 1 cmp Ljava/util/concurrent/LinkedTransferQueue$Node;
0 1 2 val Ljava/util/concurrent/LinkedTransferQueue$Node;
MethodParameters:
Name Flags
cmp
val
private boolean casHead(java.util.concurrent.LinkedTransferQueue$Node, java.util.concurrent.LinkedTransferQueue$Node);
descriptor: (Ljava/util/concurrent/LinkedTransferQueue$Node;Ljava/util/concurrent/LinkedTransferQueue$Node;)Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=3, args_size=3
start local 0 start local 1 start local 2 0: getstatic java.util.concurrent.LinkedTransferQueue.HEAD:Ljava/lang/invoke/VarHandle;
aload 0
aload 1
aload 2
invokevirtual java.lang.invoke.VarHandle.compareAndSet:(Ljava/util/concurrent/LinkedTransferQueue;Ljava/util/concurrent/LinkedTransferQueue$Node;Ljava/util/concurrent/LinkedTransferQueue$Node;)Z
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljava/util/concurrent/LinkedTransferQueue<TE;>;
0 1 1 cmp Ljava/util/concurrent/LinkedTransferQueue$Node;
0 1 2 val Ljava/util/concurrent/LinkedTransferQueue$Node;
MethodParameters:
Name Flags
cmp
val
private int incSweepVotes();
descriptor: ()I
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=1, args_size=1
start local 0 0: getstatic java.util.concurrent.LinkedTransferQueue.SWEEPVOTES:Ljava/lang/invoke/VarHandle;
aload 0
iconst_1
invokevirtual java.lang.invoke.VarHandle.getAndAdd:(Ljava/util/concurrent/LinkedTransferQueue;I)I
iconst_1
iadd
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljava/util/concurrent/LinkedTransferQueue<TE;>;
private boolean tryCasSuccessor(java.util.concurrent.LinkedTransferQueue$Node, java.util.concurrent.LinkedTransferQueue$Node, java.util.concurrent.LinkedTransferQueue$Node);
descriptor: (Ljava/util/concurrent/LinkedTransferQueue$Node;Ljava/util/concurrent/LinkedTransferQueue$Node;Ljava/util/concurrent/LinkedTransferQueue$Node;)Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 1
ifnull 2
1: aload 1
aload 2
aload 3
invokevirtual java.util.concurrent.LinkedTransferQueue$Node.casNext:(Ljava/util/concurrent/LinkedTransferQueue$Node;Ljava/util/concurrent/LinkedTransferQueue$Node;)Z
ireturn
2: StackMap locals:
StackMap stack:
aload 0
aload 2
aload 3
invokevirtual java.util.concurrent.LinkedTransferQueue.casHead:(Ljava/util/concurrent/LinkedTransferQueue$Node;Ljava/util/concurrent/LinkedTransferQueue$Node;)Z
ifeq 5
3: aload 2
invokevirtual java.util.concurrent.LinkedTransferQueue$Node.selfLink:()V
4: iconst_1
ireturn
5: StackMap locals:
StackMap stack:
iconst_0
ireturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Ljava/util/concurrent/LinkedTransferQueue<TE;>;
0 6 1 pred Ljava/util/concurrent/LinkedTransferQueue$Node;
0 6 2 c Ljava/util/concurrent/LinkedTransferQueue$Node;
0 6 3 p Ljava/util/concurrent/LinkedTransferQueue$Node;
MethodParameters:
Name Flags
pred
c
p
private java.util.concurrent.LinkedTransferQueue$Node skipDeadNodes(java.util.concurrent.LinkedTransferQueue$Node, java.util.concurrent.LinkedTransferQueue$Node, java.util.concurrent.LinkedTransferQueue$Node, java.util.concurrent.LinkedTransferQueue$Node);
descriptor: (Ljava/util/concurrent/LinkedTransferQueue$Node;Ljava/util/concurrent/LinkedTransferQueue$Node;Ljava/util/concurrent/LinkedTransferQueue$Node;Ljava/util/concurrent/LinkedTransferQueue$Node;)Ljava/util/concurrent/LinkedTransferQueue$Node;
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=5, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 4
ifnonnull 3
1: aload 2
aload 3
if_acmpne 2
aload 1
areturn
2: StackMap locals:
StackMap stack:
aload 3
astore 4
3: StackMap locals:
StackMap stack:
aload 0
aload 1
aload 2
aload 4
invokevirtual java.util.concurrent.LinkedTransferQueue.tryCasSuccessor:(Ljava/util/concurrent/LinkedTransferQueue$Node;Ljava/util/concurrent/LinkedTransferQueue$Node;Ljava/util/concurrent/LinkedTransferQueue$Node;)Z
ifeq 6
4: aload 1
ifnull 5
aload 1
invokevirtual java.util.concurrent.LinkedTransferQueue$Node.isMatched:()Z
ifne 6
5: StackMap locals:
StackMap stack:
aload 1
goto 7
StackMap locals:
StackMap stack:
6: aload 3
7: StackMap locals:
StackMap stack: java.util.concurrent.LinkedTransferQueue$Node
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Ljava/util/concurrent/LinkedTransferQueue<TE;>;
0 8 1 pred Ljava/util/concurrent/LinkedTransferQueue$Node;
0 8 2 c Ljava/util/concurrent/LinkedTransferQueue$Node;
0 8 3 p Ljava/util/concurrent/LinkedTransferQueue$Node;
0 8 4 q Ljava/util/concurrent/LinkedTransferQueue$Node;
MethodParameters:
Name Flags
pred
c
p
q
private void skipDeadNodesNearHead(java.util.concurrent.LinkedTransferQueue$Node, java.util.concurrent.LinkedTransferQueue$Node);
descriptor: (Ljava/util/concurrent/LinkedTransferQueue$Node;Ljava/util/concurrent/LinkedTransferQueue$Node;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=4, args_size=3
start local 0 start local 1 start local 2 0: StackMap locals:
StackMap stack:
aload 2
getfield java.util.concurrent.LinkedTransferQueue$Node.next:Ljava/util/concurrent/LinkedTransferQueue$Node;
dup
astore 3
start local 3 1: ifnonnull 2
goto 4
2: StackMap locals: java.util.concurrent.LinkedTransferQueue$Node
StackMap stack:
aload 3
invokevirtual java.util.concurrent.LinkedTransferQueue$Node.isMatched:()Z
ifne 3
aload 3
astore 2
goto 4
3: StackMap locals:
StackMap stack:
aload 2
aload 3
dup
astore 2
if_acmpne 0
return
end local 3 4: StackMap locals:
StackMap stack:
aload 0
aload 1
aload 2
invokevirtual java.util.concurrent.LinkedTransferQueue.casHead:(Ljava/util/concurrent/LinkedTransferQueue$Node;Ljava/util/concurrent/LinkedTransferQueue$Node;)Z
ifeq 6
5: aload 1
invokevirtual java.util.concurrent.LinkedTransferQueue$Node.selfLink:()V
6: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Ljava/util/concurrent/LinkedTransferQueue<TE;>;
0 7 1 h Ljava/util/concurrent/LinkedTransferQueue$Node;
0 7 2 p Ljava/util/concurrent/LinkedTransferQueue$Node;
1 4 3 q Ljava/util/concurrent/LinkedTransferQueue$Node;
MethodParameters:
Name Flags
h
p
private E xfer(E, boolean, int, );
descriptor: (Ljava/lang/Object;ZIJ)Ljava/lang/Object;
flags: (0x0002) ACC_PRIVATE
Code:
stack=7, locals=12, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: iload 2
ifeq 2
aload 1
ifnonnull 2
1: new java.lang.NullPointerException
dup
invokespecial java.lang.NullPointerException.<init>:()V
athrow
2: StackMap locals:
StackMap stack:
aconst_null
astore 6
start local 6 3: aconst_null
astore 7
start local 7 4: aconst_null
astore 8
start local 8 5: StackMap locals: java.util.concurrent.LinkedTransferQueue$Node java.util.concurrent.LinkedTransferQueue$Node java.util.concurrent.LinkedTransferQueue$Node
StackMap stack:
aload 7
aload 0
getfield java.util.concurrent.LinkedTransferQueue.tail:Ljava/util/concurrent/LinkedTransferQueue$Node;
dup
astore 7
if_acmpeq 6
aload 7
getfield java.util.concurrent.LinkedTransferQueue$Node.isData:Z
iload 2
if_icmpne 6
aload 7
goto 7
6: StackMap locals:
StackMap stack:
aload 0
getfield java.util.concurrent.LinkedTransferQueue.head:Ljava/util/concurrent/LinkedTransferQueue$Node;
dup
astore 8
7: StackMap locals:
StackMap stack: java.util.concurrent.LinkedTransferQueue$Node
astore 9
start local 9 8: StackMap locals: java.util.concurrent.LinkedTransferQueue$Node
StackMap stack:
aload 9
getfield java.util.concurrent.LinkedTransferQueue$Node.isData:Z
iload 2
if_icmpeq 17
9: iload 2
aload 9
getfield java.util.concurrent.LinkedTransferQueue$Node.item:Ljava/lang/Object;
dup
astore 11
start local 11 10: ifnonnull 11
iconst_1
goto 12
StackMap locals: java.util.concurrent.LinkedTransferQueue java.lang.Object int int long java.util.concurrent.LinkedTransferQueue$Node java.util.concurrent.LinkedTransferQueue$Node java.util.concurrent.LinkedTransferQueue$Node java.util.concurrent.LinkedTransferQueue$Node top java.lang.Object
StackMap stack: int
11: iconst_0
StackMap locals: java.util.concurrent.LinkedTransferQueue java.lang.Object int int long java.util.concurrent.LinkedTransferQueue$Node java.util.concurrent.LinkedTransferQueue$Node java.util.concurrent.LinkedTransferQueue$Node java.util.concurrent.LinkedTransferQueue$Node top java.lang.Object
StackMap stack: int int
12: if_icmpne 17
13: aload 8
ifnonnull 14
aload 0
getfield java.util.concurrent.LinkedTransferQueue.head:Ljava/util/concurrent/LinkedTransferQueue$Node;
astore 8
14: StackMap locals:
StackMap stack:
aload 9
aload 11
aload 1
invokevirtual java.util.concurrent.LinkedTransferQueue$Node.tryMatch:(Ljava/lang/Object;Ljava/lang/Object;)Z
ifeq 17
15: aload 8
aload 9
if_acmpeq 16
aload 0
aload 8
aload 9
invokevirtual java.util.concurrent.LinkedTransferQueue.skipDeadNodesNearHead:(Ljava/util/concurrent/LinkedTransferQueue$Node;Ljava/util/concurrent/LinkedTransferQueue$Node;)V
16: StackMap locals:
StackMap stack:
aload 11
areturn
end local 11 17: StackMap locals: java.util.concurrent.LinkedTransferQueue java.lang.Object int int long java.util.concurrent.LinkedTransferQueue$Node java.util.concurrent.LinkedTransferQueue$Node java.util.concurrent.LinkedTransferQueue$Node java.util.concurrent.LinkedTransferQueue$Node
StackMap stack:
aload 9
getfield java.util.concurrent.LinkedTransferQueue$Node.next:Ljava/util/concurrent/LinkedTransferQueue$Node;
dup
astore 10
start local 10 18: ifnonnull 27
19: iload 3
ifne 20
aload 1
areturn
20: StackMap locals: java.util.concurrent.LinkedTransferQueue$Node
StackMap stack:
aload 6
ifnonnull 21
new java.util.concurrent.LinkedTransferQueue$Node
dup
aload 1
invokespecial java.util.concurrent.LinkedTransferQueue$Node.<init>:(Ljava/lang/Object;)V
astore 6
21: StackMap locals:
StackMap stack:
aload 9
aconst_null
aload 6
invokevirtual java.util.concurrent.LinkedTransferQueue$Node.casNext:(Ljava/util/concurrent/LinkedTransferQueue$Node;Ljava/util/concurrent/LinkedTransferQueue$Node;)Z
ifne 22
goto 8
22: StackMap locals:
StackMap stack:
aload 9
aload 7
if_acmpeq 23
aload 0
aload 7
aload 6
invokevirtual java.util.concurrent.LinkedTransferQueue.casTail:(Ljava/util/concurrent/LinkedTransferQueue$Node;Ljava/util/concurrent/LinkedTransferQueue$Node;)Z
pop
23: StackMap locals:
StackMap stack:
iload 3
iconst_1
if_icmpne 24
aload 1
areturn
24: StackMap locals:
StackMap stack:
aload 0
aload 6
aload 9
aload 1
iload 3
iconst_3
if_icmpne 25
iconst_1
goto 26
StackMap locals: java.util.concurrent.LinkedTransferQueue java.lang.Object int int long java.util.concurrent.LinkedTransferQueue$Node java.util.concurrent.LinkedTransferQueue$Node java.util.concurrent.LinkedTransferQueue$Node java.util.concurrent.LinkedTransferQueue$Node java.util.concurrent.LinkedTransferQueue$Node
StackMap stack: java.util.concurrent.LinkedTransferQueue java.util.concurrent.LinkedTransferQueue$Node java.util.concurrent.LinkedTransferQueue$Node java.lang.Object
25: iconst_0
StackMap locals: java.util.concurrent.LinkedTransferQueue java.lang.Object int int long java.util.concurrent.LinkedTransferQueue$Node java.util.concurrent.LinkedTransferQueue$Node java.util.concurrent.LinkedTransferQueue$Node java.util.concurrent.LinkedTransferQueue$Node java.util.concurrent.LinkedTransferQueue$Node
StackMap stack: java.util.concurrent.LinkedTransferQueue java.util.concurrent.LinkedTransferQueue$Node java.util.concurrent.LinkedTransferQueue$Node java.lang.Object int
26: lload 4
invokevirtual java.util.concurrent.LinkedTransferQueue.awaitMatch:(Ljava/util/concurrent/LinkedTransferQueue$Node;Ljava/util/concurrent/LinkedTransferQueue$Node;Ljava/lang/Object;ZJ)Ljava/lang/Object;
areturn
27: StackMap locals:
StackMap stack:
aload 9
aload 10
dup
astore 9
if_acmpne 8
end local 10 end local 9 28: goto 5
end local 8 end local 7 end local 6 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 29 0 this Ljava/util/concurrent/LinkedTransferQueue<TE;>;
0 29 1 e TE;
0 29 2 haveData Z
0 29 3 how I
0 29 4 nanos J
3 29 6 s Ljava/util/concurrent/LinkedTransferQueue$Node;
4 29 7 t Ljava/util/concurrent/LinkedTransferQueue$Node;
5 29 8 h Ljava/util/concurrent/LinkedTransferQueue$Node;
8 28 9 p Ljava/util/concurrent/LinkedTransferQueue$Node;
18 28 10 q Ljava/util/concurrent/LinkedTransferQueue$Node;
10 17 11 item Ljava/lang/Object;
Signature: (TE;ZIJ)TE;
MethodParameters:
Name Flags
e
haveData
how
nanos
private E awaitMatch(java.util.concurrent.LinkedTransferQueue$Node, java.util.concurrent.LinkedTransferQueue$Node, E, boolean, );
descriptor: (Ljava/util/concurrent/LinkedTransferQueue$Node;Ljava/util/concurrent/LinkedTransferQueue$Node;Ljava/lang/Object;ZJ)Ljava/lang/Object;
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=14, args_size=6
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 0: iload 4
ifeq 1
invokestatic java.lang.System.nanoTime:()J
lload 5
ladd
goto 2
StackMap locals:
StackMap stack:
1: lconst_0
StackMap locals:
StackMap stack: long
2: lstore 7
start local 7 3: invokestatic java.lang.Thread.currentThread:()Ljava/lang/Thread;
astore 9
start local 9 4: iconst_m1
istore 10
start local 10 5: aconst_null
astore 11
start local 11 6: StackMap locals: java.util.concurrent.LinkedTransferQueue java.util.concurrent.LinkedTransferQueue$Node java.util.concurrent.LinkedTransferQueue$Node java.lang.Object int long long java.lang.Thread int java.util.concurrent.ThreadLocalRandom
StackMap stack:
aload 1
getfield java.util.concurrent.LinkedTransferQueue$Node.item:Ljava/lang/Object;
dup
astore 12
start local 12 7: aload 3
if_acmpeq 11
8: aload 1
invokevirtual java.util.concurrent.LinkedTransferQueue$Node.forgetContents:()V
9: aload 12
astore 13
start local 13 10: aload 13
areturn
end local 13 11: StackMap locals: java.lang.Object
StackMap stack:
aload 9
invokevirtual java.lang.Thread.isInterrupted:()Z
ifne 12
iload 4
ifeq 17
lload 5
lconst_0
lcmp
ifgt 17
12: StackMap locals:
StackMap stack:
aload 1
aload 3
aload 1
getfield java.util.concurrent.LinkedTransferQueue$Node.isData:Z
ifeq 13
aconst_null
goto 14
StackMap locals: java.util.concurrent.LinkedTransferQueue java.util.concurrent.LinkedTransferQueue$Node java.util.concurrent.LinkedTransferQueue$Node java.lang.Object int long long java.lang.Thread int java.util.concurrent.ThreadLocalRandom java.lang.Object
StackMap stack: java.util.concurrent.LinkedTransferQueue$Node java.lang.Object
13: aload 1
StackMap locals: java.util.concurrent.LinkedTransferQueue java.util.concurrent.LinkedTransferQueue$Node java.util.concurrent.LinkedTransferQueue$Node java.lang.Object int long long java.lang.Thread int java.util.concurrent.ThreadLocalRandom java.lang.Object
StackMap stack: java.util.concurrent.LinkedTransferQueue$Node java.lang.Object java.util.concurrent.LinkedTransferQueue$Node
14: invokevirtual java.util.concurrent.LinkedTransferQueue$Node.casItem:(Ljava/lang/Object;Ljava/lang/Object;)Z
ifeq 6
15: aload 0
aload 2
aload 1
invokevirtual java.util.concurrent.LinkedTransferQueue.unsplice:(Ljava/util/concurrent/LinkedTransferQueue$Node;Ljava/util/concurrent/LinkedTransferQueue$Node;)V
16: aload 3
areturn
17: StackMap locals:
StackMap stack:
iload 10
ifge 21
18: aload 2
aload 1
getfield java.util.concurrent.LinkedTransferQueue$Node.isData:Z
invokestatic java.util.concurrent.LinkedTransferQueue.spinsFor:(Ljava/util/concurrent/LinkedTransferQueue$Node;Z)I
dup
istore 10
ifle 6
19: invokestatic java.util.concurrent.ThreadLocalRandom.current:()Ljava/util/concurrent/ThreadLocalRandom;
astore 11
20: goto 6
21: StackMap locals:
StackMap stack:
iload 10
ifle 26
22: iinc 10 -1
23: aload 11
bipush 64
invokevirtual java.util.concurrent.ThreadLocalRandom.nextInt:(I)I
ifne 6
24: invokestatic java.lang.Thread.yield:()V
25: goto 6
26: StackMap locals:
StackMap stack:
aload 1
getfield java.util.concurrent.LinkedTransferQueue$Node.waiter:Ljava/lang/Thread;
ifnonnull 29
27: aload 1
aload 9
putfield java.util.concurrent.LinkedTransferQueue$Node.waiter:Ljava/lang/Thread;
28: goto 6
29: StackMap locals:
StackMap stack:
iload 4
ifeq 34
30: lload 7
invokestatic java.lang.System.nanoTime:()J
lsub
lstore 5
31: lload 5
lconst_0
lcmp
ifle 6
32: aload 0
lload 5
invokestatic java.util.concurrent.locks.LockSupport.parkNanos:(Ljava/lang/Object;J)V
33: goto 6
34: StackMap locals:
StackMap stack:
aload 0
invokestatic java.util.concurrent.locks.LockSupport.park:(Ljava/lang/Object;)V
end local 12 35: goto 6
end local 11 end local 10 end local 9 end local 7 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 36 0 this Ljava/util/concurrent/LinkedTransferQueue<TE;>;
0 36 1 s Ljava/util/concurrent/LinkedTransferQueue$Node;
0 36 2 pred Ljava/util/concurrent/LinkedTransferQueue$Node;
0 36 3 e TE;
0 36 4 timed Z
0 36 5 nanos J
3 36 7 deadline J
4 36 9 w Ljava/lang/Thread;
5 36 10 spins I
6 36 11 randomYields Ljava/util/concurrent/ThreadLocalRandom;
7 35 12 item Ljava/lang/Object;
10 11 13 itemE TE;
Signature: (Ljava/util/concurrent/LinkedTransferQueue$Node;Ljava/util/concurrent/LinkedTransferQueue$Node;TE;ZJ)TE;
MethodParameters:
Name Flags
s
pred
e
timed
nanos
private static int spinsFor(java.util.concurrent.LinkedTransferQueue$Node, boolean);
descriptor: (Ljava/util/concurrent/LinkedTransferQueue$Node;Z)I
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: getstatic java.util.concurrent.LinkedTransferQueue.MP:Z
ifeq 7
aload 0
ifnull 7
1: aload 0
getfield java.util.concurrent.LinkedTransferQueue$Node.isData:Z
iload 1
if_icmpeq 3
2: sipush 192
ireturn
3: StackMap locals:
StackMap stack:
aload 0
invokevirtual java.util.concurrent.LinkedTransferQueue$Node.isMatched:()Z
ifeq 5
4: sipush 128
ireturn
5: StackMap locals:
StackMap stack:
aload 0
getfield java.util.concurrent.LinkedTransferQueue$Node.waiter:Ljava/lang/Thread;
ifnonnull 7
6: bipush 64
ireturn
7: StackMap locals:
StackMap stack:
iconst_0
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 pred Ljava/util/concurrent/LinkedTransferQueue$Node;
0 8 1 haveData Z
MethodParameters:
Name Flags
pred
haveData
final java.util.concurrent.LinkedTransferQueue$Node firstDataNode();
descriptor: ()Ljava/util/concurrent/LinkedTransferQueue$Node;
flags: (0x0010) ACC_FINAL
Code:
stack=3, locals=5, args_size=1
start local 0 0: aconst_null
astore 1
start local 1 1: StackMap locals: java.util.concurrent.LinkedTransferQueue$Node
StackMap stack:
aload 0
getfield java.util.concurrent.LinkedTransferQueue.head:Ljava/util/concurrent/LinkedTransferQueue$Node;
astore 2
start local 2 2: aload 2
astore 3
start local 3 3: goto 15
4: StackMap locals: java.util.concurrent.LinkedTransferQueue$Node java.util.concurrent.LinkedTransferQueue$Node
StackMap stack:
aload 3
getfield java.util.concurrent.LinkedTransferQueue$Node.item:Ljava/lang/Object;
ifnull 8
5: aload 3
getfield java.util.concurrent.LinkedTransferQueue$Node.isData:Z
ifeq 10
6: aload 3
astore 1
7: goto 16
8: StackMap locals:
StackMap stack:
aload 3
getfield java.util.concurrent.LinkedTransferQueue$Node.isData:Z
ifne 10
9: goto 16
10: StackMap locals:
StackMap stack:
aload 3
getfield java.util.concurrent.LinkedTransferQueue$Node.next:Ljava/util/concurrent/LinkedTransferQueue$Node;
dup
astore 4
start local 4 11: ifnonnull 13
12: goto 16
13: StackMap locals: java.util.concurrent.LinkedTransferQueue$Node
StackMap stack:
aload 3
aload 4
dup
astore 3
if_acmpne 15
14: goto 1
end local 4 15: StackMap locals:
StackMap stack:
aload 3
ifnonnull 4
16: StackMap locals:
StackMap stack:
aload 3
aload 2
if_acmpeq 18
aload 0
aload 2
aload 3
invokevirtual java.util.concurrent.LinkedTransferQueue.casHead:(Ljava/util/concurrent/LinkedTransferQueue$Node;Ljava/util/concurrent/LinkedTransferQueue$Node;)Z
ifeq 18
17: aload 2
invokevirtual java.util.concurrent.LinkedTransferQueue$Node.selfLink:()V
18: StackMap locals:
StackMap stack:
aload 1
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 19 0 this Ljava/util/concurrent/LinkedTransferQueue<TE;>;
1 19 1 first Ljava/util/concurrent/LinkedTransferQueue$Node;
2 19 2 h Ljava/util/concurrent/LinkedTransferQueue$Node;
3 19 3 p Ljava/util/concurrent/LinkedTransferQueue$Node;
11 15 4 q Ljava/util/concurrent/LinkedTransferQueue$Node;
private int countOfMode(boolean);
descriptor: (Z)I
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=4, args_size=2
start local 0 start local 1 0: StackMap locals:
StackMap stack:
iconst_0
istore 2
start local 2 1: aload 0
getfield java.util.concurrent.LinkedTransferQueue.head:Ljava/util/concurrent/LinkedTransferQueue$Node;
astore 3
start local 3 2: goto 10
3: StackMap locals: int java.util.concurrent.LinkedTransferQueue$Node
StackMap stack:
aload 3
invokevirtual java.util.concurrent.LinkedTransferQueue$Node.isMatched:()Z
ifne 8
4: aload 3
getfield java.util.concurrent.LinkedTransferQueue$Node.isData:Z
iload 1
if_icmpeq 6
5: iconst_0
ireturn
6: StackMap locals:
StackMap stack:
iinc 2 1
iload 2
ldc 2147483647
if_icmpne 8
7: goto 11
8: StackMap locals:
StackMap stack:
aload 3
aload 3
getfield java.util.concurrent.LinkedTransferQueue$Node.next:Ljava/util/concurrent/LinkedTransferQueue$Node;
dup
astore 3
if_acmpne 10
9: goto 0
10: StackMap locals:
StackMap stack:
aload 3
ifnonnull 3
end local 3 11: StackMap locals:
StackMap stack:
iload 2
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 this Ljava/util/concurrent/LinkedTransferQueue<TE;>;
0 12 1 data Z
1 12 2 count I
2 11 3 p Ljava/util/concurrent/LinkedTransferQueue$Node;
MethodParameters:
Name Flags
data
public java.lang.String toString();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=7, args_size=1
start local 0 0: aconst_null
astore 1
start local 1 1: StackMap locals: java.lang.String[]
StackMap stack:
iconst_0
istore 2
start local 2 2: iconst_0
istore 3
start local 3 3: aload 0
getfield java.util.concurrent.LinkedTransferQueue.head:Ljava/util/concurrent/LinkedTransferQueue$Node;
astore 4
start local 4 4: goto 20
5: StackMap locals: int int java.util.concurrent.LinkedTransferQueue$Node
StackMap stack:
aload 4
getfield java.util.concurrent.LinkedTransferQueue$Node.item:Ljava/lang/Object;
astore 5
start local 5 6: aload 4
getfield java.util.concurrent.LinkedTransferQueue$Node.isData:Z
ifeq 16
7: aload 5
ifnull 18
8: aload 1
ifnonnull 10
9: iconst_4
anewarray java.lang.String
astore 1
goto 12
10: StackMap locals: java.lang.Object
StackMap stack:
iload 3
aload 1
arraylength
if_icmpne 12
11: aload 1
iconst_2
iload 3
imul
invokestatic java.util.Arrays.copyOf:([Ljava/lang/Object;I)[Ljava/lang/Object;
checkcast java.lang.String[]
astore 1
12: StackMap locals:
StackMap stack:
aload 5
invokevirtual java.lang.Object.toString:()Ljava/lang/String;
astore 6
start local 6 13: aload 1
iload 3
iinc 3 1
aload 6
aastore
14: iload 2
aload 6
invokevirtual java.lang.String.length:()I
iadd
istore 2
end local 6 15: goto 18
StackMap locals:
StackMap stack:
16: aload 5
ifnonnull 18
17: goto 21
18: StackMap locals:
StackMap stack:
aload 4
aload 4
getfield java.util.concurrent.LinkedTransferQueue$Node.next:Ljava/util/concurrent/LinkedTransferQueue$Node;
dup
astore 4
if_acmpne 20
19: goto 1
end local 5 20: StackMap locals:
StackMap stack:
aload 4
ifnonnull 5
end local 4 21: StackMap locals:
StackMap stack:
iload 3
ifne 23
22: ldc "[]"
areturn
23: StackMap locals:
StackMap stack:
aload 1
iload 3
iload 2
invokestatic java.util.concurrent.Helpers.toString:([Ljava/lang/Object;II)Ljava/lang/String;
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 24 0 this Ljava/util/concurrent/LinkedTransferQueue<TE;>;
1 24 1 a [Ljava/lang/String;
2 24 2 charLength I
3 24 3 size I
4 21 4 p Ljava/util/concurrent/LinkedTransferQueue$Node;
6 20 5 item Ljava/lang/Object;
13 15 6 s Ljava/lang/String;
private java.lang.Object[] toArrayInternal(java.lang.Object[]);
descriptor: ([Ljava/lang/Object;)[Ljava/lang/Object;
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=6, args_size=2
start local 0 start local 1 0: aload 1
astore 2
start local 2 1: StackMap locals: java.lang.Object[]
StackMap stack:
iconst_0
istore 3
start local 3 2: aload 0
getfield java.util.concurrent.LinkedTransferQueue.head:Ljava/util/concurrent/LinkedTransferQueue$Node;
astore 4
start local 4 3: goto 17
4: StackMap locals: int java.util.concurrent.LinkedTransferQueue$Node
StackMap stack:
aload 4
getfield java.util.concurrent.LinkedTransferQueue$Node.item:Ljava/lang/Object;
astore 5
start local 5 5: aload 4
getfield java.util.concurrent.LinkedTransferQueue$Node.isData:Z
ifeq 13
6: aload 5
ifnull 15
7: aload 2
ifnonnull 9
8: iconst_4
anewarray java.lang.Object
astore 2
goto 11
9: StackMap locals: java.lang.Object
StackMap stack:
iload 3
aload 2
arraylength
if_icmpne 11
10: aload 2
iconst_2
iload 3
iconst_4
iadd
imul
invokestatic java.util.Arrays.copyOf:([Ljava/lang/Object;I)[Ljava/lang/Object;
astore 2
11: StackMap locals:
StackMap stack:
aload 2
iload 3
iinc 3 1
aload 5
aastore
12: goto 15
StackMap locals:
StackMap stack:
13: aload 5
ifnonnull 15
14: goto 18
15: StackMap locals:
StackMap stack:
aload 4
aload 4
getfield java.util.concurrent.LinkedTransferQueue$Node.next:Ljava/util/concurrent/LinkedTransferQueue$Node;
dup
astore 4
if_acmpne 17
16: goto 1
end local 5 17: StackMap locals:
StackMap stack:
aload 4
ifnonnull 4
end local 4 18: StackMap locals:
StackMap stack:
aload 2
ifnonnull 20
19: iconst_0
anewarray java.lang.Object
areturn
20: StackMap locals:
StackMap stack:
aload 1
ifnull 26
iload 3
aload 1
arraylength
if_icmpgt 26
21: aload 1
aload 2
if_acmpeq 23
22: aload 2
iconst_0
aload 1
iconst_0
iload 3
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
23: StackMap locals:
StackMap stack:
iload 3
aload 1
arraylength
if_icmpge 25
24: aload 1
iload 3
aconst_null
aastore
25: StackMap locals:
StackMap stack:
aload 1
areturn
26: StackMap locals:
StackMap stack:
iload 3
aload 2
arraylength
if_icmpne 27
aload 2
goto 28
StackMap locals:
StackMap stack:
27: aload 2
iload 3
invokestatic java.util.Arrays.copyOf:([Ljava/lang/Object;I)[Ljava/lang/Object;
StackMap locals:
StackMap stack: java.lang.Object[]
28: areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 29 0 this Ljava/util/concurrent/LinkedTransferQueue<TE;>;
0 29 1 a [Ljava/lang/Object;
1 29 2 x [Ljava/lang/Object;
2 29 3 size I
3 18 4 p Ljava/util/concurrent/LinkedTransferQueue$Node;
5 17 5 item Ljava/lang/Object;
MethodParameters:
Name Flags
a
public java.lang.Object[] toArray();
descriptor: ()[Ljava/lang/Object;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
aconst_null
invokevirtual java.util.concurrent.LinkedTransferQueue.toArrayInternal:([Ljava/lang/Object;)[Ljava/lang/Object;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljava/util/concurrent/LinkedTransferQueue<TE;>;
public <T> T[] toArray();
descriptor: ([Ljava/lang/Object;)[Ljava/lang/Object;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 1
invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;)Ljava/lang/Object;
pop
1: aload 0
aload 1
invokevirtual java.util.concurrent.LinkedTransferQueue.toArrayInternal:([Ljava/lang/Object;)[Ljava/lang/Object;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Ljava/util/concurrent/LinkedTransferQueue<TE;>;
0 2 1 a [Ljava/lang/Object;
Signature: <T:Ljava/lang/Object;>([TT;)[TT;
MethodParameters:
Name Flags
a
public java.util.Spliterator<E> spliterator();
descriptor: ()Ljava/util/Spliterator;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: new java.util.concurrent.LinkedTransferQueue$LTQSpliterator
dup
aload 0
invokespecial java.util.concurrent.LinkedTransferQueue$LTQSpliterator.<init>:(Ljava/util/concurrent/LinkedTransferQueue;)V
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljava/util/concurrent/LinkedTransferQueue<TE;>;
Signature: ()Ljava/util/Spliterator<TE;>;
final void unsplice(java.util.concurrent.LinkedTransferQueue$Node, java.util.concurrent.LinkedTransferQueue$Node);
descriptor: (Ljava/util/concurrent/LinkedTransferQueue$Node;Ljava/util/concurrent/LinkedTransferQueue$Node;)V
flags: (0x0010) ACC_FINAL
Code:
stack=3, locals=6, args_size=3
start local 0 start local 1 start local 2 0: aload 2
aconst_null
putfield java.util.concurrent.LinkedTransferQueue$Node.waiter:Ljava/lang/Thread;
1: aload 1
ifnull 19
aload 1
getfield java.util.concurrent.LinkedTransferQueue$Node.next:Ljava/util/concurrent/LinkedTransferQueue$Node;
aload 2
if_acmpne 19
2: aload 2
getfield java.util.concurrent.LinkedTransferQueue$Node.next:Ljava/util/concurrent/LinkedTransferQueue$Node;
astore 3
start local 3 3: aload 3
ifnull 5
4: aload 3
aload 2
if_acmpeq 19
aload 1
aload 2
aload 3
invokevirtual java.util.concurrent.LinkedTransferQueue$Node.casNext:(Ljava/util/concurrent/LinkedTransferQueue$Node;Ljava/util/concurrent/LinkedTransferQueue$Node;)Z
ifeq 19
aload 1
invokevirtual java.util.concurrent.LinkedTransferQueue$Node.isMatched:()Z
ifeq 19
5: StackMap locals: java.util.concurrent.LinkedTransferQueue$Node
StackMap stack:
aload 0
getfield java.util.concurrent.LinkedTransferQueue.head:Ljava/util/concurrent/LinkedTransferQueue$Node;
astore 4
start local 4 6: aload 4
aload 1
if_acmpeq 7
aload 4
aload 2
if_acmpne 8
7: StackMap locals: java.util.concurrent.LinkedTransferQueue$Node
StackMap stack:
return
8: StackMap locals:
StackMap stack:
aload 4
invokevirtual java.util.concurrent.LinkedTransferQueue$Node.isMatched:()Z
ifne 10
9: goto 16
10: StackMap locals:
StackMap stack:
aload 4
getfield java.util.concurrent.LinkedTransferQueue$Node.next:Ljava/util/concurrent/LinkedTransferQueue$Node;
astore 5
start local 5 11: aload 5
ifnonnull 13
12: return
13: StackMap locals: java.util.concurrent.LinkedTransferQueue$Node
StackMap stack:
aload 5
aload 4
if_acmpeq 5
aload 0
aload 4
aload 5
invokevirtual java.util.concurrent.LinkedTransferQueue.casHead:(Ljava/util/concurrent/LinkedTransferQueue$Node;Ljava/util/concurrent/LinkedTransferQueue$Node;)Z
ifeq 5
14: aload 4
invokevirtual java.util.concurrent.LinkedTransferQueue$Node.selfLink:()V
end local 5 end local 4 15: goto 5
16: StackMap locals:
StackMap stack:
aload 1
getfield java.util.concurrent.LinkedTransferQueue$Node.next:Ljava/util/concurrent/LinkedTransferQueue$Node;
aload 1
if_acmpeq 19
aload 2
getfield java.util.concurrent.LinkedTransferQueue$Node.next:Ljava/util/concurrent/LinkedTransferQueue$Node;
aload 2
if_acmpeq 19
17: aload 0
invokevirtual java.util.concurrent.LinkedTransferQueue.incSweepVotes:()I
bipush 31
iand
ifne 19
18: aload 0
invokevirtual java.util.concurrent.LinkedTransferQueue.sweep:()V
end local 3 19: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 20 0 this Ljava/util/concurrent/LinkedTransferQueue<TE;>;
0 20 1 pred Ljava/util/concurrent/LinkedTransferQueue$Node;
0 20 2 s Ljava/util/concurrent/LinkedTransferQueue$Node;
3 19 3 n Ljava/util/concurrent/LinkedTransferQueue$Node;
6 15 4 h Ljava/util/concurrent/LinkedTransferQueue$Node;
11 15 5 hn Ljava/util/concurrent/LinkedTransferQueue$Node;
MethodParameters:
Name Flags
pred
s
private void sweep();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=4, args_size=1
start local 0 0: aload 0
getfield java.util.concurrent.LinkedTransferQueue.head:Ljava/util/concurrent/LinkedTransferQueue$Node;
astore 1
start local 1 1: goto 10
start local 2 2: StackMap locals: java.util.concurrent.LinkedTransferQueue$Node java.util.concurrent.LinkedTransferQueue$Node
StackMap stack:
aload 2
invokevirtual java.util.concurrent.LinkedTransferQueue$Node.isMatched:()Z
ifne 4
3: aload 2
astore 1
goto 10
4: StackMap locals:
StackMap stack:
aload 2
getfield java.util.concurrent.LinkedTransferQueue$Node.next:Ljava/util/concurrent/LinkedTransferQueue$Node;
dup
astore 3
start local 3 5: ifnonnull 7
6: goto 12
7: StackMap locals: java.util.concurrent.LinkedTransferQueue$Node
StackMap stack:
aload 2
aload 3
if_acmpne 9
8: aload 0
getfield java.util.concurrent.LinkedTransferQueue.head:Ljava/util/concurrent/LinkedTransferQueue$Node;
astore 1
goto 10
9: StackMap locals:
StackMap stack:
aload 1
aload 2
aload 3
invokevirtual java.util.concurrent.LinkedTransferQueue$Node.casNext:(Ljava/util/concurrent/LinkedTransferQueue$Node;Ljava/util/concurrent/LinkedTransferQueue$Node;)Z
pop
end local 3 end local 2 10: StackMap locals:
StackMap stack:
aload 1
ifnull 12
aload 1
getfield java.util.concurrent.LinkedTransferQueue$Node.next:Ljava/util/concurrent/LinkedTransferQueue$Node;
dup
astore 2
start local 2 11: ifnonnull 2
end local 2 end local 1 12: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 13 0 this Ljava/util/concurrent/LinkedTransferQueue<TE;>;
1 12 1 p Ljava/util/concurrent/LinkedTransferQueue$Node;
2 10 2 s Ljava/util/concurrent/LinkedTransferQueue$Node;
11 12 2 s Ljava/util/concurrent/LinkedTransferQueue$Node;
5 10 3 n Ljava/util/concurrent/LinkedTransferQueue$Node;
public void <init>();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=1, args_size=1
start local 0 0: aload 0
invokespecial java.util.AbstractQueue.<init>:()V
1: aload 0
aload 0
new java.util.concurrent.LinkedTransferQueue$Node
dup
invokespecial java.util.concurrent.LinkedTransferQueue$Node.<init>:()V
dup_x1
putfield java.util.concurrent.LinkedTransferQueue.tail:Ljava/util/concurrent/LinkedTransferQueue$Node;
putfield java.util.concurrent.LinkedTransferQueue.head:Ljava/util/concurrent/LinkedTransferQueue$Node;
2: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Ljava/util/concurrent/LinkedTransferQueue<TE;>;
public void <init>(java.util.Collection<? extends E>);
descriptor: (Ljava/util/Collection;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=7, args_size=2
start local 0 start local 1 0: aload 0
invokespecial java.util.AbstractQueue.<init>:()V
1: aconst_null
astore 2
start local 2 2: aconst_null
astore 3
start local 3 3: aload 1
invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
astore 5
goto 9
StackMap locals: java.util.concurrent.LinkedTransferQueue java.util.Collection java.util.concurrent.LinkedTransferQueue$Node java.util.concurrent.LinkedTransferQueue$Node top java.util.Iterator
StackMap stack:
4: aload 5
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.lang.Object
astore 4
start local 4 5: new java.util.concurrent.LinkedTransferQueue$Node
dup
aload 4
invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;)Ljava/lang/Object;
invokespecial java.util.concurrent.LinkedTransferQueue$Node.<init>:(Ljava/lang/Object;)V
astore 6
start local 6 6: aload 2
ifnonnull 8
7: aload 6
dup
astore 3
astore 2
goto 9
8: StackMap locals: java.util.concurrent.LinkedTransferQueue java.util.Collection java.util.concurrent.LinkedTransferQueue$Node java.util.concurrent.LinkedTransferQueue$Node java.lang.Object java.util.Iterator java.util.concurrent.LinkedTransferQueue$Node
StackMap stack:
aload 3
aload 6
dup
astore 3
invokevirtual java.util.concurrent.LinkedTransferQueue$Node.appendRelaxed:(Ljava/util/concurrent/LinkedTransferQueue$Node;)V
end local 6 end local 4 9: StackMap locals: java.util.concurrent.LinkedTransferQueue java.util.Collection java.util.concurrent.LinkedTransferQueue$Node java.util.concurrent.LinkedTransferQueue$Node top java.util.Iterator
StackMap stack:
aload 5
invokeinterface java.util.Iterator.hasNext:()Z
ifne 4
10: aload 2
ifnonnull 12
11: new java.util.concurrent.LinkedTransferQueue$Node
dup
invokespecial java.util.concurrent.LinkedTransferQueue$Node.<init>:()V
dup
astore 3
astore 2
12: StackMap locals: java.util.concurrent.LinkedTransferQueue java.util.Collection java.util.concurrent.LinkedTransferQueue$Node java.util.concurrent.LinkedTransferQueue$Node
StackMap stack:
aload 0
aload 2
putfield java.util.concurrent.LinkedTransferQueue.head:Ljava/util/concurrent/LinkedTransferQueue$Node;
13: aload 0
aload 3
putfield java.util.concurrent.LinkedTransferQueue.tail:Ljava/util/concurrent/LinkedTransferQueue$Node;
14: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 15 0 this Ljava/util/concurrent/LinkedTransferQueue<TE;>;
0 15 1 c Ljava/util/Collection<+TE;>;
2 15 2 h Ljava/util/concurrent/LinkedTransferQueue$Node;
3 15 3 t Ljava/util/concurrent/LinkedTransferQueue$Node;
5 9 4 e TE;
6 9 6 newNode Ljava/util/concurrent/LinkedTransferQueue$Node;
Signature: (Ljava/util/Collection<+TE;>;)V
MethodParameters:
Name Flags
c
public void put();
descriptor: (Ljava/lang/Object;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
iconst_1
iconst_1
lconst_0
invokevirtual java.util.concurrent.LinkedTransferQueue.xfer:(Ljava/lang/Object;ZIJ)Ljava/lang/Object;
pop
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Ljava/util/concurrent/LinkedTransferQueue<TE;>;
0 2 1 e TE;
Signature: (TE;)V
MethodParameters:
Name Flags
e
public boolean offer(E, long, java.util.concurrent.TimeUnit);
descriptor: (Ljava/lang/Object;JLjava/util/concurrent/TimeUnit;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=5, args_size=4
start local 0 start local 1 start local 2 start local 4 0: aload 0
aload 1
iconst_1
iconst_1
lconst_0
invokevirtual java.util.concurrent.LinkedTransferQueue.xfer:(Ljava/lang/Object;ZIJ)Ljava/lang/Object;
pop
1: iconst_1
ireturn
end local 4 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Ljava/util/concurrent/LinkedTransferQueue<TE;>;
0 2 1 e TE;
0 2 2 timeout J
0 2 4 unit Ljava/util/concurrent/TimeUnit;
Signature: (TE;JLjava/util/concurrent/TimeUnit;)Z
MethodParameters:
Name Flags
e
timeout
unit
public boolean offer();
descriptor: (Ljava/lang/Object;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
iconst_1
iconst_1
lconst_0
invokevirtual java.util.concurrent.LinkedTransferQueue.xfer:(Ljava/lang/Object;ZIJ)Ljava/lang/Object;
pop
1: iconst_1
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Ljava/util/concurrent/LinkedTransferQueue<TE;>;
0 2 1 e TE;
Signature: (TE;)Z
MethodParameters:
Name Flags
e
public boolean add();
descriptor: (Ljava/lang/Object;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
iconst_1
iconst_1
lconst_0
invokevirtual java.util.concurrent.LinkedTransferQueue.xfer:(Ljava/lang/Object;ZIJ)Ljava/lang/Object;
pop
1: iconst_1
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Ljava/util/concurrent/LinkedTransferQueue<TE;>;
0 2 1 e TE;
Signature: (TE;)Z
MethodParameters:
Name Flags
e
public boolean tryTransfer();
descriptor: (Ljava/lang/Object;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
iconst_1
iconst_0
lconst_0
invokevirtual java.util.concurrent.LinkedTransferQueue.xfer:(Ljava/lang/Object;ZIJ)Ljava/lang/Object;
ifnonnull 1
iconst_1
ireturn
StackMap locals:
StackMap stack:
1: iconst_0
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Ljava/util/concurrent/LinkedTransferQueue<TE;>;
0 2 1 e TE;
Signature: (TE;)Z
MethodParameters:
Name Flags
e
public void transfer();
descriptor: (Ljava/lang/Object;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
iconst_1
iconst_2
lconst_0
invokevirtual java.util.concurrent.LinkedTransferQueue.xfer:(Ljava/lang/Object;ZIJ)Ljava/lang/Object;
ifnull 3
1: invokestatic java.lang.Thread.interrupted:()Z
pop
2: new java.lang.InterruptedException
dup
invokespecial java.lang.InterruptedException.<init>:()V
athrow
3: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Ljava/util/concurrent/LinkedTransferQueue<TE;>;
0 4 1 e TE;
Exceptions:
throws java.lang.InterruptedException
Signature: (TE;)V
MethodParameters:
Name Flags
e
public boolean tryTransfer(E, long, java.util.concurrent.TimeUnit);
descriptor: (Ljava/lang/Object;JLjava/util/concurrent/TimeUnit;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=7, locals=5, args_size=4
start local 0 start local 1 start local 2 start local 4 0: aload 0
aload 1
iconst_1
iconst_3
aload 4
lload 2
invokevirtual java.util.concurrent.TimeUnit.toNanos:(J)J
invokevirtual java.util.concurrent.LinkedTransferQueue.xfer:(Ljava/lang/Object;ZIJ)Ljava/lang/Object;
ifnonnull 2
1: iconst_1
ireturn
2: StackMap locals:
StackMap stack:
invokestatic java.lang.Thread.interrupted:()Z
ifne 4
3: iconst_0
ireturn
4: StackMap locals:
StackMap stack:
new java.lang.InterruptedException
dup
invokespecial java.lang.InterruptedException.<init>:()V
athrow
end local 4 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Ljava/util/concurrent/LinkedTransferQueue<TE;>;
0 5 1 e TE;
0 5 2 timeout J
0 5 4 unit Ljava/util/concurrent/TimeUnit;
Exceptions:
throws java.lang.InterruptedException
Signature: (TE;JLjava/util/concurrent/TimeUnit;)Z
MethodParameters:
Name Flags
e
timeout
unit
public E take();
descriptor: ()Ljava/lang/Object;
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=2, args_size=1
start local 0 0: aload 0
aconst_null
iconst_0
iconst_2
lconst_0
invokevirtual java.util.concurrent.LinkedTransferQueue.xfer:(Ljava/lang/Object;ZIJ)Ljava/lang/Object;
astore 1
start local 1 1: aload 1
ifnull 3
2: aload 1
areturn
3: StackMap locals: java.lang.Object
StackMap stack:
invokestatic java.lang.Thread.interrupted:()Z
pop
4: new java.lang.InterruptedException
dup
invokespecial java.lang.InterruptedException.<init>:()V
athrow
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Ljava/util/concurrent/LinkedTransferQueue<TE;>;
1 5 1 e TE;
Exceptions:
throws java.lang.InterruptedException
Signature: ()TE;
public E poll(long, java.util.concurrent.TimeUnit);
descriptor: (JLjava/util/concurrent/TimeUnit;)Ljava/lang/Object;
flags: (0x0001) ACC_PUBLIC
Code:
stack=7, locals=5, args_size=3
start local 0 start local 1 start local 3 0: aload 0
aconst_null
iconst_0
iconst_3
aload 3
lload 1
invokevirtual java.util.concurrent.TimeUnit.toNanos:(J)J
invokevirtual java.util.concurrent.LinkedTransferQueue.xfer:(Ljava/lang/Object;ZIJ)Ljava/lang/Object;
astore 4
start local 4 1: aload 4
ifnonnull 2
invokestatic java.lang.Thread.interrupted:()Z
ifne 3
2: StackMap locals: java.lang.Object
StackMap stack:
aload 4
areturn
3: StackMap locals:
StackMap stack:
new java.lang.InterruptedException
dup
invokespecial java.lang.InterruptedException.<init>:()V
athrow
end local 4 end local 3 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Ljava/util/concurrent/LinkedTransferQueue<TE;>;
0 4 1 timeout J
0 4 3 unit Ljava/util/concurrent/TimeUnit;
1 4 4 e TE;
Exceptions:
throws java.lang.InterruptedException
Signature: (JLjava/util/concurrent/TimeUnit;)TE;
MethodParameters:
Name Flags
timeout
unit
public E poll();
descriptor: ()Ljava/lang/Object;
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=1, args_size=1
start local 0 0: aload 0
aconst_null
iconst_0
iconst_0
lconst_0
invokevirtual java.util.concurrent.LinkedTransferQueue.xfer:(Ljava/lang/Object;ZIJ)Ljava/lang/Object;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljava/util/concurrent/LinkedTransferQueue<TE;>;
Signature: ()TE;
public int drainTo(java.util.Collection<? super E>);
descriptor: (Ljava/util/Collection;)I
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=4, args_size=2
start local 0 start local 1 0: aload 1
invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;)Ljava/lang/Object;
pop
1: aload 1
aload 0
if_acmpne 3
2: new java.lang.IllegalArgumentException
dup
invokespecial java.lang.IllegalArgumentException.<init>:()V
athrow
3: StackMap locals:
StackMap stack:
iconst_0
istore 2
start local 2 4: goto 7
start local 3 5: StackMap locals: int java.lang.Object
StackMap stack:
aload 1
aload 3
invokeinterface java.util.Collection.add:(Ljava/lang/Object;)Z
pop
6: iinc 2 1
end local 3 StackMap locals:
StackMap stack:
7: aload 0
invokevirtual java.util.concurrent.LinkedTransferQueue.poll:()Ljava/lang/Object;
dup
astore 3
start local 3 8: ifnonnull 5
end local 3 9: iload 2
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Ljava/util/concurrent/LinkedTransferQueue<TE;>;
0 10 1 c Ljava/util/Collection<-TE;>;
4 10 2 n I
5 7 3 e TE;
8 9 3 e TE;
Signature: (Ljava/util/Collection<-TE;>;)I
MethodParameters:
Name Flags
c
public int drainTo(java.util.Collection<? super E>, );
descriptor: (Ljava/util/Collection;I)I
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=5, args_size=3
start local 0 start local 1 start local 2 0: aload 1
invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;)Ljava/lang/Object;
pop
1: aload 1
aload 0
if_acmpne 3
2: new java.lang.IllegalArgumentException
dup
invokespecial java.lang.IllegalArgumentException.<init>:()V
athrow
3: StackMap locals:
StackMap stack:
iconst_0
istore 3
start local 3 4: goto 7
start local 4 5: StackMap locals: int java.lang.Object
StackMap stack:
aload 1
aload 4
invokeinterface java.util.Collection.add:(Ljava/lang/Object;)Z
pop
6: iinc 3 1
end local 4 StackMap locals:
StackMap stack:
7: iload 3
iload 2
if_icmpge 9
aload 0
invokevirtual java.util.concurrent.LinkedTransferQueue.poll:()Ljava/lang/Object;
dup
astore 4
start local 4 8: ifnonnull 5
end local 4 9: StackMap locals:
StackMap stack:
iload 3
ireturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Ljava/util/concurrent/LinkedTransferQueue<TE;>;
0 10 1 c Ljava/util/Collection<-TE;>;
0 10 2 maxElements I
4 10 3 n I
5 7 4 e TE;
8 9 4 e TE;
Signature: (Ljava/util/Collection<-TE;>;I)I
MethodParameters:
Name Flags
c
maxElements
public java.util.Iterator<E> iterator();
descriptor: ()Ljava/util/Iterator;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: new java.util.concurrent.LinkedTransferQueue$Itr
dup
aload 0
invokespecial java.util.concurrent.LinkedTransferQueue$Itr.<init>:(Ljava/util/concurrent/LinkedTransferQueue;)V
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljava/util/concurrent/LinkedTransferQueue<TE;>;
Signature: ()Ljava/util/Iterator<TE;>;
public E peek();
descriptor: ()Ljava/lang/Object;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=4, args_size=1
start local 0 0: StackMap locals:
StackMap stack:
aload 0
getfield java.util.concurrent.LinkedTransferQueue.head:Ljava/util/concurrent/LinkedTransferQueue$Node;
astore 1
start local 1 1: goto 11
2: StackMap locals: java.util.concurrent.LinkedTransferQueue$Node
StackMap stack:
aload 1
getfield java.util.concurrent.LinkedTransferQueue$Node.item:Ljava/lang/Object;
astore 2
start local 2 3: aload 1
getfield java.util.concurrent.LinkedTransferQueue$Node.isData:Z
ifeq 7
4: aload 2
ifnull 9
5: aload 2
astore 3
start local 3 6: aload 3
areturn
end local 3 7: StackMap locals: java.lang.Object
StackMap stack:
aload 2
ifnonnull 9
8: goto 12
9: StackMap locals:
StackMap stack:
aload 1
aload 1
getfield java.util.concurrent.LinkedTransferQueue$Node.next:Ljava/util/concurrent/LinkedTransferQueue$Node;
dup
astore 1
if_acmpne 11
10: goto 0
end local 2 11: StackMap locals:
StackMap stack:
aload 1
ifnonnull 2
end local 1 12: StackMap locals:
StackMap stack:
aconst_null
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 13 0 this Ljava/util/concurrent/LinkedTransferQueue<TE;>;
1 12 1 p Ljava/util/concurrent/LinkedTransferQueue$Node;
3 11 2 item Ljava/lang/Object;
6 7 3 e TE;
Signature: ()TE;
public boolean isEmpty();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual java.util.concurrent.LinkedTransferQueue.firstDataNode:()Ljava/util/concurrent/LinkedTransferQueue$Node;
ifnonnull 1
iconst_1
ireturn
StackMap locals:
StackMap stack:
1: iconst_0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Ljava/util/concurrent/LinkedTransferQueue<TE;>;
public boolean hasWaitingConsumer();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=1
start local 0 0: StackMap locals:
StackMap stack:
aload 0
getfield java.util.concurrent.LinkedTransferQueue.head:Ljava/util/concurrent/LinkedTransferQueue$Node;
astore 1
start local 1 1: goto 10
2: StackMap locals: java.util.concurrent.LinkedTransferQueue$Node
StackMap stack:
aload 1
getfield java.util.concurrent.LinkedTransferQueue$Node.item:Ljava/lang/Object;
astore 2
start local 2 3: aload 1
getfield java.util.concurrent.LinkedTransferQueue$Node.isData:Z
ifeq 6
4: aload 2
ifnull 8
5: goto 11
6: StackMap locals: java.lang.Object
StackMap stack:
aload 2
ifnonnull 8
7: iconst_1
ireturn
8: StackMap locals:
StackMap stack:
aload 1
aload 1
getfield java.util.concurrent.LinkedTransferQueue$Node.next:Ljava/util/concurrent/LinkedTransferQueue$Node;
dup
astore 1
if_acmpne 10
9: goto 0
end local 2 10: StackMap locals:
StackMap stack:
aload 1
ifnonnull 2
end local 1 11: StackMap locals:
StackMap stack:
iconst_0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 this Ljava/util/concurrent/LinkedTransferQueue<TE;>;
1 11 1 p Ljava/util/concurrent/LinkedTransferQueue$Node;
3 10 2 item Ljava/lang/Object;
public int size();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
iconst_1
invokevirtual java.util.concurrent.LinkedTransferQueue.countOfMode:(Z)I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljava/util/concurrent/LinkedTransferQueue<TE;>;
public int getWaitingConsumerCount();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
iconst_0
invokevirtual java.util.concurrent.LinkedTransferQueue.countOfMode:(Z)I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljava/util/concurrent/LinkedTransferQueue<TE;>;
public boolean remove(java.lang.Object);
descriptor: (Ljava/lang/Object;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=7, args_size=2
start local 0 start local 1 0: aload 1
ifnonnull 1
iconst_0
ireturn
1: StackMap locals:
StackMap stack:
aload 0
getfield java.util.concurrent.LinkedTransferQueue.head:Ljava/util/concurrent/LinkedTransferQueue$Node;
astore 2
start local 2 2: aconst_null
astore 3
start local 3 3: goto 19
4: StackMap locals: java.util.concurrent.LinkedTransferQueue$Node java.util.concurrent.LinkedTransferQueue$Node
StackMap stack:
aload 2
getfield java.util.concurrent.LinkedTransferQueue$Node.next:Ljava/util/concurrent/LinkedTransferQueue$Node;
astore 4
start local 4 5: aload 2
getfield java.util.concurrent.LinkedTransferQueue$Node.item:Ljava/lang/Object;
dup
astore 5
start local 5 6: ifnull 12
7: aload 2
getfield java.util.concurrent.LinkedTransferQueue$Node.isData:Z
ifeq 14
8: aload 1
aload 5
invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
ifeq 11
aload 2
aload 5
aconst_null
invokevirtual java.util.concurrent.LinkedTransferQueue$Node.tryMatch:(Ljava/lang/Object;Ljava/lang/Object;)Z
ifeq 11
9: aload 0
aload 3
aload 2
aload 2
aload 4
invokevirtual java.util.concurrent.LinkedTransferQueue.skipDeadNodes:(Ljava/util/concurrent/LinkedTransferQueue$Node;Ljava/util/concurrent/LinkedTransferQueue$Node;Ljava/util/concurrent/LinkedTransferQueue$Node;Ljava/util/concurrent/LinkedTransferQueue$Node;)Ljava/util/concurrent/LinkedTransferQueue$Node;
pop
10: iconst_1
ireturn
11: StackMap locals: java.util.concurrent.LinkedTransferQueue$Node java.lang.Object
StackMap stack:
aload 2
astore 3
aload 4
astore 2
goto 19
12: StackMap locals:
StackMap stack:
aload 2
getfield java.util.concurrent.LinkedTransferQueue$Node.isData:Z
ifne 14
13: goto 20
14: StackMap locals:
StackMap stack:
aload 2
astore 6
start local 6 15: StackMap locals: java.util.concurrent.LinkedTransferQueue$Node
StackMap stack:
aload 4
ifnull 16
aload 4
invokevirtual java.util.concurrent.LinkedTransferQueue$Node.isMatched:()Z
ifne 17
16: StackMap locals:
StackMap stack:
aload 0
aload 3
aload 6
aload 2
aload 4
invokevirtual java.util.concurrent.LinkedTransferQueue.skipDeadNodes:(Ljava/util/concurrent/LinkedTransferQueue$Node;Ljava/util/concurrent/LinkedTransferQueue$Node;Ljava/util/concurrent/LinkedTransferQueue$Node;Ljava/util/concurrent/LinkedTransferQueue$Node;)Ljava/util/concurrent/LinkedTransferQueue$Node;
astore 3
aload 4
astore 2
goto 19
17: StackMap locals:
StackMap stack:
aload 2
aload 4
dup
astore 2
if_acmpne 18
goto 1
18: StackMap locals:
StackMap stack:
aload 2
getfield java.util.concurrent.LinkedTransferQueue$Node.next:Ljava/util/concurrent/LinkedTransferQueue$Node;
astore 4
goto 15
end local 6 end local 5 end local 4 19: StackMap locals:
StackMap stack:
aload 2
ifnonnull 4
end local 3 end local 2 20: StackMap locals:
StackMap stack:
iconst_0
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 21 0 this Ljava/util/concurrent/LinkedTransferQueue<TE;>;
0 21 1 o Ljava/lang/Object;
2 20 2 p Ljava/util/concurrent/LinkedTransferQueue$Node;
3 20 3 pred Ljava/util/concurrent/LinkedTransferQueue$Node;
5 19 4 q Ljava/util/concurrent/LinkedTransferQueue$Node;
6 19 5 item Ljava/lang/Object;
15 19 6 c Ljava/util/concurrent/LinkedTransferQueue$Node;
MethodParameters:
Name Flags
o
public boolean contains(java.lang.Object);
descriptor: (Ljava/lang/Object;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=7, args_size=2
start local 0 start local 1 0: aload 1
ifnonnull 1
iconst_0
ireturn
1: StackMap locals:
StackMap stack:
aload 0
getfield java.util.concurrent.LinkedTransferQueue.head:Ljava/util/concurrent/LinkedTransferQueue$Node;
astore 2
start local 2 2: aconst_null
astore 3
start local 3 3: goto 18
4: StackMap locals: java.util.concurrent.LinkedTransferQueue$Node java.util.concurrent.LinkedTransferQueue$Node
StackMap stack:
aload 2
getfield java.util.concurrent.LinkedTransferQueue$Node.next:Ljava/util/concurrent/LinkedTransferQueue$Node;
astore 4
start local 4 5: aload 2
getfield java.util.concurrent.LinkedTransferQueue$Node.item:Ljava/lang/Object;
dup
astore 5
start local 5 6: ifnull 11
7: aload 2
getfield java.util.concurrent.LinkedTransferQueue$Node.isData:Z
ifeq 13
8: aload 1
aload 5
invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
ifeq 10
9: iconst_1
ireturn
10: StackMap locals: java.util.concurrent.LinkedTransferQueue$Node java.lang.Object
StackMap stack:
aload 2
astore 3
aload 4
astore 2
goto 18
11: StackMap locals:
StackMap stack:
aload 2
getfield java.util.concurrent.LinkedTransferQueue$Node.isData:Z
ifne 13
12: goto 19
13: StackMap locals:
StackMap stack:
aload 2
astore 6
start local 6 14: StackMap locals: java.util.concurrent.LinkedTransferQueue$Node
StackMap stack:
aload 4
ifnull 15
aload 4
invokevirtual java.util.concurrent.LinkedTransferQueue$Node.isMatched:()Z
ifne 16
15: StackMap locals:
StackMap stack:
aload 0
aload 3
aload 6
aload 2
aload 4
invokevirtual java.util.concurrent.LinkedTransferQueue.skipDeadNodes:(Ljava/util/concurrent/LinkedTransferQueue$Node;Ljava/util/concurrent/LinkedTransferQueue$Node;Ljava/util/concurrent/LinkedTransferQueue$Node;Ljava/util/concurrent/LinkedTransferQueue$Node;)Ljava/util/concurrent/LinkedTransferQueue$Node;
astore 3
aload 4
astore 2
goto 18
16: StackMap locals:
StackMap stack:
aload 2
aload 4
dup
astore 2
if_acmpne 17
goto 1
17: StackMap locals:
StackMap stack:
aload 2
getfield java.util.concurrent.LinkedTransferQueue$Node.next:Ljava/util/concurrent/LinkedTransferQueue$Node;
astore 4
goto 14
end local 6 end local 5 end local 4 18: StackMap locals:
StackMap stack:
aload 2
ifnonnull 4
end local 3 end local 2 19: StackMap locals:
StackMap stack:
iconst_0
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 20 0 this Ljava/util/concurrent/LinkedTransferQueue<TE;>;
0 20 1 o Ljava/lang/Object;
2 19 2 p Ljava/util/concurrent/LinkedTransferQueue$Node;
3 19 3 pred Ljava/util/concurrent/LinkedTransferQueue$Node;
5 18 4 q Ljava/util/concurrent/LinkedTransferQueue$Node;
6 18 5 item Ljava/lang/Object;
14 18 6 c Ljava/util/concurrent/LinkedTransferQueue$Node;
MethodParameters:
Name Flags
o
public int remainingCapacity();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: ldc 2147483647
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljava/util/concurrent/LinkedTransferQueue<TE;>;
private void writeObject(java.io.ObjectOutputStream);
descriptor: (Ljava/io/ObjectOutputStream;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=4, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual java.io.ObjectOutputStream.defaultWriteObject:()V
1: aload 0
invokevirtual java.util.concurrent.LinkedTransferQueue.iterator:()Ljava/util/Iterator;
astore 3
goto 4
StackMap locals: java.util.concurrent.LinkedTransferQueue java.io.ObjectOutputStream top java.util.Iterator
StackMap stack:
2: aload 3
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.lang.Object
astore 2
start local 2 3: aload 1
aload 2
invokevirtual java.io.ObjectOutputStream.writeObject:(Ljava/lang/Object;)V
end local 2 4: StackMap locals:
StackMap stack:
aload 3
invokeinterface java.util.Iterator.hasNext:()Z
ifne 2
5: aload 1
aconst_null
invokevirtual java.io.ObjectOutputStream.writeObject:(Ljava/lang/Object;)V
6: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Ljava/util/concurrent/LinkedTransferQueue<TE;>;
0 7 1 s Ljava/io/ObjectOutputStream;
3 4 2 e TE;
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
s
private void readObject(java.io.ObjectInputStream);
descriptor: (Ljava/io/ObjectInputStream;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=6, args_size=2
start local 0 start local 1 0: aconst_null
astore 2
start local 2 1: aconst_null
astore 3
start local 3 2: goto 7
start local 4 3: StackMap locals: java.util.concurrent.LinkedTransferQueue$Node java.util.concurrent.LinkedTransferQueue$Node java.lang.Object
StackMap stack:
new java.util.concurrent.LinkedTransferQueue$Node
dup
aload 4
invokespecial java.util.concurrent.LinkedTransferQueue$Node.<init>:(Ljava/lang/Object;)V
astore 5
start local 5 4: aload 2
ifnonnull 6
5: aload 5
dup
astore 3
astore 2
goto 7
6: StackMap locals: java.util.concurrent.LinkedTransferQueue$Node
StackMap stack:
aload 3
aload 5
dup
astore 3
invokevirtual java.util.concurrent.LinkedTransferQueue$Node.appendRelaxed:(Ljava/util/concurrent/LinkedTransferQueue$Node;)V
end local 5 end local 4 7: StackMap locals:
StackMap stack:
aload 1
invokevirtual java.io.ObjectInputStream.readObject:()Ljava/lang/Object;
dup
astore 4
start local 4 8: ifnonnull 3
end local 4 9: aload 2
ifnonnull 11
10: new java.util.concurrent.LinkedTransferQueue$Node
dup
invokespecial java.util.concurrent.LinkedTransferQueue$Node.<init>:()V
dup
astore 3
astore 2
11: StackMap locals:
StackMap stack:
aload 0
aload 2
putfield java.util.concurrent.LinkedTransferQueue.head:Ljava/util/concurrent/LinkedTransferQueue$Node;
12: aload 0
aload 3
putfield java.util.concurrent.LinkedTransferQueue.tail:Ljava/util/concurrent/LinkedTransferQueue$Node;
13: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 14 0 this Ljava/util/concurrent/LinkedTransferQueue<TE;>;
0 14 1 s Ljava/io/ObjectInputStream;
1 14 2 h Ljava/util/concurrent/LinkedTransferQueue$Node;
2 14 3 t Ljava/util/concurrent/LinkedTransferQueue$Node;
3 7 4 item Ljava/lang/Object;
8 9 4 item Ljava/lang/Object;
4 7 5 newNode Ljava/util/concurrent/LinkedTransferQueue$Node;
Exceptions:
throws java.io.IOException, java.lang.ClassNotFoundException
MethodParameters:
Name Flags
s
public boolean removeIf(java.util.function.Predicate<? super E>);
descriptor: (Ljava/util/function/Predicate;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 1
invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;)Ljava/lang/Object;
pop
1: aload 0
aload 1
invokevirtual java.util.concurrent.LinkedTransferQueue.bulkRemove:(Ljava/util/function/Predicate;)Z
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Ljava/util/concurrent/LinkedTransferQueue<TE;>;
0 2 1 filter Ljava/util/function/Predicate<-TE;>;
Signature: (Ljava/util/function/Predicate<-TE;>;)Z
MethodParameters:
Name Flags
filter
public boolean removeAll(java.util.Collection<?>);
descriptor: (Ljava/util/Collection;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 1
invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;)Ljava/lang/Object;
pop
1: aload 0
aload 1
invokedynamic test(Ljava/util/Collection;)Ljava/util/function/Predicate;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
(Ljava/lang/Object;)Z
java/util/concurrent/LinkedTransferQueue.lambda$0(Ljava/util/Collection;Ljava/lang/Object;)Z (6)
(Ljava/lang/Object;)Z
invokevirtual java.util.concurrent.LinkedTransferQueue.bulkRemove:(Ljava/util/function/Predicate;)Z
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Ljava/util/concurrent/LinkedTransferQueue<TE;>;
0 2 1 c Ljava/util/Collection<*>;
Signature: (Ljava/util/Collection<*>;)Z
MethodParameters:
Name Flags
c
public boolean retainAll(java.util.Collection<?>);
descriptor: (Ljava/util/Collection;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 1
invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;)Ljava/lang/Object;
pop
1: aload 0
aload 1
invokedynamic test(Ljava/util/Collection;)Ljava/util/function/Predicate;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
(Ljava/lang/Object;)Z
java/util/concurrent/LinkedTransferQueue.lambda$1(Ljava/util/Collection;Ljava/lang/Object;)Z (6)
(Ljava/lang/Object;)Z
invokevirtual java.util.concurrent.LinkedTransferQueue.bulkRemove:(Ljava/util/function/Predicate;)Z
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Ljava/util/concurrent/LinkedTransferQueue<TE;>;
0 2 1 c Ljava/util/Collection<*>;
Signature: (Ljava/util/Collection<*>;)Z
MethodParameters:
Name Flags
c
public void clear();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
invokedynamic test()Ljava/util/function/Predicate;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
(Ljava/lang/Object;)Z
java/util/concurrent/LinkedTransferQueue.lambda$2(Ljava/lang/Object;)Z (6)
(Ljava/lang/Object;)Z
invokevirtual java.util.concurrent.LinkedTransferQueue.bulkRemove:(Ljava/util/function/Predicate;)Z
pop
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Ljava/util/concurrent/LinkedTransferQueue<TE;>;
private boolean bulkRemove(java.util.function.Predicate<? super E>);
descriptor: (Ljava/util/function/Predicate;)Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=10, args_size=2
start local 0 start local 1 0: iconst_0
istore 2
start local 2 1: StackMap locals: int
StackMap stack:
bipush 8
istore 3
start local 3 2: aload 0
getfield java.util.concurrent.LinkedTransferQueue.head:Ljava/util/concurrent/LinkedTransferQueue$Node;
astore 4
start local 4 3: aload 4
astore 5
start local 5 4: aconst_null
astore 6
start local 6 5: goto 29
6: StackMap locals: java.util.concurrent.LinkedTransferQueue java.util.function.Predicate int int java.util.concurrent.LinkedTransferQueue$Node java.util.concurrent.LinkedTransferQueue$Node java.util.concurrent.LinkedTransferQueue$Node
StackMap stack:
aload 4
getfield java.util.concurrent.LinkedTransferQueue$Node.next:Ljava/util/concurrent/LinkedTransferQueue$Node;
astore 7
start local 7 7: aload 4
getfield java.util.concurrent.LinkedTransferQueue$Node.item:Ljava/lang/Object;
dup
astore 8
start local 8 8: ifnull 9
aload 4
getfield java.util.concurrent.LinkedTransferQueue$Node.isData:Z
ifeq 9
iconst_1
goto 10
StackMap locals: java.util.concurrent.LinkedTransferQueue$Node java.lang.Object
StackMap stack:
9: iconst_0
StackMap locals:
StackMap stack: int
10: dup
istore 9
start local 9 11: ifeq 17
12: aload 1
aload 8
invokeinterface java.util.function.Predicate.test:(Ljava/lang/Object;)Z
ifeq 19
13: aload 4
aload 8
aconst_null
invokevirtual java.util.concurrent.LinkedTransferQueue$Node.tryMatch:(Ljava/lang/Object;Ljava/lang/Object;)Z
ifeq 15
14: iconst_1
istore 2
15: StackMap locals: int
StackMap stack:
iconst_0
istore 9
16: goto 19
17: StackMap locals:
StackMap stack:
aload 4
getfield java.util.concurrent.LinkedTransferQueue$Node.isData:Z
ifne 19
aload 8
ifnonnull 19
18: goto 30
19: StackMap locals:
StackMap stack:
iload 9
ifne 20
aload 7
ifnull 20
iinc 3 -1
iload 3
ifne 26
20: StackMap locals:
StackMap stack:
aload 5
aload 4
if_acmpeq 21
aload 0
aload 6
aload 5
aload 4
dup
astore 5
invokevirtual java.util.concurrent.LinkedTransferQueue.tryCasSuccessor:(Ljava/util/concurrent/LinkedTransferQueue$Node;Ljava/util/concurrent/LinkedTransferQueue$Node;Ljava/util/concurrent/LinkedTransferQueue$Node;)Z
ifeq 22
21: StackMap locals:
StackMap stack:
iload 9
ifeq 28
22: StackMap locals:
StackMap stack:
bipush 8
istore 3
23: aload 4
astore 6
24: aload 7
astore 5
25: goto 28
StackMap locals:
StackMap stack:
26: aload 4
aload 7
if_acmpne 28
27: goto 1
end local 9 end local 8 28: StackMap locals:
StackMap stack:
aload 7
astore 4
end local 7 StackMap locals:
StackMap stack:
29: aload 4
ifnonnull 6
end local 6 end local 5 end local 4 30: StackMap locals:
StackMap stack:
iload 2
ireturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 31 0 this Ljava/util/concurrent/LinkedTransferQueue<TE;>;
0 31 1 filter Ljava/util/function/Predicate<-TE;>;
1 31 2 removed Z
2 31 3 hops I
3 30 4 p Ljava/util/concurrent/LinkedTransferQueue$Node;
4 30 5 c Ljava/util/concurrent/LinkedTransferQueue$Node;
5 30 6 pred Ljava/util/concurrent/LinkedTransferQueue$Node;
7 29 7 q Ljava/util/concurrent/LinkedTransferQueue$Node;
8 28 8 item Ljava/lang/Object;
11 28 9 pAlive Z
Signature: (Ljava/util/function/Predicate<-TE;>;)Z
MethodParameters:
Name Flags
filter
void forEachFrom(java.util.function.Consumer<? super E>, java.util.concurrent.LinkedTransferQueue$Node);
descriptor: (Ljava/util/function/Consumer;Ljava/util/concurrent/LinkedTransferQueue$Node;)V
flags: (0x0000)
Code:
stack=5, locals=7, args_size=3
start local 0 start local 1 start local 2 0: aconst_null
astore 3
start local 3 1: goto 15
2: StackMap locals: java.util.concurrent.LinkedTransferQueue$Node
StackMap stack:
aload 2
getfield java.util.concurrent.LinkedTransferQueue$Node.next:Ljava/util/concurrent/LinkedTransferQueue$Node;
astore 4
start local 4 3: aload 2
getfield java.util.concurrent.LinkedTransferQueue$Node.item:Ljava/lang/Object;
dup
astore 5
start local 5 4: ifnull 8
5: aload 2
getfield java.util.concurrent.LinkedTransferQueue$Node.isData:Z
ifeq 10
6: aload 1
aload 5
invokeinterface java.util.function.Consumer.accept:(Ljava/lang/Object;)V
7: aload 2
astore 3
aload 4
astore 2
goto 15
8: StackMap locals: java.util.concurrent.LinkedTransferQueue$Node java.lang.Object
StackMap stack:
aload 2
getfield java.util.concurrent.LinkedTransferQueue$Node.isData:Z
ifne 10
9: goto 16
10: StackMap locals:
StackMap stack:
aload 2
astore 6
start local 6 11: StackMap locals: java.util.concurrent.LinkedTransferQueue$Node
StackMap stack:
aload 4
ifnull 12
aload 4
invokevirtual java.util.concurrent.LinkedTransferQueue$Node.isMatched:()Z
ifne 13
12: StackMap locals:
StackMap stack:
aload 0
aload 3
aload 6
aload 2
aload 4
invokevirtual java.util.concurrent.LinkedTransferQueue.skipDeadNodes:(Ljava/util/concurrent/LinkedTransferQueue$Node;Ljava/util/concurrent/LinkedTransferQueue$Node;Ljava/util/concurrent/LinkedTransferQueue$Node;Ljava/util/concurrent/LinkedTransferQueue$Node;)Ljava/util/concurrent/LinkedTransferQueue$Node;
astore 3
aload 4
astore 2
goto 15
13: StackMap locals:
StackMap stack:
aload 2
aload 4
dup
astore 2
if_acmpne 14
aconst_null
astore 3
aload 0
getfield java.util.concurrent.LinkedTransferQueue.head:Ljava/util/concurrent/LinkedTransferQueue$Node;
astore 2
goto 15
14: StackMap locals:
StackMap stack:
aload 2
getfield java.util.concurrent.LinkedTransferQueue$Node.next:Ljava/util/concurrent/LinkedTransferQueue$Node;
astore 4
goto 11
end local 6 end local 5 end local 4 15: StackMap locals:
StackMap stack:
aload 2
ifnonnull 2
end local 3 16: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 17 0 this Ljava/util/concurrent/LinkedTransferQueue<TE;>;
0 17 1 action Ljava/util/function/Consumer<-TE;>;
0 17 2 p Ljava/util/concurrent/LinkedTransferQueue$Node;
1 16 3 pred Ljava/util/concurrent/LinkedTransferQueue$Node;
3 15 4 q Ljava/util/concurrent/LinkedTransferQueue$Node;
4 15 5 item Ljava/lang/Object;
11 15 6 c Ljava/util/concurrent/LinkedTransferQueue$Node;
Signature: (Ljava/util/function/Consumer<-TE;>;Ljava/util/concurrent/LinkedTransferQueue$Node;)V
MethodParameters:
Name Flags
action
p
public void forEach(java.util.function.Consumer<? super E>);
descriptor: (Ljava/util/function/Consumer;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 1
invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;)Ljava/lang/Object;
pop
1: aload 0
aload 1
aload 0
getfield java.util.concurrent.LinkedTransferQueue.head:Ljava/util/concurrent/LinkedTransferQueue$Node;
invokevirtual java.util.concurrent.LinkedTransferQueue.forEachFrom:(Ljava/util/function/Consumer;Ljava/util/concurrent/LinkedTransferQueue$Node;)V
2: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Ljava/util/concurrent/LinkedTransferQueue<TE;>;
0 3 1 action Ljava/util/function/Consumer<-TE;>;
Signature: (Ljava/util/function/Consumer<-TE;>;)V
MethodParameters:
Name Flags
action
private static boolean lambda$0(java.util.Collection, java.lang.Object);
descriptor: (Ljava/util/Collection;Ljava/lang/Object;)Z
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=2, locals=2, args_size=2
start local 1 0: aload 0
aload 1
invokeinterface java.util.Collection.contains:(Ljava/lang/Object;)Z
ireturn
end local 1 LocalVariableTable:
Start End Slot Name Signature
0 1 1 e TE;
private static boolean lambda$1(java.util.Collection, java.lang.Object);
descriptor: (Ljava/util/Collection;Ljava/lang/Object;)Z
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=2, locals=2, args_size=2
start local 1 0: aload 0
aload 1
invokeinterface java.util.Collection.contains:(Ljava/lang/Object;)Z
ifeq 1
iconst_0
goto 2
StackMap locals:
StackMap stack:
1: iconst_1
StackMap locals:
StackMap stack: int
2: ireturn
end local 1 LocalVariableTable:
Start End Slot Name Signature
0 3 1 e TE;
private static boolean lambda$2(java.lang.Object);
descriptor: (Ljava/lang/Object;)Z
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: iconst_1
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 e TE;
}
Signature: <E:Ljava/lang/Object;>Ljava/util/AbstractQueue<TE;>;Ljava/util/concurrent/TransferQueue<TE;>;Ljava/io/Serializable;
SourceFile: "LinkedTransferQueue.java"
NestMembers:
java.util.concurrent.LinkedTransferQueue$Itr java.util.concurrent.LinkedTransferQueue$LTQSpliterator java.util.concurrent.LinkedTransferQueue$Node
InnerClasses:
public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles
final Itr = java.util.concurrent.LinkedTransferQueue$Itr of java.util.concurrent.LinkedTransferQueue
final LTQSpliterator = java.util.concurrent.LinkedTransferQueue$LTQSpliterator of java.util.concurrent.LinkedTransferQueue
final Node = java.util.concurrent.LinkedTransferQueue$Node of java.util.concurrent.LinkedTransferQueue