final class jdk.jfr.internal.consumer.StringParser$CharsetParser extends jdk.jfr.internal.consumer.Parser
minor version: 0
major version: 59
flags: flags: (0x0030) ACC_FINAL, ACC_SUPER
this_class: jdk.jfr.internal.consumer.StringParser$CharsetParser
super_class: jdk.jfr.internal.consumer.Parser
{
private final java.nio.charset.Charset charset;
descriptor: Ljava/nio/charset/Charset;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private int lastSize;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private byte[] buffer;
descriptor: [B
flags: (0x0002) ACC_PRIVATE
private java.lang.String lastString;
descriptor: Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
void <init>(java.nio.charset.Charset);
descriptor: (Ljava/nio/charset/Charset;)V
flags: (0x0000)
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokespecial jdk.jfr.internal.consumer.Parser.<init>:()V
1: aload 0
bipush 16
newarray 8
putfield jdk.jfr.internal.consumer.StringParser$CharsetParser.buffer:[B
2: aload 0
aload 1
putfield jdk.jfr.internal.consumer.StringParser$CharsetParser.charset:Ljava/nio/charset/Charset;
3: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Ljdk/jfr/internal/consumer/StringParser$CharsetParser;
0 4 1 charset Ljava/nio/charset/Charset;
MethodParameters:
Name Flags
charset
public java.lang.Object parse(jdk.jfr.internal.consumer.RecordingInput);
descriptor: (Ljdk/jfr/internal/consumer/RecordingInput;)Ljava/lang/Object;
flags: (0x0001) ACC_PUBLIC
Code:
stack=7, locals=6, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual jdk.jfr.internal.consumer.RecordingInput.readInt:()I
istore 2
start local 2 1: aload 0
iload 2
invokevirtual jdk.jfr.internal.consumer.StringParser$CharsetParser.ensureSize:(I)V
2: aload 0
getfield jdk.jfr.internal.consumer.StringParser$CharsetParser.lastSize:I
iload 2
if_icmpne 14
3: iconst_1
istore 3
start local 3 4: iconst_0
istore 4
start local 4 5: goto 11
6: StackMap locals: int int int
StackMap stack:
aload 1
invokevirtual jdk.jfr.internal.consumer.RecordingInput.readByte:()B
istore 5
start local 5 7: aload 0
getfield jdk.jfr.internal.consumer.StringParser$CharsetParser.buffer:[B
iload 4
baload
iload 5
if_icmpeq 10
8: iconst_0
istore 3
9: aload 0
getfield jdk.jfr.internal.consumer.StringParser$CharsetParser.buffer:[B
iload 4
iload 5
bastore
end local 5 10: StackMap locals:
StackMap stack:
iinc 4 1
StackMap locals:
StackMap stack:
11: iload 4
iload 2
if_icmplt 6
end local 4 12: iload 3
ifeq 19
13: aload 0
getfield jdk.jfr.internal.consumer.StringParser$CharsetParser.lastString:Ljava/lang/String;
areturn
end local 3 14: StackMap locals:
StackMap stack:
iconst_0
istore 3
start local 3 15: goto 18
16: StackMap locals: int
StackMap stack:
aload 0
getfield jdk.jfr.internal.consumer.StringParser$CharsetParser.buffer:[B
iload 3
aload 1
invokevirtual jdk.jfr.internal.consumer.RecordingInput.readByte:()B
bastore
17: iinc 3 1
StackMap locals:
StackMap stack:
18: iload 3
iload 2
if_icmplt 16
end local 3 19: StackMap locals:
StackMap stack:
aload 0
new java.lang.String
dup
aload 0
getfield jdk.jfr.internal.consumer.StringParser$CharsetParser.buffer:[B
iconst_0
iload 2
aload 0
getfield jdk.jfr.internal.consumer.StringParser$CharsetParser.charset:Ljava/nio/charset/Charset;
invokespecial java.lang.String.<init>:([BIILjava/nio/charset/Charset;)V
putfield jdk.jfr.internal.consumer.StringParser$CharsetParser.lastString:Ljava/lang/String;
20: aload 0
iload 2
putfield jdk.jfr.internal.consumer.StringParser$CharsetParser.lastSize:I
21: aload 0
getfield jdk.jfr.internal.consumer.StringParser$CharsetParser.lastString:Ljava/lang/String;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 22 0 this Ljdk/jfr/internal/consumer/StringParser$CharsetParser;
0 22 1 input Ljdk/jfr/internal/consumer/RecordingInput;
1 22 2 size I
4 14 3 equalsLastString Z
5 12 4 i I
7 10 5 b B
15 19 3 i I
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
input
public void skip(jdk.jfr.internal.consumer.RecordingInput);
descriptor: (Ljdk/jfr/internal/consumer/RecordingInput;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual jdk.jfr.internal.consumer.RecordingInput.readInt:()I
istore 2
start local 2 1: aload 1
iload 2
invokevirtual jdk.jfr.internal.consumer.RecordingInput.skipBytes:(I)I
pop
2: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Ljdk/jfr/internal/consumer/StringParser$CharsetParser;
0 3 1 input Ljdk/jfr/internal/consumer/RecordingInput;
1 3 2 size I
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
input
private void ensureSize(int);
descriptor: (I)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield jdk.jfr.internal.consumer.StringParser$CharsetParser.buffer:[B
arraylength
iload 1
if_icmpge 2
1: aload 0
iload 1
newarray 8
putfield jdk.jfr.internal.consumer.StringParser$CharsetParser.buffer:[B
2: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Ljdk/jfr/internal/consumer/StringParser$CharsetParser;
0 3 1 size I
MethodParameters:
Name Flags
size
}
SourceFile: "StringParser.java"
NestHost: jdk.jfr.internal.consumer.StringParser
InnerClasses:
private final CharsetParser = jdk.jfr.internal.consumer.StringParser$CharsetParser of jdk.jfr.internal.consumer.StringParser