public class org.eclipse.jetty.util.BlockingArrayQueue<E> extends java.util.AbstractList<E> implements java.util.concurrent.BlockingQueue<E>
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: org.eclipse.jetty.util.BlockingArrayQueue
super_class: java.util.AbstractList
{
private static final int HEAD_OFFSET;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final int TAIL_OFFSET;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
public static final int DEFAULT_CAPACITY;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 128
public static final int DEFAULT_GROWTH;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 64
private final int _maxCapacity;
descriptor: I
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final int _growCapacity;
descriptor: I
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final int[] _indexes;
descriptor: [I
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final java.util.concurrent.locks.Lock _tailLock;
descriptor: Ljava/util/concurrent/locks/Lock;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final java.util.concurrent.atomic.AtomicInteger _size;
descriptor: Ljava/util/concurrent/atomic/AtomicInteger;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final java.util.concurrent.locks.Lock _headLock;
descriptor: Ljava/util/concurrent/locks/Lock;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final java.util.concurrent.locks.Condition _notEmpty;
descriptor: Ljava/util/concurrent/locks/Condition;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private java.lang.Object[] _elements;
descriptor: [Ljava/lang/Object;
flags: (0x0002) ACC_PRIVATE
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=2, locals=0, args_size=0
0: invokestatic org.eclipse.jetty.util.MemoryUtils.getIntegersPerCacheLine:()I
iconst_1
isub
putstatic org.eclipse.jetty.util.BlockingArrayQueue.HEAD_OFFSET:I
1: getstatic org.eclipse.jetty.util.BlockingArrayQueue.HEAD_OFFSET:I
invokestatic org.eclipse.jetty.util.MemoryUtils.getIntegersPerCacheLine:()I
iadd
putstatic org.eclipse.jetty.util.BlockingArrayQueue.TAIL_OFFSET:I
2: return
LocalVariableTable:
Start End Slot Name Signature
public void <init>();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
invokespecial java.util.AbstractList.<init>:()V
1: aload 0
getstatic org.eclipse.jetty.util.BlockingArrayQueue.TAIL_OFFSET:I
iconst_1
iadd
newarray 10
putfield org.eclipse.jetty.util.BlockingArrayQueue._indexes:[I
2: aload 0
new java.util.concurrent.locks.ReentrantLock
dup
invokespecial java.util.concurrent.locks.ReentrantLock.<init>:()V
putfield org.eclipse.jetty.util.BlockingArrayQueue._tailLock:Ljava/util/concurrent/locks/Lock;
3: aload 0
new java.util.concurrent.atomic.AtomicInteger
dup
invokespecial java.util.concurrent.atomic.AtomicInteger.<init>:()V
putfield org.eclipse.jetty.util.BlockingArrayQueue._size:Ljava/util/concurrent/atomic/AtomicInteger;
4: aload 0
new java.util.concurrent.locks.ReentrantLock
dup
invokespecial java.util.concurrent.locks.ReentrantLock.<init>:()V
putfield org.eclipse.jetty.util.BlockingArrayQueue._headLock:Ljava/util/concurrent/locks/Lock;
5: aload 0
aload 0
getfield org.eclipse.jetty.util.BlockingArrayQueue._headLock:Ljava/util/concurrent/locks/Lock;
invokeinterface java.util.concurrent.locks.Lock.newCondition:()Ljava/util/concurrent/locks/Condition;
putfield org.eclipse.jetty.util.BlockingArrayQueue._notEmpty:Ljava/util/concurrent/locks/Condition;
6: aload 0
sipush 128
anewarray java.lang.Object
putfield org.eclipse.jetty.util.BlockingArrayQueue._elements:[Ljava/lang/Object;
7: aload 0
bipush 64
putfield org.eclipse.jetty.util.BlockingArrayQueue._growCapacity:I
8: aload 0
ldc 2147483647
putfield org.eclipse.jetty.util.BlockingArrayQueue._maxCapacity:I
9: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Lorg/eclipse/jetty/util/BlockingArrayQueue<TE;>;
public void <init>(int);
descriptor: (I)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokespecial java.util.AbstractList.<init>:()V
1: aload 0
getstatic org.eclipse.jetty.util.BlockingArrayQueue.TAIL_OFFSET:I
iconst_1
iadd
newarray 10
putfield org.eclipse.jetty.util.BlockingArrayQueue._indexes:[I
2: aload 0
new java.util.concurrent.locks.ReentrantLock
dup
invokespecial java.util.concurrent.locks.ReentrantLock.<init>:()V
putfield org.eclipse.jetty.util.BlockingArrayQueue._tailLock:Ljava/util/concurrent/locks/Lock;
3: aload 0
new java.util.concurrent.atomic.AtomicInteger
dup
invokespecial java.util.concurrent.atomic.AtomicInteger.<init>:()V
putfield org.eclipse.jetty.util.BlockingArrayQueue._size:Ljava/util/concurrent/atomic/AtomicInteger;
4: aload 0
new java.util.concurrent.locks.ReentrantLock
dup
invokespecial java.util.concurrent.locks.ReentrantLock.<init>:()V
putfield org.eclipse.jetty.util.BlockingArrayQueue._headLock:Ljava/util/concurrent/locks/Lock;
5: aload 0
aload 0
getfield org.eclipse.jetty.util.BlockingArrayQueue._headLock:Ljava/util/concurrent/locks/Lock;
invokeinterface java.util.concurrent.locks.Lock.newCondition:()Ljava/util/concurrent/locks/Condition;
putfield org.eclipse.jetty.util.BlockingArrayQueue._notEmpty:Ljava/util/concurrent/locks/Condition;
6: aload 0
iload 1
anewarray java.lang.Object
putfield org.eclipse.jetty.util.BlockingArrayQueue._elements:[Ljava/lang/Object;
7: aload 0
iconst_m1
putfield org.eclipse.jetty.util.BlockingArrayQueue._growCapacity:I
8: aload 0
iload 1
putfield org.eclipse.jetty.util.BlockingArrayQueue._maxCapacity:I
9: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Lorg/eclipse/jetty/util/BlockingArrayQueue<TE;>;
0 10 1 maxCapacity I
MethodParameters:
Name Flags
maxCapacity
public void <init>(int, int);
descriptor: (II)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
invokespecial java.util.AbstractList.<init>:()V
1: aload 0
getstatic org.eclipse.jetty.util.BlockingArrayQueue.TAIL_OFFSET:I
iconst_1
iadd
newarray 10
putfield org.eclipse.jetty.util.BlockingArrayQueue._indexes:[I
2: aload 0
new java.util.concurrent.locks.ReentrantLock
dup
invokespecial java.util.concurrent.locks.ReentrantLock.<init>:()V
putfield org.eclipse.jetty.util.BlockingArrayQueue._tailLock:Ljava/util/concurrent/locks/Lock;
3: aload 0
new java.util.concurrent.atomic.AtomicInteger
dup
invokespecial java.util.concurrent.atomic.AtomicInteger.<init>:()V
putfield org.eclipse.jetty.util.BlockingArrayQueue._size:Ljava/util/concurrent/atomic/AtomicInteger;
4: aload 0
new java.util.concurrent.locks.ReentrantLock
dup
invokespecial java.util.concurrent.locks.ReentrantLock.<init>:()V
putfield org.eclipse.jetty.util.BlockingArrayQueue._headLock:Ljava/util/concurrent/locks/Lock;
5: aload 0
aload 0
getfield org.eclipse.jetty.util.BlockingArrayQueue._headLock:Ljava/util/concurrent/locks/Lock;
invokeinterface java.util.concurrent.locks.Lock.newCondition:()Ljava/util/concurrent/locks/Condition;
putfield org.eclipse.jetty.util.BlockingArrayQueue._notEmpty:Ljava/util/concurrent/locks/Condition;
6: aload 0
iload 1
anewarray java.lang.Object
putfield org.eclipse.jetty.util.BlockingArrayQueue._elements:[Ljava/lang/Object;
7: aload 0
iload 2
putfield org.eclipse.jetty.util.BlockingArrayQueue._growCapacity:I
8: aload 0
ldc 2147483647
putfield org.eclipse.jetty.util.BlockingArrayQueue._maxCapacity:I
9: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Lorg/eclipse/jetty/util/BlockingArrayQueue<TE;>;
0 10 1 capacity I
0 10 2 growBy I
MethodParameters:
Name Flags
capacity
growBy
public void <init>(int, int, int);
descriptor: (III)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
invokespecial java.util.AbstractList.<init>:()V
1: aload 0
getstatic org.eclipse.jetty.util.BlockingArrayQueue.TAIL_OFFSET:I
iconst_1
iadd
newarray 10
putfield org.eclipse.jetty.util.BlockingArrayQueue._indexes:[I
2: aload 0
new java.util.concurrent.locks.ReentrantLock
dup
invokespecial java.util.concurrent.locks.ReentrantLock.<init>:()V
putfield org.eclipse.jetty.util.BlockingArrayQueue._tailLock:Ljava/util/concurrent/locks/Lock;
3: aload 0
new java.util.concurrent.atomic.AtomicInteger
dup
invokespecial java.util.concurrent.atomic.AtomicInteger.<init>:()V
putfield org.eclipse.jetty.util.BlockingArrayQueue._size:Ljava/util/concurrent/atomic/AtomicInteger;
4: aload 0
new java.util.concurrent.locks.ReentrantLock
dup
invokespecial java.util.concurrent.locks.ReentrantLock.<init>:()V
putfield org.eclipse.jetty.util.BlockingArrayQueue._headLock:Ljava/util/concurrent/locks/Lock;
5: aload 0
aload 0
getfield org.eclipse.jetty.util.BlockingArrayQueue._headLock:Ljava/util/concurrent/locks/Lock;
invokeinterface java.util.concurrent.locks.Lock.newCondition:()Ljava/util/concurrent/locks/Condition;
putfield org.eclipse.jetty.util.BlockingArrayQueue._notEmpty:Ljava/util/concurrent/locks/Condition;
6: iload 1
iload 3
if_icmple 8
7: new java.lang.IllegalArgumentException
dup
invokespecial java.lang.IllegalArgumentException.<init>:()V
athrow
8: StackMap locals: org.eclipse.jetty.util.BlockingArrayQueue int int int
StackMap stack:
aload 0
iload 1
anewarray java.lang.Object
putfield org.eclipse.jetty.util.BlockingArrayQueue._elements:[Ljava/lang/Object;
9: aload 0
iload 2
putfield org.eclipse.jetty.util.BlockingArrayQueue._growCapacity:I
10: aload 0
iload 3
putfield org.eclipse.jetty.util.BlockingArrayQueue._maxCapacity:I
11: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 this Lorg/eclipse/jetty/util/BlockingArrayQueue<TE;>;
0 12 1 capacity I
0 12 2 growBy I
0 12 3 maxCapacity I
MethodParameters:
Name Flags
capacity
growBy
maxCapacity
public void clear();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=1
start local 0 0: aload 0
getfield org.eclipse.jetty.util.BlockingArrayQueue._tailLock:Ljava/util/concurrent/locks/Lock;
invokeinterface java.util.concurrent.locks.Lock.lock:()V
1: aload 0
getfield org.eclipse.jetty.util.BlockingArrayQueue._headLock:Ljava/util/concurrent/locks/Lock;
invokeinterface java.util.concurrent.locks.Lock.lock:()V
2: aload 0
getfield org.eclipse.jetty.util.BlockingArrayQueue._indexes:[I
getstatic org.eclipse.jetty.util.BlockingArrayQueue.HEAD_OFFSET:I
iconst_0
iastore
3: aload 0
getfield org.eclipse.jetty.util.BlockingArrayQueue._indexes:[I
getstatic org.eclipse.jetty.util.BlockingArrayQueue.TAIL_OFFSET:I
iconst_0
iastore
4: aload 0
getfield org.eclipse.jetty.util.BlockingArrayQueue._size:Ljava/util/concurrent/atomic/AtomicInteger;
iconst_0
invokevirtual java.util.concurrent.atomic.AtomicInteger.set:(I)V
5: goto 9
6: StackMap locals:
StackMap stack: java.lang.Throwable
astore 1
7: aload 0
getfield org.eclipse.jetty.util.BlockingArrayQueue._headLock:Ljava/util/concurrent/locks/Lock;
invokeinterface java.util.concurrent.locks.Lock.unlock:()V
8: aload 1
athrow
9: StackMap locals:
StackMap stack:
aload 0
getfield org.eclipse.jetty.util.BlockingArrayQueue._headLock:Ljava/util/concurrent/locks/Lock;
invokeinterface java.util.concurrent.locks.Lock.unlock:()V
10: goto 14
11: StackMap locals:
StackMap stack: java.lang.Throwable
astore 2
12: aload 0
getfield org.eclipse.jetty.util.BlockingArrayQueue._tailLock:Ljava/util/concurrent/locks/Lock;
invokeinterface java.util.concurrent.locks.Lock.unlock:()V
13: aload 2
athrow
14: StackMap locals:
StackMap stack:
aload 0
getfield org.eclipse.jetty.util.BlockingArrayQueue._tailLock:Ljava/util/concurrent/locks/Lock;
invokeinterface java.util.concurrent.locks.Lock.unlock:()V
15: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 16 0 this Lorg/eclipse/jetty/util/BlockingArrayQueue<TE;>;
Exception table:
from to target type
2 6 6 any
1 11 11 any
public int size();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.eclipse.jetty.util.BlockingArrayQueue._size:Ljava/util/concurrent/atomic/AtomicInteger;
invokevirtual java.util.concurrent.atomic.AtomicInteger.get:()I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/eclipse/jetty/util/BlockingArrayQueue<TE;>;
public java.util.Iterator<E> iterator();
descriptor: ()Ljava/util/Iterator;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual org.eclipse.jetty.util.BlockingArrayQueue.listIterator:()Ljava/util/ListIterator;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/eclipse/jetty/util/BlockingArrayQueue<TE;>;
Signature: ()Ljava/util/Iterator<TE;>;
public E poll();
descriptor: ()Ljava/lang/Object;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=4, args_size=1
start local 0 0: aload 0
getfield org.eclipse.jetty.util.BlockingArrayQueue._size:Ljava/util/concurrent/atomic/AtomicInteger;
invokevirtual java.util.concurrent.atomic.AtomicInteger.get:()I
ifne 2
1: aconst_null
areturn
2: StackMap locals:
StackMap stack:
aconst_null
astore 1
start local 1 3: aload 0
getfield org.eclipse.jetty.util.BlockingArrayQueue._headLock:Ljava/util/concurrent/locks/Lock;
invokeinterface java.util.concurrent.locks.Lock.lock:()V
4: aload 0
getfield org.eclipse.jetty.util.BlockingArrayQueue._size:Ljava/util/concurrent/atomic/AtomicInteger;
invokevirtual java.util.concurrent.atomic.AtomicInteger.get:()I
ifle 15
5: aload 0
getfield org.eclipse.jetty.util.BlockingArrayQueue._indexes:[I
getstatic org.eclipse.jetty.util.BlockingArrayQueue.HEAD_OFFSET:I
iaload
istore 2
start local 2 6: aload 0
getfield org.eclipse.jetty.util.BlockingArrayQueue._elements:[Ljava/lang/Object;
iload 2
aaload
astore 1
7: aload 0
getfield org.eclipse.jetty.util.BlockingArrayQueue._elements:[Ljava/lang/Object;
iload 2
aconst_null
aastore
8: aload 0
getfield org.eclipse.jetty.util.BlockingArrayQueue._indexes:[I
getstatic org.eclipse.jetty.util.BlockingArrayQueue.HEAD_OFFSET:I
iload 2
iconst_1
iadd
aload 0
getfield org.eclipse.jetty.util.BlockingArrayQueue._elements:[Ljava/lang/Object;
arraylength
irem
iastore
9: aload 0
getfield org.eclipse.jetty.util.BlockingArrayQueue._size:Ljava/util/concurrent/atomic/AtomicInteger;
invokevirtual java.util.concurrent.atomic.AtomicInteger.decrementAndGet:()I
ifle 15
10: aload 0
getfield org.eclipse.jetty.util.BlockingArrayQueue._notEmpty:Ljava/util/concurrent/locks/Condition;
invokeinterface java.util.concurrent.locks.Condition.signal:()V
end local 2 11: goto 15
12: StackMap locals: org.eclipse.jetty.util.BlockingArrayQueue java.lang.Object
StackMap stack: java.lang.Throwable
astore 3
13: aload 0
getfield org.eclipse.jetty.util.BlockingArrayQueue._headLock:Ljava/util/concurrent/locks/Lock;
invokeinterface java.util.concurrent.locks.Lock.unlock:()V
14: aload 3
athrow
15: StackMap locals:
StackMap stack:
aload 0
getfield org.eclipse.jetty.util.BlockingArrayQueue._headLock:Ljava/util/concurrent/locks/Lock;
invokeinterface java.util.concurrent.locks.Lock.unlock:()V
16: aload 1
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 17 0 this Lorg/eclipse/jetty/util/BlockingArrayQueue<TE;>;
3 17 1 e TE;
6 11 2 head I
Exception table:
from to target type
4 12 12 any
Signature: ()TE;
public E poll(long, java.util.concurrent.TimeUnit);
descriptor: (JLjava/util/concurrent/TimeUnit;)Ljava/lang/Object;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=9, args_size=3
start local 0 start local 1 start local 3 0: aload 3
lload 1
invokevirtual java.util.concurrent.TimeUnit.toNanos:(J)J
lstore 4
start local 4 1: aconst_null
astore 6
start local 6 2: aload 0
getfield org.eclipse.jetty.util.BlockingArrayQueue._headLock:Ljava/util/concurrent/locks/Lock;
invokeinterface java.util.concurrent.locks.Lock.lockInterruptibly:()V
3: goto 8
4: StackMap locals: long java.lang.Object
StackMap stack:
lload 4
lconst_0
lcmp
ifgt 7
5: aload 0
getfield org.eclipse.jetty.util.BlockingArrayQueue._headLock:Ljava/util/concurrent/locks/Lock;
invokeinterface java.util.concurrent.locks.Lock.unlock:()V
6: aconst_null
areturn
7: StackMap locals:
StackMap stack:
aload 0
getfield org.eclipse.jetty.util.BlockingArrayQueue._notEmpty:Ljava/util/concurrent/locks/Condition;
lload 4
invokeinterface java.util.concurrent.locks.Condition.awaitNanos:(J)J
lstore 4
8: StackMap locals:
StackMap stack:
aload 0
getfield org.eclipse.jetty.util.BlockingArrayQueue._size:Ljava/util/concurrent/atomic/AtomicInteger;
invokevirtual java.util.concurrent.atomic.AtomicInteger.get:()I
ifeq 4
9: goto 13
10: StackMap locals:
StackMap stack: java.lang.InterruptedException
astore 7
start local 7 11: aload 0
getfield org.eclipse.jetty.util.BlockingArrayQueue._notEmpty:Ljava/util/concurrent/locks/Condition;
invokeinterface java.util.concurrent.locks.Condition.signal:()V
12: aload 7
athrow
end local 7 13: StackMap locals:
StackMap stack:
aload 0
getfield org.eclipse.jetty.util.BlockingArrayQueue._indexes:[I
getstatic org.eclipse.jetty.util.BlockingArrayQueue.HEAD_OFFSET:I
iaload
istore 7
start local 7 14: aload 0
getfield org.eclipse.jetty.util.BlockingArrayQueue._elements:[Ljava/lang/Object;
iload 7
aaload
astore 6
15: aload 0
getfield org.eclipse.jetty.util.BlockingArrayQueue._elements:[Ljava/lang/Object;
iload 7
aconst_null
aastore
16: aload 0
getfield org.eclipse.jetty.util.BlockingArrayQueue._indexes:[I
getstatic org.eclipse.jetty.util.BlockingArrayQueue.HEAD_OFFSET:I
iload 7
iconst_1
iadd
aload 0
getfield org.eclipse.jetty.util.BlockingArrayQueue._elements:[Ljava/lang/Object;
arraylength
irem
iastore
17: aload 0
getfield org.eclipse.jetty.util.BlockingArrayQueue._size:Ljava/util/concurrent/atomic/AtomicInteger;
invokevirtual java.util.concurrent.atomic.AtomicInteger.decrementAndGet:()I
ifle 23
18: aload 0
getfield org.eclipse.jetty.util.BlockingArrayQueue._notEmpty:Ljava/util/concurrent/locks/Condition;
invokeinterface java.util.concurrent.locks.Condition.signal:()V
end local 7 19: goto 23
20: StackMap locals:
StackMap stack: java.lang.Throwable
astore 8
21: aload 0
getfield org.eclipse.jetty.util.BlockingArrayQueue._headLock:Ljava/util/concurrent/locks/Lock;
invokeinterface java.util.concurrent.locks.Lock.unlock:()V
22: aload 8
athrow
23: StackMap locals:
StackMap stack:
aload 0
getfield org.eclipse.jetty.util.BlockingArrayQueue._headLock:Ljava/util/concurrent/locks/Lock;
invokeinterface java.util.concurrent.locks.Lock.unlock:()V
24: aload 6
areturn
end local 6 end local 4 end local 3 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 25 0 this Lorg/eclipse/jetty/util/BlockingArrayQueue<TE;>;
0 25 1 time J
0 25 3 unit Ljava/util/concurrent/TimeUnit;
1 25 4 nanos J
2 25 6 e TE;
11 13 7 x Ljava/lang/InterruptedException;
14 19 7 head I
Exception table:
from to target type
3 5 10 Class java.lang.InterruptedException
7 9 10 Class java.lang.InterruptedException
3 5 20 any
7 20 20 any
Exceptions:
throws java.lang.InterruptedException
Signature: (JLjava/util/concurrent/TimeUnit;)TE;
MethodParameters:
Name Flags
time
unit
public E peek();
descriptor: ()Ljava/lang/Object;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=1
start local 0 0: aload 0
getfield org.eclipse.jetty.util.BlockingArrayQueue._size:Ljava/util/concurrent/atomic/AtomicInteger;
invokevirtual java.util.concurrent.atomic.AtomicInteger.get:()I
ifne 2
1: aconst_null
areturn
2: StackMap locals:
StackMap stack:
aconst_null
astore 1
start local 1 3: aload 0
getfield org.eclipse.jetty.util.BlockingArrayQueue._headLock:Ljava/util/concurrent/locks/Lock;
invokeinterface java.util.concurrent.locks.Lock.lock:()V
4: aload 0
getfield org.eclipse.jetty.util.BlockingArrayQueue._size:Ljava/util/concurrent/atomic/AtomicInteger;
invokevirtual java.util.concurrent.atomic.AtomicInteger.get:()I
ifle 10
5: aload 0
getfield org.eclipse.jetty.util.BlockingArrayQueue._elements:[Ljava/lang/Object;
aload 0
getfield org.eclipse.jetty.util.BlockingArrayQueue._indexes:[I
getstatic org.eclipse.jetty.util.BlockingArrayQueue.HEAD_OFFSET:I
iaload
aaload
astore 1
6: goto 10
7: StackMap locals: org.eclipse.jetty.util.BlockingArrayQueue java.lang.Object
StackMap stack: java.lang.Throwable
astore 2
8: aload 0
getfield org.eclipse.jetty.util.BlockingArrayQueue._headLock:Ljava/util/concurrent/locks/Lock;
invokeinterface java.util.concurrent.locks.Lock.unlock:()V
9: aload 2
athrow
10: StackMap locals:
StackMap stack:
aload 0
getfield org.eclipse.jetty.util.BlockingArrayQueue._headLock:Ljava/util/concurrent/locks/Lock;
invokeinterface java.util.concurrent.locks.Lock.unlock:()V
11: aload 1
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 this Lorg/eclipse/jetty/util/BlockingArrayQueue<TE;>;
3 12 1 e TE;
Exception table:
from to target type
4 7 7 any
Signature: ()TE;
public E remove();
descriptor: ()Ljava/lang/Object;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=1
start local 0 0: aload 0
invokevirtual org.eclipse.jetty.util.BlockingArrayQueue.poll:()Ljava/lang/Object;
astore 1
start local 1 1: aload 1
ifnonnull 3
2: new java.util.NoSuchElementException
dup
invokespecial java.util.NoSuchElementException.<init>:()V
athrow
3: StackMap locals: java.lang.Object
StackMap stack:
aload 1
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lorg/eclipse/jetty/util/BlockingArrayQueue<TE;>;
1 4 1 e TE;
Signature: ()TE;
public E remove();
descriptor: (I)Ljava/lang/Object;
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=9, args_size=2
start local 0 start local 1 0: aload 0
getfield org.eclipse.jetty.util.BlockingArrayQueue._tailLock:Ljava/util/concurrent/locks/Lock;
invokeinterface java.util.concurrent.locks.Lock.lock:()V
1: aload 0
getfield org.eclipse.jetty.util.BlockingArrayQueue._headLock:Ljava/util/concurrent/locks/Lock;
invokeinterface java.util.concurrent.locks.Lock.lock:()V
2: iload 1
iflt 3
iload 1
aload 0
getfield org.eclipse.jetty.util.BlockingArrayQueue._size:Ljava/util/concurrent/atomic/AtomicInteger;
invokevirtual java.util.concurrent.atomic.AtomicInteger.get:()I
if_icmplt 4
3: StackMap locals:
StackMap stack:
new java.lang.IndexOutOfBoundsException
dup
new java.lang.StringBuilder
dup
ldc "!(0<"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 1
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc "<="
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
getfield org.eclipse.jetty.util.BlockingArrayQueue._size:Ljava/util/concurrent/atomic/AtomicInteger;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc ")"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.lang.IndexOutOfBoundsException.<init>:(Ljava/lang/String;)V
athrow
4: StackMap locals:
StackMap stack:
aload 0
getfield org.eclipse.jetty.util.BlockingArrayQueue._indexes:[I
getstatic org.eclipse.jetty.util.BlockingArrayQueue.HEAD_OFFSET:I
iaload
iload 1
iadd
istore 2
start local 2 5: aload 0
getfield org.eclipse.jetty.util.BlockingArrayQueue._elements:[Ljava/lang/Object;
arraylength
istore 3
start local 3 6: iload 2
iload 3
if_icmplt 8
7: iload 2
iload 3
isub
istore 2
8: StackMap locals: int int
StackMap stack:
aload 0
getfield org.eclipse.jetty.util.BlockingArrayQueue._elements:[Ljava/lang/Object;
iload 2
aaload
astore 4
start local 4 9: aload 0
getfield org.eclipse.jetty.util.BlockingArrayQueue._indexes:[I
getstatic org.eclipse.jetty.util.BlockingArrayQueue.TAIL_OFFSET:I
iaload
istore 5
start local 5 10: iload 2
iload 5
if_icmpge 14
11: aload 0
getfield org.eclipse.jetty.util.BlockingArrayQueue._elements:[Ljava/lang/Object;
iload 2
iconst_1
iadd
aload 0
getfield org.eclipse.jetty.util.BlockingArrayQueue._elements:[Ljava/lang/Object;
iload 2
iload 5
iload 2
isub
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
12: aload 0
getfield org.eclipse.jetty.util.BlockingArrayQueue._indexes:[I
getstatic org.eclipse.jetty.util.BlockingArrayQueue.TAIL_OFFSET:I
dup2
iaload
iconst_1
isub
iastore
13: goto 22
14: StackMap locals: java.lang.Object int
StackMap stack:
aload 0
getfield org.eclipse.jetty.util.BlockingArrayQueue._elements:[Ljava/lang/Object;
iload 2
iconst_1
iadd
aload 0
getfield org.eclipse.jetty.util.BlockingArrayQueue._elements:[Ljava/lang/Object;
iload 2
iload 3
iload 2
isub
iconst_1
isub
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
15: aload 0
getfield org.eclipse.jetty.util.BlockingArrayQueue._elements:[Ljava/lang/Object;
iload 3
iconst_1
isub
aload 0
getfield org.eclipse.jetty.util.BlockingArrayQueue._elements:[Ljava/lang/Object;
iconst_0
aaload
aastore
16: iload 5
ifle 20
17: aload 0
getfield org.eclipse.jetty.util.BlockingArrayQueue._elements:[Ljava/lang/Object;
iconst_1
aload 0
getfield org.eclipse.jetty.util.BlockingArrayQueue._elements:[Ljava/lang/Object;
iconst_0
iload 5
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
18: aload 0
getfield org.eclipse.jetty.util.BlockingArrayQueue._indexes:[I
getstatic org.eclipse.jetty.util.BlockingArrayQueue.TAIL_OFFSET:I
dup2
iaload
iconst_1
isub
iastore
19: goto 21
20: StackMap locals:
StackMap stack:
aload 0
getfield org.eclipse.jetty.util.BlockingArrayQueue._indexes:[I
getstatic org.eclipse.jetty.util.BlockingArrayQueue.TAIL_OFFSET:I
iload 3
iconst_1
isub
iastore
21: StackMap locals:
StackMap stack:
aload 0
getfield org.eclipse.jetty.util.BlockingArrayQueue._elements:[Ljava/lang/Object;
aload 0
getfield org.eclipse.jetty.util.BlockingArrayQueue._indexes:[I
getstatic org.eclipse.jetty.util.BlockingArrayQueue.TAIL_OFFSET:I
iaload
aconst_null
aastore
22: StackMap locals:
StackMap stack:
aload 0
getfield org.eclipse.jetty.util.BlockingArrayQueue._size:Ljava/util/concurrent/atomic/AtomicInteger;
invokevirtual java.util.concurrent.atomic.AtomicInteger.decrementAndGet:()I
pop
23: aload 4
astore 7
24: aload 0
getfield org.eclipse.jetty.util.BlockingArrayQueue._headLock:Ljava/util/concurrent/locks/Lock;
invokeinterface java.util.concurrent.locks.Lock.unlock:()V
25: aload 0
getfield org.eclipse.jetty.util.BlockingArrayQueue._tailLock:Ljava/util/concurrent/locks/Lock;
invokeinterface java.util.concurrent.locks.Lock.unlock:()V
26: aload 7
areturn
end local 5 end local 4 end local 3 end local 2 27: StackMap locals: org.eclipse.jetty.util.BlockingArrayQueue int
StackMap stack: java.lang.Throwable
astore 6
28: aload 0
getfield org.eclipse.jetty.util.BlockingArrayQueue._headLock:Ljava/util/concurrent/locks/Lock;
invokeinterface java.util.concurrent.locks.Lock.unlock:()V
29: aload 6
athrow
30: StackMap locals:
StackMap stack: java.lang.Throwable
astore 8
31: aload 0
getfield org.eclipse.jetty.util.BlockingArrayQueue._tailLock:Ljava/util/concurrent/locks/Lock;
invokeinterface java.util.concurrent.locks.Lock.unlock:()V
32: aload 8
athrow
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 33 0 this Lorg/eclipse/jetty/util/BlockingArrayQueue<TE;>;
0 33 1 index I
5 27 2 i I
6 27 3 capacity I
9 27 4 old TE;
10 27 5 tail I
Exception table:
from to target type
2 24 27 any
1 25 30 any
27 30 30 any
Signature: (I)TE;
MethodParameters:
Name Flags
index
public boolean remove(java.lang.Object);
descriptor: (Ljava/lang/Object;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=8, args_size=2
start local 0 start local 1 0: aload 0
getfield org.eclipse.jetty.util.BlockingArrayQueue._tailLock:Ljava/util/concurrent/locks/Lock;
invokeinterface java.util.concurrent.locks.Lock.lock:()V
1: aload 0
getfield org.eclipse.jetty.util.BlockingArrayQueue._headLock:Ljava/util/concurrent/locks/Lock;
invokeinterface java.util.concurrent.locks.Lock.lock:()V
2: aload 0
invokevirtual org.eclipse.jetty.util.BlockingArrayQueue.isEmpty:()Z
ifeq 6
3: aload 0
getfield org.eclipse.jetty.util.BlockingArrayQueue._headLock:Ljava/util/concurrent/locks/Lock;
invokeinterface java.util.concurrent.locks.Lock.unlock:()V
4: aload 0
getfield org.eclipse.jetty.util.BlockingArrayQueue._tailLock:Ljava/util/concurrent/locks/Lock;
invokeinterface java.util.concurrent.locks.Lock.unlock:()V
5: iconst_0
ireturn
6: StackMap locals:
StackMap stack:
aload 0
getfield org.eclipse.jetty.util.BlockingArrayQueue._indexes:[I
getstatic org.eclipse.jetty.util.BlockingArrayQueue.HEAD_OFFSET:I
iaload
istore 2
start local 2 7: aload 0
getfield org.eclipse.jetty.util.BlockingArrayQueue._indexes:[I
getstatic org.eclipse.jetty.util.BlockingArrayQueue.TAIL_OFFSET:I
iaload
istore 3
start local 3 8: aload 0
getfield org.eclipse.jetty.util.BlockingArrayQueue._elements:[Ljava/lang/Object;
arraylength
istore 4
start local 4 9: iload 2
istore 5
start local 5 10: StackMap locals: org.eclipse.jetty.util.BlockingArrayQueue java.lang.Object int int int int
StackMap stack:
aload 0
getfield org.eclipse.jetty.util.BlockingArrayQueue._elements:[Ljava/lang/Object;
iload 5
aaload
aload 1
invokestatic java.util.Objects.equals:(Ljava/lang/Object;Ljava/lang/Object;)Z
ifeq 17
11: aload 0
iload 5
iload 2
if_icmplt 12
iload 5
iload 2
isub
goto 13
StackMap locals:
StackMap stack: org.eclipse.jetty.util.BlockingArrayQueue
12: iload 4
iload 2
isub
iload 5
iadd
StackMap locals: org.eclipse.jetty.util.BlockingArrayQueue java.lang.Object int int int int
StackMap stack: org.eclipse.jetty.util.BlockingArrayQueue int
13: invokevirtual org.eclipse.jetty.util.BlockingArrayQueue.remove:(I)Ljava/lang/Object;
pop
14: aload 0
getfield org.eclipse.jetty.util.BlockingArrayQueue._headLock:Ljava/util/concurrent/locks/Lock;
invokeinterface java.util.concurrent.locks.Lock.unlock:()V
15: aload 0
getfield org.eclipse.jetty.util.BlockingArrayQueue._tailLock:Ljava/util/concurrent/locks/Lock;
invokeinterface java.util.concurrent.locks.Lock.unlock:()V
16: iconst_1
ireturn
17: StackMap locals:
StackMap stack:
iinc 5 1
18: iload 5
iload 4
if_icmpne 20
19: iconst_0
istore 5
20: StackMap locals:
StackMap stack:
iload 5
iload 3
if_icmpne 10
21: aload 0
getfield org.eclipse.jetty.util.BlockingArrayQueue._headLock:Ljava/util/concurrent/locks/Lock;
invokeinterface java.util.concurrent.locks.Lock.unlock:()V
22: aload 0
getfield org.eclipse.jetty.util.BlockingArrayQueue._tailLock:Ljava/util/concurrent/locks/Lock;
invokeinterface java.util.concurrent.locks.Lock.unlock:()V
23: iconst_0
ireturn
end local 5 end local 4 end local 3 end local 2 24: StackMap locals: org.eclipse.jetty.util.BlockingArrayQueue java.lang.Object
StackMap stack: java.lang.Throwable
astore 6
25: aload 0
getfield org.eclipse.jetty.util.BlockingArrayQueue._headLock:Ljava/util/concurrent/locks/Lock;
invokeinterface java.util.concurrent.locks.Lock.unlock:()V
26: aload 6
athrow
27: StackMap locals:
StackMap stack: java.lang.Throwable
astore 7
28: aload 0
getfield org.eclipse.jetty.util.BlockingArrayQueue._tailLock:Ljava/util/concurrent/locks/Lock;
invokeinterface java.util.concurrent.locks.Lock.unlock:()V
29: aload 7
athrow
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 30 0 this Lorg/eclipse/jetty/util/BlockingArrayQueue<TE;>;
0 30 1 o Ljava/lang/Object;
7 24 2 head I
8 24 3 tail I
9 24 4 capacity I
10 24 5 i I
Exception table:
from to target type
2 3 24 any
6 14 24 any
17 21 24 any
1 4 27 any
6 15 27 any
17 22 27 any
24 27 27 any
MethodParameters:
Name Flags
o
public E element();
descriptor: ()Ljava/lang/Object;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=1
start local 0 0: aload 0
invokevirtual org.eclipse.jetty.util.BlockingArrayQueue.peek:()Ljava/lang/Object;
astore 1
start local 1 1: aload 1
ifnonnull 3
2: new java.util.NoSuchElementException
dup
invokespecial java.util.NoSuchElementException.<init>:()V
athrow
3: StackMap locals: java.lang.Object
StackMap stack:
aload 1
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lorg/eclipse/jetty/util/BlockingArrayQueue<TE;>;
1 4 1 e TE;
Signature: ()TE;
public boolean offer();
descriptor: (Ljava/lang/Object;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=6, 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: iconst_0
istore 2
start local 2 2: aload 0
getfield org.eclipse.jetty.util.BlockingArrayQueue._tailLock:Ljava/util/concurrent/locks/Lock;
invokeinterface java.util.concurrent.locks.Lock.lock:()V
3: aload 0
getfield org.eclipse.jetty.util.BlockingArrayQueue._size:Ljava/util/concurrent/atomic/AtomicInteger;
invokevirtual java.util.concurrent.atomic.AtomicInteger.get:()I
istore 3
start local 3 4: iload 3
aload 0
getfield org.eclipse.jetty.util.BlockingArrayQueue._maxCapacity:I
if_icmplt 7
5: aload 0
getfield org.eclipse.jetty.util.BlockingArrayQueue._tailLock:Ljava/util/concurrent/locks/Lock;
invokeinterface java.util.concurrent.locks.Lock.unlock:()V
6: iconst_0
ireturn
7: StackMap locals: int int
StackMap stack:
iload 3
aload 0
getfield org.eclipse.jetty.util.BlockingArrayQueue._elements:[Ljava/lang/Object;
arraylength
if_icmpne 17
8: aload 0
getfield org.eclipse.jetty.util.BlockingArrayQueue._headLock:Ljava/util/concurrent/locks/Lock;
invokeinterface java.util.concurrent.locks.Lock.lock:()V
9: aload 0
invokevirtual org.eclipse.jetty.util.BlockingArrayQueue.grow:()Z
ifne 16
10: aload 0
getfield org.eclipse.jetty.util.BlockingArrayQueue._headLock:Ljava/util/concurrent/locks/Lock;
invokeinterface java.util.concurrent.locks.Lock.unlock:()V
11: aload 0
getfield org.eclipse.jetty.util.BlockingArrayQueue._tailLock:Ljava/util/concurrent/locks/Lock;
invokeinterface java.util.concurrent.locks.Lock.unlock:()V
12: iconst_0
ireturn
13: StackMap locals:
StackMap stack: java.lang.Throwable
astore 4
14: aload 0
getfield org.eclipse.jetty.util.BlockingArrayQueue._headLock:Ljava/util/concurrent/locks/Lock;
invokeinterface java.util.concurrent.locks.Lock.unlock:()V
15: aload 4
athrow
16: StackMap locals:
StackMap stack:
aload 0
getfield org.eclipse.jetty.util.BlockingArrayQueue._headLock:Ljava/util/concurrent/locks/Lock;
invokeinterface java.util.concurrent.locks.Lock.unlock:()V
17: StackMap locals:
StackMap stack:
aload 0
getfield org.eclipse.jetty.util.BlockingArrayQueue._indexes:[I
getstatic org.eclipse.jetty.util.BlockingArrayQueue.TAIL_OFFSET:I
iaload
istore 4
start local 4 18: aload 0
getfield org.eclipse.jetty.util.BlockingArrayQueue._elements:[Ljava/lang/Object;
iload 4
aload 1
aastore
19: aload 0
getfield org.eclipse.jetty.util.BlockingArrayQueue._indexes:[I
getstatic org.eclipse.jetty.util.BlockingArrayQueue.TAIL_OFFSET:I
iload 4
iconst_1
iadd
aload 0
getfield org.eclipse.jetty.util.BlockingArrayQueue._elements:[Ljava/lang/Object;
arraylength
irem
iastore
20: aload 0
getfield org.eclipse.jetty.util.BlockingArrayQueue._size:Ljava/util/concurrent/atomic/AtomicInteger;
invokevirtual java.util.concurrent.atomic.AtomicInteger.getAndIncrement:()I
ifne 21
iconst_1
goto 22
StackMap locals: int
StackMap stack:
21: iconst_0
StackMap locals:
StackMap stack: int
22: istore 2
end local 4 end local 3 23: goto 27
24: StackMap locals: org.eclipse.jetty.util.BlockingArrayQueue java.lang.Object int
StackMap stack: java.lang.Throwable
astore 5
25: aload 0
getfield org.eclipse.jetty.util.BlockingArrayQueue._tailLock:Ljava/util/concurrent/locks/Lock;
invokeinterface java.util.concurrent.locks.Lock.unlock:()V
26: aload 5
athrow
27: StackMap locals:
StackMap stack:
aload 0
getfield org.eclipse.jetty.util.BlockingArrayQueue._tailLock:Ljava/util/concurrent/locks/Lock;
invokeinterface java.util.concurrent.locks.Lock.unlock:()V
28: iload 2
ifeq 36
29: aload 0
getfield org.eclipse.jetty.util.BlockingArrayQueue._headLock:Ljava/util/concurrent/locks/Lock;
invokeinterface java.util.concurrent.locks.Lock.lock:()V
30: aload 0
getfield org.eclipse.jetty.util.BlockingArrayQueue._notEmpty:Ljava/util/concurrent/locks/Condition;
invokeinterface java.util.concurrent.locks.Condition.signal:()V
31: goto 35
32: StackMap locals:
StackMap stack: java.lang.Throwable
astore 3
33: aload 0
getfield org.eclipse.jetty.util.BlockingArrayQueue._headLock:Ljava/util/concurrent/locks/Lock;
invokeinterface java.util.concurrent.locks.Lock.unlock:()V
34: aload 3
athrow
35: StackMap locals:
StackMap stack:
aload 0
getfield org.eclipse.jetty.util.BlockingArrayQueue._headLock:Ljava/util/concurrent/locks/Lock;
invokeinterface java.util.concurrent.locks.Lock.unlock:()V
36: StackMap locals:
StackMap stack:
iconst_1
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 37 0 this Lorg/eclipse/jetty/util/BlockingArrayQueue<TE;>;
0 37 1 e TE;
2 37 2 notEmpty Z
4 23 3 size I
18 23 4 tail I
Exception table:
from to target type
9 10 13 any
3 5 24 any
7 11 24 any
13 24 24 any
30 32 32 any
Signature: (TE;)Z
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=2, locals=5, args_size=4
start local 0 start local 1 start local 2 start local 4 0: new java.lang.UnsupportedOperationException
dup
invokespecial java.lang.UnsupportedOperationException.<init>:()V
athrow
end local 4 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/eclipse/jetty/util/BlockingArrayQueue<TE;>;
0 1 1 o TE;
0 1 2 timeout J
0 1 4 unit Ljava/util/concurrent/TimeUnit;
Exceptions:
throws java.lang.InterruptedException
Signature: (TE;JLjava/util/concurrent/TimeUnit;)Z
MethodParameters:
Name Flags
o
timeout
unit
public boolean add();
descriptor: (Ljava/lang/Object;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokevirtual org.eclipse.jetty.util.BlockingArrayQueue.offer:(Ljava/lang/Object;)Z
ifeq 2
1: iconst_1
ireturn
2: StackMap locals:
StackMap stack:
new java.lang.IllegalStateException
dup
invokespecial java.lang.IllegalStateException.<init>:()V
athrow
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/eclipse/jetty/util/BlockingArrayQueue<TE;>;
0 3 1 e TE;
Signature: (TE;)Z
MethodParameters:
Name Flags
e
public void add(int, );
descriptor: (ILjava/lang/Object;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=9, args_size=3
start local 0 start local 1 start local 2 0: aload 2
ifnonnull 2
1: new java.lang.NullPointerException
dup
invokespecial java.lang.NullPointerException.<init>:()V
athrow
2: StackMap locals:
StackMap stack:
aload 0
getfield org.eclipse.jetty.util.BlockingArrayQueue._tailLock:Ljava/util/concurrent/locks/Lock;
invokeinterface java.util.concurrent.locks.Lock.lock:()V
3: aload 0
getfield org.eclipse.jetty.util.BlockingArrayQueue._headLock:Ljava/util/concurrent/locks/Lock;
invokeinterface java.util.concurrent.locks.Lock.lock:()V
4: aload 0
getfield org.eclipse.jetty.util.BlockingArrayQueue._size:Ljava/util/concurrent/atomic/AtomicInteger;
invokevirtual java.util.concurrent.atomic.AtomicInteger.get:()I
istore 3
start local 3 5: iload 1
iflt 6
iload 1
iload 3
if_icmple 7
6: StackMap locals: int
StackMap stack:
new java.lang.IndexOutOfBoundsException
dup
new java.lang.StringBuilder
dup
ldc "!(0<"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 1
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc "<="
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
getfield org.eclipse.jetty.util.BlockingArrayQueue._size:Ljava/util/concurrent/atomic/AtomicInteger;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc ")"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.lang.IndexOutOfBoundsException.<init>:(Ljava/lang/String;)V
athrow
7: StackMap locals:
StackMap stack:
iload 1
iload 3
if_icmpne 10
8: aload 0
aload 2
invokevirtual org.eclipse.jetty.util.BlockingArrayQueue.add:(Ljava/lang/Object;)Z
pop
9: goto 33
10: StackMap locals:
StackMap stack:
aload 0
getfield org.eclipse.jetty.util.BlockingArrayQueue._indexes:[I
getstatic org.eclipse.jetty.util.BlockingArrayQueue.TAIL_OFFSET:I
iaload
aload 0
getfield org.eclipse.jetty.util.BlockingArrayQueue._indexes:[I
getstatic org.eclipse.jetty.util.BlockingArrayQueue.HEAD_OFFSET:I
iaload
if_icmpne 13
11: aload 0
invokevirtual org.eclipse.jetty.util.BlockingArrayQueue.grow:()Z
ifne 13
12: new java.lang.IllegalStateException
dup
ldc "full"
invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
athrow
13: StackMap locals:
StackMap stack:
aload 0
getfield org.eclipse.jetty.util.BlockingArrayQueue._indexes:[I
getstatic org.eclipse.jetty.util.BlockingArrayQueue.HEAD_OFFSET:I
iaload
iload 1
iadd
istore 4
start local 4 14: aload 0
getfield org.eclipse.jetty.util.BlockingArrayQueue._elements:[Ljava/lang/Object;
arraylength
istore 5
start local 5 15: iload 4
iload 5
if_icmplt 17
16: iload 4
iload 5
isub
istore 4
17: StackMap locals: int int
StackMap stack:
aload 0
getfield org.eclipse.jetty.util.BlockingArrayQueue._size:Ljava/util/concurrent/atomic/AtomicInteger;
invokevirtual java.util.concurrent.atomic.AtomicInteger.incrementAndGet:()I
pop
18: aload 0
getfield org.eclipse.jetty.util.BlockingArrayQueue._indexes:[I
getstatic org.eclipse.jetty.util.BlockingArrayQueue.TAIL_OFFSET:I
iaload
istore 6
start local 6 19: aload 0
getfield org.eclipse.jetty.util.BlockingArrayQueue._indexes:[I
getstatic org.eclipse.jetty.util.BlockingArrayQueue.TAIL_OFFSET:I
iload 6
iconst_1
iadd
iload 5
irem
dup
istore 6
iastore
20: iload 4
iload 6
if_icmpge 24
21: aload 0
getfield org.eclipse.jetty.util.BlockingArrayQueue._elements:[Ljava/lang/Object;
iload 4
aload 0
getfield org.eclipse.jetty.util.BlockingArrayQueue._elements:[Ljava/lang/Object;
iload 4
iconst_1
iadd
iload 6
iload 4
isub
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
22: aload 0
getfield org.eclipse.jetty.util.BlockingArrayQueue._elements:[Ljava/lang/Object;
iload 4
aload 2
aastore
23: goto 33
24: StackMap locals: int
StackMap stack:
iload 6
ifle 27
25: aload 0
getfield org.eclipse.jetty.util.BlockingArrayQueue._elements:[Ljava/lang/Object;
iconst_0
aload 0
getfield org.eclipse.jetty.util.BlockingArrayQueue._elements:[Ljava/lang/Object;
iconst_1
iload 6
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
26: aload 0
getfield org.eclipse.jetty.util.BlockingArrayQueue._elements:[Ljava/lang/Object;
iconst_0
aload 0
getfield org.eclipse.jetty.util.BlockingArrayQueue._elements:[Ljava/lang/Object;
iload 5
iconst_1
isub
aaload
aastore
27: StackMap locals:
StackMap stack:
aload 0
getfield org.eclipse.jetty.util.BlockingArrayQueue._elements:[Ljava/lang/Object;
iload 4
aload 0
getfield org.eclipse.jetty.util.BlockingArrayQueue._elements:[Ljava/lang/Object;
iload 4
iconst_1
iadd
iload 5
iload 4
isub
iconst_1
isub
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
28: aload 0
getfield org.eclipse.jetty.util.BlockingArrayQueue._elements:[Ljava/lang/Object;
iload 4
aload 2
aastore
end local 6 end local 5 end local 4 end local 3 29: goto 33
30: StackMap locals: org.eclipse.jetty.util.BlockingArrayQueue int java.lang.Object
StackMap stack: java.lang.Throwable
astore 7
31: aload 0
getfield org.eclipse.jetty.util.BlockingArrayQueue._headLock:Ljava/util/concurrent/locks/Lock;
invokeinterface java.util.concurrent.locks.Lock.unlock:()V
32: aload 7
athrow
33: StackMap locals:
StackMap stack:
aload 0
getfield org.eclipse.jetty.util.BlockingArrayQueue._headLock:Ljava/util/concurrent/locks/Lock;
invokeinterface java.util.concurrent.locks.Lock.unlock:()V
34: goto 38
35: StackMap locals:
StackMap stack: java.lang.Throwable
astore 8
36: aload 0
getfield org.eclipse.jetty.util.BlockingArrayQueue._tailLock:Ljava/util/concurrent/locks/Lock;
invokeinterface java.util.concurrent.locks.Lock.unlock:()V
37: aload 8
athrow
38: StackMap locals:
StackMap stack:
aload 0
getfield org.eclipse.jetty.util.BlockingArrayQueue._tailLock:Ljava/util/concurrent/locks/Lock;
invokeinterface java.util.concurrent.locks.Lock.unlock:()V
39: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 40 0 this Lorg/eclipse/jetty/util/BlockingArrayQueue<TE;>;
0 40 1 index I
0 40 2 e TE;
5 29 3 size I
14 29 4 i I
15 29 5 capacity I
19 29 6 tail I
Exception table:
from to target type
4 30 30 any
3 35 35 any
Signature: (ITE;)V
MethodParameters:
Name Flags
index
e
public void put();
descriptor: (Ljava/lang/Object;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: new java.lang.UnsupportedOperationException
dup
invokespecial java.lang.UnsupportedOperationException.<init>:()V
athrow
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/eclipse/jetty/util/BlockingArrayQueue<TE;>;
0 1 1 o TE;
Exceptions:
throws java.lang.InterruptedException
Signature: (TE;)V
MethodParameters:
Name Flags
o
public E take();
descriptor: ()Ljava/lang/Object;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=4, args_size=1
start local 0 0: aconst_null
astore 1
start local 1 1: aload 0
getfield org.eclipse.jetty.util.BlockingArrayQueue._headLock:Ljava/util/concurrent/locks/Lock;
invokeinterface java.util.concurrent.locks.Lock.lockInterruptibly:()V
2: goto 4
3: StackMap locals: java.lang.Object
StackMap stack:
aload 0
getfield org.eclipse.jetty.util.BlockingArrayQueue._notEmpty:Ljava/util/concurrent/locks/Condition;
invokeinterface java.util.concurrent.locks.Condition.await:()V
4: StackMap locals:
StackMap stack:
aload 0
getfield org.eclipse.jetty.util.BlockingArrayQueue._size:Ljava/util/concurrent/atomic/AtomicInteger;
invokevirtual java.util.concurrent.atomic.AtomicInteger.get:()I
ifeq 3
5: goto 9
6: StackMap locals:
StackMap stack: java.lang.InterruptedException
astore 2
start local 2 7: aload 0
getfield org.eclipse.jetty.util.BlockingArrayQueue._notEmpty:Ljava/util/concurrent/locks/Condition;
invokeinterface java.util.concurrent.locks.Condition.signal:()V
8: aload 2
athrow
end local 2 9: StackMap locals:
StackMap stack:
aload 0
getfield org.eclipse.jetty.util.BlockingArrayQueue._indexes:[I
getstatic org.eclipse.jetty.util.BlockingArrayQueue.HEAD_OFFSET:I
iaload
istore 2
start local 2 10: aload 0
getfield org.eclipse.jetty.util.BlockingArrayQueue._elements:[Ljava/lang/Object;
iload 2
aaload
astore 1
11: aload 0
getfield org.eclipse.jetty.util.BlockingArrayQueue._elements:[Ljava/lang/Object;
iload 2
aconst_null
aastore
12: aload 0
getfield org.eclipse.jetty.util.BlockingArrayQueue._indexes:[I
getstatic org.eclipse.jetty.util.BlockingArrayQueue.HEAD_OFFSET:I
iload 2
iconst_1
iadd
aload 0
getfield org.eclipse.jetty.util.BlockingArrayQueue._elements:[Ljava/lang/Object;
arraylength
irem
iastore
13: aload 0
getfield org.eclipse.jetty.util.BlockingArrayQueue._size:Ljava/util/concurrent/atomic/AtomicInteger;
invokevirtual java.util.concurrent.atomic.AtomicInteger.decrementAndGet:()I
ifle 19
14: aload 0
getfield org.eclipse.jetty.util.BlockingArrayQueue._notEmpty:Ljava/util/concurrent/locks/Condition;
invokeinterface java.util.concurrent.locks.Condition.signal:()V
end local 2 15: goto 19
16: StackMap locals:
StackMap stack: java.lang.Throwable
astore 3
17: aload 0
getfield org.eclipse.jetty.util.BlockingArrayQueue._headLock:Ljava/util/concurrent/locks/Lock;
invokeinterface java.util.concurrent.locks.Lock.unlock:()V
18: aload 3
athrow
19: StackMap locals:
StackMap stack:
aload 0
getfield org.eclipse.jetty.util.BlockingArrayQueue._headLock:Ljava/util/concurrent/locks/Lock;
invokeinterface java.util.concurrent.locks.Lock.unlock:()V
20: aload 1
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 21 0 this Lorg/eclipse/jetty/util/BlockingArrayQueue<TE;>;
1 21 1 e TE;
7 9 2 ex Ljava/lang/InterruptedException;
10 15 2 head I
Exception table:
from to target type
2 5 6 Class java.lang.InterruptedException
2 16 16 any
Exceptions:
throws java.lang.InterruptedException
Signature: ()TE;
public int remainingCapacity();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=4, args_size=1
start local 0 0: aload 0
getfield org.eclipse.jetty.util.BlockingArrayQueue._tailLock:Ljava/util/concurrent/locks/Lock;
invokeinterface java.util.concurrent.locks.Lock.lock:()V
1: aload 0
getfield org.eclipse.jetty.util.BlockingArrayQueue._headLock:Ljava/util/concurrent/locks/Lock;
invokeinterface java.util.concurrent.locks.Lock.lock:()V
2: aload 0
invokevirtual org.eclipse.jetty.util.BlockingArrayQueue.getCapacity:()I
aload 0
invokevirtual org.eclipse.jetty.util.BlockingArrayQueue.size:()I
isub
istore 2
3: aload 0
getfield org.eclipse.jetty.util.BlockingArrayQueue._headLock:Ljava/util/concurrent/locks/Lock;
invokeinterface java.util.concurrent.locks.Lock.unlock:()V
4: aload 0
getfield org.eclipse.jetty.util.BlockingArrayQueue._tailLock:Ljava/util/concurrent/locks/Lock;
invokeinterface java.util.concurrent.locks.Lock.unlock:()V
5: iload 2
ireturn
6: StackMap locals:
StackMap stack: java.lang.Throwable
astore 1
7: aload 0
getfield org.eclipse.jetty.util.BlockingArrayQueue._headLock:Ljava/util/concurrent/locks/Lock;
invokeinterface java.util.concurrent.locks.Lock.unlock:()V
8: aload 1
athrow
9: StackMap locals:
StackMap stack: java.lang.Throwable
astore 3
10: aload 0
getfield org.eclipse.jetty.util.BlockingArrayQueue._tailLock:Ljava/util/concurrent/locks/Lock;
invokeinterface java.util.concurrent.locks.Lock.unlock:()V
11: aload 3
athrow
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 this Lorg/eclipse/jetty/util/BlockingArrayQueue<TE;>;
Exception table:
from to target type
2 3 6 any
1 4 9 any
6 9 9 any
public int drainTo(java.util.Collection<? super E>);
descriptor: (Ljava/util/Collection;)I
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
ldc 2147483647
invokevirtual org.eclipse.jetty.util.BlockingArrayQueue.drainTo:(Ljava/util/Collection;I)I
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/eclipse/jetty/util/BlockingArrayQueue<TE;>;
0 1 1 c Ljava/util/Collection<-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=3, locals=10, args_size=3
start local 0 start local 1 start local 2 0: iconst_0
istore 3
start local 3 1: aload 0
getfield org.eclipse.jetty.util.BlockingArrayQueue._tailLock:Ljava/util/concurrent/locks/Lock;
invokeinterface java.util.concurrent.locks.Lock.lock:()V
2: aload 0
getfield org.eclipse.jetty.util.BlockingArrayQueue._headLock:Ljava/util/concurrent/locks/Lock;
invokeinterface java.util.concurrent.locks.Lock.lock:()V
3: aload 0
getfield org.eclipse.jetty.util.BlockingArrayQueue._indexes:[I
getstatic org.eclipse.jetty.util.BlockingArrayQueue.HEAD_OFFSET:I
iaload
istore 4
start local 4 4: aload 0
getfield org.eclipse.jetty.util.BlockingArrayQueue._indexes:[I
getstatic org.eclipse.jetty.util.BlockingArrayQueue.TAIL_OFFSET:I
iaload
istore 5
start local 5 5: aload 0
getfield org.eclipse.jetty.util.BlockingArrayQueue._elements:[Ljava/lang/Object;
arraylength
istore 6
start local 6 6: iload 4
istore 7
start local 7 7: goto 13
8: StackMap locals: org.eclipse.jetty.util.BlockingArrayQueue java.util.Collection int int int int int int
StackMap stack:
iinc 3 1
9: aload 1
aload 0
getfield org.eclipse.jetty.util.BlockingArrayQueue._elements:[Ljava/lang/Object;
iload 7
aaload
invokeinterface java.util.Collection.add:(Ljava/lang/Object;)Z
pop
10: iinc 7 1
11: iload 7
iload 6
if_icmpne 13
12: iconst_0
istore 7
13: StackMap locals:
StackMap stack:
iload 7
iload 5
if_icmpeq 14
iload 3
iload 2
if_icmplt 8
14: StackMap locals:
StackMap stack:
iload 7
iload 5
if_icmpne 19
15: aload 0
getfield org.eclipse.jetty.util.BlockingArrayQueue._indexes:[I
getstatic org.eclipse.jetty.util.BlockingArrayQueue.HEAD_OFFSET:I
iconst_0
iastore
16: aload 0
getfield org.eclipse.jetty.util.BlockingArrayQueue._indexes:[I
getstatic org.eclipse.jetty.util.BlockingArrayQueue.TAIL_OFFSET:I
iconst_0
iastore
17: aload 0
getfield org.eclipse.jetty.util.BlockingArrayQueue._size:Ljava/util/concurrent/atomic/AtomicInteger;
iconst_0
invokevirtual java.util.concurrent.atomic.AtomicInteger.set:(I)V
18: goto 25
19: StackMap locals:
StackMap stack:
aload 0
getfield org.eclipse.jetty.util.BlockingArrayQueue._indexes:[I
getstatic org.eclipse.jetty.util.BlockingArrayQueue.HEAD_OFFSET:I
iload 7
iastore
20: aload 0
getfield org.eclipse.jetty.util.BlockingArrayQueue._size:Ljava/util/concurrent/atomic/AtomicInteger;
iload 3
ineg
invokevirtual java.util.concurrent.atomic.AtomicInteger.addAndGet:(I)I
pop
end local 7 end local 6 end local 5 end local 4 21: goto 25
22: StackMap locals: org.eclipse.jetty.util.BlockingArrayQueue java.util.Collection int int
StackMap stack: java.lang.Throwable
astore 8
23: aload 0
getfield org.eclipse.jetty.util.BlockingArrayQueue._headLock:Ljava/util/concurrent/locks/Lock;
invokeinterface java.util.concurrent.locks.Lock.unlock:()V
24: aload 8
athrow
25: StackMap locals:
StackMap stack:
aload 0
getfield org.eclipse.jetty.util.BlockingArrayQueue._headLock:Ljava/util/concurrent/locks/Lock;
invokeinterface java.util.concurrent.locks.Lock.unlock:()V
26: goto 30
27: StackMap locals:
StackMap stack: java.lang.Throwable
astore 9
28: aload 0
getfield org.eclipse.jetty.util.BlockingArrayQueue._tailLock:Ljava/util/concurrent/locks/Lock;
invokeinterface java.util.concurrent.locks.Lock.unlock:()V
29: aload 9
athrow
30: StackMap locals:
StackMap stack:
aload 0
getfield org.eclipse.jetty.util.BlockingArrayQueue._tailLock:Ljava/util/concurrent/locks/Lock;
invokeinterface java.util.concurrent.locks.Lock.unlock:()V
31: iload 3
ireturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 32 0 this Lorg/eclipse/jetty/util/BlockingArrayQueue<TE;>;
0 32 1 c Ljava/util/Collection<-TE;>;
0 32 2 maxElements I
1 32 3 elements I
4 21 4 head I
5 21 5 tail I
6 21 6 capacity I
7 21 7 i I
Exception table:
from to target type
3 22 22 any
2 27 27 any
Signature: (Ljava/util/Collection<-TE;>;I)I
MethodParameters:
Name Flags
c
maxElements
public E get();
descriptor: (I)Ljava/lang/Object;
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=7, args_size=2
start local 0 start local 1 0: aload 0
getfield org.eclipse.jetty.util.BlockingArrayQueue._tailLock:Ljava/util/concurrent/locks/Lock;
invokeinterface java.util.concurrent.locks.Lock.lock:()V
1: aload 0
getfield org.eclipse.jetty.util.BlockingArrayQueue._headLock:Ljava/util/concurrent/locks/Lock;
invokeinterface java.util.concurrent.locks.Lock.lock:()V
2: iload 1
iflt 3
iload 1
aload 0
getfield org.eclipse.jetty.util.BlockingArrayQueue._size:Ljava/util/concurrent/atomic/AtomicInteger;
invokevirtual java.util.concurrent.atomic.AtomicInteger.get:()I
if_icmplt 4
3: StackMap locals:
StackMap stack:
new java.lang.IndexOutOfBoundsException
dup
new java.lang.StringBuilder
dup
ldc "!(0<"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 1
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc "<="
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
getfield org.eclipse.jetty.util.BlockingArrayQueue._size:Ljava/util/concurrent/atomic/AtomicInteger;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc ")"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.lang.IndexOutOfBoundsException.<init>:(Ljava/lang/String;)V
athrow
4: StackMap locals:
StackMap stack:
aload 0
getfield org.eclipse.jetty.util.BlockingArrayQueue._indexes:[I
getstatic org.eclipse.jetty.util.BlockingArrayQueue.HEAD_OFFSET:I
iaload
iload 1
iadd
istore 2
start local 2 5: aload 0
getfield org.eclipse.jetty.util.BlockingArrayQueue._elements:[Ljava/lang/Object;
arraylength
istore 3
start local 3 6: iload 2
iload 3
if_icmplt 8
7: iload 2
iload 3
isub
istore 2
8: StackMap locals: int int
StackMap stack:
aload 0
getfield org.eclipse.jetty.util.BlockingArrayQueue._elements:[Ljava/lang/Object;
iload 2
aaload
astore 5
9: aload 0
getfield org.eclipse.jetty.util.BlockingArrayQueue._headLock:Ljava/util/concurrent/locks/Lock;
invokeinterface java.util.concurrent.locks.Lock.unlock:()V
10: aload 0
getfield org.eclipse.jetty.util.BlockingArrayQueue._tailLock:Ljava/util/concurrent/locks/Lock;
invokeinterface java.util.concurrent.locks.Lock.unlock:()V
11: aload 5
areturn
end local 3 end local 2 12: StackMap locals: org.eclipse.jetty.util.BlockingArrayQueue int
StackMap stack: java.lang.Throwable
astore 4
13: aload 0
getfield org.eclipse.jetty.util.BlockingArrayQueue._headLock:Ljava/util/concurrent/locks/Lock;
invokeinterface java.util.concurrent.locks.Lock.unlock:()V
14: aload 4
athrow
15: StackMap locals:
StackMap stack: java.lang.Throwable
astore 6
16: aload 0
getfield org.eclipse.jetty.util.BlockingArrayQueue._tailLock:Ljava/util/concurrent/locks/Lock;
invokeinterface java.util.concurrent.locks.Lock.unlock:()V
17: aload 6
athrow
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 18 0 this Lorg/eclipse/jetty/util/BlockingArrayQueue<TE;>;
0 18 1 index I
5 12 2 i I
6 12 3 capacity I
Exception table:
from to target type
2 9 12 any
1 10 15 any
12 15 15 any
Signature: (I)TE;
MethodParameters:
Name Flags
index
public E set(int, );
descriptor: (ILjava/lang/Object;)Ljava/lang/Object;
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=9, args_size=3
start local 0 start local 1 start local 2 0: aload 2
invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;)Ljava/lang/Object;
pop
1: aload 0
getfield org.eclipse.jetty.util.BlockingArrayQueue._tailLock:Ljava/util/concurrent/locks/Lock;
invokeinterface java.util.concurrent.locks.Lock.lock:()V
2: aload 0
getfield org.eclipse.jetty.util.BlockingArrayQueue._headLock:Ljava/util/concurrent/locks/Lock;
invokeinterface java.util.concurrent.locks.Lock.lock:()V
3: iload 1
iflt 4
iload 1
aload 0
getfield org.eclipse.jetty.util.BlockingArrayQueue._size:Ljava/util/concurrent/atomic/AtomicInteger;
invokevirtual java.util.concurrent.atomic.AtomicInteger.get:()I
if_icmplt 5
4: StackMap locals:
StackMap stack:
new java.lang.IndexOutOfBoundsException
dup
new java.lang.StringBuilder
dup
ldc "!(0<"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 1
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc "<="
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
getfield org.eclipse.jetty.util.BlockingArrayQueue._size:Ljava/util/concurrent/atomic/AtomicInteger;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc ")"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.lang.IndexOutOfBoundsException.<init>:(Ljava/lang/String;)V
athrow
5: StackMap locals:
StackMap stack:
aload 0
getfield org.eclipse.jetty.util.BlockingArrayQueue._indexes:[I
getstatic org.eclipse.jetty.util.BlockingArrayQueue.HEAD_OFFSET:I
iaload
iload 1
iadd
istore 3
start local 3 6: aload 0
getfield org.eclipse.jetty.util.BlockingArrayQueue._elements:[Ljava/lang/Object;
arraylength
istore 4
start local 4 7: iload 3
iload 4
if_icmplt 9
8: iload 3
iload 4
isub
istore 3
9: StackMap locals: int int
StackMap stack:
aload 0
getfield org.eclipse.jetty.util.BlockingArrayQueue._elements:[Ljava/lang/Object;
iload 3
aaload
astore 5
start local 5 10: aload 0
getfield org.eclipse.jetty.util.BlockingArrayQueue._elements:[Ljava/lang/Object;
iload 3
aload 2
aastore
11: aload 5
astore 7
12: aload 0
getfield org.eclipse.jetty.util.BlockingArrayQueue._headLock:Ljava/util/concurrent/locks/Lock;
invokeinterface java.util.concurrent.locks.Lock.unlock:()V
13: aload 0
getfield org.eclipse.jetty.util.BlockingArrayQueue._tailLock:Ljava/util/concurrent/locks/Lock;
invokeinterface java.util.concurrent.locks.Lock.unlock:()V
14: aload 7
areturn
end local 5 end local 4 end local 3 15: StackMap locals: org.eclipse.jetty.util.BlockingArrayQueue int java.lang.Object
StackMap stack: java.lang.Throwable
astore 6
16: aload 0
getfield org.eclipse.jetty.util.BlockingArrayQueue._headLock:Ljava/util/concurrent/locks/Lock;
invokeinterface java.util.concurrent.locks.Lock.unlock:()V
17: aload 6
athrow
18: StackMap locals:
StackMap stack: java.lang.Throwable
astore 8
19: aload 0
getfield org.eclipse.jetty.util.BlockingArrayQueue._tailLock:Ljava/util/concurrent/locks/Lock;
invokeinterface java.util.concurrent.locks.Lock.unlock:()V
20: aload 8
athrow
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 21 0 this Lorg/eclipse/jetty/util/BlockingArrayQueue<TE;>;
0 21 1 index I
0 21 2 e TE;
6 15 3 i I
7 15 4 capacity I
10 15 5 old TE;
Exception table:
from to target type
3 12 15 any
2 13 18 any
15 18 18 any
Signature: (ITE;)TE;
MethodParameters:
Name Flags
index
e
public java.util.ListIterator<E> listIterator(int);
descriptor: (I)Ljava/util/ListIterator;
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=9, args_size=2
start local 0 start local 1 0: aload 0
getfield org.eclipse.jetty.util.BlockingArrayQueue._tailLock:Ljava/util/concurrent/locks/Lock;
invokeinterface java.util.concurrent.locks.Lock.lock:()V
1: aload 0
getfield org.eclipse.jetty.util.BlockingArrayQueue._headLock:Ljava/util/concurrent/locks/Lock;
invokeinterface java.util.concurrent.locks.Lock.lock:()V
2: aload 0
invokevirtual org.eclipse.jetty.util.BlockingArrayQueue.size:()I
anewarray java.lang.Object
astore 2
start local 2 3: aload 0
invokevirtual org.eclipse.jetty.util.BlockingArrayQueue.size:()I
ifle 12
4: aload 0
getfield org.eclipse.jetty.util.BlockingArrayQueue._indexes:[I
getstatic org.eclipse.jetty.util.BlockingArrayQueue.HEAD_OFFSET:I
iaload
istore 3
start local 3 5: aload 0
getfield org.eclipse.jetty.util.BlockingArrayQueue._indexes:[I
getstatic org.eclipse.jetty.util.BlockingArrayQueue.TAIL_OFFSET:I
iaload
istore 4
start local 4 6: iload 3
iload 4
if_icmpge 9
7: aload 0
getfield org.eclipse.jetty.util.BlockingArrayQueue._elements:[Ljava/lang/Object;
iload 3
aload 2
iconst_0
iload 4
iload 3
isub
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
8: goto 12
9: StackMap locals: java.lang.Object[] int int
StackMap stack:
aload 0
getfield org.eclipse.jetty.util.BlockingArrayQueue._elements:[Ljava/lang/Object;
arraylength
iload 3
isub
istore 5
start local 5 10: aload 0
getfield org.eclipse.jetty.util.BlockingArrayQueue._elements:[Ljava/lang/Object;
iload 3
aload 2
iconst_0
iload 5
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
11: aload 0
getfield org.eclipse.jetty.util.BlockingArrayQueue._elements:[Ljava/lang/Object;
iconst_0
aload 2
iload 5
iload 4
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
end local 5 end local 4 end local 3 12: StackMap locals:
StackMap stack:
new org.eclipse.jetty.util.BlockingArrayQueue$Itr
dup
aload 0
aload 2
iload 1
invokespecial org.eclipse.jetty.util.BlockingArrayQueue$Itr.<init>:(Lorg/eclipse/jetty/util/BlockingArrayQueue;[Ljava/lang/Object;I)V
astore 7
13: aload 0
getfield org.eclipse.jetty.util.BlockingArrayQueue._headLock:Ljava/util/concurrent/locks/Lock;
invokeinterface java.util.concurrent.locks.Lock.unlock:()V
14: aload 0
getfield org.eclipse.jetty.util.BlockingArrayQueue._tailLock:Ljava/util/concurrent/locks/Lock;
invokeinterface java.util.concurrent.locks.Lock.unlock:()V
15: aload 7
areturn
end local 2 16: StackMap locals: org.eclipse.jetty.util.BlockingArrayQueue int
StackMap stack: java.lang.Throwable
astore 6
17: aload 0
getfield org.eclipse.jetty.util.BlockingArrayQueue._headLock:Ljava/util/concurrent/locks/Lock;
invokeinterface java.util.concurrent.locks.Lock.unlock:()V
18: aload 6
athrow
19: StackMap locals:
StackMap stack: java.lang.Throwable
astore 8
20: aload 0
getfield org.eclipse.jetty.util.BlockingArrayQueue._tailLock:Ljava/util/concurrent/locks/Lock;
invokeinterface java.util.concurrent.locks.Lock.unlock:()V
21: aload 8
athrow
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 22 0 this Lorg/eclipse/jetty/util/BlockingArrayQueue<TE;>;
0 22 1 index I
3 16 2 elements [Ljava/lang/Object;
5 12 3 head I
6 12 4 tail I
10 12 5 chunk I
Exception table:
from to target type
2 13 16 any
1 14 19 any
16 19 19 any
Signature: (I)Ljava/util/ListIterator<TE;>;
MethodParameters:
Name Flags
index
public int getCapacity();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=3, args_size=1
start local 0 0: aload 0
getfield org.eclipse.jetty.util.BlockingArrayQueue._tailLock:Ljava/util/concurrent/locks/Lock;
invokeinterface java.util.concurrent.locks.Lock.lock:()V
1: aload 0
getfield org.eclipse.jetty.util.BlockingArrayQueue._elements:[Ljava/lang/Object;
arraylength
istore 2
2: aload 0
getfield org.eclipse.jetty.util.BlockingArrayQueue._tailLock:Ljava/util/concurrent/locks/Lock;
invokeinterface java.util.concurrent.locks.Lock.unlock:()V
3: iload 2
ireturn
4: StackMap locals:
StackMap stack: java.lang.Throwable
astore 1
5: aload 0
getfield org.eclipse.jetty.util.BlockingArrayQueue._tailLock:Ljava/util/concurrent/locks/Lock;
invokeinterface java.util.concurrent.locks.Lock.unlock:()V
6: aload 1
athrow
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lorg/eclipse/jetty/util/BlockingArrayQueue<TE;>;
Exception table:
from to target type
1 2 4 any
public int getMaxCapacity();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.eclipse.jetty.util.BlockingArrayQueue._maxCapacity:I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/eclipse/jetty/util/BlockingArrayQueue<TE;>;
private boolean grow();
descriptor: ()Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=9, args_size=1
start local 0 0: aload 0
getfield org.eclipse.jetty.util.BlockingArrayQueue._growCapacity:I
ifgt 2
1: iconst_0
ireturn
2: StackMap locals:
StackMap stack:
aload 0
getfield org.eclipse.jetty.util.BlockingArrayQueue._tailLock:Ljava/util/concurrent/locks/Lock;
invokeinterface java.util.concurrent.locks.Lock.lock:()V
3: aload 0
getfield org.eclipse.jetty.util.BlockingArrayQueue._headLock:Ljava/util/concurrent/locks/Lock;
invokeinterface java.util.concurrent.locks.Lock.lock:()V
4: aload 0
getfield org.eclipse.jetty.util.BlockingArrayQueue._indexes:[I
getstatic org.eclipse.jetty.util.BlockingArrayQueue.HEAD_OFFSET:I
iaload
istore 1
start local 1 5: aload 0
getfield org.eclipse.jetty.util.BlockingArrayQueue._indexes:[I
getstatic org.eclipse.jetty.util.BlockingArrayQueue.TAIL_OFFSET:I
iaload
istore 2
start local 2 6: aload 0
getfield org.eclipse.jetty.util.BlockingArrayQueue._elements:[Ljava/lang/Object;
arraylength
istore 4
start local 4 7: iload 4
aload 0
getfield org.eclipse.jetty.util.BlockingArrayQueue._growCapacity:I
iadd
anewarray java.lang.Object
astore 5
start local 5 8: iload 1
iload 2
if_icmpge 12
9: iload 2
iload 1
isub
istore 3
start local 3 10: aload 0
getfield org.eclipse.jetty.util.BlockingArrayQueue._elements:[Ljava/lang/Object;
iload 1
aload 5
iconst_0
iload 3
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
11: goto 19
end local 3 12: StackMap locals: org.eclipse.jetty.util.BlockingArrayQueue int int top int java.lang.Object[]
StackMap stack:
iload 1
iload 2
if_icmpgt 13
aload 0
getfield org.eclipse.jetty.util.BlockingArrayQueue._size:Ljava/util/concurrent/atomic/AtomicInteger;
invokevirtual java.util.concurrent.atomic.AtomicInteger.get:()I
ifle 18
13: StackMap locals:
StackMap stack:
iload 4
iload 2
iadd
iload 1
isub
istore 3
start local 3 14: iload 4
iload 1
isub
istore 6
start local 6 15: aload 0
getfield org.eclipse.jetty.util.BlockingArrayQueue._elements:[Ljava/lang/Object;
iload 1
aload 5
iconst_0
iload 6
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
16: aload 0
getfield org.eclipse.jetty.util.BlockingArrayQueue._elements:[Ljava/lang/Object;
iconst_0
aload 5
iload 6
iload 2
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
end local 6 17: goto 19
end local 3 18: StackMap locals:
StackMap stack:
iconst_0
istore 3
start local 3 19: StackMap locals: org.eclipse.jetty.util.BlockingArrayQueue int int int int java.lang.Object[]
StackMap stack:
aload 0
aload 5
putfield org.eclipse.jetty.util.BlockingArrayQueue._elements:[Ljava/lang/Object;
20: aload 0
getfield org.eclipse.jetty.util.BlockingArrayQueue._indexes:[I
getstatic org.eclipse.jetty.util.BlockingArrayQueue.HEAD_OFFSET:I
iconst_0
iastore
21: aload 0
getfield org.eclipse.jetty.util.BlockingArrayQueue._indexes:[I
getstatic org.eclipse.jetty.util.BlockingArrayQueue.TAIL_OFFSET:I
iload 3
iastore
22: aload 0
getfield org.eclipse.jetty.util.BlockingArrayQueue._headLock:Ljava/util/concurrent/locks/Lock;
invokeinterface java.util.concurrent.locks.Lock.unlock:()V
23: aload 0
getfield org.eclipse.jetty.util.BlockingArrayQueue._tailLock:Ljava/util/concurrent/locks/Lock;
invokeinterface java.util.concurrent.locks.Lock.unlock:()V
24: iconst_1
ireturn
end local 5 end local 4 end local 3 end local 2 end local 1 25: StackMap locals: org.eclipse.jetty.util.BlockingArrayQueue
StackMap stack: java.lang.Throwable
astore 7
26: aload 0
getfield org.eclipse.jetty.util.BlockingArrayQueue._headLock:Ljava/util/concurrent/locks/Lock;
invokeinterface java.util.concurrent.locks.Lock.unlock:()V
27: aload 7
athrow
28: StackMap locals:
StackMap stack: java.lang.Throwable
astore 8
29: aload 0
getfield org.eclipse.jetty.util.BlockingArrayQueue._tailLock:Ljava/util/concurrent/locks/Lock;
invokeinterface java.util.concurrent.locks.Lock.unlock:()V
30: aload 8
athrow
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 31 0 this Lorg/eclipse/jetty/util/BlockingArrayQueue<TE;>;
5 25 1 head I
6 25 2 tail I
10 12 3 newTail I
14 18 3 newTail I
19 25 3 newTail I
7 25 4 capacity I
8 25 5 elements [Ljava/lang/Object;
15 17 6 cut I
Exception table:
from to target type
4 22 25 any
3 23 28 any
25 28 28 any
}
Signature: <E:Ljava/lang/Object;>Ljava/util/AbstractList<TE;>;Ljava/util/concurrent/BlockingQueue<TE;>;
SourceFile: "BlockingArrayQueue.java"
NestMembers:
org.eclipse.jetty.util.BlockingArrayQueue$Itr
InnerClasses:
private Itr = org.eclipse.jetty.util.BlockingArrayQueue$Itr of org.eclipse.jetty.util.BlockingArrayQueue