abstract class io.netty.util.internal.shaded.org.jctools.queues.BaseMpscLinkedArrayQueue extends io.netty.util.internal.shaded.org.jctools.queues.BaseMpscLinkedArrayQueueColdProducerFields implements io.netty.util.internal.shaded.org.jctools.queues.MessagePassingQueue, io.netty.util.internal.shaded.org.jctools.queues.QueueProgressIndicators
{
private static final java.lang.Object JUMP;
private static final java.lang.Object BUFFER_CONSUMED;
private static final int CONTINUE_TO_P_INDEX_CAS;
private static final int RETRY;
private static final int QUEUE_FULL;
private static final int QUEUE_RESIZE;
static final boolean $assertionsDisabled;
public void <init>(int)
{
java.lang.Object[] v;
io.netty.util.internal.shaded.org.jctools.queues.BaseMpscLinkedArrayQueue v;
int v, v, v, v, v;
v := @this: io.netty.util.internal.shaded.org.jctools.queues.BaseMpscLinkedArrayQueue;
v := @parameter: int;
specialinvoke v.<io.netty.util.internal.shaded.org.jctools.queues.BaseMpscLinkedArrayQueueColdProducerFields: void <init>()>();
staticinvoke <io.netty.util.internal.shaded.org.jctools.util.RangeUtil: int checkGreaterThanOrEqual(int,int,java.lang.String)>(v, 2, "initialCapacity");
v = staticinvoke <io.netty.util.internal.shaded.org.jctools.util.Pow2: int roundToPowerOfTwo(int)>(v);
v = v - 1;
v = v << 1;
v = v + 1;
v = staticinvoke <io.netty.util.internal.shaded.org.jctools.util.UnsafeRefArrayAccess: java.lang.Object[] allocateRefArray(int)>(v);
v.<io.netty.util.internal.shaded.org.jctools.queues.BaseMpscLinkedArrayQueue: java.lang.Object[] producerBuffer> = v;
v.<io.netty.util.internal.shaded.org.jctools.queues.BaseMpscLinkedArrayQueue: long producerMask> = v;
v.<io.netty.util.internal.shaded.org.jctools.queues.BaseMpscLinkedArrayQueue: java.lang.Object[] consumerBuffer> = v;
v.<io.netty.util.internal.shaded.org.jctools.queues.BaseMpscLinkedArrayQueue: long consumerMask> = v;
virtualinvoke v.<io.netty.util.internal.shaded.org.jctools.queues.BaseMpscLinkedArrayQueue: void soProducerLimit(long)>(v);
return;
}
public int size()
{
io.netty.util.internal.shaded.org.jctools.queues.BaseMpscLinkedArrayQueue v;
long v, v, v, v, v;
byte v, v;
v := @this: io.netty.util.internal.shaded.org.jctools.queues.BaseMpscLinkedArrayQueue;
v = virtualinvoke v.<io.netty.util.internal.shaded.org.jctools.queues.BaseMpscLinkedArrayQueue: long lvConsumerIndex()>();
label:
v = v;
v = virtualinvoke v.<io.netty.util.internal.shaded.org.jctools.queues.BaseMpscLinkedArrayQueue: long lvProducerIndex()>();
v = virtualinvoke v.<io.netty.util.internal.shaded.org.jctools.queues.BaseMpscLinkedArrayQueue: long lvConsumerIndex()>();
v = v cmp v;
if v != 0 goto label;
v = v - v;
v = v >> 1;
v = v cmp 2147483647L;
if v <= 0 goto label;
return 2147483647;
label:
return v;
}
public boolean isEmpty()
{
byte v;
io.netty.util.internal.shaded.org.jctools.queues.BaseMpscLinkedArrayQueue v;
long v, v;
boolean v;
v := @this: io.netty.util.internal.shaded.org.jctools.queues.BaseMpscLinkedArrayQueue;
v = virtualinvoke v.<io.netty.util.internal.shaded.org.jctools.queues.BaseMpscLinkedArrayQueue: long lvConsumerIndex()>();
v = virtualinvoke v.<io.netty.util.internal.shaded.org.jctools.queues.BaseMpscLinkedArrayQueue: long lvProducerIndex()>();
v = v cmp v;
if v != 0 goto label;
v = 1;
goto label;
label:
v = 0;
label:
return v;
}
public java.lang.String toString()
{
java.lang.Class v;
java.lang.String v;
io.netty.util.internal.shaded.org.jctools.queues.BaseMpscLinkedArrayQueue v;
v := @this: io.netty.util.internal.shaded.org.jctools.queues.BaseMpscLinkedArrayQueue;
v = virtualinvoke v.<java.lang.Object: java.lang.Class getClass()>();
v = virtualinvoke v.<java.lang.Class: java.lang.String getName()>();
return v;
}
public boolean offer(java.lang.Object)
{
java.lang.Object[] v;
io.netty.util.internal.shaded.org.jctools.queues.BaseMpscLinkedArrayQueue v;
long v, v, v, v, v, v;
java.lang.NullPointerException v;
byte v, v;
int v;
java.lang.Object v;
boolean v;
v := @this: io.netty.util.internal.shaded.org.jctools.queues.BaseMpscLinkedArrayQueue;
v := @parameter: java.lang.Object;
if null != v goto label;
v = new java.lang.NullPointerException;
specialinvoke v.<java.lang.NullPointerException: void <init>()>();
throw v;
label:
v = virtualinvoke v.<io.netty.util.internal.shaded.org.jctools.queues.BaseMpscLinkedArrayQueue: long lvProducerLimit()>();
v = virtualinvoke v.<io.netty.util.internal.shaded.org.jctools.queues.BaseMpscLinkedArrayQueue: long lvProducerIndex()>();
v = v & 1L;
v = v cmp 1L;
if v == 0 goto label;
v = v.<io.netty.util.internal.shaded.org.jctools.queues.BaseMpscLinkedArrayQueue: long producerMask>;
v = v.<io.netty.util.internal.shaded.org.jctools.queues.BaseMpscLinkedArrayQueue: java.lang.Object[] producerBuffer>;
v = v cmp v;
if v > 0 goto label;
v = specialinvoke v.<io.netty.util.internal.shaded.org.jctools.queues.BaseMpscLinkedArrayQueue: int offerSlowPath(long,long,long)>(v, v, v);
tableswitch(v)
{
case 0: goto label;
case 1: goto label;
case 2: goto label;
case 3: goto label;
default: goto label;
};
label:
return 0;
label:
specialinvoke v.<io.netty.util.internal.shaded.org.jctools.queues.BaseMpscLinkedArrayQueue: void resize(long,java.lang.Object[],long,java.lang.Object,io.netty.util.internal.shaded.org.jctools.queues.MessagePassingQueue$Supplier)>(v, v, v, v, null);
return 1;
label:
v = v + 2L;
v = virtualinvoke v.<io.netty.util.internal.shaded.org.jctools.queues.BaseMpscLinkedArrayQueue: boolean casProducerIndex(long,long)>(v, v);
if v == 0 goto label;
v = staticinvoke <io.netty.util.internal.shaded.org.jctools.queues.LinkedArrayQueueUtil: long modifiedCalcCircularRefElementOffset(long,long)>(v, v);
staticinvoke <io.netty.util.internal.shaded.org.jctools.util.UnsafeRefArrayAccess: void soRefElement(java.lang.Object[],long,java.lang.Object)>(v, v, v);
return 1;
}
public java.lang.Object poll()
{
java.lang.Object[] v, v;
io.netty.util.internal.shaded.org.jctools.queues.BaseMpscLinkedArrayQueue v;
long v, v, v, v, v;
byte v;
java.lang.Object v, v, v;
v := @this: io.netty.util.internal.shaded.org.jctools.queues.BaseMpscLinkedArrayQueue;
v = v.<io.netty.util.internal.shaded.org.jctools.queues.BaseMpscLinkedArrayQueue: java.lang.Object[] consumerBuffer>;
v = virtualinvoke v.<io.netty.util.internal.shaded.org.jctools.queues.BaseMpscLinkedArrayQueue: long lpConsumerIndex()>();
v = v.<io.netty.util.internal.shaded.org.jctools.queues.BaseMpscLinkedArrayQueue: long consumerMask>;
v = staticinvoke <io.netty.util.internal.shaded.org.jctools.queues.LinkedArrayQueueUtil: long modifiedCalcCircularRefElementOffset(long,long)>(v, v);
v = staticinvoke <io.netty.util.internal.shaded.org.jctools.util.UnsafeRefArrayAccess: java.lang.Object lvRefElement(java.lang.Object[],long)>(v, v);
if v != null goto label;
v = virtualinvoke v.<io.netty.util.internal.shaded.org.jctools.queues.BaseMpscLinkedArrayQueue: long lvProducerIndex()>();
v = v cmp v;
if v == 0 goto label;
label:
v = staticinvoke <io.netty.util.internal.shaded.org.jctools.util.UnsafeRefArrayAccess: java.lang.Object lvRefElement(java.lang.Object[],long)>(v, v);
if v == null goto label;
goto label;
label:
return null;
label:
v = <io.netty.util.internal.shaded.org.jctools.queues.BaseMpscLinkedArrayQueue: java.lang.Object JUMP>;
if v != v goto label;
v = specialinvoke v.<io.netty.util.internal.shaded.org.jctools.queues.BaseMpscLinkedArrayQueue: java.lang.Object[] nextBuffer(java.lang.Object[],long)>(v, v);
v = specialinvoke v.<io.netty.util.internal.shaded.org.jctools.queues.BaseMpscLinkedArrayQueue: java.lang.Object newBufferPoll(java.lang.Object[],long)>(v, v);
return v;
label:
staticinvoke <io.netty.util.internal.shaded.org.jctools.util.UnsafeRefArrayAccess: void soRefElement(java.lang.Object[],long,java.lang.Object)>(v, v, null);
v = v + 2L;
virtualinvoke v.<io.netty.util.internal.shaded.org.jctools.queues.BaseMpscLinkedArrayQueue: void soConsumerIndex(long)>(v);
return v;
}
public java.lang.Object peek()
{
java.lang.Object[] v, v;
io.netty.util.internal.shaded.org.jctools.queues.BaseMpscLinkedArrayQueue v;
long v, v, v, v;
byte v;
java.lang.Object v, v, v;
v := @this: io.netty.util.internal.shaded.org.jctools.queues.BaseMpscLinkedArrayQueue;
v = v.<io.netty.util.internal.shaded.org.jctools.queues.BaseMpscLinkedArrayQueue: java.lang.Object[] consumerBuffer>;
v = virtualinvoke v.<io.netty.util.internal.shaded.org.jctools.queues.BaseMpscLinkedArrayQueue: long lpConsumerIndex()>();
v = v.<io.netty.util.internal.shaded.org.jctools.queues.BaseMpscLinkedArrayQueue: long consumerMask>;
v = staticinvoke <io.netty.util.internal.shaded.org.jctools.queues.LinkedArrayQueueUtil: long modifiedCalcCircularRefElementOffset(long,long)>(v, v);
v = staticinvoke <io.netty.util.internal.shaded.org.jctools.util.UnsafeRefArrayAccess: java.lang.Object lvRefElement(java.lang.Object[],long)>(v, v);
if v != null goto label;
v = virtualinvoke v.<io.netty.util.internal.shaded.org.jctools.queues.BaseMpscLinkedArrayQueue: long lvProducerIndex()>();
v = v cmp v;
if v == 0 goto label;
label:
v = staticinvoke <io.netty.util.internal.shaded.org.jctools.util.UnsafeRefArrayAccess: java.lang.Object lvRefElement(java.lang.Object[],long)>(v, v);
if v == null goto label;
label:
v = <io.netty.util.internal.shaded.org.jctools.queues.BaseMpscLinkedArrayQueue: java.lang.Object JUMP>;
if v != v goto label;
v = specialinvoke v.<io.netty.util.internal.shaded.org.jctools.queues.BaseMpscLinkedArrayQueue: java.lang.Object[] nextBuffer(java.lang.Object[],long)>(v, v);
v = specialinvoke v.<io.netty.util.internal.shaded.org.jctools.queues.BaseMpscLinkedArrayQueue: java.lang.Object newBufferPeek(java.lang.Object[],long)>(v, v);
return v;
label:
return v;
}
private int offerSlowPath(long, long, long)
{
io.netty.util.internal.shaded.org.jctools.queues.BaseMpscLinkedArrayQueue v;
long v, v, v, v, v, v, v, v, v;
byte v, v;
boolean v, v;
v := @this: io.netty.util.internal.shaded.org.jctools.queues.BaseMpscLinkedArrayQueue;
v := @parameter: long;
v := @parameter: long;
v := @parameter: long;
v = virtualinvoke v.<io.netty.util.internal.shaded.org.jctools.queues.BaseMpscLinkedArrayQueue: long lvConsumerIndex()>();
v = virtualinvoke v.<io.netty.util.internal.shaded.org.jctools.queues.BaseMpscLinkedArrayQueue: long getCurrentBufferCapacity(long)>(v);
v = v + v;
v = v cmp v;
if v <= 0 goto label;
v = v + v;
v = virtualinvoke v.<io.netty.util.internal.shaded.org.jctools.queues.BaseMpscLinkedArrayQueue: boolean casProducerLimit(long,long)>(v, v);
if v != 0 goto label;
return 1;
label:
return 0;
label:
v = virtualinvoke v.<io.netty.util.internal.shaded.org.jctools.queues.BaseMpscLinkedArrayQueue: long availableInQueue(long,long)>(v, v);
v = v cmp 0L;
if v > 0 goto label;
return 2;
label:
v = v + 1L;
v = virtualinvoke v.<io.netty.util.internal.shaded.org.jctools.queues.BaseMpscLinkedArrayQueue: boolean casProducerIndex(long,long)>(v, v);
if v == 0 goto label;
return 3;
label:
return 1;
}
protected abstract long availableInQueue(long, long);
private java.lang.Object[] nextBuffer(java.lang.Object[], long)
{
java.lang.Object[] v;
io.netty.util.internal.shaded.org.jctools.queues.BaseMpscLinkedArrayQueue v;
long v, v;
int v, v, v;
java.lang.Object v, v;
v := @this: io.netty.util.internal.shaded.org.jctools.queues.BaseMpscLinkedArrayQueue;
v := @parameter: java.lang.Object[];
v := @parameter: long;
v = staticinvoke <io.netty.util.internal.shaded.org.jctools.queues.BaseMpscLinkedArrayQueue: long nextArrayOffset(long)>(v);
v = staticinvoke <io.netty.util.internal.shaded.org.jctools.util.UnsafeRefArrayAccess: java.lang.Object lvRefElement(java.lang.Object[],long)>(v, v);
v.<io.netty.util.internal.shaded.org.jctools.queues.BaseMpscLinkedArrayQueue: java.lang.Object[] consumerBuffer> = v;
v = staticinvoke <io.netty.util.internal.shaded.org.jctools.queues.LinkedArrayQueueUtil: int length(java.lang.Object[])>(v);
v = v - 2;
v = v << 1;
v.<io.netty.util.internal.shaded.org.jctools.queues.BaseMpscLinkedArrayQueue: long consumerMask> = v;
v = <io.netty.util.internal.shaded.org.jctools.queues.BaseMpscLinkedArrayQueue: java.lang.Object BUFFER_CONSUMED>;
staticinvoke <io.netty.util.internal.shaded.org.jctools.util.UnsafeRefArrayAccess: void soRefElement(java.lang.Object[],long,java.lang.Object)>(v, v, v);
return v;
}
private static long nextArrayOffset(long)
{
long v, v, v;
v := @parameter: long;
v = v + 2L;
v = staticinvoke <io.netty.util.internal.shaded.org.jctools.queues.LinkedArrayQueueUtil: long modifiedCalcCircularRefElementOffset(long,long)>(v, 9223372036854775807L);
return v;
}
private java.lang.Object newBufferPoll(java.lang.Object[], long)
{
java.lang.IllegalStateException v;
java.lang.Object[] v;
io.netty.util.internal.shaded.org.jctools.queues.BaseMpscLinkedArrayQueue v;
long v, v, v, v;
java.lang.Object v;
v := @this: io.netty.util.internal.shaded.org.jctools.queues.BaseMpscLinkedArrayQueue;
v := @parameter: java.lang.Object[];
v := @parameter: long;
v = v.<io.netty.util.internal.shaded.org.jctools.queues.BaseMpscLinkedArrayQueue: long consumerMask>;
v = staticinvoke <io.netty.util.internal.shaded.org.jctools.queues.LinkedArrayQueueUtil: long modifiedCalcCircularRefElementOffset(long,long)>(v, v);
v = staticinvoke <io.netty.util.internal.shaded.org.jctools.util.UnsafeRefArrayAccess: java.lang.Object lvRefElement(java.lang.Object[],long)>(v, v);
if v != null goto label;
v = new java.lang.IllegalStateException;
specialinvoke v.<java.lang.IllegalStateException: void <init>(java.lang.String)>("new buffer must have at least one element");
throw v;
label:
staticinvoke <io.netty.util.internal.shaded.org.jctools.util.UnsafeRefArrayAccess: void soRefElement(java.lang.Object[],long,java.lang.Object)>(v, v, null);
v = v + 2L;
virtualinvoke v.<io.netty.util.internal.shaded.org.jctools.queues.BaseMpscLinkedArrayQueue: void soConsumerIndex(long)>(v);
return v;
}
private java.lang.Object newBufferPeek(java.lang.Object[], long)
{
java.lang.IllegalStateException v;
java.lang.Object[] v;
io.netty.util.internal.shaded.org.jctools.queues.BaseMpscLinkedArrayQueue v;
java.lang.Object v;
long v, v, v;
v := @this: io.netty.util.internal.shaded.org.jctools.queues.BaseMpscLinkedArrayQueue;
v := @parameter: java.lang.Object[];
v := @parameter: long;
v = v.<io.netty.util.internal.shaded.org.jctools.queues.BaseMpscLinkedArrayQueue: long consumerMask>;
v = staticinvoke <io.netty.util.internal.shaded.org.jctools.queues.LinkedArrayQueueUtil: long modifiedCalcCircularRefElementOffset(long,long)>(v, v);
v = staticinvoke <io.netty.util.internal.shaded.org.jctools.util.UnsafeRefArrayAccess: java.lang.Object lvRefElement(java.lang.Object[],long)>(v, v);
if null != v goto label;
v = new java.lang.IllegalStateException;
specialinvoke v.<java.lang.IllegalStateException: void <init>(java.lang.String)>("new buffer must have at least one element");
throw v;
label:
return v;
}
public long currentProducerIndex()
{
long v, v;
io.netty.util.internal.shaded.org.jctools.queues.BaseMpscLinkedArrayQueue v;
v := @this: io.netty.util.internal.shaded.org.jctools.queues.BaseMpscLinkedArrayQueue;
v = virtualinvoke v.<io.netty.util.internal.shaded.org.jctools.queues.BaseMpscLinkedArrayQueue: long lvProducerIndex()>();
v = v / 2L;
return v;
}
public long currentConsumerIndex()
{
long v, v;
io.netty.util.internal.shaded.org.jctools.queues.BaseMpscLinkedArrayQueue v;
v := @this: io.netty.util.internal.shaded.org.jctools.queues.BaseMpscLinkedArrayQueue;
v = virtualinvoke v.<io.netty.util.internal.shaded.org.jctools.queues.BaseMpscLinkedArrayQueue: long lvConsumerIndex()>();
v = v / 2L;
return v;
}
public abstract int capacity();
public boolean relaxedOffer(java.lang.Object)
{
java.lang.Object v;
io.netty.util.internal.shaded.org.jctools.queues.BaseMpscLinkedArrayQueue v;
boolean v;
v := @this: io.netty.util.internal.shaded.org.jctools.queues.BaseMpscLinkedArrayQueue;
v := @parameter: java.lang.Object;
v = virtualinvoke v.<io.netty.util.internal.shaded.org.jctools.queues.BaseMpscLinkedArrayQueue: boolean offer(java.lang.Object)>(v);
return v;
}
public java.lang.Object relaxedPoll()
{
java.lang.Object[] v, v;
io.netty.util.internal.shaded.org.jctools.queues.BaseMpscLinkedArrayQueue v;
long v, v, v, v;
java.lang.Object v, v, v;
v := @this: io.netty.util.internal.shaded.org.jctools.queues.BaseMpscLinkedArrayQueue;
v = v.<io.netty.util.internal.shaded.org.jctools.queues.BaseMpscLinkedArrayQueue: java.lang.Object[] consumerBuffer>;
v = virtualinvoke v.<io.netty.util.internal.shaded.org.jctools.queues.BaseMpscLinkedArrayQueue: long lpConsumerIndex()>();
v = v.<io.netty.util.internal.shaded.org.jctools.queues.BaseMpscLinkedArrayQueue: long consumerMask>;
v = staticinvoke <io.netty.util.internal.shaded.org.jctools.queues.LinkedArrayQueueUtil: long modifiedCalcCircularRefElementOffset(long,long)>(v, v);
v = staticinvoke <io.netty.util.internal.shaded.org.jctools.util.UnsafeRefArrayAccess: java.lang.Object lvRefElement(java.lang.Object[],long)>(v, v);
if v != null goto label;
return null;
label:
v = <io.netty.util.internal.shaded.org.jctools.queues.BaseMpscLinkedArrayQueue: java.lang.Object JUMP>;
if v != v goto label;
v = specialinvoke v.<io.netty.util.internal.shaded.org.jctools.queues.BaseMpscLinkedArrayQueue: java.lang.Object[] nextBuffer(java.lang.Object[],long)>(v, v);
v = specialinvoke v.<io.netty.util.internal.shaded.org.jctools.queues.BaseMpscLinkedArrayQueue: java.lang.Object newBufferPoll(java.lang.Object[],long)>(v, v);
return v;
label:
staticinvoke <io.netty.util.internal.shaded.org.jctools.util.UnsafeRefArrayAccess: void soRefElement(java.lang.Object[],long,java.lang.Object)>(v, v, null);
v = v + 2L;
virtualinvoke v.<io.netty.util.internal.shaded.org.jctools.queues.BaseMpscLinkedArrayQueue: void soConsumerIndex(long)>(v);
return v;
}
public java.lang.Object relaxedPeek()
{
java.lang.Object[] v, v;
io.netty.util.internal.shaded.org.jctools.queues.BaseMpscLinkedArrayQueue v;
long v, v, v;
java.lang.Object v, v, v;
v := @this: io.netty.util.internal.shaded.org.jctools.queues.BaseMpscLinkedArrayQueue;
v = v.<io.netty.util.internal.shaded.org.jctools.queues.BaseMpscLinkedArrayQueue: java.lang.Object[] consumerBuffer>;
v = virtualinvoke v.<io.netty.util.internal.shaded.org.jctools.queues.BaseMpscLinkedArrayQueue: long lpConsumerIndex()>();
v = v.<io.netty.util.internal.shaded.org.jctools.queues.BaseMpscLinkedArrayQueue: long consumerMask>;
v = staticinvoke <io.netty.util.internal.shaded.org.jctools.queues.LinkedArrayQueueUtil: long modifiedCalcCircularRefElementOffset(long,long)>(v, v);
v = staticinvoke <io.netty.util.internal.shaded.org.jctools.util.UnsafeRefArrayAccess: java.lang.Object lvRefElement(java.lang.Object[],long)>(v, v);
v = <io.netty.util.internal.shaded.org.jctools.queues.BaseMpscLinkedArrayQueue: java.lang.Object JUMP>;
if v != v goto label;
v = specialinvoke v.<io.netty.util.internal.shaded.org.jctools.queues.BaseMpscLinkedArrayQueue: java.lang.Object[] nextBuffer(java.lang.Object[],long)>(v, v);
v = specialinvoke v.<io.netty.util.internal.shaded.org.jctools.queues.BaseMpscLinkedArrayQueue: java.lang.Object newBufferPeek(java.lang.Object[],long)>(v, v);
return v;
label:
return v;
}
public int fill(io.netty.util.internal.shaded.org.jctools.queues.MessagePassingQueue$Supplier)
{
byte v;
io.netty.util.internal.shaded.org.jctools.queues.BaseMpscLinkedArrayQueue v;
int v, v, v;
long v;
io.netty.util.internal.shaded.org.jctools.queues.MessagePassingQueue$Supplier v;
v := @this: io.netty.util.internal.shaded.org.jctools.queues.BaseMpscLinkedArrayQueue;
v := @parameter: io.netty.util.internal.shaded.org.jctools.queues.MessagePassingQueue$Supplier;
v = 0L;
v = virtualinvoke v.<io.netty.util.internal.shaded.org.jctools.queues.BaseMpscLinkedArrayQueue: int capacity()>();
label:
v = <io.netty.util.internal.shaded.org.jctools.util.PortableJvmInfo: int RECOMENDED_OFFER_BATCH>;
v = virtualinvoke v.<io.netty.util.internal.shaded.org.jctools.queues.BaseMpscLinkedArrayQueue: int fill(io.netty.util.internal.shaded.org.jctools.queues.MessagePassingQueue$Supplier,int)>(v, v);
if v != 0 goto label;
return v;
label:
v = v + v;
v = v cmp v;
if v <= 0 goto label;
return v;
}
public int fill(io.netty.util.internal.shaded.org.jctools.queues.MessagePassingQueue$Supplier, int)
{
java.lang.Object[] v;
long v, v, v, v, v, v, v, v, v, v, v, v;
byte v, v;
int v, v, v;
java.lang.String v;
boolean v;
io.netty.util.internal.shaded.org.jctools.queues.BaseMpscLinkedArrayQueue v;
java.lang.IllegalArgumentException v, v;
io.netty.util.internal.shaded.org.jctools.queues.MessagePassingQueue$Supplier v;
java.lang.Object v;
v := @this: io.netty.util.internal.shaded.org.jctools.queues.BaseMpscLinkedArrayQueue;
v := @parameter: io.netty.util.internal.shaded.org.jctools.queues.MessagePassingQueue$Supplier;
v := @parameter: int;
if null != v goto label;
v = new java.lang.IllegalArgumentException;
specialinvoke v.<java.lang.IllegalArgumentException: void <init>(java.lang.String)>("supplier is null");
throw v;
label:
if v >= 0 goto label;
v = new java.lang.IllegalArgumentException;
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (int)>(v) <java.lang.invoke.StringConcatFactory: java.lang.invoke.CallSite makeConcatWithConstants(java.lang.invoke.MethodHandles$Lookup,java.lang.String,java.lang.invoke.MethodType,java.lang.String,java.lang.Object[])>("limit is negative:\u0001");
specialinvoke v.<java.lang.IllegalArgumentException: void <init>(java.lang.String)>(v);
throw v;
label:
if v != 0 goto label;
return 0;
label:
v = virtualinvoke v.<io.netty.util.internal.shaded.org.jctools.queues.BaseMpscLinkedArrayQueue: long lvProducerLimit()>();
v = virtualinvoke v.<io.netty.util.internal.shaded.org.jctools.queues.BaseMpscLinkedArrayQueue: long lvProducerIndex()>();
v = v & 1L;
v = v cmp 1L;
if v == 0 goto label;
v = v.<io.netty.util.internal.shaded.org.jctools.queues.BaseMpscLinkedArrayQueue: long producerMask>;
v = v.<io.netty.util.internal.shaded.org.jctools.queues.BaseMpscLinkedArrayQueue: java.lang.Object[] producerBuffer>;
v = 2L * v;
v = v + v;
v = staticinvoke <java.lang.Math: long min(long,long)>(v, v);
v = v cmp v;
if v < 0 goto label;
v = specialinvoke v.<io.netty.util.internal.shaded.org.jctools.queues.BaseMpscLinkedArrayQueue: int offerSlowPath(long,long,long)>(v, v, v);
tableswitch(v)
{
case 0: goto label;
case 1: goto label;
case 2: goto label;
case 3: goto label;
default: goto label;
};
label:
return 0;
label:
specialinvoke v.<io.netty.util.internal.shaded.org.jctools.queues.BaseMpscLinkedArrayQueue: void resize(long,java.lang.Object[],long,java.lang.Object,io.netty.util.internal.shaded.org.jctools.queues.MessagePassingQueue$Supplier)>(v, v, v, null, v);
return 1;
label:
v = virtualinvoke v.<io.netty.util.internal.shaded.org.jctools.queues.BaseMpscLinkedArrayQueue: boolean casProducerIndex(long,long)>(v, v);
if v == 0 goto label;
v = v - v;
v = v / 2L;
v = 0;
label:
if v >= v goto label;
v = 2L * v;
v = v + v;
v = staticinvoke <io.netty.util.internal.shaded.org.jctools.queues.LinkedArrayQueueUtil: long modifiedCalcCircularRefElementOffset(long,long)>(v, v);
v = interfaceinvoke v.<io.netty.util.internal.shaded.org.jctools.queues.MessagePassingQueue$Supplier: java.lang.Object get()>();
staticinvoke <io.netty.util.internal.shaded.org.jctools.util.UnsafeRefArrayAccess: void soRefElement(java.lang.Object[],long,java.lang.Object)>(v, v, v);
v = v + 1;
goto label;
label:
return v;
}
public void fill(io.netty.util.internal.shaded.org.jctools.queues.MessagePassingQueue$Supplier, io.netty.util.internal.shaded.org.jctools.queues.MessagePassingQueue$WaitStrategy, io.netty.util.internal.shaded.org.jctools.queues.MessagePassingQueue$ExitCondition)
{
io.netty.util.internal.shaded.org.jctools.queues.MessagePassingQueue$ExitCondition v;
io.netty.util.internal.shaded.org.jctools.queues.BaseMpscLinkedArrayQueue v;
io.netty.util.internal.shaded.org.jctools.queues.MessagePassingQueue$WaitStrategy v;
io.netty.util.internal.shaded.org.jctools.queues.MessagePassingQueue$Supplier v;
v := @this: io.netty.util.internal.shaded.org.jctools.queues.BaseMpscLinkedArrayQueue;
v := @parameter: io.netty.util.internal.shaded.org.jctools.queues.MessagePassingQueue$Supplier;
v := @parameter: io.netty.util.internal.shaded.org.jctools.queues.MessagePassingQueue$WaitStrategy;
v := @parameter: io.netty.util.internal.shaded.org.jctools.queues.MessagePassingQueue$ExitCondition;
staticinvoke <io.netty.util.internal.shaded.org.jctools.queues.MessagePassingQueueUtil: void fill(io.netty.util.internal.shaded.org.jctools.queues.MessagePassingQueue,io.netty.util.internal.shaded.org.jctools.queues.MessagePassingQueue$Supplier,io.netty.util.internal.shaded.org.jctools.queues.MessagePassingQueue$WaitStrategy,io.netty.util.internal.shaded.org.jctools.queues.MessagePassingQueue$ExitCondition)>(v, v, v, v);
return;
}
public int drain(io.netty.util.internal.shaded.org.jctools.queues.MessagePassingQueue$Consumer)
{
io.netty.util.internal.shaded.org.jctools.queues.MessagePassingQueue$Consumer v;
io.netty.util.internal.shaded.org.jctools.queues.BaseMpscLinkedArrayQueue v;
int v, v;
v := @this: io.netty.util.internal.shaded.org.jctools.queues.BaseMpscLinkedArrayQueue;
v := @parameter: io.netty.util.internal.shaded.org.jctools.queues.MessagePassingQueue$Consumer;
v = virtualinvoke v.<io.netty.util.internal.shaded.org.jctools.queues.BaseMpscLinkedArrayQueue: int capacity()>();
v = virtualinvoke v.<io.netty.util.internal.shaded.org.jctools.queues.BaseMpscLinkedArrayQueue: int drain(io.netty.util.internal.shaded.org.jctools.queues.MessagePassingQueue$Consumer,int)>(v, v);
return v;
}
public int drain(io.netty.util.internal.shaded.org.jctools.queues.MessagePassingQueue$Consumer, int)
{
io.netty.util.internal.shaded.org.jctools.queues.MessagePassingQueue$Consumer v;
io.netty.util.internal.shaded.org.jctools.queues.BaseMpscLinkedArrayQueue v;
int v, v;
v := @this: io.netty.util.internal.shaded.org.jctools.queues.BaseMpscLinkedArrayQueue;
v := @parameter: io.netty.util.internal.shaded.org.jctools.queues.MessagePassingQueue$Consumer;
v := @parameter: int;
v = staticinvoke <io.netty.util.internal.shaded.org.jctools.queues.MessagePassingQueueUtil: int drain(io.netty.util.internal.shaded.org.jctools.queues.MessagePassingQueue,io.netty.util.internal.shaded.org.jctools.queues.MessagePassingQueue$Consumer,int)>(v, v, v);
return v;
}
public void drain(io.netty.util.internal.shaded.org.jctools.queues.MessagePassingQueue$Consumer, io.netty.util.internal.shaded.org.jctools.queues.MessagePassingQueue$WaitStrategy, io.netty.util.internal.shaded.org.jctools.queues.MessagePassingQueue$ExitCondition)
{
io.netty.util.internal.shaded.org.jctools.queues.MessagePassingQueue$Consumer v;
io.netty.util.internal.shaded.org.jctools.queues.MessagePassingQueue$ExitCondition v;
io.netty.util.internal.shaded.org.jctools.queues.BaseMpscLinkedArrayQueue v;
io.netty.util.internal.shaded.org.jctools.queues.MessagePassingQueue$WaitStrategy v;
v := @this: io.netty.util.internal.shaded.org.jctools.queues.BaseMpscLinkedArrayQueue;
v := @parameter: io.netty.util.internal.shaded.org.jctools.queues.MessagePassingQueue$Consumer;
v := @parameter: io.netty.util.internal.shaded.org.jctools.queues.MessagePassingQueue$WaitStrategy;
v := @parameter: io.netty.util.internal.shaded.org.jctools.queues.MessagePassingQueue$ExitCondition;
staticinvoke <io.netty.util.internal.shaded.org.jctools.queues.MessagePassingQueueUtil: void drain(io.netty.util.internal.shaded.org.jctools.queues.MessagePassingQueue,io.netty.util.internal.shaded.org.jctools.queues.MessagePassingQueue$Consumer,io.netty.util.internal.shaded.org.jctools.queues.MessagePassingQueue$WaitStrategy,io.netty.util.internal.shaded.org.jctools.queues.MessagePassingQueue$ExitCondition)>(v, v, v, v);
return;
}
public java.util.Iterator iterator()
{
io.netty.util.internal.shaded.org.jctools.queues.BaseMpscLinkedArrayQueue$WeakIterator v;
java.lang.Object[] v;
io.netty.util.internal.shaded.org.jctools.queues.BaseMpscLinkedArrayQueue v;
long v, v;
v := @this: io.netty.util.internal.shaded.org.jctools.queues.BaseMpscLinkedArrayQueue;
v = new io.netty.util.internal.shaded.org.jctools.queues.BaseMpscLinkedArrayQueue$WeakIterator;
v = v.<io.netty.util.internal.shaded.org.jctools.queues.BaseMpscLinkedArrayQueue: java.lang.Object[] consumerBuffer>;
v = virtualinvoke v.<io.netty.util.internal.shaded.org.jctools.queues.BaseMpscLinkedArrayQueue: long lvConsumerIndex()>();
v = virtualinvoke v.<io.netty.util.internal.shaded.org.jctools.queues.BaseMpscLinkedArrayQueue: long lvProducerIndex()>();
specialinvoke v.<io.netty.util.internal.shaded.org.jctools.queues.BaseMpscLinkedArrayQueue$WeakIterator: void <init>(java.lang.Object[],long,long)>(v, v, v);
return v;
}
private void resize(long, java.lang.Object[], long, java.lang.Object, io.netty.util.internal.shaded.org.jctools.queues.MessagePassingQueue$Supplier)
{
java.lang.Object[] v, v;
long v, v, v, v, v, v, v, v, v, v, v, v;
java.lang.AssertionError v, v;
byte v;
int v, v, v;
boolean v, v;
io.netty.util.internal.shaded.org.jctools.queues.BaseMpscLinkedArrayQueue v;
io.netty.util.internal.shaded.org.jctools.queues.MessagePassingQueue$Supplier v;
java.lang.Object v, v, v;
java.lang.OutOfMemoryError v;
v := @this: io.netty.util.internal.shaded.org.jctools.queues.BaseMpscLinkedArrayQueue;
v := @parameter: long;
v := @parameter: java.lang.Object[];
v := @parameter: long;
v := @parameter: java.lang.Object;
v := @parameter: io.netty.util.internal.shaded.org.jctools.queues.MessagePassingQueue$Supplier;
v = <io.netty.util.internal.shaded.org.jctools.queues.BaseMpscLinkedArrayQueue: boolean $assertionsDisabled>;
if v != 0 goto label;
if v == null goto label;
if v == null goto label;
if v == null goto label;
if v != null goto label;
v = new java.lang.AssertionError;
specialinvoke v.<java.lang.AssertionError: void <init>()>();
throw v;
label:
v = virtualinvoke v.<io.netty.util.internal.shaded.org.jctools.queues.BaseMpscLinkedArrayQueue: int getNextBufferSize(java.lang.Object[])>(v);
label:
v = staticinvoke <io.netty.util.internal.shaded.org.jctools.util.UnsafeRefArrayAccess: java.lang.Object[] allocateRefArray(int)>(v);
label:
goto label;
label:
v := @caughtexception;
v = <io.netty.util.internal.shaded.org.jctools.queues.BaseMpscLinkedArrayQueue: boolean $assertionsDisabled>;
if v != 0 goto label;
v = virtualinvoke v.<io.netty.util.internal.shaded.org.jctools.queues.BaseMpscLinkedArrayQueue: long lvProducerIndex()>();
v = v + 1L;
v = v cmp v;
if v == 0 goto label;
v = new java.lang.AssertionError;
specialinvoke v.<java.lang.AssertionError: void <init>()>();
throw v;
label:
virtualinvoke v.<io.netty.util.internal.shaded.org.jctools.queues.BaseMpscLinkedArrayQueue: void soProducerIndex(long)>(v);
throw v;
label:
v.<io.netty.util.internal.shaded.org.jctools.queues.BaseMpscLinkedArrayQueue: java.lang.Object[] producerBuffer> = v;
v = v - 2;
v = v << 1;
v.<io.netty.util.internal.shaded.org.jctools.queues.BaseMpscLinkedArrayQueue: long producerMask> = v;
v = staticinvoke <io.netty.util.internal.shaded.org.jctools.queues.LinkedArrayQueueUtil: long modifiedCalcCircularRefElementOffset(long,long)>(v, v);
v = staticinvoke <io.netty.util.internal.shaded.org.jctools.queues.LinkedArrayQueueUtil: long modifiedCalcCircularRefElementOffset(long,long)>(v, v);
if v != null goto label;
v = interfaceinvoke v.<io.netty.util.internal.shaded.org.jctools.queues.MessagePassingQueue$Supplier: java.lang.Object get()>();
goto label;
label:
v = v;
label:
staticinvoke <io.netty.util.internal.shaded.org.jctools.util.UnsafeRefArrayAccess: void soRefElement(java.lang.Object[],long,java.lang.Object)>(v, v, v);
v = staticinvoke <io.netty.util.internal.shaded.org.jctools.queues.BaseMpscLinkedArrayQueue: long nextArrayOffset(long)>(v);
staticinvoke <io.netty.util.internal.shaded.org.jctools.util.UnsafeRefArrayAccess: void soRefElement(java.lang.Object[],long,java.lang.Object)>(v, v, v);
v = virtualinvoke v.<io.netty.util.internal.shaded.org.jctools.queues.BaseMpscLinkedArrayQueue: long lvConsumerIndex()>();
v = virtualinvoke v.<io.netty.util.internal.shaded.org.jctools.queues.BaseMpscLinkedArrayQueue: long availableInQueue(long,long)>(v, v);
staticinvoke <io.netty.util.internal.shaded.org.jctools.util.RangeUtil: long checkPositive(long,java.lang.String)>(v, "availableInQueue");
v = staticinvoke <java.lang.Math: long min(long,long)>(v, v);
v = v + v;
virtualinvoke v.<io.netty.util.internal.shaded.org.jctools.queues.BaseMpscLinkedArrayQueue: void soProducerLimit(long)>(v);
v = v + 2L;
virtualinvoke v.<io.netty.util.internal.shaded.org.jctools.queues.BaseMpscLinkedArrayQueue: void soProducerIndex(long)>(v);
v = <io.netty.util.internal.shaded.org.jctools.queues.BaseMpscLinkedArrayQueue: java.lang.Object JUMP>;
staticinvoke <io.netty.util.internal.shaded.org.jctools.util.UnsafeRefArrayAccess: void soRefElement(java.lang.Object[],long,java.lang.Object)>(v, v, v);
return;
catch java.lang.OutOfMemoryError from label to label with label;
}
protected abstract int getNextBufferSize(java.lang.Object[]);
protected abstract long getCurrentBufferCapacity(long);
static void <clinit>()
{
java.lang.Class v;
java.lang.Object v, v;
boolean v, v;
v = class "Lio/netty/util/internal/shaded/org/jctools/queues/BaseMpscLinkedArrayQueue;";
v = virtualinvoke v.<java.lang.Class: boolean desiredAssertionStatus()>();
if v != 0 goto label;
v = 1;
goto label;
label:
v = 0;
label:
<io.netty.util.internal.shaded.org.jctools.queues.BaseMpscLinkedArrayQueue: boolean $assertionsDisabled> = v;
v = new java.lang.Object;
specialinvoke v.<java.lang.Object: void <init>()>();
<io.netty.util.internal.shaded.org.jctools.queues.BaseMpscLinkedArrayQueue: java.lang.Object JUMP> = v;
v = new java.lang.Object;
specialinvoke v.<java.lang.Object: void <init>()>();
<io.netty.util.internal.shaded.org.jctools.queues.BaseMpscLinkedArrayQueue: java.lang.Object BUFFER_CONSUMED> = v;
return;
}
}