public abstract class io.netty.buffer.AbstractReferenceCountedByteBuf extends io.netty.buffer.AbstractByteBuf
{
private static final long REFCNT_FIELD_OFFSET;
private static final java.util.concurrent.atomic.AtomicIntegerFieldUpdater AIF_UPDATER;
private static final io.netty.util.internal.ReferenceCountUpdater updater;
private volatile int refCnt;
protected void <init>(int)
{
int v;
io.netty.buffer.AbstractReferenceCountedByteBuf v;
io.netty.util.internal.ReferenceCountUpdater v;
v := @this: io.netty.buffer.AbstractReferenceCountedByteBuf;
v := @parameter: int;
specialinvoke v.<io.netty.buffer.AbstractByteBuf: void <init>(int)>(v);
v = <io.netty.buffer.AbstractReferenceCountedByteBuf: io.netty.util.internal.ReferenceCountUpdater updater>;
virtualinvoke v.<io.netty.util.internal.ReferenceCountUpdater: void setInitialValue(io.netty.util.ReferenceCounted)>(v);
return;
}
boolean isAccessible()
{
io.netty.buffer.AbstractReferenceCountedByteBuf v;
boolean v;
io.netty.util.internal.ReferenceCountUpdater v;
v := @this: io.netty.buffer.AbstractReferenceCountedByteBuf;
v = <io.netty.buffer.AbstractReferenceCountedByteBuf: io.netty.util.internal.ReferenceCountUpdater updater>;
v = virtualinvoke v.<io.netty.util.internal.ReferenceCountUpdater: boolean isLiveNonVolatile(io.netty.util.ReferenceCounted)>(v);
return v;
}
public int refCnt()
{
int v;
io.netty.buffer.AbstractReferenceCountedByteBuf v;
io.netty.util.internal.ReferenceCountUpdater v;
v := @this: io.netty.buffer.AbstractReferenceCountedByteBuf;
v = <io.netty.buffer.AbstractReferenceCountedByteBuf: io.netty.util.internal.ReferenceCountUpdater updater>;
v = virtualinvoke v.<io.netty.util.internal.ReferenceCountUpdater: int refCnt(io.netty.util.ReferenceCounted)>(v);
return v;
}
protected final void setRefCnt(int)
{
int v;
io.netty.buffer.AbstractReferenceCountedByteBuf v;
io.netty.util.internal.ReferenceCountUpdater v;
v := @this: io.netty.buffer.AbstractReferenceCountedByteBuf;
v := @parameter: int;
v = <io.netty.buffer.AbstractReferenceCountedByteBuf: io.netty.util.internal.ReferenceCountUpdater updater>;
virtualinvoke v.<io.netty.util.internal.ReferenceCountUpdater: void setRefCnt(io.netty.util.ReferenceCounted,int)>(v, v);
return;
}
protected final void resetRefCnt()
{
io.netty.buffer.AbstractReferenceCountedByteBuf v;
io.netty.util.internal.ReferenceCountUpdater v;
v := @this: io.netty.buffer.AbstractReferenceCountedByteBuf;
v = <io.netty.buffer.AbstractReferenceCountedByteBuf: io.netty.util.internal.ReferenceCountUpdater updater>;
virtualinvoke v.<io.netty.util.internal.ReferenceCountUpdater: void resetRefCnt(io.netty.util.ReferenceCounted)>(v);
return;
}
public io.netty.buffer.ByteBuf retain()
{
io.netty.buffer.AbstractReferenceCountedByteBuf v;
io.netty.util.ReferenceCounted v;
io.netty.util.internal.ReferenceCountUpdater v;
v := @this: io.netty.buffer.AbstractReferenceCountedByteBuf;
v = <io.netty.buffer.AbstractReferenceCountedByteBuf: io.netty.util.internal.ReferenceCountUpdater updater>;
v = virtualinvoke v.<io.netty.util.internal.ReferenceCountUpdater: io.netty.util.ReferenceCounted retain(io.netty.util.ReferenceCounted)>(v);
return v;
}
public io.netty.buffer.ByteBuf retain(int)
{
int v;
io.netty.buffer.AbstractReferenceCountedByteBuf v;
io.netty.util.ReferenceCounted v;
io.netty.util.internal.ReferenceCountUpdater v;
v := @this: io.netty.buffer.AbstractReferenceCountedByteBuf;
v := @parameter: int;
v = <io.netty.buffer.AbstractReferenceCountedByteBuf: io.netty.util.internal.ReferenceCountUpdater updater>;
v = virtualinvoke v.<io.netty.util.internal.ReferenceCountUpdater: io.netty.util.ReferenceCounted retain(io.netty.util.ReferenceCounted,int)>(v, v);
return v;
}
public io.netty.buffer.ByteBuf touch()
{
io.netty.buffer.AbstractReferenceCountedByteBuf v;
v := @this: io.netty.buffer.AbstractReferenceCountedByteBuf;
return v;
}
public io.netty.buffer.ByteBuf touch(java.lang.Object)
{
java.lang.Object v;
io.netty.buffer.AbstractReferenceCountedByteBuf v;
v := @this: io.netty.buffer.AbstractReferenceCountedByteBuf;
v := @parameter: java.lang.Object;
return v;
}
public boolean release()
{
io.netty.buffer.AbstractReferenceCountedByteBuf v;
boolean v, v;
io.netty.util.internal.ReferenceCountUpdater v;
v := @this: io.netty.buffer.AbstractReferenceCountedByteBuf;
v = <io.netty.buffer.AbstractReferenceCountedByteBuf: io.netty.util.internal.ReferenceCountUpdater updater>;
v = virtualinvoke v.<io.netty.util.internal.ReferenceCountUpdater: boolean release(io.netty.util.ReferenceCounted)>(v);
v = specialinvoke v.<io.netty.buffer.AbstractReferenceCountedByteBuf: boolean handleRelease(boolean)>(v);
return v;
}
public boolean release(int)
{
int v;
io.netty.buffer.AbstractReferenceCountedByteBuf v;
boolean v, v;
io.netty.util.internal.ReferenceCountUpdater v;
v := @this: io.netty.buffer.AbstractReferenceCountedByteBuf;
v := @parameter: int;
v = <io.netty.buffer.AbstractReferenceCountedByteBuf: io.netty.util.internal.ReferenceCountUpdater updater>;
v = virtualinvoke v.<io.netty.util.internal.ReferenceCountUpdater: boolean release(io.netty.util.ReferenceCounted,int)>(v, v);
v = specialinvoke v.<io.netty.buffer.AbstractReferenceCountedByteBuf: boolean handleRelease(boolean)>(v);
return v;
}
private boolean handleRelease(boolean)
{
io.netty.buffer.AbstractReferenceCountedByteBuf v;
boolean v;
v := @this: io.netty.buffer.AbstractReferenceCountedByteBuf;
v := @parameter: boolean;
if v == 0 goto label;
virtualinvoke v.<io.netty.buffer.AbstractReferenceCountedByteBuf: void deallocate()>();
label:
return v;
}
protected abstract void deallocate();
static void <clinit>()
{
java.util.concurrent.atomic.AtomicIntegerFieldUpdater v;
long v;
io.netty.buffer.AbstractReferenceCountedByteBuf$1 v;
v = staticinvoke <io.netty.util.internal.ReferenceCountUpdater: long getUnsafeOffset(java.lang.Class,java.lang.String)>(class "Lio/netty/buffer/AbstractReferenceCountedByteBuf;", "refCnt");
<io.netty.buffer.AbstractReferenceCountedByteBuf: long REFCNT_FIELD_OFFSET> = v;
v = staticinvoke <java.util.concurrent.atomic.AtomicIntegerFieldUpdater: java.util.concurrent.atomic.AtomicIntegerFieldUpdater newUpdater(java.lang.Class,java.lang.String)>(class "Lio/netty/buffer/AbstractReferenceCountedByteBuf;", "refCnt");
<io.netty.buffer.AbstractReferenceCountedByteBuf: java.util.concurrent.atomic.AtomicIntegerFieldUpdater AIF_UPDATER> = v;
v = new io.netty.buffer.AbstractReferenceCountedByteBuf$1;
specialinvoke v.<io.netty.buffer.AbstractReferenceCountedByteBuf$1: void <init>()>();
<io.netty.buffer.AbstractReferenceCountedByteBuf: io.netty.util.internal.ReferenceCountUpdater updater> = v;
return;
}
}