public abstract class io.netty.buffer.AbstractReferenceCountedByteBuf extends io.netty.buffer.AbstractByteBuf
minor version: 0
major version: 59
flags: flags: (0x0421) ACC_PUBLIC, ACC_SUPER, ACC_ABSTRACT
this_class: io.netty.buffer.AbstractReferenceCountedByteBuf
super_class: io.netty.buffer.AbstractByteBuf
{
private static final java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.netty.buffer.AbstractReferenceCountedByteBuf> refCntUpdater;
descriptor: Ljava/util/concurrent/atomic/AtomicIntegerFieldUpdater;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
Signature: Ljava/util/concurrent/atomic/AtomicIntegerFieldUpdater<Lio/netty/buffer/AbstractReferenceCountedByteBuf;>;
private volatile int refCnt;
descriptor: I
flags: (0x0042) ACC_PRIVATE, ACC_VOLATILE
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=2, locals=0, args_size=0
0: ldc Lio/netty/buffer/AbstractReferenceCountedByteBuf;
ldc "refCnt"
invokestatic java.util.concurrent.atomic.AtomicIntegerFieldUpdater.newUpdater:(Ljava/lang/Class;Ljava/lang/String;)Ljava/util/concurrent/atomic/AtomicIntegerFieldUpdater;
1: putstatic io.netty.buffer.AbstractReferenceCountedByteBuf.refCntUpdater:Ljava/util/concurrent/atomic/AtomicIntegerFieldUpdater;
2: return
LocalVariableTable:
Start End Slot Name Signature
protected void <init>(int);
descriptor: (I)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
iload 1
invokespecial io.netty.buffer.AbstractByteBuf.<init>:(I)V
1: getstatic io.netty.buffer.AbstractReferenceCountedByteBuf.refCntUpdater:Ljava/util/concurrent/atomic/AtomicIntegerFieldUpdater;
aload 0
iconst_1
invokevirtual java.util.concurrent.atomic.AtomicIntegerFieldUpdater.set:(Ljava/lang/Object;I)V
2: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lio/netty/buffer/AbstractReferenceCountedByteBuf;
0 3 1 maxCapacity I
MethodParameters:
Name Flags
maxCapacity
public int refCnt();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield io.netty.buffer.AbstractReferenceCountedByteBuf.refCnt:I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lio/netty/buffer/AbstractReferenceCountedByteBuf;
protected final void setRefCnt(int);
descriptor: (I)V
flags: (0x0014) ACC_PROTECTED, ACC_FINAL
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: getstatic io.netty.buffer.AbstractReferenceCountedByteBuf.refCntUpdater:Ljava/util/concurrent/atomic/AtomicIntegerFieldUpdater;
aload 0
iload 1
invokevirtual java.util.concurrent.atomic.AtomicIntegerFieldUpdater.set:(Ljava/lang/Object;I)V
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lio/netty/buffer/AbstractReferenceCountedByteBuf;
0 2 1 refCnt I
MethodParameters:
Name Flags
refCnt
public io.netty.buffer.ByteBuf retain();
descriptor: ()Lio/netty/buffer/ByteBuf;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
iconst_1
invokevirtual io.netty.buffer.AbstractReferenceCountedByteBuf.retain0:(I)Lio/netty/buffer/ByteBuf;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lio/netty/buffer/AbstractReferenceCountedByteBuf;
public io.netty.buffer.ByteBuf retain(int);
descriptor: (I)Lio/netty/buffer/ByteBuf;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
iload 1
ldc "increment"
invokestatic io.netty.util.internal.ObjectUtil.checkPositive:(ILjava/lang/String;)I
invokevirtual io.netty.buffer.AbstractReferenceCountedByteBuf.retain0:(I)Lio/netty/buffer/ByteBuf;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lio/netty/buffer/AbstractReferenceCountedByteBuf;
0 1 1 increment I
MethodParameters:
Name Flags
increment
private io.netty.buffer.ByteBuf retain0(int);
descriptor: (I)Lio/netty/buffer/ByteBuf;
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=3, args_size=2
start local 0 start local 1 0: getstatic io.netty.buffer.AbstractReferenceCountedByteBuf.refCntUpdater:Ljava/util/concurrent/atomic/AtomicIntegerFieldUpdater;
aload 0
iload 1
invokevirtual java.util.concurrent.atomic.AtomicIntegerFieldUpdater.getAndAdd:(Ljava/lang/Object;I)I
istore 2
start local 2 1: iload 2
ifle 2
iload 2
iload 1
iadd
iload 2
if_icmpge 4
2: StackMap locals: int
StackMap stack:
getstatic io.netty.buffer.AbstractReferenceCountedByteBuf.refCntUpdater:Ljava/util/concurrent/atomic/AtomicIntegerFieldUpdater;
aload 0
iload 1
ineg
invokevirtual java.util.concurrent.atomic.AtomicIntegerFieldUpdater.getAndAdd:(Ljava/lang/Object;I)I
pop
3: new io.netty.util.IllegalReferenceCountException
dup
iload 2
iload 1
invokespecial io.netty.util.IllegalReferenceCountException.<init>:(II)V
athrow
4: StackMap locals:
StackMap stack:
aload 0
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lio/netty/buffer/AbstractReferenceCountedByteBuf;
0 5 1 increment I
1 5 2 oldRef I
MethodParameters:
Name Flags
increment final
public io.netty.buffer.ByteBuf touch();
descriptor: ()Lio/netty/buffer/ByteBuf;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lio/netty/buffer/AbstractReferenceCountedByteBuf;
public io.netty.buffer.ByteBuf touch(java.lang.Object);
descriptor: (Ljava/lang/Object;)Lio/netty/buffer/ByteBuf;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=2, args_size=2
start local 0 start local 1 0: aload 0
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lio/netty/buffer/AbstractReferenceCountedByteBuf;
0 1 1 hint Ljava/lang/Object;
MethodParameters:
Name Flags
hint
public boolean release();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
iconst_1
invokevirtual io.netty.buffer.AbstractReferenceCountedByteBuf.release0:(I)Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lio/netty/buffer/AbstractReferenceCountedByteBuf;
public boolean release(int);
descriptor: (I)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
iload 1
ldc "decrement"
invokestatic io.netty.util.internal.ObjectUtil.checkPositive:(ILjava/lang/String;)I
invokevirtual io.netty.buffer.AbstractReferenceCountedByteBuf.release0:(I)Z
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lio/netty/buffer/AbstractReferenceCountedByteBuf;
0 1 1 decrement I
MethodParameters:
Name Flags
decrement
private boolean release0(int);
descriptor: (I)Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=3, args_size=2
start local 0 start local 1 0: getstatic io.netty.buffer.AbstractReferenceCountedByteBuf.refCntUpdater:Ljava/util/concurrent/atomic/AtomicIntegerFieldUpdater;
aload 0
iload 1
ineg
invokevirtual java.util.concurrent.atomic.AtomicIntegerFieldUpdater.getAndAdd:(Ljava/lang/Object;I)I
istore 2
start local 2 1: iload 2
iload 1
if_icmpne 4
2: aload 0
invokevirtual io.netty.buffer.AbstractReferenceCountedByteBuf.deallocate:()V
3: iconst_1
ireturn
4: StackMap locals: int
StackMap stack:
iload 2
iload 1
if_icmplt 5
iload 2
iload 1
isub
iload 2
if_icmple 7
5: StackMap locals:
StackMap stack:
getstatic io.netty.buffer.AbstractReferenceCountedByteBuf.refCntUpdater:Ljava/util/concurrent/atomic/AtomicIntegerFieldUpdater;
aload 0
iload 1
invokevirtual java.util.concurrent.atomic.AtomicIntegerFieldUpdater.getAndAdd:(Ljava/lang/Object;I)I
pop
6: new io.netty.util.IllegalReferenceCountException
dup
iload 2
iload 1
ineg
invokespecial io.netty.util.IllegalReferenceCountException.<init>:(II)V
athrow
7: StackMap locals:
StackMap stack:
iconst_0
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lio/netty/buffer/AbstractReferenceCountedByteBuf;
0 8 1 decrement I
1 8 2 oldRef I
MethodParameters:
Name Flags
decrement
protected abstract void deallocate();
descriptor: ()V
flags: (0x0404) ACC_PROTECTED, ACC_ABSTRACT
public io.netty.util.ReferenceCounted retain(int);
descriptor: (I)Lio/netty/util/ReferenceCounted;
flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
Code:
stack=2, locals=2, args_size=2
0: aload 0
iload 1
invokevirtual io.netty.buffer.AbstractReferenceCountedByteBuf.retain:(I)Lio/netty/buffer/ByteBuf;
areturn
LocalVariableTable:
Start End Slot Name Signature
public io.netty.util.ReferenceCounted retain();
descriptor: ()Lio/netty/util/ReferenceCounted;
flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
Code:
stack=1, locals=1, args_size=1
0: aload 0
invokevirtual io.netty.buffer.AbstractReferenceCountedByteBuf.retain:()Lio/netty/buffer/ByteBuf;
areturn
LocalVariableTable:
Start End Slot Name Signature
public io.netty.util.ReferenceCounted touch(java.lang.Object);
descriptor: (Ljava/lang/Object;)Lio/netty/util/ReferenceCounted;
flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
Code:
stack=2, locals=2, args_size=2
0: aload 0
aload 1
invokevirtual io.netty.buffer.AbstractReferenceCountedByteBuf.touch:(Ljava/lang/Object;)Lio/netty/buffer/ByteBuf;
areturn
LocalVariableTable:
Start End Slot Name Signature
public io.netty.util.ReferenceCounted touch();
descriptor: ()Lio/netty/util/ReferenceCounted;
flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
Code:
stack=1, locals=1, args_size=1
0: aload 0
invokevirtual io.netty.buffer.AbstractReferenceCountedByteBuf.touch:()Lio/netty/buffer/ByteBuf;
areturn
LocalVariableTable:
Start End Slot Name Signature
}
SourceFile: "AbstractReferenceCountedByteBuf.java"