public final class io.netty.handler.codec.compression.Snappy
minor version: 0
major version: 59
flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
this_class: io.netty.handler.codec.compression.Snappy
super_class: java.lang.Object
{
private static final int MAX_HT_SIZE;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 16384
private static final int MIN_COMPRESSIBLE_BYTES;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 15
private static final int PREAMBLE_NOT_FULL;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: -1
private static final int NOT_ENOUGH_INPUT;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: -1
private static final int LITERAL;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 0
private static final int COPY_1_BYTE_OFFSET;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 1
private static final int COPY_2_BYTE_OFFSET;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 2
private static final int COPY_4_BYTE_OFFSET;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 3
private io.netty.handler.codec.compression.Snappy$State state;
descriptor: Lio/netty/handler/codec/compression/Snappy$State;
flags: (0x0002) ACC_PRIVATE
private byte tag;
descriptor: B
flags: (0x0002) ACC_PRIVATE
private int written;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private static volatile int[] $SWITCH_TABLE$io$netty$handler$codec$compression$Snappy$State;
descriptor: [I
flags: (0x104a) ACC_PRIVATE, ACC_STATIC, ACC_VOLATILE, ACC_SYNTHETIC
public void <init>();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
getstatic io.netty.handler.codec.compression.Snappy$State.READY:Lio/netty/handler/codec/compression/Snappy$State;
putfield io.netty.handler.codec.compression.Snappy.state:Lio/netty/handler/codec/compression/Snappy$State;
2: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lio/netty/handler/codec/compression/Snappy;
public void reset();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getstatic io.netty.handler.codec.compression.Snappy$State.READY:Lio/netty/handler/codec/compression/Snappy$State;
putfield io.netty.handler.codec.compression.Snappy.state:Lio/netty/handler/codec/compression/Snappy$State;
1: aload 0
iconst_0
putfield io.netty.handler.codec.compression.Snappy.tag:B
2: aload 0
iconst_0
putfield io.netty.handler.codec.compression.Snappy.written:I
3: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lio/netty/handler/codec/compression/Snappy;
public void encode(io.netty.buffer.ByteBuf, io.netty.buffer.ByteBuf, int);
descriptor: (Lio/netty/buffer/ByteBuf;Lio/netty/buffer/ByteBuf;I)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=19, args_size=4
start local 0 start local 1 start local 2 start local 3 0: iconst_0
istore 4
start local 4 1: StackMap locals: int
StackMap stack:
iload 3
iload 4
bipush 7
imul
iushr
istore 5
start local 5 2: iload 5
bipush -128
iand
ifeq 5
3: aload 2
iload 5
bipush 127
iand
sipush 128
ior
invokevirtual io.netty.buffer.ByteBuf.writeByte:(I)Lio/netty/buffer/ByteBuf;
pop
4: goto 7
5: StackMap locals: int
StackMap stack:
aload 2
iload 5
invokevirtual io.netty.buffer.ByteBuf.writeByte:(I)Lio/netty/buffer/ByteBuf;
pop
6: goto 8
end local 5 7: StackMap locals:
StackMap stack:
iinc 4 1
goto 1
end local 4 8: StackMap locals:
StackMap stack:
aload 1
invokevirtual io.netty.buffer.ByteBuf.readerIndex:()I
istore 4
start local 4 9: iload 4
istore 5
start local 5 10: iload 3
invokestatic io.netty.handler.codec.compression.Snappy.getHashTable:(I)[S
astore 6
start local 6 11: aload 6
arraylength
invokestatic java.lang.Integer.numberOfLeadingZeros:(I)I
iconst_1
iadd
istore 7
start local 7 12: iload 4
istore 8
start local 8 13: iload 3
iload 4
isub
bipush 15
if_icmplt 47
14: aload 1
iinc 4 1
iload 4
iload 7
invokestatic io.netty.handler.codec.compression.Snappy.hash:(Lio/netty/buffer/ByteBuf;II)I
istore 9
start local 9 15: StackMap locals: io.netty.handler.codec.compression.Snappy io.netty.buffer.ByteBuf io.netty.buffer.ByteBuf int int int short[] int int int
StackMap stack:
bipush 32
istore 10
start local 10 16: iload 4
istore 12
start local 12 17: StackMap locals: io.netty.handler.codec.compression.Snappy io.netty.buffer.ByteBuf io.netty.buffer.ByteBuf int int int short[] int int int int top int
StackMap stack:
iload 12
istore 4
18: iload 9
istore 13
start local 13 19: iload 10
iinc 10 1
iconst_5
ishr
istore 14
start local 14 20: iload 4
iload 14
iadd
istore 12
21: iload 12
iload 3
iconst_4
isub
if_icmple 23
22: goto 47
23: StackMap locals: int int
StackMap stack:
aload 1
iload 12
iload 7
invokestatic io.netty.handler.codec.compression.Snappy.hash:(Lio/netty/buffer/ByteBuf;II)I
istore 9
24: iload 5
aload 6
iload 13
saload
iadd
istore 11
start local 11 25: aload 6
iload 13
iload 4
iload 5
isub
i2s
sastore
end local 14 end local 13 26: aload 1
iload 4
invokevirtual io.netty.buffer.ByteBuf.getInt:(I)I
aload 1
iload 11
invokevirtual io.netty.buffer.ByteBuf.getInt:(I)I
if_icmpne 17
27: aload 1
aload 2
iload 4
iload 8
isub
invokestatic io.netty.handler.codec.compression.Snappy.encodeLiteral:(Lio/netty/buffer/ByteBuf;Lio/netty/buffer/ByteBuf;I)V
28: StackMap locals: io.netty.handler.codec.compression.Snappy io.netty.buffer.ByteBuf io.netty.buffer.ByteBuf int int int short[] int int int int int int
StackMap stack:
iload 4
istore 14
start local 14 29: iconst_4
aload 1
iload 11
iconst_4
iadd
iload 4
iconst_4
iadd
iload 3
invokestatic io.netty.handler.codec.compression.Snappy.findMatchingLength:(Lio/netty/buffer/ByteBuf;III)I
iadd
istore 15
start local 15 30: iload 4
iload 15
iadd
istore 4
31: iload 14
iload 11
isub
istore 16
start local 16 32: aload 2
iload 16
iload 15
invokestatic io.netty.handler.codec.compression.Snappy.encodeCopy:(Lio/netty/buffer/ByteBuf;II)V
33: aload 1
aload 1
invokevirtual io.netty.buffer.ByteBuf.readerIndex:()I
iload 15
iadd
invokevirtual io.netty.buffer.ByteBuf.readerIndex:(I)Lio/netty/buffer/ByteBuf;
pop
34: iload 4
iconst_1
isub
istore 13
start local 13 35: iload 4
istore 8
36: iload 4
iload 3
iconst_4
isub
if_icmplt 38
37: goto 47
38: StackMap locals: io.netty.handler.codec.compression.Snappy io.netty.buffer.ByteBuf io.netty.buffer.ByteBuf int int int short[] int int int int int int int int int int
StackMap stack:
aload 1
iload 13
iload 7
invokestatic io.netty.handler.codec.compression.Snappy.hash:(Lio/netty/buffer/ByteBuf;II)I
istore 17
start local 17 39: aload 6
iload 17
iload 4
iload 5
isub
iconst_1
isub
i2s
sastore
40: aload 1
iload 13
iconst_1
iadd
iload 7
invokestatic io.netty.handler.codec.compression.Snappy.hash:(Lio/netty/buffer/ByteBuf;II)I
istore 18
start local 18 41: iload 5
aload 6
iload 18
saload
iadd
istore 11
42: aload 6
iload 18
iload 4
iload 5
isub
i2s
sastore
end local 18 end local 17 end local 16 end local 15 end local 14 43: aload 1
iload 13
iconst_1
iadd
invokevirtual io.netty.buffer.ByteBuf.getInt:(I)I
aload 1
iload 11
invokevirtual io.netty.buffer.ByteBuf.getInt:(I)I
if_icmpeq 28
44: aload 1
iload 13
iconst_2
iadd
iload 7
invokestatic io.netty.handler.codec.compression.Snappy.hash:(Lio/netty/buffer/ByteBuf;II)I
istore 9
45: iinc 4 1
end local 13 end local 12 end local 11 end local 10 46: goto 15
end local 9 47: StackMap locals: io.netty.handler.codec.compression.Snappy io.netty.buffer.ByteBuf io.netty.buffer.ByteBuf int int int short[] int int
StackMap stack:
iload 8
iload 3
if_icmpge 49
48: aload 1
aload 2
iload 3
iload 8
isub
invokestatic io.netty.handler.codec.compression.Snappy.encodeLiteral:(Lio/netty/buffer/ByteBuf;Lio/netty/buffer/ByteBuf;I)V
49: StackMap locals:
StackMap stack:
return
end local 8 end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 50 0 this Lio/netty/handler/codec/compression/Snappy;
0 50 1 in Lio/netty/buffer/ByteBuf;
0 50 2 out Lio/netty/buffer/ByteBuf;
0 50 3 length I
1 8 4 i I
2 7 5 b I
9 50 4 inIndex I
10 50 5 baseIndex I
11 50 6 table [S
12 50 7 shift I
13 50 8 nextEmit I
15 47 9 nextHash I
16 46 10 skip I
25 46 11 candidate I
17 46 12 nextIndex I
19 26 13 hash I
20 26 14 bytesBetweenHashLookups I
35 46 13 insertTail I
29 43 14 base I
30 43 15 matched I
32 43 16 offset I
39 43 17 prevHash I
41 43 18 currentHash I
MethodParameters:
Name Flags
in final
out final
length final
private static int hash(io.netty.buffer.ByteBuf, int, int);
descriptor: (Lio/netty/buffer/ByteBuf;II)I
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
iload 1
invokevirtual io.netty.buffer.ByteBuf.getInt:(I)I
ldc 506832829
imul
iload 2
iushr
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 in Lio/netty/buffer/ByteBuf;
0 1 1 index I
0 1 2 shift I
MethodParameters:
Name Flags
in
index
shift
private static short[] getHashTable(int);
descriptor: (I)[S
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=2, args_size=1
start local 0 0: sipush 256
istore 1
start local 1 1: goto 3
2: StackMap locals: int
StackMap stack:
iload 1
iconst_1
ishl
istore 1
3: StackMap locals:
StackMap stack:
iload 1
sipush 16384
if_icmpge 4
iload 1
iload 0
if_icmplt 2
4: StackMap locals:
StackMap stack:
iload 1
newarray 9
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 inputSize I
1 5 1 htSize I
MethodParameters:
Name Flags
inputSize
private static int findMatchingLength(io.netty.buffer.ByteBuf, int, int, int);
descriptor: (Lio/netty/buffer/ByteBuf;III)I
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=4, locals=5, args_size=4
start local 0 start local 1 start local 2 start local 3 0: iconst_0
istore 4
start local 4 1: goto 4
2: StackMap locals: int
StackMap stack:
iinc 2 4
3: iinc 4 4
4: StackMap locals:
StackMap stack:
iload 2
iload 3
iconst_4
isub
if_icmpgt 9
5: aload 0
iload 2
invokevirtual io.netty.buffer.ByteBuf.getInt:(I)I
aload 0
iload 1
iload 4
iadd
invokevirtual io.netty.buffer.ByteBuf.getInt:(I)I
if_icmpeq 2
6: goto 9
7: StackMap locals:
StackMap stack:
iinc 2 1
8: iinc 4 1
9: StackMap locals:
StackMap stack:
iload 2
iload 3
if_icmpge 10
aload 0
iload 1
iload 4
iadd
invokevirtual io.netty.buffer.ByteBuf.getByte:(I)B
aload 0
iload 2
invokevirtual io.netty.buffer.ByteBuf.getByte:(I)B
if_icmpeq 7
10: StackMap locals:
StackMap stack:
iload 4
ireturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 in Lio/netty/buffer/ByteBuf;
0 11 1 minIndex I
0 11 2 inIndex I
0 11 3 maxIndex I
1 11 4 matched I
MethodParameters:
Name Flags
in
minIndex
inIndex
maxIndex
private static int bitsToEncode(int);
descriptor: (I)I
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=3, args_size=1
start local 0 0: iload 0
invokestatic java.lang.Integer.highestOneBit:(I)I
istore 1
start local 1 1: iconst_0
istore 2
start local 2 2: goto 4
3: StackMap locals: int int
StackMap stack:
iinc 2 1
4: StackMap locals:
StackMap stack:
iload 1
iconst_1
ishr
dup
istore 1
ifne 3
5: iload 2
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 value I
1 6 1 highestOneBit I
2 6 2 bitLength I
MethodParameters:
Name Flags
value
static void encodeLiteral(io.netty.buffer.ByteBuf, io.netty.buffer.ByteBuf, int);
descriptor: (Lio/netty/buffer/ByteBuf;Lio/netty/buffer/ByteBuf;I)V
flags: (0x0008) ACC_STATIC
Code:
stack=4, locals=6, args_size=3
start local 0 start local 1 start local 2 0: iload 2
bipush 61
if_icmpge 3
1: aload 1
iload 2
iconst_1
isub
iconst_2
ishl
invokevirtual io.netty.buffer.ByteBuf.writeByte:(I)Lio/netty/buffer/ByteBuf;
pop
2: goto 11
3: StackMap locals:
StackMap stack:
iload 2
iconst_1
isub
invokestatic io.netty.handler.codec.compression.Snappy.bitsToEncode:(I)I
istore 3
start local 3 4: iconst_1
iload 3
bipush 8
idiv
iadd
istore 4
start local 4 5: aload 1
bipush 59
iload 4
iadd
iconst_2
ishl
invokevirtual io.netty.buffer.ByteBuf.writeByte:(I)Lio/netty/buffer/ByteBuf;
pop
6: iconst_0
istore 5
start local 5 7: goto 10
8: StackMap locals: int int int
StackMap stack:
aload 1
iload 2
iconst_1
isub
iload 5
bipush 8
imul
ishr
sipush 255
iand
invokevirtual io.netty.buffer.ByteBuf.writeByte:(I)Lio/netty/buffer/ByteBuf;
pop
9: iinc 5 1
StackMap locals:
StackMap stack:
10: iload 5
iload 4
if_icmplt 8
end local 5 end local 4 end local 3 11: StackMap locals:
StackMap stack:
aload 1
aload 0
iload 2
invokevirtual io.netty.buffer.ByteBuf.writeBytes:(Lio/netty/buffer/ByteBuf;I)Lio/netty/buffer/ByteBuf;
pop
12: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 13 0 in Lio/netty/buffer/ByteBuf;
0 13 1 out Lio/netty/buffer/ByteBuf;
0 13 2 length I
4 11 3 bitLength I
5 11 4 bytesToEncode I
7 11 5 i I
MethodParameters:
Name Flags
in
out
length
private static void encodeCopyWithOffset(io.netty.buffer.ByteBuf, int, int);
descriptor: (Lio/netty/buffer/ByteBuf;II)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=4, locals=3, args_size=3
start local 0 start local 1 start local 2 0: iload 2
bipush 12
if_icmpge 4
iload 1
sipush 2048
if_icmpge 4
1: aload 0
iconst_1
iload 2
iconst_4
isub
iconst_2
ishl
ior
iload 1
bipush 8
ishr
iconst_5
ishl
ior
invokevirtual io.netty.buffer.ByteBuf.writeByte:(I)Lio/netty/buffer/ByteBuf;
pop
2: aload 0
iload 1
sipush 255
iand
invokevirtual io.netty.buffer.ByteBuf.writeByte:(I)Lio/netty/buffer/ByteBuf;
pop
3: goto 7
4: StackMap locals:
StackMap stack:
aload 0
iconst_2
iload 2
iconst_1
isub
iconst_2
ishl
ior
invokevirtual io.netty.buffer.ByteBuf.writeByte:(I)Lio/netty/buffer/ByteBuf;
pop
5: aload 0
iload 1
sipush 255
iand
invokevirtual io.netty.buffer.ByteBuf.writeByte:(I)Lio/netty/buffer/ByteBuf;
pop
6: aload 0
iload 1
bipush 8
ishr
sipush 255
iand
invokevirtual io.netty.buffer.ByteBuf.writeByte:(I)Lio/netty/buffer/ByteBuf;
pop
7: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 out Lio/netty/buffer/ByteBuf;
0 8 1 offset I
0 8 2 length I
MethodParameters:
Name Flags
out
offset
length
private static void encodeCopy(io.netty.buffer.ByteBuf, int, int);
descriptor: (Lio/netty/buffer/ByteBuf;II)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: goto 3
1: StackMap locals:
StackMap stack:
aload 0
iload 1
bipush 64
invokestatic io.netty.handler.codec.compression.Snappy.encodeCopyWithOffset:(Lio/netty/buffer/ByteBuf;II)V
2: iinc 2 -64
3: StackMap locals:
StackMap stack:
iload 2
bipush 68
if_icmpge 1
4: iload 2
bipush 64
if_icmple 7
5: aload 0
iload 1
bipush 60
invokestatic io.netty.handler.codec.compression.Snappy.encodeCopyWithOffset:(Lio/netty/buffer/ByteBuf;II)V
6: iinc 2 -60
7: StackMap locals:
StackMap stack:
aload 0
iload 1
iload 2
invokestatic io.netty.handler.codec.compression.Snappy.encodeCopyWithOffset:(Lio/netty/buffer/ByteBuf;II)V
8: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 out Lio/netty/buffer/ByteBuf;
0 9 1 offset I
0 9 2 length I
MethodParameters:
Name Flags
out
offset
length
public void decode(io.netty.buffer.ByteBuf, io.netty.buffer.ByteBuf);
descriptor: (Lio/netty/buffer/ByteBuf;Lio/netty/buffer/ByteBuf;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=6, args_size=3
start local 0 start local 1 start local 2 0: goto 44
1: StackMap locals:
StackMap stack:
invokestatic io.netty.handler.codec.compression.Snappy.$SWITCH_TABLE$io$netty$handler$codec$compression$Snappy$State:()[I
aload 0
getfield io.netty.handler.codec.compression.Snappy.state:Lio/netty/handler/codec/compression/Snappy$State;
invokevirtual io.netty.handler.codec.compression.Snappy$State.ordinal:()I
iaload
tableswitch { // 1 - 5
1: 2
2: 3
3: 11
4: 19
5: 25
default: 44
}
2: StackMap locals:
StackMap stack:
aload 0
getstatic io.netty.handler.codec.compression.Snappy$State.READING_PREAMBLE:Lio/netty/handler/codec/compression/Snappy$State;
putfield io.netty.handler.codec.compression.Snappy.state:Lio/netty/handler/codec/compression/Snappy$State;
3: StackMap locals:
StackMap stack:
aload 1
invokestatic io.netty.handler.codec.compression.Snappy.readPreamble:(Lio/netty/buffer/ByteBuf;)I
istore 3
start local 3 4: iload 3
iconst_m1
if_icmpne 6
5: return
6: StackMap locals: int
StackMap stack:
iload 3
ifne 9
7: aload 0
getstatic io.netty.handler.codec.compression.Snappy$State.READY:Lio/netty/handler/codec/compression/Snappy$State;
putfield io.netty.handler.codec.compression.Snappy.state:Lio/netty/handler/codec/compression/Snappy$State;
8: return
9: StackMap locals:
StackMap stack:
aload 2
iload 3
invokevirtual io.netty.buffer.ByteBuf.ensureWritable:(I)Lio/netty/buffer/ByteBuf;
pop
10: aload 0
getstatic io.netty.handler.codec.compression.Snappy$State.READING_TAG:Lio/netty/handler/codec/compression/Snappy$State;
putfield io.netty.handler.codec.compression.Snappy.state:Lio/netty/handler/codec/compression/Snappy$State;
end local 3 11: StackMap locals:
StackMap stack:
aload 1
invokevirtual io.netty.buffer.ByteBuf.isReadable:()Z
ifne 13
12: return
13: StackMap locals:
StackMap stack:
aload 0
aload 1
invokevirtual io.netty.buffer.ByteBuf.readByte:()B
putfield io.netty.handler.codec.compression.Snappy.tag:B
14: aload 0
getfield io.netty.handler.codec.compression.Snappy.tag:B
iconst_3
iand
tableswitch { // 0 - 3
0: 15
1: 17
2: 17
3: 17
default: 18
}
15: StackMap locals:
StackMap stack:
aload 0
getstatic io.netty.handler.codec.compression.Snappy$State.READING_LITERAL:Lio/netty/handler/codec/compression/Snappy$State;
putfield io.netty.handler.codec.compression.Snappy.state:Lio/netty/handler/codec/compression/Snappy$State;
16: goto 44
17: StackMap locals:
StackMap stack:
aload 0
getstatic io.netty.handler.codec.compression.Snappy$State.READING_COPY:Lio/netty/handler/codec/compression/Snappy$State;
putfield io.netty.handler.codec.compression.Snappy.state:Lio/netty/handler/codec/compression/Snappy$State;
18: StackMap locals:
StackMap stack:
goto 44
19: StackMap locals:
StackMap stack:
aload 0
getfield io.netty.handler.codec.compression.Snappy.tag:B
aload 1
aload 2
invokestatic io.netty.handler.codec.compression.Snappy.decodeLiteral:(BLio/netty/buffer/ByteBuf;Lio/netty/buffer/ByteBuf;)I
istore 4
start local 4 20: iload 4
iconst_m1
if_icmpeq 24
21: aload 0
getstatic io.netty.handler.codec.compression.Snappy$State.READING_TAG:Lio/netty/handler/codec/compression/Snappy$State;
putfield io.netty.handler.codec.compression.Snappy.state:Lio/netty/handler/codec/compression/Snappy$State;
22: aload 0
dup
getfield io.netty.handler.codec.compression.Snappy.written:I
iload 4
iadd
putfield io.netty.handler.codec.compression.Snappy.written:I
23: goto 44
24: StackMap locals: io.netty.handler.codec.compression.Snappy io.netty.buffer.ByteBuf io.netty.buffer.ByteBuf top int
StackMap stack:
return
end local 4 25: StackMap locals: io.netty.handler.codec.compression.Snappy io.netty.buffer.ByteBuf io.netty.buffer.ByteBuf
StackMap stack:
aload 0
getfield io.netty.handler.codec.compression.Snappy.tag:B
iconst_3
iand
tableswitch { // 1 - 3
1: 26
2: 32
3: 38
default: 44
}
26: StackMap locals:
StackMap stack:
aload 0
getfield io.netty.handler.codec.compression.Snappy.tag:B
aload 1
aload 2
aload 0
getfield io.netty.handler.codec.compression.Snappy.written:I
invokestatic io.netty.handler.codec.compression.Snappy.decodeCopyWith1ByteOffset:(BLio/netty/buffer/ByteBuf;Lio/netty/buffer/ByteBuf;I)I
istore 5
start local 5 27: iload 5
iconst_m1
if_icmpeq 31
28: aload 0
getstatic io.netty.handler.codec.compression.Snappy$State.READING_TAG:Lio/netty/handler/codec/compression/Snappy$State;
putfield io.netty.handler.codec.compression.Snappy.state:Lio/netty/handler/codec/compression/Snappy$State;
29: aload 0
dup
getfield io.netty.handler.codec.compression.Snappy.written:I
iload 5
iadd
putfield io.netty.handler.codec.compression.Snappy.written:I
30: goto 44
31: StackMap locals: io.netty.handler.codec.compression.Snappy io.netty.buffer.ByteBuf io.netty.buffer.ByteBuf top top int
StackMap stack:
return
end local 5 32: StackMap locals: io.netty.handler.codec.compression.Snappy io.netty.buffer.ByteBuf io.netty.buffer.ByteBuf
StackMap stack:
aload 0
getfield io.netty.handler.codec.compression.Snappy.tag:B
aload 1
aload 2
aload 0
getfield io.netty.handler.codec.compression.Snappy.written:I
invokestatic io.netty.handler.codec.compression.Snappy.decodeCopyWith2ByteOffset:(BLio/netty/buffer/ByteBuf;Lio/netty/buffer/ByteBuf;I)I
istore 5
start local 5 33: iload 5
iconst_m1
if_icmpeq 37
34: aload 0
getstatic io.netty.handler.codec.compression.Snappy$State.READING_TAG:Lio/netty/handler/codec/compression/Snappy$State;
putfield io.netty.handler.codec.compression.Snappy.state:Lio/netty/handler/codec/compression/Snappy$State;
35: aload 0
dup
getfield io.netty.handler.codec.compression.Snappy.written:I
iload 5
iadd
putfield io.netty.handler.codec.compression.Snappy.written:I
36: goto 44
37: StackMap locals: io.netty.handler.codec.compression.Snappy io.netty.buffer.ByteBuf io.netty.buffer.ByteBuf top top int
StackMap stack:
return
end local 5 38: StackMap locals: io.netty.handler.codec.compression.Snappy io.netty.buffer.ByteBuf io.netty.buffer.ByteBuf
StackMap stack:
aload 0
getfield io.netty.handler.codec.compression.Snappy.tag:B
aload 1
aload 2
aload 0
getfield io.netty.handler.codec.compression.Snappy.written:I
invokestatic io.netty.handler.codec.compression.Snappy.decodeCopyWith4ByteOffset:(BLio/netty/buffer/ByteBuf;Lio/netty/buffer/ByteBuf;I)I
istore 5
start local 5 39: iload 5
iconst_m1
if_icmpeq 43
40: aload 0
getstatic io.netty.handler.codec.compression.Snappy$State.READING_TAG:Lio/netty/handler/codec/compression/Snappy$State;
putfield io.netty.handler.codec.compression.Snappy.state:Lio/netty/handler/codec/compression/Snappy$State;
41: aload 0
dup
getfield io.netty.handler.codec.compression.Snappy.written:I
iload 5
iadd
putfield io.netty.handler.codec.compression.Snappy.written:I
42: goto 44
43: StackMap locals: io.netty.handler.codec.compression.Snappy io.netty.buffer.ByteBuf io.netty.buffer.ByteBuf top top int
StackMap stack:
return
end local 5 44: StackMap locals: io.netty.handler.codec.compression.Snappy io.netty.buffer.ByteBuf io.netty.buffer.ByteBuf
StackMap stack:
aload 1
invokevirtual io.netty.buffer.ByteBuf.isReadable:()Z
ifne 1
45: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 46 0 this Lio/netty/handler/codec/compression/Snappy;
0 46 1 in Lio/netty/buffer/ByteBuf;
0 46 2 out Lio/netty/buffer/ByteBuf;
4 11 3 uncompressedLength I
20 25 4 literalWritten I
27 32 5 decodeWritten I
33 38 5 decodeWritten I
39 44 5 decodeWritten I
MethodParameters:
Name Flags
in
out
private static int readPreamble(io.netty.buffer.ByteBuf);
descriptor: (Lio/netty/buffer/ByteBuf;)I
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=4, locals=4, args_size=1
start local 0 0: iconst_0
istore 1
start local 1 1: iconst_0
istore 2
start local 2 2: goto 9
3: StackMap locals: int int
StackMap stack:
aload 0
invokevirtual io.netty.buffer.ByteBuf.readUnsignedByte:()S
istore 3
start local 3 4: iload 1
iload 3
bipush 127
iand
iload 2
iinc 2 1
bipush 7
imul
ishl
ior
istore 1
5: iload 3
sipush 128
iand
ifne 7
6: iload 1
ireturn
7: StackMap locals: int
StackMap stack:
iload 2
iconst_4
if_icmplt 9
8: new io.netty.handler.codec.compression.DecompressionException
dup
ldc "Preamble is greater than 4 bytes"
invokespecial io.netty.handler.codec.compression.DecompressionException.<init>:(Ljava/lang/String;)V
athrow
end local 3 9: StackMap locals:
StackMap stack:
aload 0
invokevirtual io.netty.buffer.ByteBuf.isReadable:()Z
ifne 3
10: iconst_0
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 in Lio/netty/buffer/ByteBuf;
1 11 1 length I
2 11 2 byteIndex I
4 9 3 current I
MethodParameters:
Name Flags
in
static int decodeLiteral(byte, io.netty.buffer.ByteBuf, io.netty.buffer.ByteBuf);
descriptor: (BLio/netty/buffer/ByteBuf;Lio/netty/buffer/ByteBuf;)I
flags: (0x0008) ACC_STATIC
Code:
stack=3, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 1
invokevirtual io.netty.buffer.ByteBuf.markReaderIndex:()Lio/netty/buffer/ByteBuf;
pop
1: iload 0
iconst_2
ishr
bipush 63
iand
tableswitch { // 60 - 63
60: 2
61: 6
62: 10
63: 14
default: 18
}
2: StackMap locals:
StackMap stack:
aload 1
invokevirtual io.netty.buffer.ByteBuf.isReadable:()Z
ifne 4
3: iconst_m1
ireturn
4: StackMap locals:
StackMap stack:
aload 1
invokevirtual io.netty.buffer.ByteBuf.readUnsignedByte:()S
istore 3
start local 3 5: goto 19
end local 3 6: StackMap locals:
StackMap stack:
aload 1
invokevirtual io.netty.buffer.ByteBuf.readableBytes:()I
iconst_2
if_icmpge 8
7: iconst_m1
ireturn
8: StackMap locals:
StackMap stack:
aload 1
invokevirtual io.netty.buffer.ByteBuf.readUnsignedShortLE:()I
istore 3
start local 3 9: goto 19
end local 3 10: StackMap locals:
StackMap stack:
aload 1
invokevirtual io.netty.buffer.ByteBuf.readableBytes:()I
iconst_3
if_icmpge 12
11: iconst_m1
ireturn
12: StackMap locals:
StackMap stack:
aload 1
invokevirtual io.netty.buffer.ByteBuf.readUnsignedMediumLE:()I
istore 3
start local 3 13: goto 19
end local 3 14: StackMap locals:
StackMap stack:
aload 1
invokevirtual io.netty.buffer.ByteBuf.readableBytes:()I
iconst_4
if_icmpge 16
15: iconst_m1
ireturn
16: StackMap locals:
StackMap stack:
aload 1
invokevirtual io.netty.buffer.ByteBuf.readIntLE:()I
istore 3
start local 3 17: goto 19
end local 3 18: StackMap locals:
StackMap stack:
iload 0
iconst_2
ishr
bipush 63
iand
istore 3
start local 3 19: StackMap locals: int
StackMap stack:
iinc 3 1
20: aload 1
invokevirtual io.netty.buffer.ByteBuf.readableBytes:()I
iload 3
if_icmpge 23
21: aload 1
invokevirtual io.netty.buffer.ByteBuf.resetReaderIndex:()Lio/netty/buffer/ByteBuf;
pop
22: iconst_m1
ireturn
23: StackMap locals:
StackMap stack:
aload 2
aload 1
iload 3
invokevirtual io.netty.buffer.ByteBuf.writeBytes:(Lio/netty/buffer/ByteBuf;I)Lio/netty/buffer/ByteBuf;
pop
24: iload 3
ireturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 25 0 tag B
0 25 1 in Lio/netty/buffer/ByteBuf;
0 25 2 out Lio/netty/buffer/ByteBuf;
5 6 3 length I
9 10 3 length I
13 14 3 length I
17 18 3 length I
19 25 3 length I
MethodParameters:
Name Flags
tag
in
out
private static int decodeCopyWith1ByteOffset(byte, io.netty.buffer.ByteBuf, io.netty.buffer.ByteBuf, int);
descriptor: (BLio/netty/buffer/ByteBuf;Lio/netty/buffer/ByteBuf;I)I
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=4, locals=8, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 1
invokevirtual io.netty.buffer.ByteBuf.isReadable:()Z
ifne 2
1: iconst_m1
ireturn
2: StackMap locals:
StackMap stack:
aload 2
invokevirtual io.netty.buffer.ByteBuf.writerIndex:()I
istore 4
start local 4 3: iconst_4
iload 0
bipush 28
iand
iconst_2
ishr
iadd
istore 5
start local 5 4: iload 0
sipush 224
iand
bipush 8
ishl
iconst_5
ishr
aload 1
invokevirtual io.netty.buffer.ByteBuf.readUnsignedByte:()S
ior
istore 6
start local 6 5: iload 6
iload 3
invokestatic io.netty.handler.codec.compression.Snappy.validateOffset:(II)V
6: aload 2
invokevirtual io.netty.buffer.ByteBuf.markReaderIndex:()Lio/netty/buffer/ByteBuf;
pop
7: iload 6
iload 5
if_icmpge 18
8: iload 5
iload 6
idiv
istore 7
start local 7 9: goto 13
10: StackMap locals: int io.netty.buffer.ByteBuf io.netty.buffer.ByteBuf int int int int int
StackMap stack:
aload 2
iload 4
iload 6
isub
invokevirtual io.netty.buffer.ByteBuf.readerIndex:(I)Lio/netty/buffer/ByteBuf;
pop
11: aload 2
aload 2
iload 6
invokevirtual io.netty.buffer.ByteBuf.readBytes:(Lio/netty/buffer/ByteBuf;I)Lio/netty/buffer/ByteBuf;
pop
12: iinc 7 -1
StackMap locals:
StackMap stack:
13: iload 7
ifgt 10
14: iload 5
iload 6
irem
ifeq 20
15: aload 2
iload 4
iload 6
isub
invokevirtual io.netty.buffer.ByteBuf.readerIndex:(I)Lio/netty/buffer/ByteBuf;
pop
16: aload 2
aload 2
iload 5
iload 6
irem
invokevirtual io.netty.buffer.ByteBuf.readBytes:(Lio/netty/buffer/ByteBuf;I)Lio/netty/buffer/ByteBuf;
pop
end local 7 17: goto 20
18: StackMap locals:
StackMap stack:
aload 2
iload 4
iload 6
isub
invokevirtual io.netty.buffer.ByteBuf.readerIndex:(I)Lio/netty/buffer/ByteBuf;
pop
19: aload 2
aload 2
iload 5
invokevirtual io.netty.buffer.ByteBuf.readBytes:(Lio/netty/buffer/ByteBuf;I)Lio/netty/buffer/ByteBuf;
pop
20: StackMap locals:
StackMap stack:
aload 2
invokevirtual io.netty.buffer.ByteBuf.resetReaderIndex:()Lio/netty/buffer/ByteBuf;
pop
21: iload 5
ireturn
end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 22 0 tag B
0 22 1 in Lio/netty/buffer/ByteBuf;
0 22 2 out Lio/netty/buffer/ByteBuf;
0 22 3 writtenSoFar I
3 22 4 initialIndex I
4 22 5 length I
5 22 6 offset I
9 17 7 copies I
MethodParameters:
Name Flags
tag
in
out
writtenSoFar
private static int decodeCopyWith2ByteOffset(byte, io.netty.buffer.ByteBuf, io.netty.buffer.ByteBuf, int);
descriptor: (BLio/netty/buffer/ByteBuf;Lio/netty/buffer/ByteBuf;I)I
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=4, locals=8, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 1
invokevirtual io.netty.buffer.ByteBuf.readableBytes:()I
iconst_2
if_icmpge 2
1: iconst_m1
ireturn
2: StackMap locals:
StackMap stack:
aload 2
invokevirtual io.netty.buffer.ByteBuf.writerIndex:()I
istore 4
start local 4 3: iconst_1
iload 0
iconst_2
ishr
bipush 63
iand
iadd
istore 5
start local 5 4: aload 1
invokevirtual io.netty.buffer.ByteBuf.readUnsignedShortLE:()I
istore 6
start local 6 5: iload 6
iload 3
invokestatic io.netty.handler.codec.compression.Snappy.validateOffset:(II)V
6: aload 2
invokevirtual io.netty.buffer.ByteBuf.markReaderIndex:()Lio/netty/buffer/ByteBuf;
pop
7: iload 6
iload 5
if_icmpge 18
8: iload 5
iload 6
idiv
istore 7
start local 7 9: goto 13
10: StackMap locals: int io.netty.buffer.ByteBuf io.netty.buffer.ByteBuf int int int int int
StackMap stack:
aload 2
iload 4
iload 6
isub
invokevirtual io.netty.buffer.ByteBuf.readerIndex:(I)Lio/netty/buffer/ByteBuf;
pop
11: aload 2
aload 2
iload 6
invokevirtual io.netty.buffer.ByteBuf.readBytes:(Lio/netty/buffer/ByteBuf;I)Lio/netty/buffer/ByteBuf;
pop
12: iinc 7 -1
StackMap locals:
StackMap stack:
13: iload 7
ifgt 10
14: iload 5
iload 6
irem
ifeq 20
15: aload 2
iload 4
iload 6
isub
invokevirtual io.netty.buffer.ByteBuf.readerIndex:(I)Lio/netty/buffer/ByteBuf;
pop
16: aload 2
aload 2
iload 5
iload 6
irem
invokevirtual io.netty.buffer.ByteBuf.readBytes:(Lio/netty/buffer/ByteBuf;I)Lio/netty/buffer/ByteBuf;
pop
end local 7 17: goto 20
18: StackMap locals:
StackMap stack:
aload 2
iload 4
iload 6
isub
invokevirtual io.netty.buffer.ByteBuf.readerIndex:(I)Lio/netty/buffer/ByteBuf;
pop
19: aload 2
aload 2
iload 5
invokevirtual io.netty.buffer.ByteBuf.readBytes:(Lio/netty/buffer/ByteBuf;I)Lio/netty/buffer/ByteBuf;
pop
20: StackMap locals:
StackMap stack:
aload 2
invokevirtual io.netty.buffer.ByteBuf.resetReaderIndex:()Lio/netty/buffer/ByteBuf;
pop
21: iload 5
ireturn
end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 22 0 tag B
0 22 1 in Lio/netty/buffer/ByteBuf;
0 22 2 out Lio/netty/buffer/ByteBuf;
0 22 3 writtenSoFar I
3 22 4 initialIndex I
4 22 5 length I
5 22 6 offset I
9 17 7 copies I
MethodParameters:
Name Flags
tag
in
out
writtenSoFar
private static int decodeCopyWith4ByteOffset(byte, io.netty.buffer.ByteBuf, io.netty.buffer.ByteBuf, int);
descriptor: (BLio/netty/buffer/ByteBuf;Lio/netty/buffer/ByteBuf;I)I
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=4, locals=8, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 1
invokevirtual io.netty.buffer.ByteBuf.readableBytes:()I
iconst_4
if_icmpge 2
1: iconst_m1
ireturn
2: StackMap locals:
StackMap stack:
aload 2
invokevirtual io.netty.buffer.ByteBuf.writerIndex:()I
istore 4
start local 4 3: iconst_1
iload 0
iconst_2
ishr
bipush 63
iand
iadd
istore 5
start local 5 4: aload 1
invokevirtual io.netty.buffer.ByteBuf.readIntLE:()I
istore 6
start local 6 5: iload 6
iload 3
invokestatic io.netty.handler.codec.compression.Snappy.validateOffset:(II)V
6: aload 2
invokevirtual io.netty.buffer.ByteBuf.markReaderIndex:()Lio/netty/buffer/ByteBuf;
pop
7: iload 6
iload 5
if_icmpge 18
8: iload 5
iload 6
idiv
istore 7
start local 7 9: goto 13
10: StackMap locals: int io.netty.buffer.ByteBuf io.netty.buffer.ByteBuf int int int int int
StackMap stack:
aload 2
iload 4
iload 6
isub
invokevirtual io.netty.buffer.ByteBuf.readerIndex:(I)Lio/netty/buffer/ByteBuf;
pop
11: aload 2
aload 2
iload 6
invokevirtual io.netty.buffer.ByteBuf.readBytes:(Lio/netty/buffer/ByteBuf;I)Lio/netty/buffer/ByteBuf;
pop
12: iinc 7 -1
StackMap locals:
StackMap stack:
13: iload 7
ifgt 10
14: iload 5
iload 6
irem
ifeq 20
15: aload 2
iload 4
iload 6
isub
invokevirtual io.netty.buffer.ByteBuf.readerIndex:(I)Lio/netty/buffer/ByteBuf;
pop
16: aload 2
aload 2
iload 5
iload 6
irem
invokevirtual io.netty.buffer.ByteBuf.readBytes:(Lio/netty/buffer/ByteBuf;I)Lio/netty/buffer/ByteBuf;
pop
end local 7 17: goto 20
18: StackMap locals:
StackMap stack:
aload 2
iload 4
iload 6
isub
invokevirtual io.netty.buffer.ByteBuf.readerIndex:(I)Lio/netty/buffer/ByteBuf;
pop
19: aload 2
aload 2
iload 5
invokevirtual io.netty.buffer.ByteBuf.readBytes:(Lio/netty/buffer/ByteBuf;I)Lio/netty/buffer/ByteBuf;
pop
20: StackMap locals:
StackMap stack:
aload 2
invokevirtual io.netty.buffer.ByteBuf.resetReaderIndex:()Lio/netty/buffer/ByteBuf;
pop
21: iload 5
ireturn
end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 22 0 tag B
0 22 1 in Lio/netty/buffer/ByteBuf;
0 22 2 out Lio/netty/buffer/ByteBuf;
0 22 3 writtenSoFar I
3 22 4 initialIndex I
4 22 5 length I
5 22 6 offset I
9 17 7 copies I
MethodParameters:
Name Flags
tag
in
out
writtenSoFar
private static void validateOffset(int, int);
descriptor: (II)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: iload 0
ifne 2
1: new io.netty.handler.codec.compression.DecompressionException
dup
ldc "Offset is less than minimum permissible value"
invokespecial io.netty.handler.codec.compression.DecompressionException.<init>:(Ljava/lang/String;)V
athrow
2: StackMap locals:
StackMap stack:
iload 0
ifge 4
3: new io.netty.handler.codec.compression.DecompressionException
dup
ldc "Offset is greater than maximum value supported by this implementation"
invokespecial io.netty.handler.codec.compression.DecompressionException.<init>:(Ljava/lang/String;)V
athrow
4: StackMap locals:
StackMap stack:
iload 0
iload 1
if_icmple 6
5: new io.netty.handler.codec.compression.DecompressionException
dup
ldc "Offset exceeds size of chunk"
invokespecial io.netty.handler.codec.compression.DecompressionException.<init>:(Ljava/lang/String;)V
athrow
6: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 offset I
0 7 1 chunkSizeSoFar I
MethodParameters:
Name Flags
offset
chunkSizeSoFar
static int calculateChecksum(io.netty.buffer.ByteBuf);
descriptor: (Lio/netty/buffer/ByteBuf;)I
flags: (0x0008) ACC_STATIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
aload 0
invokevirtual io.netty.buffer.ByteBuf.readerIndex:()I
aload 0
invokevirtual io.netty.buffer.ByteBuf.readableBytes:()I
invokestatic io.netty.handler.codec.compression.Snappy.calculateChecksum:(Lio/netty/buffer/ByteBuf;II)I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 data Lio/netty/buffer/ByteBuf;
MethodParameters:
Name Flags
data
static int calculateChecksum(io.netty.buffer.ByteBuf, int, int);
descriptor: (Lio/netty/buffer/ByteBuf;II)I
flags: (0x0008) ACC_STATIC
Code:
stack=4, locals=6, args_size=3
start local 0 start local 1 start local 2 0: new io.netty.handler.codec.compression.Crc32c
dup
invokespecial io.netty.handler.codec.compression.Crc32c.<init>:()V
astore 3
start local 3 1: aload 3
aload 0
iload 1
iload 2
invokevirtual io.netty.handler.codec.compression.Crc32c.update:(Lio/netty/buffer/ByteBuf;II)V
2: aload 3
invokevirtual io.netty.handler.codec.compression.Crc32c.getValue:()J
l2i
invokestatic io.netty.handler.codec.compression.Snappy.maskChecksum:(I)I
istore 5
3: aload 3
invokevirtual io.netty.handler.codec.compression.Crc32c.reset:()V
4: iload 5
ireturn
5: StackMap locals: io.netty.buffer.ByteBuf int int io.netty.handler.codec.compression.Crc32c
StackMap stack: java.lang.Throwable
astore 4
6: aload 3
invokevirtual io.netty.handler.codec.compression.Crc32c.reset:()V
7: aload 4
athrow
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 data Lio/netty/buffer/ByteBuf;
0 8 1 offset I
0 8 2 length I
1 8 3 crc32 Lio/netty/handler/codec/compression/Crc32c;
Exception table:
from to target type
1 3 5 any
MethodParameters:
Name Flags
data
offset
length
static void validateChecksum(int, io.netty.buffer.ByteBuf);
descriptor: (ILio/netty/buffer/ByteBuf;)V
flags: (0x0008) ACC_STATIC
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: iload 0
aload 1
aload 1
invokevirtual io.netty.buffer.ByteBuf.readerIndex:()I
aload 1
invokevirtual io.netty.buffer.ByteBuf.readableBytes:()I
invokestatic io.netty.handler.codec.compression.Snappy.validateChecksum:(ILio/netty/buffer/ByteBuf;II)V
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 expectedChecksum I
0 2 1 data Lio/netty/buffer/ByteBuf;
MethodParameters:
Name Flags
expectedChecksum
data
static void validateChecksum(int, io.netty.buffer.ByteBuf, int, int);
descriptor: (ILio/netty/buffer/ByteBuf;II)V
flags: (0x0008) ACC_STATIC
Code:
stack=5, locals=5, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 1
iload 2
iload 3
invokestatic io.netty.handler.codec.compression.Snappy.calculateChecksum:(Lio/netty/buffer/ByteBuf;II)I
istore 4
start local 4 1: iload 4
iload 0
if_icmpeq 7
2: new io.netty.handler.codec.compression.DecompressionException
dup
3: new java.lang.StringBuilder
dup
ldc "mismatching checksum: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 4
invokestatic java.lang.Integer.toHexString:(I)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
4: ldc " (expected: "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
iload 0
invokestatic java.lang.Integer.toHexString:(I)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
bipush 41
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
5: invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
6: invokespecial io.netty.handler.codec.compression.DecompressionException.<init>:(Ljava/lang/String;)V
athrow
7: StackMap locals: int
StackMap stack:
return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 expectedChecksum I
0 8 1 data Lio/netty/buffer/ByteBuf;
0 8 2 offset I
0 8 3 length I
1 8 4 actualChecksum I
MethodParameters:
Name Flags
expectedChecksum
data
offset
length
static int maskChecksum(int);
descriptor: (I)I
flags: (0x0008) ACC_STATIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: iload 0
bipush 15
ishr
iload 0
bipush 17
ishl
ior
ldc -1568478504
iadd
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 checksum I
MethodParameters:
Name Flags
checksum
static int[] $SWITCH_TABLE$io$netty$handler$codec$compression$Snappy$State();
descriptor: ()[I
flags: (0x1008) ACC_STATIC, ACC_SYNTHETIC
Code:
stack=3, locals=1, args_size=0
0: getstatic io.netty.handler.codec.compression.Snappy.$SWITCH_TABLE$io$netty$handler$codec$compression$Snappy$State:[I
dup
ifnull 1
areturn
StackMap locals:
StackMap stack: int[]
1: pop
invokestatic io.netty.handler.codec.compression.Snappy$State.values:()[Lio/netty/handler/codec/compression/Snappy$State;
arraylength
newarray 10
astore 0
2: aload 0
getstatic io.netty.handler.codec.compression.Snappy$State.READING_COPY:Lio/netty/handler/codec/compression/Snappy$State;
invokevirtual io.netty.handler.codec.compression.Snappy$State.ordinal:()I
iconst_5
iastore
3: goto 5
StackMap locals: int[]
StackMap stack: java.lang.NoSuchFieldError
4: pop
StackMap locals:
StackMap stack:
5: aload 0
getstatic io.netty.handler.codec.compression.Snappy$State.READING_LITERAL:Lio/netty/handler/codec/compression/Snappy$State;
invokevirtual io.netty.handler.codec.compression.Snappy$State.ordinal:()I
iconst_4
iastore
6: goto 8
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
7: pop
StackMap locals:
StackMap stack:
8: aload 0
getstatic io.netty.handler.codec.compression.Snappy$State.READING_PREAMBLE:Lio/netty/handler/codec/compression/Snappy$State;
invokevirtual io.netty.handler.codec.compression.Snappy$State.ordinal:()I
iconst_2
iastore
9: goto 11
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
10: pop
StackMap locals:
StackMap stack:
11: aload 0
getstatic io.netty.handler.codec.compression.Snappy$State.READING_TAG:Lio/netty/handler/codec/compression/Snappy$State;
invokevirtual io.netty.handler.codec.compression.Snappy$State.ordinal:()I
iconst_3
iastore
12: goto 14
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
13: pop
StackMap locals:
StackMap stack:
14: aload 0
getstatic io.netty.handler.codec.compression.Snappy$State.READY:Lio/netty/handler/codec/compression/Snappy$State;
invokevirtual io.netty.handler.codec.compression.Snappy$State.ordinal:()I
iconst_1
iastore
15: goto 17
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
16: pop
StackMap locals:
StackMap stack:
17: aload 0
dup
putstatic io.netty.handler.codec.compression.Snappy.$SWITCH_TABLE$io$netty$handler$codec$compression$Snappy$State:[I
areturn
LocalVariableTable:
Start End Slot Name Signature
Exception table:
from to target type
2 3 4 Class java.lang.NoSuchFieldError
5 6 7 Class java.lang.NoSuchFieldError
8 9 10 Class java.lang.NoSuchFieldError
11 12 13 Class java.lang.NoSuchFieldError
14 15 16 Class java.lang.NoSuchFieldError
}
SourceFile: "Snappy.java"
NestMembers:
io.netty.handler.codec.compression.Snappy$State
InnerClasses:
private final State = io.netty.handler.codec.compression.Snappy$State of io.netty.handler.codec.compression.Snappy