final class jdk.internal.net.http.hpack.IntegerWriter
minor version: 0
major version: 59
flags: flags: (0x0030) ACC_FINAL, ACC_SUPER
this_class: jdk.internal.net.http.hpack.IntegerWriter
super_class: java.lang.Object
{
private static final int NEW;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 0
private static final int CONFIGURED;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 1
private static final int FIRST_BYTE_WRITTEN;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 2
private static final int DONE;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 4
private int state;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private int payload;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private int N;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private int value;
descriptor: I
flags: (0x0002) ACC_PRIVATE
void <init>();
descriptor: ()V
flags: (0x0000)
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
iconst_0
putfield jdk.internal.net.http.hpack.IntegerWriter.state:I
2: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Ljdk/internal/net/http/hpack/IntegerWriter;
public jdk.internal.net.http.hpack.IntegerWriter configure(int, int, int);
descriptor: (III)Ljdk/internal/net/http/hpack/IntegerWriter;
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
getfield jdk.internal.net.http.hpack.IntegerWriter.state:I
ifeq 2
1: new java.lang.IllegalStateException
dup
ldc "Already configured"
invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
athrow
2: StackMap locals:
StackMap stack:
iload 1
ifge 4
3: new java.lang.IllegalArgumentException
dup
new java.lang.StringBuilder
dup
ldc "value >= 0: value="
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 1
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
4: StackMap locals:
StackMap stack:
iload 2
invokestatic jdk.internal.net.http.hpack.IntegerWriter.checkPrefix:(I)V
5: aload 0
iload 1
putfield jdk.internal.net.http.hpack.IntegerWriter.value:I
6: aload 0
iload 2
putfield jdk.internal.net.http.hpack.IntegerWriter.N:I
7: aload 0
iload 3
sipush 255
iand
iconst_m1
iload 2
ishl
iand
putfield jdk.internal.net.http.hpack.IntegerWriter.payload:I
8: aload 0
iconst_1
putfield jdk.internal.net.http.hpack.IntegerWriter.state:I
9: aload 0
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Ljdk/internal/net/http/hpack/IntegerWriter;
0 10 1 value I
0 10 2 N I
0 10 3 payload I
MethodParameters:
Name Flags
value
N
payload
public boolean write(java.nio.ByteBuffer);
descriptor: (Ljava/nio/ByteBuffer;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=3, args_size=2
start local 0 start local 1 0: aload 0
getfield jdk.internal.net.http.hpack.IntegerWriter.state:I
ifne 2
1: new java.lang.IllegalStateException
dup
ldc "Configure first"
invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
athrow
2: StackMap locals:
StackMap stack:
aload 0
getfield jdk.internal.net.http.hpack.IntegerWriter.state:I
iconst_4
if_icmpne 4
3: iconst_1
ireturn
4: StackMap locals:
StackMap stack:
aload 1
invokevirtual java.nio.ByteBuffer.hasRemaining:()Z
ifne 6
5: iconst_0
ireturn
6: StackMap locals:
StackMap stack:
aload 0
getfield jdk.internal.net.http.hpack.IntegerWriter.state:I
iconst_1
if_icmpne 15
7: iconst_2
aload 0
getfield jdk.internal.net.http.hpack.IntegerWriter.N:I
iconst_1
isub
ishl
iconst_1
isub
istore 2
start local 2 8: aload 0
getfield jdk.internal.net.http.hpack.IntegerWriter.value:I
iload 2
if_icmpge 12
9: aload 1
aload 0
getfield jdk.internal.net.http.hpack.IntegerWriter.payload:I
aload 0
getfield jdk.internal.net.http.hpack.IntegerWriter.value:I
ior
i2b
invokevirtual java.nio.ByteBuffer.put:(B)Ljava/nio/ByteBuffer;
pop
10: aload 0
iconst_4
putfield jdk.internal.net.http.hpack.IntegerWriter.state:I
11: iconst_1
ireturn
12: StackMap locals: int
StackMap stack:
aload 1
aload 0
getfield jdk.internal.net.http.hpack.IntegerWriter.payload:I
iload 2
ior
i2b
invokevirtual java.nio.ByteBuffer.put:(B)Ljava/nio/ByteBuffer;
pop
13: aload 0
dup
getfield jdk.internal.net.http.hpack.IntegerWriter.value:I
iload 2
isub
putfield jdk.internal.net.http.hpack.IntegerWriter.value:I
14: aload 0
iconst_2
putfield jdk.internal.net.http.hpack.IntegerWriter.state:I
end local 2 15: StackMap locals:
StackMap stack:
aload 0
getfield jdk.internal.net.http.hpack.IntegerWriter.state:I
iconst_2
if_icmpne 25
16: goto 19
17: StackMap locals:
StackMap stack:
aload 1
aload 0
getfield jdk.internal.net.http.hpack.IntegerWriter.value:I
bipush 127
iand
sipush 128
iadd
i2b
invokevirtual java.nio.ByteBuffer.put:(B)Ljava/nio/ByteBuffer;
pop
18: aload 0
dup
getfield jdk.internal.net.http.hpack.IntegerWriter.value:I
sipush 128
idiv
putfield jdk.internal.net.http.hpack.IntegerWriter.value:I
19: StackMap locals:
StackMap stack:
aload 0
getfield jdk.internal.net.http.hpack.IntegerWriter.value:I
sipush 128
if_icmplt 20
aload 1
invokevirtual java.nio.ByteBuffer.hasRemaining:()Z
ifne 17
20: StackMap locals:
StackMap stack:
aload 1
invokevirtual java.nio.ByteBuffer.hasRemaining:()Z
ifne 22
21: iconst_0
ireturn
22: StackMap locals:
StackMap stack:
aload 1
aload 0
getfield jdk.internal.net.http.hpack.IntegerWriter.value:I
i2b
invokevirtual java.nio.ByteBuffer.put:(B)Ljava/nio/ByteBuffer;
pop
23: aload 0
iconst_4
putfield jdk.internal.net.http.hpack.IntegerWriter.state:I
24: iconst_1
ireturn
25: StackMap locals:
StackMap stack:
new java.lang.InternalError
dup
26: iconst_4
anewarray java.lang.Object
dup
iconst_0
aload 0
getfield jdk.internal.net.http.hpack.IntegerWriter.state:I
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
dup
iconst_1
aload 0
getfield jdk.internal.net.http.hpack.IntegerWriter.payload:I
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
dup
iconst_2
aload 0
getfield jdk.internal.net.http.hpack.IntegerWriter.N:I
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
dup
iconst_3
aload 0
getfield jdk.internal.net.http.hpack.IntegerWriter.value:I
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
27: invokestatic java.util.Arrays.toString:([Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.InternalError.<init>:(Ljava/lang/String;)V
athrow
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 28 0 this Ljdk/internal/net/http/hpack/IntegerWriter;
0 28 1 output Ljava/nio/ByteBuffer;
8 15 2 max I
MethodParameters:
Name Flags
output
private static void checkPrefix(int);
descriptor: (I)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=5, locals=1, args_size=1
start local 0 0: iload 0
iconst_1
if_icmplt 1
iload 0
bipush 8
if_icmple 2
1: StackMap locals:
StackMap stack:
new java.lang.IllegalArgumentException
dup
new java.lang.StringBuilder
dup
ldc "1 <= N <= 8: N= "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 0
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
2: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 N I
MethodParameters:
Name Flags
N
public jdk.internal.net.http.hpack.IntegerWriter reset();
descriptor: ()Ljdk/internal/net/http/hpack/IntegerWriter;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
iconst_0
putfield jdk.internal.net.http.hpack.IntegerWriter.state:I
1: aload 0
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Ljdk/internal/net/http/hpack/IntegerWriter;
}
SourceFile: "IntegerWriter.java"