final class io.netty.handler.codec.http2.HpackHuffmanEncoder
minor version: 0
major version: 59
flags: flags: (0x0030) ACC_FINAL, ACC_SUPER
this_class: io.netty.handler.codec.http2.HpackHuffmanEncoder
super_class: java.lang.Object
{
private final int[] codes;
descriptor: [I
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final byte[] lengths;
descriptor: [B
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final io.netty.handler.codec.http2.HpackHuffmanEncoder$EncodedLengthProcessor encodedLengthProcessor;
descriptor: Lio/netty/handler/codec/http2/HpackHuffmanEncoder$EncodedLengthProcessor;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final io.netty.handler.codec.http2.HpackHuffmanEncoder$EncodeProcessor encodeProcessor;
descriptor: Lio/netty/handler/codec/http2/HpackHuffmanEncoder$EncodeProcessor;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
void <init>();
descriptor: ()V
flags: (0x0000)
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
getstatic io.netty.handler.codec.http2.HpackUtil.HUFFMAN_CODES:[I
getstatic io.netty.handler.codec.http2.HpackUtil.HUFFMAN_CODE_LENGTHS:[B
invokespecial io.netty.handler.codec.http2.HpackHuffmanEncoder.<init>:([I[B)V
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lio/netty/handler/codec/http2/HpackHuffmanEncoder;
private void <init>(int[], byte[]);
descriptor: ([I[B)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
new io.netty.handler.codec.http2.HpackHuffmanEncoder$EncodedLengthProcessor
dup
aload 0
invokespecial io.netty.handler.codec.http2.HpackHuffmanEncoder$EncodedLengthProcessor.<init>:(Lio/netty/handler/codec/http2/HpackHuffmanEncoder;)V
putfield io.netty.handler.codec.http2.HpackHuffmanEncoder.encodedLengthProcessor:Lio/netty/handler/codec/http2/HpackHuffmanEncoder$EncodedLengthProcessor;
2: aload 0
new io.netty.handler.codec.http2.HpackHuffmanEncoder$EncodeProcessor
dup
aload 0
invokespecial io.netty.handler.codec.http2.HpackHuffmanEncoder$EncodeProcessor.<init>:(Lio/netty/handler/codec/http2/HpackHuffmanEncoder;)V
putfield io.netty.handler.codec.http2.HpackHuffmanEncoder.encodeProcessor:Lio/netty/handler/codec/http2/HpackHuffmanEncoder$EncodeProcessor;
3: aload 0
aload 1
putfield io.netty.handler.codec.http2.HpackHuffmanEncoder.codes:[I
4: aload 0
aload 2
putfield io.netty.handler.codec.http2.HpackHuffmanEncoder.lengths:[B
5: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lio/netty/handler/codec/http2/HpackHuffmanEncoder;
0 6 1 codes [I
0 6 2 lengths [B
MethodParameters:
Name Flags
codes
lengths
public void encode(io.netty.buffer.ByteBuf, java.lang.CharSequence);
descriptor: (Lio/netty/buffer/ByteBuf;Ljava/lang/CharSequence;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=6, args_size=3
start local 0 start local 1 start local 2 0: aload 1
ldc "out"
invokestatic io.netty.util.internal.ObjectUtil.checkNotNull:(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object;
pop
1: aload 2
instanceof io.netty.util.AsciiString
ifeq 14
2: aload 2
checkcast io.netty.util.AsciiString
astore 3
start local 3 3: aload 0
getfield io.netty.handler.codec.http2.HpackHuffmanEncoder.encodeProcessor:Lio/netty/handler/codec/http2/HpackHuffmanEncoder$EncodeProcessor;
aload 1
putfield io.netty.handler.codec.http2.HpackHuffmanEncoder$EncodeProcessor.out:Lio/netty/buffer/ByteBuf;
4: aload 3
aload 0
getfield io.netty.handler.codec.http2.HpackHuffmanEncoder.encodeProcessor:Lio/netty/handler/codec/http2/HpackHuffmanEncoder$EncodeProcessor;
invokevirtual io.netty.util.AsciiString.forEachByte:(Lio/netty/util/ByteProcessor;)I
pop
5: goto 12
StackMap locals: io.netty.handler.codec.http2.HpackHuffmanEncoder io.netty.buffer.ByteBuf java.lang.CharSequence io.netty.util.AsciiString
StackMap stack: java.lang.Exception
6: astore 4
start local 4 7: aload 4
invokestatic io.netty.util.internal.PlatformDependent.throwException:(Ljava/lang/Throwable;)V
end local 4 8: aload 0
getfield io.netty.handler.codec.http2.HpackHuffmanEncoder.encodeProcessor:Lio/netty/handler/codec/http2/HpackHuffmanEncoder$EncodeProcessor;
invokevirtual io.netty.handler.codec.http2.HpackHuffmanEncoder$EncodeProcessor.end:()V
goto 15
9: StackMap locals:
StackMap stack: java.lang.Throwable
astore 5
10: aload 0
getfield io.netty.handler.codec.http2.HpackHuffmanEncoder.encodeProcessor:Lio/netty/handler/codec/http2/HpackHuffmanEncoder$EncodeProcessor;
invokevirtual io.netty.handler.codec.http2.HpackHuffmanEncoder$EncodeProcessor.end:()V
11: aload 5
athrow
12: StackMap locals:
StackMap stack:
aload 0
getfield io.netty.handler.codec.http2.HpackHuffmanEncoder.encodeProcessor:Lio/netty/handler/codec/http2/HpackHuffmanEncoder$EncodeProcessor;
invokevirtual io.netty.handler.codec.http2.HpackHuffmanEncoder$EncodeProcessor.end:()V
end local 3 13: goto 15
14: StackMap locals:
StackMap stack:
aload 0
aload 1
aload 2
invokevirtual io.netty.handler.codec.http2.HpackHuffmanEncoder.encodeSlowPath:(Lio/netty/buffer/ByteBuf;Ljava/lang/CharSequence;)V
15: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 16 0 this Lio/netty/handler/codec/http2/HpackHuffmanEncoder;
0 16 1 out Lio/netty/buffer/ByteBuf;
0 16 2 data Ljava/lang/CharSequence;
3 13 3 string Lio/netty/util/AsciiString;
7 8 4 e Ljava/lang/Exception;
Exception table:
from to target type
3 5 6 Class java.lang.Exception
3 8 9 any
MethodParameters:
Name Flags
out
data
private void encodeSlowPath(io.netty.buffer.ByteBuf, java.lang.CharSequence);
descriptor: (Lio/netty/buffer/ByteBuf;Ljava/lang/CharSequence;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=10, args_size=3
start local 0 start local 1 start local 2 0: lconst_0
lstore 3
start local 3 1: iconst_0
istore 5
start local 5 2: iconst_0
istore 6
start local 6 3: goto 15
4: StackMap locals: long int int
StackMap stack:
aload 2
iload 6
invokeinterface java.lang.CharSequence.charAt:(I)C
sipush 255
iand
istore 7
start local 7 5: aload 0
getfield io.netty.handler.codec.http2.HpackHuffmanEncoder.codes:[I
iload 7
iaload
istore 8
start local 8 6: aload 0
getfield io.netty.handler.codec.http2.HpackHuffmanEncoder.lengths:[B
iload 7
baload
istore 9
start local 9 7: lload 3
iload 9
lshl
lstore 3
8: lload 3
iload 8
i2l
lor
lstore 3
9: iload 5
iload 9
iadd
istore 5
10: goto 13
11: StackMap locals: int int int
StackMap stack:
iinc 5 -8
12: aload 1
lload 3
iload 5
lshr
l2i
invokevirtual io.netty.buffer.ByteBuf.writeByte:(I)Lio/netty/buffer/ByteBuf;
pop
13: StackMap locals:
StackMap stack:
iload 5
bipush 8
if_icmpge 11
end local 9 end local 8 end local 7 14: iinc 6 1
StackMap locals:
StackMap stack:
15: iload 6
aload 2
invokeinterface java.lang.CharSequence.length:()I
if_icmplt 4
end local 6 16: iload 5
ifle 20
17: lload 3
bipush 8
iload 5
isub
lshl
lstore 3
18: lload 3
sipush 255
iload 5
iushr
i2l
lor
lstore 3
19: aload 1
lload 3
l2i
invokevirtual io.netty.buffer.ByteBuf.writeByte:(I)Lio/netty/buffer/ByteBuf;
pop
20: StackMap locals:
StackMap stack:
return
end local 5 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 21 0 this Lio/netty/handler/codec/http2/HpackHuffmanEncoder;
0 21 1 out Lio/netty/buffer/ByteBuf;
0 21 2 data Ljava/lang/CharSequence;
1 21 3 current J
2 21 5 n I
3 16 6 i I
5 14 7 b I
6 14 8 code I
7 14 9 nbits I
MethodParameters:
Name Flags
out
data
int getEncodedLength(java.lang.CharSequence);
descriptor: (Ljava/lang/CharSequence;)I
flags: (0x0000)
Code:
stack=2, locals=4, args_size=2
start local 0 start local 1 0: aload 1
instanceof io.netty.util.AsciiString
ifeq 9
1: aload 1
checkcast io.netty.util.AsciiString
astore 2
start local 2 2: aload 0
getfield io.netty.handler.codec.http2.HpackHuffmanEncoder.encodedLengthProcessor:Lio/netty/handler/codec/http2/HpackHuffmanEncoder$EncodedLengthProcessor;
invokevirtual io.netty.handler.codec.http2.HpackHuffmanEncoder$EncodedLengthProcessor.reset:()V
3: aload 2
aload 0
getfield io.netty.handler.codec.http2.HpackHuffmanEncoder.encodedLengthProcessor:Lio/netty/handler/codec/http2/HpackHuffmanEncoder$EncodedLengthProcessor;
invokevirtual io.netty.util.AsciiString.forEachByte:(Lio/netty/util/ByteProcessor;)I
pop
4: aload 0
getfield io.netty.handler.codec.http2.HpackHuffmanEncoder.encodedLengthProcessor:Lio/netty/handler/codec/http2/HpackHuffmanEncoder$EncodedLengthProcessor;
invokevirtual io.netty.handler.codec.http2.HpackHuffmanEncoder$EncodedLengthProcessor.length:()I
5: ireturn
6: StackMap locals: io.netty.handler.codec.http2.HpackHuffmanEncoder java.lang.CharSequence io.netty.util.AsciiString
StackMap stack: java.lang.Exception
astore 3
start local 3 7: aload 3
invokestatic io.netty.util.internal.PlatformDependent.throwException:(Ljava/lang/Throwable;)V
8: iconst_m1
ireturn
end local 3 end local 2 9: StackMap locals:
StackMap stack:
aload 0
aload 1
invokevirtual io.netty.handler.codec.http2.HpackHuffmanEncoder.getEncodedLengthSlowPath:(Ljava/lang/CharSequence;)I
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Lio/netty/handler/codec/http2/HpackHuffmanEncoder;
0 10 1 data Ljava/lang/CharSequence;
2 9 2 string Lio/netty/util/AsciiString;
7 9 3 e Ljava/lang/Exception;
Exception table:
from to target type
2 5 6 Class java.lang.Exception
MethodParameters:
Name Flags
data
private int getEncodedLengthSlowPath(java.lang.CharSequence);
descriptor: (Ljava/lang/CharSequence;)I
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=5, args_size=2
start local 0 start local 1 0: lconst_0
lstore 2
start local 2 1: iconst_0
istore 4
start local 4 2: goto 5
3: StackMap locals: long int
StackMap stack:
lload 2
aload 0
getfield io.netty.handler.codec.http2.HpackHuffmanEncoder.lengths:[B
aload 1
iload 4
invokeinterface java.lang.CharSequence.charAt:(I)C
sipush 255
iand
baload
i2l
ladd
lstore 2
4: iinc 4 1
StackMap locals:
StackMap stack:
5: iload 4
aload 1
invokeinterface java.lang.CharSequence.length:()I
if_icmplt 3
end local 4 6: lload 2
ldc 7
ladd
iconst_3
lshr
l2i
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lio/netty/handler/codec/http2/HpackHuffmanEncoder;
0 7 1 data Ljava/lang/CharSequence;
1 7 2 len J
2 6 4 i I
MethodParameters:
Name Flags
data
}
SourceFile: "HpackHuffmanEncoder.java"
NestMembers:
io.netty.handler.codec.http2.HpackHuffmanEncoder$EncodeProcessor io.netty.handler.codec.http2.HpackHuffmanEncoder$EncodedLengthProcessor
InnerClasses:
private final EncodeProcessor = io.netty.handler.codec.http2.HpackHuffmanEncoder$EncodeProcessor of io.netty.handler.codec.http2.HpackHuffmanEncoder
private final EncodedLengthProcessor = io.netty.handler.codec.http2.HpackHuffmanEncoder$EncodedLengthProcessor of io.netty.handler.codec.http2.HpackHuffmanEncoder