public class io.netty.handler.codec.compression.Bzip2Decoder extends io.netty.handler.codec.ByteToMessageDecoder
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: io.netty.handler.codec.compression.Bzip2Decoder
super_class: io.netty.handler.codec.ByteToMessageDecoder
{
private io.netty.handler.codec.compression.Bzip2Decoder$State currentState;
descriptor: Lio/netty/handler/codec/compression/Bzip2Decoder$State;
flags: (0x0002) ACC_PRIVATE
private final io.netty.handler.codec.compression.Bzip2BitReader reader;
descriptor: Lio/netty/handler/codec/compression/Bzip2BitReader;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private io.netty.handler.codec.compression.Bzip2BlockDecompressor blockDecompressor;
descriptor: Lio/netty/handler/codec/compression/Bzip2BlockDecompressor;
flags: (0x0002) ACC_PRIVATE
private io.netty.handler.codec.compression.Bzip2HuffmanStageDecoder huffmanStageDecoder;
descriptor: Lio/netty/handler/codec/compression/Bzip2HuffmanStageDecoder;
flags: (0x0002) ACC_PRIVATE
private int blockSize;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private int blockCRC;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private int streamCRC;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private static volatile int[] $SWITCH_TABLE$io$netty$handler$codec$compression$Bzip2Decoder$State;
descriptor: [I
flags: (0x104a) ACC_PRIVATE, ACC_STATIC, ACC_VOLATILE, ACC_SYNTHETIC
public void <init>();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
invokespecial io.netty.handler.codec.ByteToMessageDecoder.<init>:()V
1: aload 0
getstatic io.netty.handler.codec.compression.Bzip2Decoder$State.INIT:Lio/netty/handler/codec/compression/Bzip2Decoder$State;
putfield io.netty.handler.codec.compression.Bzip2Decoder.currentState:Lio/netty/handler/codec/compression/Bzip2Decoder$State;
2: aload 0
new io.netty.handler.codec.compression.Bzip2BitReader
dup
invokespecial io.netty.handler.codec.compression.Bzip2BitReader.<init>:()V
putfield io.netty.handler.codec.compression.Bzip2Decoder.reader:Lio/netty/handler/codec/compression/Bzip2BitReader;
3: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lio/netty/handler/codec/compression/Bzip2Decoder;
protected void decode(io.netty.channel.ChannelHandlerContext, io.netty.buffer.ByteBuf, java.util.List<java.lang.Object>);
descriptor: (Lio/netty/channel/ChannelHandlerContext;Lio/netty/buffer/ByteBuf;Ljava/util/List;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=8, locals=37, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 2
invokevirtual io.netty.buffer.ByteBuf.isReadable:()Z
ifne 2
1: return
2: StackMap locals:
StackMap stack:
aload 0
getfield io.netty.handler.codec.compression.Bzip2Decoder.reader:Lio/netty/handler/codec/compression/Bzip2BitReader;
astore 4
start local 4 3: aload 4
aload 2
invokevirtual io.netty.handler.codec.compression.Bzip2BitReader.setByteBuf:(Lio/netty/buffer/ByteBuf;)V
4: StackMap locals: io.netty.handler.codec.compression.Bzip2BitReader
StackMap stack:
invokestatic io.netty.handler.codec.compression.Bzip2Decoder.$SWITCH_TABLE$io$netty$handler$codec$compression$Bzip2Decoder$State:()[I
aload 0
getfield io.netty.handler.codec.compression.Bzip2Decoder.currentState:Lio/netty/handler/codec/compression/Bzip2Decoder$State;
invokevirtual io.netty.handler.codec.compression.Bzip2Decoder$State.ordinal:()I
iaload
tableswitch { // 1 - 10
1: 5
2: 16
3: 30
4: 38
5: 42
6: 71
7: 78
8: 96
9: 143
10: 170
default: 172
}
5: StackMap locals:
StackMap stack:
aload 2
invokevirtual io.netty.buffer.ByteBuf.readableBytes:()I
iconst_4
if_icmpge 7
6: return
7: StackMap locals:
StackMap stack:
aload 2
invokevirtual io.netty.buffer.ByteBuf.readUnsignedMedium:()I
istore 5
start local 5 8: iload 5
ldc 4348520
if_icmpeq 10
9: new io.netty.handler.codec.compression.DecompressionException
dup
ldc "Unexpected stream identifier contents. Mismatched bzip2 protocol version?"
invokespecial io.netty.handler.codec.compression.DecompressionException.<init>:(Ljava/lang/String;)V
athrow
10: StackMap locals: int
StackMap stack:
aload 2
invokevirtual io.netty.buffer.ByteBuf.readByte:()B
bipush 48
isub
istore 6
start local 6 11: iload 6
iconst_1
if_icmplt 12
iload 6
bipush 9
if_icmple 13
12: StackMap locals: int
StackMap stack:
new io.netty.handler.codec.compression.DecompressionException
dup
ldc "block size is invalid"
invokespecial io.netty.handler.codec.compression.DecompressionException.<init>:(Ljava/lang/String;)V
athrow
13: StackMap locals:
StackMap stack:
aload 0
iload 6
ldc 100000
imul
putfield io.netty.handler.codec.compression.Bzip2Decoder.blockSize:I
14: aload 0
iconst_0
putfield io.netty.handler.codec.compression.Bzip2Decoder.streamCRC:I
15: aload 0
getstatic io.netty.handler.codec.compression.Bzip2Decoder$State.INIT_BLOCK:Lio/netty/handler/codec/compression/Bzip2Decoder$State;
putfield io.netty.handler.codec.compression.Bzip2Decoder.currentState:Lio/netty/handler/codec/compression/Bzip2Decoder$State;
end local 6 end local 5 16: StackMap locals:
StackMap stack:
aload 4
bipush 10
invokevirtual io.netty.handler.codec.compression.Bzip2BitReader.hasReadableBytes:(I)Z
ifne 18
17: return
18: StackMap locals:
StackMap stack:
aload 4
bipush 24
invokevirtual io.netty.handler.codec.compression.Bzip2BitReader.readBits:(I)I
istore 7
start local 7 19: aload 4
bipush 24
invokevirtual io.netty.handler.codec.compression.Bzip2BitReader.readBits:(I)I
istore 8
start local 8 20: iload 7
ldc 1536581
if_icmpne 26
iload 8
ldc 3690640
if_icmpne 26
21: aload 4
invokevirtual io.netty.handler.codec.compression.Bzip2BitReader.readInt:()I
istore 9
start local 9 22: iload 9
aload 0
getfield io.netty.handler.codec.compression.Bzip2Decoder.streamCRC:I
if_icmpeq 24
23: new io.netty.handler.codec.compression.DecompressionException
dup
ldc "stream CRC error"
invokespecial io.netty.handler.codec.compression.DecompressionException.<init>:(Ljava/lang/String;)V
athrow
24: StackMap locals: io.netty.handler.codec.compression.Bzip2Decoder io.netty.channel.ChannelHandlerContext io.netty.buffer.ByteBuf java.util.List io.netty.handler.codec.compression.Bzip2BitReader top top int int int
StackMap stack:
aload 0
getstatic io.netty.handler.codec.compression.Bzip2Decoder$State.EOF:Lio/netty/handler/codec/compression/Bzip2Decoder$State;
putfield io.netty.handler.codec.compression.Bzip2Decoder.currentState:Lio/netty/handler/codec/compression/Bzip2Decoder$State;
25: goto 4
end local 9 26: StackMap locals:
StackMap stack:
iload 7
ldc 3227993
if_icmpne 27
iload 8
ldc 2511705
if_icmpeq 28
27: StackMap locals:
StackMap stack:
new io.netty.handler.codec.compression.DecompressionException
dup
ldc "bad block header"
invokespecial io.netty.handler.codec.compression.DecompressionException.<init>:(Ljava/lang/String;)V
athrow
28: StackMap locals:
StackMap stack:
aload 0
aload 4
invokevirtual io.netty.handler.codec.compression.Bzip2BitReader.readInt:()I
putfield io.netty.handler.codec.compression.Bzip2Decoder.blockCRC:I
29: aload 0
getstatic io.netty.handler.codec.compression.Bzip2Decoder$State.INIT_BLOCK_PARAMS:Lio/netty/handler/codec/compression/Bzip2Decoder$State;
putfield io.netty.handler.codec.compression.Bzip2Decoder.currentState:Lio/netty/handler/codec/compression/Bzip2Decoder$State;
end local 8 end local 7 30: StackMap locals: io.netty.handler.codec.compression.Bzip2Decoder io.netty.channel.ChannelHandlerContext io.netty.buffer.ByteBuf java.util.List io.netty.handler.codec.compression.Bzip2BitReader
StackMap stack:
aload 4
bipush 25
invokevirtual io.netty.handler.codec.compression.Bzip2BitReader.hasReadableBits:(I)Z
ifne 32
31: return
32: StackMap locals:
StackMap stack:
aload 4
invokevirtual io.netty.handler.codec.compression.Bzip2BitReader.readBoolean:()Z
istore 9
start local 9 33: aload 4
bipush 24
invokevirtual io.netty.handler.codec.compression.Bzip2BitReader.readBits:(I)I
istore 10
start local 10 34: aload 0
new io.netty.handler.codec.compression.Bzip2BlockDecompressor
dup
aload 0
getfield io.netty.handler.codec.compression.Bzip2Decoder.blockSize:I
aload 0
getfield io.netty.handler.codec.compression.Bzip2Decoder.blockCRC:I
35: iload 9
iload 10
aload 4
invokespecial io.netty.handler.codec.compression.Bzip2BlockDecompressor.<init>:(IIZILio/netty/handler/codec/compression/Bzip2BitReader;)V
36: putfield io.netty.handler.codec.compression.Bzip2Decoder.blockDecompressor:Lio/netty/handler/codec/compression/Bzip2BlockDecompressor;
37: aload 0
getstatic io.netty.handler.codec.compression.Bzip2Decoder$State.RECEIVE_HUFFMAN_USED_MAP:Lio/netty/handler/codec/compression/Bzip2Decoder$State;
putfield io.netty.handler.codec.compression.Bzip2Decoder.currentState:Lio/netty/handler/codec/compression/Bzip2Decoder$State;
end local 10 end local 9 38: StackMap locals:
StackMap stack:
aload 4
bipush 16
invokevirtual io.netty.handler.codec.compression.Bzip2BitReader.hasReadableBits:(I)Z
ifne 40
39: return
40: StackMap locals:
StackMap stack:
aload 0
getfield io.netty.handler.codec.compression.Bzip2Decoder.blockDecompressor:Lio/netty/handler/codec/compression/Bzip2BlockDecompressor;
aload 4
bipush 16
invokevirtual io.netty.handler.codec.compression.Bzip2BitReader.readBits:(I)I
putfield io.netty.handler.codec.compression.Bzip2BlockDecompressor.huffmanInUse16:I
41: aload 0
getstatic io.netty.handler.codec.compression.Bzip2Decoder$State.RECEIVE_HUFFMAN_USED_BITMAPS:Lio/netty/handler/codec/compression/Bzip2Decoder$State;
putfield io.netty.handler.codec.compression.Bzip2Decoder.currentState:Lio/netty/handler/codec/compression/Bzip2Decoder$State;
42: StackMap locals:
StackMap stack:
aload 0
getfield io.netty.handler.codec.compression.Bzip2Decoder.blockDecompressor:Lio/netty/handler/codec/compression/Bzip2BlockDecompressor;
astore 11
start local 11 43: aload 11
getfield io.netty.handler.codec.compression.Bzip2BlockDecompressor.huffmanInUse16:I
istore 12
start local 12 44: iload 12
invokestatic java.lang.Integer.bitCount:(I)I
istore 13
start local 13 45: aload 11
getfield io.netty.handler.codec.compression.Bzip2BlockDecompressor.huffmanSymbolMap:[B
astore 14
start local 14 46: aload 4
iload 13
bipush 16
imul
iconst_3
iadd
invokevirtual io.netty.handler.codec.compression.Bzip2BitReader.hasReadableBits:(I)Z
ifne 48
47: return
48: StackMap locals: io.netty.handler.codec.compression.Bzip2Decoder io.netty.channel.ChannelHandlerContext io.netty.buffer.ByteBuf java.util.List io.netty.handler.codec.compression.Bzip2BitReader top top top top top top io.netty.handler.codec.compression.Bzip2BlockDecompressor int int byte[]
StackMap stack:
iconst_0
istore 15
start local 15 49: iload 13
ifle 62
50: iconst_0
istore 16
start local 16 51: goto 61
52: StackMap locals: int int
StackMap stack:
iload 12
ldc 32768
iload 16
iushr
iand
ifeq 60
53: iconst_0
istore 17
start local 17 54: iload 16
iconst_4
ishl
istore 18
start local 18 55: goto 59
56: StackMap locals: int int
StackMap stack:
aload 4
invokevirtual io.netty.handler.codec.compression.Bzip2BitReader.readBoolean:()Z
ifeq 58
57: aload 14
iload 15
iinc 15 1
iload 18
i2b
bastore
58: StackMap locals:
StackMap stack:
iinc 17 1
iinc 18 1
StackMap locals:
StackMap stack:
59: iload 17
bipush 16
if_icmplt 56
end local 18 end local 17 60: StackMap locals:
StackMap stack:
iinc 16 1
StackMap locals:
StackMap stack:
61: iload 16
bipush 16
if_icmplt 52
end local 16 62: StackMap locals:
StackMap stack:
aload 11
iload 15
iconst_1
iadd
putfield io.netty.handler.codec.compression.Bzip2BlockDecompressor.huffmanEndOfBlockSymbol:I
63: aload 4
iconst_3
invokevirtual io.netty.handler.codec.compression.Bzip2BitReader.readBits:(I)I
istore 16
start local 16 64: iload 16
iconst_2
if_icmplt 65
iload 16
bipush 6
if_icmple 66
65: StackMap locals: int
StackMap stack:
new io.netty.handler.codec.compression.DecompressionException
dup
ldc "incorrect huffman groups number"
invokespecial io.netty.handler.codec.compression.DecompressionException.<init>:(Ljava/lang/String;)V
athrow
66: StackMap locals:
StackMap stack:
iload 15
iconst_2
iadd
istore 17
start local 17 67: iload 17
sipush 258
if_icmple 69
68: new io.netty.handler.codec.compression.DecompressionException
dup
ldc "incorrect alphabet size"
invokespecial io.netty.handler.codec.compression.DecompressionException.<init>:(Ljava/lang/String;)V
athrow
69: StackMap locals: int
StackMap stack:
aload 0
new io.netty.handler.codec.compression.Bzip2HuffmanStageDecoder
dup
aload 4
iload 16
iload 17
invokespecial io.netty.handler.codec.compression.Bzip2HuffmanStageDecoder.<init>:(Lio/netty/handler/codec/compression/Bzip2BitReader;II)V
putfield io.netty.handler.codec.compression.Bzip2Decoder.huffmanStageDecoder:Lio/netty/handler/codec/compression/Bzip2HuffmanStageDecoder;
70: aload 0
getstatic io.netty.handler.codec.compression.Bzip2Decoder$State.RECEIVE_SELECTORS_NUMBER:Lio/netty/handler/codec/compression/Bzip2Decoder$State;
putfield io.netty.handler.codec.compression.Bzip2Decoder.currentState:Lio/netty/handler/codec/compression/Bzip2Decoder$State;
end local 17 end local 16 end local 15 end local 14 end local 13 end local 12 end local 11 71: StackMap locals: io.netty.handler.codec.compression.Bzip2Decoder io.netty.channel.ChannelHandlerContext io.netty.buffer.ByteBuf java.util.List io.netty.handler.codec.compression.Bzip2BitReader
StackMap stack:
aload 4
bipush 15
invokevirtual io.netty.handler.codec.compression.Bzip2BitReader.hasReadableBits:(I)Z
ifne 73
72: return
73: StackMap locals:
StackMap stack:
aload 4
bipush 15
invokevirtual io.netty.handler.codec.compression.Bzip2BitReader.readBits:(I)I
istore 18
start local 18 74: iload 18
iconst_1
if_icmplt 75
iload 18
sipush 18002
if_icmple 76
75: StackMap locals: io.netty.handler.codec.compression.Bzip2Decoder io.netty.channel.ChannelHandlerContext io.netty.buffer.ByteBuf java.util.List io.netty.handler.codec.compression.Bzip2BitReader top top top top top top top top top top top top top int
StackMap stack:
new io.netty.handler.codec.compression.DecompressionException
dup
ldc "incorrect selectors number"
invokespecial io.netty.handler.codec.compression.DecompressionException.<init>:(Ljava/lang/String;)V
athrow
76: StackMap locals:
StackMap stack:
aload 0
getfield io.netty.handler.codec.compression.Bzip2Decoder.huffmanStageDecoder:Lio/netty/handler/codec/compression/Bzip2HuffmanStageDecoder;
iload 18
newarray 8
putfield io.netty.handler.codec.compression.Bzip2HuffmanStageDecoder.selectors:[B
77: aload 0
getstatic io.netty.handler.codec.compression.Bzip2Decoder$State.RECEIVE_SELECTORS:Lio/netty/handler/codec/compression/Bzip2Decoder$State;
putfield io.netty.handler.codec.compression.Bzip2Decoder.currentState:Lio/netty/handler/codec/compression/Bzip2Decoder$State;
end local 18 78: StackMap locals: io.netty.handler.codec.compression.Bzip2Decoder io.netty.channel.ChannelHandlerContext io.netty.buffer.ByteBuf java.util.List io.netty.handler.codec.compression.Bzip2BitReader
StackMap stack:
aload 0
getfield io.netty.handler.codec.compression.Bzip2Decoder.huffmanStageDecoder:Lio/netty/handler/codec/compression/Bzip2HuffmanStageDecoder;
astore 19
start local 19 79: aload 19
getfield io.netty.handler.codec.compression.Bzip2HuffmanStageDecoder.selectors:[B
astore 20
start local 20 80: aload 20
arraylength
istore 18
start local 18 81: aload 19
getfield io.netty.handler.codec.compression.Bzip2HuffmanStageDecoder.tableMTF:Lio/netty/handler/codec/compression/Bzip2MoveToFrontTable;
astore 21
start local 21 82: aload 19
getfield io.netty.handler.codec.compression.Bzip2HuffmanStageDecoder.currentSelector:I
istore 22
start local 22 83: goto 93
84: StackMap locals: io.netty.handler.codec.compression.Bzip2Decoder io.netty.channel.ChannelHandlerContext io.netty.buffer.ByteBuf java.util.List io.netty.handler.codec.compression.Bzip2BitReader top top top top top top top top top top top top top int io.netty.handler.codec.compression.Bzip2HuffmanStageDecoder byte[] io.netty.handler.codec.compression.Bzip2MoveToFrontTable int
StackMap stack:
aload 4
bipush 6
invokevirtual io.netty.handler.codec.compression.Bzip2BitReader.hasReadableBits:(I)Z
ifne 87
85: aload 19
iload 22
putfield io.netty.handler.codec.compression.Bzip2HuffmanStageDecoder.currentSelector:I
86: return
87: StackMap locals:
StackMap stack:
iconst_0
istore 23
start local 23 88: goto 90
89: StackMap locals: int
StackMap stack:
iinc 23 1
90: StackMap locals:
StackMap stack:
aload 4
invokevirtual io.netty.handler.codec.compression.Bzip2BitReader.readBoolean:()Z
ifne 89
91: aload 20
iload 22
aload 21
iload 23
invokevirtual io.netty.handler.codec.compression.Bzip2MoveToFrontTable.indexToFront:(I)B
bastore
end local 23 92: iinc 22 1
StackMap locals:
StackMap stack:
93: iload 22
iload 18
94: if_icmplt 84
95: aload 0
getstatic io.netty.handler.codec.compression.Bzip2Decoder$State.RECEIVE_HUFFMAN_LENGTH:Lio/netty/handler/codec/compression/Bzip2Decoder$State;
putfield io.netty.handler.codec.compression.Bzip2Decoder.currentState:Lio/netty/handler/codec/compression/Bzip2Decoder$State;
end local 22 end local 21 end local 20 end local 19 end local 18 96: StackMap locals: io.netty.handler.codec.compression.Bzip2Decoder io.netty.channel.ChannelHandlerContext io.netty.buffer.ByteBuf java.util.List io.netty.handler.codec.compression.Bzip2BitReader
StackMap stack:
aload 0
getfield io.netty.handler.codec.compression.Bzip2Decoder.huffmanStageDecoder:Lio/netty/handler/codec/compression/Bzip2HuffmanStageDecoder;
astore 19
start local 19 97: aload 19
getfield io.netty.handler.codec.compression.Bzip2HuffmanStageDecoder.totalTables:I
istore 16
start local 16 98: aload 19
getfield io.netty.handler.codec.compression.Bzip2HuffmanStageDecoder.tableCodeLengths:[[B
astore 23
start local 23 99: aload 19
getfield io.netty.handler.codec.compression.Bzip2HuffmanStageDecoder.alphabetSize:I
istore 17
start local 17 100: aload 19
getfield io.netty.handler.codec.compression.Bzip2HuffmanStageDecoder.currentLength:I
istore 25
start local 25 101: iconst_0
istore 26
start local 26 102: aload 19
getfield io.netty.handler.codec.compression.Bzip2HuffmanStageDecoder.modifyLength:Z
istore 27
start local 27 103: iconst_0
istore 28
start local 28 104: aload 19
getfield io.netty.handler.codec.compression.Bzip2HuffmanStageDecoder.currentGroup:I
istore 24
start local 24 105: goto 134
106: StackMap locals: io.netty.handler.codec.compression.Bzip2Decoder io.netty.channel.ChannelHandlerContext io.netty.buffer.ByteBuf java.util.List io.netty.handler.codec.compression.Bzip2BitReader top top top top top top top top top top top int int top io.netty.handler.codec.compression.Bzip2HuffmanStageDecoder top top top byte[][] int int int int int
StackMap stack:
aload 4
iconst_5
invokevirtual io.netty.handler.codec.compression.Bzip2BitReader.hasReadableBits:(I)Z
ifne 109
107: iconst_1
istore 28
108: goto 135
109: StackMap locals:
StackMap stack:
iload 25
ifge 111
110: aload 4
iconst_5
invokevirtual io.netty.handler.codec.compression.Bzip2BitReader.readBits:(I)I
istore 25
111: StackMap locals:
StackMap stack:
aload 19
getfield io.netty.handler.codec.compression.Bzip2HuffmanStageDecoder.currentAlpha:I
istore 26
goto 129
112: StackMap locals:
StackMap stack:
aload 4
invokevirtual io.netty.handler.codec.compression.Bzip2BitReader.isReadable:()Z
ifne 126
113: iconst_1
istore 28
114: goto 135
115: StackMap locals:
StackMap stack:
aload 4
invokevirtual io.netty.handler.codec.compression.Bzip2BitReader.isReadable:()Z
ifne 119
116: iconst_1
istore 27
117: iconst_1
istore 28
118: goto 135
119: StackMap locals:
StackMap stack:
iload 25
aload 4
invokevirtual io.netty.handler.codec.compression.Bzip2BitReader.readBoolean:()Z
ifeq 120
iconst_m1
goto 121
StackMap locals:
StackMap stack: int
120: iconst_1
StackMap locals: io.netty.handler.codec.compression.Bzip2Decoder io.netty.channel.ChannelHandlerContext io.netty.buffer.ByteBuf java.util.List io.netty.handler.codec.compression.Bzip2BitReader top top top top top top top top top top top int int top io.netty.handler.codec.compression.Bzip2HuffmanStageDecoder top top top byte[][] int int int int int
StackMap stack: int int
121: iadd
istore 25
122: iconst_0
istore 27
123: aload 4
invokevirtual io.netty.handler.codec.compression.Bzip2BitReader.isReadable:()Z
ifne 126
124: iconst_1
istore 28
125: goto 135
126: StackMap locals:
StackMap stack:
iload 27
ifne 115
aload 4
invokevirtual io.netty.handler.codec.compression.Bzip2BitReader.readBoolean:()Z
ifne 115
127: aload 23
iload 24
aaload
iload 26
iload 25
i2b
bastore
128: iinc 26 1
StackMap locals:
StackMap stack:
129: iload 26
iload 17
if_icmplt 112
130: iconst_m1
istore 25
131: aload 19
iconst_0
dup_x1
putfield io.netty.handler.codec.compression.Bzip2HuffmanStageDecoder.currentAlpha:I
istore 26
132: iconst_0
istore 27
133: iinc 24 1
StackMap locals:
StackMap stack:
134: iload 24
iload 16
if_icmplt 106
135: StackMap locals:
StackMap stack:
iload 28
ifeq 141
136: aload 19
iload 24
putfield io.netty.handler.codec.compression.Bzip2HuffmanStageDecoder.currentGroup:I
137: aload 19
iload 25
putfield io.netty.handler.codec.compression.Bzip2HuffmanStageDecoder.currentLength:I
138: aload 19
iload 26
putfield io.netty.handler.codec.compression.Bzip2HuffmanStageDecoder.currentAlpha:I
139: aload 19
iload 27
putfield io.netty.handler.codec.compression.Bzip2HuffmanStageDecoder.modifyLength:Z
140: return
141: StackMap locals:
StackMap stack:
aload 19
invokevirtual io.netty.handler.codec.compression.Bzip2HuffmanStageDecoder.createHuffmanDecodingTables:()V
142: aload 0
getstatic io.netty.handler.codec.compression.Bzip2Decoder$State.DECODE_HUFFMAN_DATA:Lio/netty/handler/codec/compression/Bzip2Decoder$State;
putfield io.netty.handler.codec.compression.Bzip2Decoder.currentState:Lio/netty/handler/codec/compression/Bzip2Decoder$State;
end local 28 end local 27 end local 26 end local 25 end local 24 end local 23 end local 19 end local 17 end local 16 143: StackMap locals: io.netty.handler.codec.compression.Bzip2Decoder io.netty.channel.ChannelHandlerContext io.netty.buffer.ByteBuf java.util.List io.netty.handler.codec.compression.Bzip2BitReader
StackMap stack:
aload 0
getfield io.netty.handler.codec.compression.Bzip2Decoder.blockDecompressor:Lio/netty/handler/codec/compression/Bzip2BlockDecompressor;
astore 11
start local 11 144: aload 2
invokevirtual io.netty.buffer.ByteBuf.readerIndex:()I
istore 29
start local 29 145: aload 11
aload 0
getfield io.netty.handler.codec.compression.Bzip2Decoder.huffmanStageDecoder:Lio/netty/handler/codec/compression/Bzip2HuffmanStageDecoder;
invokevirtual io.netty.handler.codec.compression.Bzip2BlockDecompressor.decodeHuffmanData:(Lio/netty/handler/codec/compression/Bzip2HuffmanStageDecoder;)Z
istore 30
start local 30 146: iload 30
ifne 148
147: return
148: StackMap locals: io.netty.handler.codec.compression.Bzip2Decoder io.netty.channel.ChannelHandlerContext io.netty.buffer.ByteBuf java.util.List io.netty.handler.codec.compression.Bzip2BitReader top top top top top top io.netty.handler.codec.compression.Bzip2BlockDecompressor top top top top top top top top top top top top top top top top top int int
StackMap stack:
aload 2
invokevirtual io.netty.buffer.ByteBuf.readerIndex:()I
iload 29
if_icmpne 150
aload 2
invokevirtual io.netty.buffer.ByteBuf.isReadable:()Z
ifeq 150
149: aload 4
invokevirtual io.netty.handler.codec.compression.Bzip2BitReader.refill:()V
150: StackMap locals:
StackMap stack:
aload 11
invokevirtual io.netty.handler.codec.compression.Bzip2BlockDecompressor.blockLength:()I
istore 31
start local 31 151: aload 1
invokeinterface io.netty.channel.ChannelHandlerContext.alloc:()Lio/netty/buffer/ByteBufAllocator;
iload 31
invokeinterface io.netty.buffer.ByteBufAllocator.buffer:(I)Lio/netty/buffer/ByteBuf;
astore 32
start local 32 152: iconst_0
istore 33
start local 33 153: goto 155
start local 34 154: StackMap locals: io.netty.handler.codec.compression.Bzip2Decoder io.netty.channel.ChannelHandlerContext io.netty.buffer.ByteBuf java.util.List io.netty.handler.codec.compression.Bzip2BitReader top top top top top top io.netty.handler.codec.compression.Bzip2BlockDecompressor top top top top top top top top top top top top top top top top top int int int io.netty.buffer.ByteBuf int int
StackMap stack:
aload 32
iload 34
invokevirtual io.netty.buffer.ByteBuf.writeByte:(I)Lio/netty/buffer/ByteBuf;
pop
end local 34 155: StackMap locals:
StackMap stack:
aload 11
invokevirtual io.netty.handler.codec.compression.Bzip2BlockDecompressor.read:()I
dup
istore 34
start local 34 156: ifge 154
157: aload 11
invokevirtual io.netty.handler.codec.compression.Bzip2BlockDecompressor.checkCRC:()I
istore 35
start local 35 158: aload 0
aload 0
getfield io.netty.handler.codec.compression.Bzip2Decoder.streamCRC:I
iconst_1
ishl
aload 0
getfield io.netty.handler.codec.compression.Bzip2Decoder.streamCRC:I
bipush 31
iushr
ior
iload 35
ixor
putfield io.netty.handler.codec.compression.Bzip2Decoder.streamCRC:I
159: aload 3
aload 32
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
160: iconst_1
istore 33
end local 35 end local 34 161: goto 166
StackMap locals:
StackMap stack: java.lang.Throwable
162: astore 36
163: iload 33
ifne 165
164: aload 32
invokevirtual io.netty.buffer.ByteBuf.release:()Z
pop
165: StackMap locals: io.netty.handler.codec.compression.Bzip2Decoder io.netty.channel.ChannelHandlerContext io.netty.buffer.ByteBuf java.util.List io.netty.handler.codec.compression.Bzip2BitReader top top top top top top io.netty.handler.codec.compression.Bzip2BlockDecompressor top top top top top top top top top top top top top top top top top int int int io.netty.buffer.ByteBuf int top top java.lang.Throwable
StackMap stack:
aload 36
athrow
166: StackMap locals: io.netty.handler.codec.compression.Bzip2Decoder io.netty.channel.ChannelHandlerContext io.netty.buffer.ByteBuf java.util.List io.netty.handler.codec.compression.Bzip2BitReader top top top top top top io.netty.handler.codec.compression.Bzip2BlockDecompressor top top top top top top top top top top top top top top top top top int int int io.netty.buffer.ByteBuf int
StackMap stack:
iload 33
ifne 168
167: aload 32
invokevirtual io.netty.buffer.ByteBuf.release:()Z
pop
168: StackMap locals:
StackMap stack:
aload 0
getstatic io.netty.handler.codec.compression.Bzip2Decoder$State.INIT_BLOCK:Lio/netty/handler/codec/compression/Bzip2Decoder$State;
putfield io.netty.handler.codec.compression.Bzip2Decoder.currentState:Lio/netty/handler/codec/compression/Bzip2Decoder$State;
169: goto 4
end local 33 end local 32 end local 31 end local 30 end local 29 end local 11 170: StackMap locals: io.netty.handler.codec.compression.Bzip2Decoder io.netty.channel.ChannelHandlerContext io.netty.buffer.ByteBuf java.util.List io.netty.handler.codec.compression.Bzip2BitReader
StackMap stack:
aload 2
aload 2
invokevirtual io.netty.buffer.ByteBuf.readableBytes:()I
invokevirtual io.netty.buffer.ByteBuf.skipBytes:(I)Lio/netty/buffer/ByteBuf;
pop
171: return
172: StackMap locals:
StackMap stack:
new java.lang.IllegalStateException
dup
invokespecial java.lang.IllegalStateException.<init>:()V
athrow
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 173 0 this Lio/netty/handler/codec/compression/Bzip2Decoder;
0 173 1 ctx Lio/netty/channel/ChannelHandlerContext;
0 173 2 in Lio/netty/buffer/ByteBuf;
0 173 3 out Ljava/util/List<Ljava/lang/Object;>;
3 173 4 reader Lio/netty/handler/codec/compression/Bzip2BitReader;
8 16 5 magicNumber I
11 16 6 blockSize I
19 30 7 magic1 I
20 30 8 magic2 I
22 26 9 storedCombinedCRC I
33 38 9 blockRandomised Z
34 38 10 bwtStartPointer I
43 71 11 blockDecompressor Lio/netty/handler/codec/compression/Bzip2BlockDecompressor;
144 170 11 blockDecompressor Lio/netty/handler/codec/compression/Bzip2BlockDecompressor;
44 71 12 inUse16 I
45 71 13 bitNumber I
46 71 14 huffmanSymbolMap [B
49 71 15 huffmanSymbolCount I
51 62 16 i I
54 60 17 j I
55 60 18 k I
64 71 16 totalTables I
98 143 16 totalTables I
67 71 17 alphaSize I
100 143 17 alphaSize I
74 78 18 totalSelectors I
81 96 18 totalSelectors I
79 96 19 huffmanStageDecoder Lio/netty/handler/codec/compression/Bzip2HuffmanStageDecoder;
97 143 19 huffmanStageDecoder Lio/netty/handler/codec/compression/Bzip2HuffmanStageDecoder;
80 96 20 selectors [B
82 96 21 tableMtf Lio/netty/handler/codec/compression/Bzip2MoveToFrontTable;
83 96 22 currSelector I
88 92 23 index I
99 143 23 codeLength [[B
105 143 24 currGroup I
101 143 25 currLength I
102 143 26 currAlpha I
103 143 27 modifyLength Z
104 143 28 saveStateAndReturn Z
145 170 29 oldReaderIndex I
146 170 30 decoded Z
151 170 31 blockLength I
152 170 32 uncompressed Lio/netty/buffer/ByteBuf;
153 170 33 success Z
154 155 34 uncByte I
156 161 34 uncByte I
158 161 35 currentBlockCRC I
Exception table:
from to target type
153 162 162 any
Exceptions:
throws java.lang.Exception
Signature: (Lio/netty/channel/ChannelHandlerContext;Lio/netty/buffer/ByteBuf;Ljava/util/List<Ljava/lang/Object;>;)V
MethodParameters:
Name Flags
ctx
in
out
public boolean isClosed();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield io.netty.handler.codec.compression.Bzip2Decoder.currentState:Lio/netty/handler/codec/compression/Bzip2Decoder$State;
getstatic io.netty.handler.codec.compression.Bzip2Decoder$State.EOF:Lio/netty/handler/codec/compression/Bzip2Decoder$State;
if_acmpne 1
iconst_1
ireturn
StackMap locals:
StackMap stack:
1: iconst_0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lio/netty/handler/codec/compression/Bzip2Decoder;
static int[] $SWITCH_TABLE$io$netty$handler$codec$compression$Bzip2Decoder$State();
descriptor: ()[I
flags: (0x1008) ACC_STATIC, ACC_SYNTHETIC
Code:
stack=3, locals=1, args_size=0
0: getstatic io.netty.handler.codec.compression.Bzip2Decoder.$SWITCH_TABLE$io$netty$handler$codec$compression$Bzip2Decoder$State:[I
dup
ifnull 1
areturn
StackMap locals:
StackMap stack: int[]
1: pop
invokestatic io.netty.handler.codec.compression.Bzip2Decoder$State.values:()[Lio/netty/handler/codec/compression/Bzip2Decoder$State;
arraylength
newarray 10
astore 0
2: aload 0
getstatic io.netty.handler.codec.compression.Bzip2Decoder$State.DECODE_HUFFMAN_DATA:Lio/netty/handler/codec/compression/Bzip2Decoder$State;
invokevirtual io.netty.handler.codec.compression.Bzip2Decoder$State.ordinal:()I
bipush 9
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.Bzip2Decoder$State.EOF:Lio/netty/handler/codec/compression/Bzip2Decoder$State;
invokevirtual io.netty.handler.codec.compression.Bzip2Decoder$State.ordinal:()I
bipush 10
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.Bzip2Decoder$State.INIT:Lio/netty/handler/codec/compression/Bzip2Decoder$State;
invokevirtual io.netty.handler.codec.compression.Bzip2Decoder$State.ordinal:()I
iconst_1
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.Bzip2Decoder$State.INIT_BLOCK:Lio/netty/handler/codec/compression/Bzip2Decoder$State;
invokevirtual io.netty.handler.codec.compression.Bzip2Decoder$State.ordinal:()I
iconst_2
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.Bzip2Decoder$State.INIT_BLOCK_PARAMS:Lio/netty/handler/codec/compression/Bzip2Decoder$State;
invokevirtual io.netty.handler.codec.compression.Bzip2Decoder$State.ordinal:()I
iconst_3
iastore
15: goto 17
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
16: pop
StackMap locals:
StackMap stack:
17: aload 0
getstatic io.netty.handler.codec.compression.Bzip2Decoder$State.RECEIVE_HUFFMAN_LENGTH:Lio/netty/handler/codec/compression/Bzip2Decoder$State;
invokevirtual io.netty.handler.codec.compression.Bzip2Decoder$State.ordinal:()I
bipush 8
iastore
18: goto 20
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
19: pop
StackMap locals:
StackMap stack:
20: aload 0
getstatic io.netty.handler.codec.compression.Bzip2Decoder$State.RECEIVE_HUFFMAN_USED_BITMAPS:Lio/netty/handler/codec/compression/Bzip2Decoder$State;
invokevirtual io.netty.handler.codec.compression.Bzip2Decoder$State.ordinal:()I
iconst_5
iastore
21: goto 23
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
22: pop
StackMap locals:
StackMap stack:
23: aload 0
getstatic io.netty.handler.codec.compression.Bzip2Decoder$State.RECEIVE_HUFFMAN_USED_MAP:Lio/netty/handler/codec/compression/Bzip2Decoder$State;
invokevirtual io.netty.handler.codec.compression.Bzip2Decoder$State.ordinal:()I
iconst_4
iastore
24: goto 26
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
25: pop
StackMap locals:
StackMap stack:
26: aload 0
getstatic io.netty.handler.codec.compression.Bzip2Decoder$State.RECEIVE_SELECTORS:Lio/netty/handler/codec/compression/Bzip2Decoder$State;
invokevirtual io.netty.handler.codec.compression.Bzip2Decoder$State.ordinal:()I
bipush 7
iastore
27: goto 29
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
28: pop
StackMap locals:
StackMap stack:
29: aload 0
getstatic io.netty.handler.codec.compression.Bzip2Decoder$State.RECEIVE_SELECTORS_NUMBER:Lio/netty/handler/codec/compression/Bzip2Decoder$State;
invokevirtual io.netty.handler.codec.compression.Bzip2Decoder$State.ordinal:()I
bipush 6
iastore
30: goto 32
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
31: pop
StackMap locals:
StackMap stack:
32: aload 0
dup
putstatic io.netty.handler.codec.compression.Bzip2Decoder.$SWITCH_TABLE$io$netty$handler$codec$compression$Bzip2Decoder$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
17 18 19 Class java.lang.NoSuchFieldError
20 21 22 Class java.lang.NoSuchFieldError
23 24 25 Class java.lang.NoSuchFieldError
26 27 28 Class java.lang.NoSuchFieldError
29 30 31 Class java.lang.NoSuchFieldError
}
SourceFile: "Bzip2Decoder.java"
NestMembers:
io.netty.handler.codec.compression.Bzip2Decoder$State
InnerClasses:
private final State = io.netty.handler.codec.compression.Bzip2Decoder$State of io.netty.handler.codec.compression.Bzip2Decoder