public final class jdk.jfr.internal.consumer.ChunkHeader
  minor version: 0
  major version: 59
  flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
  this_class: jdk.jfr.internal.consumer.ChunkHeader
  super_class: java.lang.Object
{
  static final long HEADER_SIZE;
    descriptor: J
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: 68

  static final byte UPDATING_CHUNK_HEADER;
    descriptor: B
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: -1

  static final long CHUNK_SIZE_POSITION;
    descriptor: J
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: 8

  static final long DURATION_NANOS_POSITION;
    descriptor: J
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: 40

  static final long FILE_STATE_POSITION;
    descriptor: J
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: 64

  static final long FLAG_BYTE_POSITION;
    descriptor: J
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: 67

  static final long METADATA_TYPE_ID;
    descriptor: J
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: 0

  static final byte[] FILE_MAGIC;
    descriptor: [B
    flags: (0x0018) ACC_STATIC, ACC_FINAL

  static final int MASK_FINAL_CHUNK;
    descriptor: I
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: 2

  private final short major;
    descriptor: S
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final short minor;
    descriptor: S
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final long chunkStartTicks;
    descriptor: J
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final long ticksPerSecond;
    descriptor: J
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final long chunkStartNanos;
    descriptor: J
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final long absoluteChunkStart;
    descriptor: J
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final jdk.jfr.internal.consumer.RecordingInput input;
    descriptor: Ljdk/jfr/internal/consumer/RecordingInput;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final long id;
    descriptor: J
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private long absoluteEventStart;
    descriptor: J
    flags: (0x0002) ACC_PRIVATE

  private long chunkSize;
    descriptor: J
    flags: (0x0002) ACC_PRIVATE

  private long constantPoolPosition;
    descriptor: J
    flags: (0x0002) ACC_PRIVATE

  private long metadataPosition;
    descriptor: J
    flags: (0x0002) ACC_PRIVATE

  private long durationNanos;
    descriptor: J
    flags: (0x0002) ACC_PRIVATE

  private long absoluteChunkEnd;
    descriptor: J
    flags: (0x0002) ACC_PRIVATE

  private boolean isFinished;
    descriptor: Z
    flags: (0x0002) ACC_PRIVATE

  private boolean finished;
    descriptor: Z
    flags: (0x0002) ACC_PRIVATE

  private boolean finalChunk;
    descriptor: Z
    flags: (0x0002) ACC_PRIVATE

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=4, locals=0, args_size=0
         0: .line 44
            iconst_4
            newarray 8
            dup
            iconst_0
            bipush 70
            bastore
            dup
            iconst_1
            bipush 76
            bastore
            dup
            iconst_2
            bipush 82
            bastore
            putstatic jdk.jfr.internal.consumer.ChunkHeader.FILE_MAGIC:[B
         1: .line 45
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public void <init>(jdk.jfr.internal.consumer.RecordingInput);
    descriptor: (Ljdk/jfr/internal/consumer/RecordingInput;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=2, args_size=2
        start local 0 // jdk.jfr.internal.consumer.ChunkHeader this
        start local 1 // jdk.jfr.internal.consumer.RecordingInput input
         0: .line 66
            aload 0 /* this */
            aload 1 /* input */
            lconst_0
            lconst_0
            invokespecial jdk.jfr.internal.consumer.ChunkHeader.<init>:(Ljdk/jfr/internal/consumer/RecordingInput;JJ)V
         1: .line 67
            return
        end local 1 // jdk.jfr.internal.consumer.RecordingInput input
        end local 0 // jdk.jfr.internal.consumer.ChunkHeader this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    2     0   this  Ljdk/jfr/internal/consumer/ChunkHeader;
            0    2     1  input  Ljdk/jfr/internal/consumer/RecordingInput;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
       Name  Flags
      input  

  private void <init>(jdk.jfr.internal.consumer.RecordingInput, long, long);
    descriptor: (Ljdk/jfr/internal/consumer/RecordingInput;JJ)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=8, args_size=4
        start local 0 // jdk.jfr.internal.consumer.ChunkHeader this
        start local 1 // jdk.jfr.internal.consumer.RecordingInput input
        start local 2 // long absoluteChunkStart
        start local 4 // long id
         0: .line 69
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 56
            aload 0 /* this */
            lconst_0
            putfield jdk.jfr.internal.consumer.ChunkHeader.chunkSize:J
         2: .line 57
            aload 0 /* this */
            lconst_0
            putfield jdk.jfr.internal.consumer.ChunkHeader.constantPoolPosition:J
         3: .line 58
            aload 0 /* this */
            lconst_0
            putfield jdk.jfr.internal.consumer.ChunkHeader.metadataPosition:J
         4: .line 70
            aload 0 /* this */
            lload 2 /* absoluteChunkStart */
            putfield jdk.jfr.internal.consumer.ChunkHeader.absoluteChunkStart:J
         5: .line 71
            aload 0 /* this */
            lload 2 /* absoluteChunkStart */
            ldc 68
            ladd
            putfield jdk.jfr.internal.consumer.ChunkHeader.absoluteEventStart:J
         6: .line 72
            aload 1 /* input */
            invokevirtual jdk.jfr.internal.consumer.RecordingInput.getFileSize:()J
            ldc 68
            lcmp
            ifge 8
         7: .line 73
            new java.io.IOException
            dup
            ldc "Not a complete Chunk header"
            invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
            athrow
         8: .line 75
      StackMap locals: jdk.jfr.internal.consumer.ChunkHeader jdk.jfr.internal.consumer.RecordingInput long long
      StackMap stack:
            aload 1 /* input */
            lload 2 /* absoluteChunkStart */
            ldc 68
            ladd
            invokevirtual jdk.jfr.internal.consumer.RecordingInput.setValidSize:(J)V
         9: .line 76
            aload 1 /* input */
            lload 2 /* absoluteChunkStart */
            invokevirtual jdk.jfr.internal.consumer.RecordingInput.position:(J)V
        10: .line 77
            aload 1 /* input */
            invokevirtual jdk.jfr.internal.consumer.RecordingInput.position:()J
            aload 1 /* input */
            invokevirtual jdk.jfr.internal.consumer.RecordingInput.size:()J
            lcmp
            iflt 12
        11: .line 78
            new java.io.IOException
            dup
            ldc "Chunk contains no data"
            invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
            athrow
        12: .line 80
      StackMap locals:
      StackMap stack:
            aload 1 /* input */
            invokestatic jdk.jfr.internal.consumer.ChunkHeader.verifyMagic:(Ljdk/jfr/internal/consumer/RecordingInput;)V
        13: .line 81
            aload 0 /* this */
            aload 1 /* input */
            putfield jdk.jfr.internal.consumer.ChunkHeader.input:Ljdk/jfr/internal/consumer/RecordingInput;
        14: .line 82
            aload 0 /* this */
            lload 4 /* id */
            putfield jdk.jfr.internal.consumer.ChunkHeader.id:J
        15: .line 83
            getstatic jdk.jfr.internal.LogTag.JFR_SYSTEM_PARSER:Ljdk/jfr/internal/LogTag;
            getstatic jdk.jfr.internal.LogLevel.INFO:Ljdk/jfr/internal/LogLevel;
            new java.lang.StringBuilder
            dup
            ldc "Chunk: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            lload 4 /* id */
            invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokestatic jdk.jfr.internal.Logger.log:(Ljdk/jfr/internal/LogTag;Ljdk/jfr/internal/LogLevel;Ljava/lang/String;)V
        16: .line 84
            getstatic jdk.jfr.internal.LogTag.JFR_SYSTEM_PARSER:Ljdk/jfr/internal/LogTag;
            getstatic jdk.jfr.internal.LogLevel.INFO:Ljdk/jfr/internal/LogLevel;
            new java.lang.StringBuilder
            dup
            ldc "Chunk: file="
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* input */
            invokevirtual jdk.jfr.internal.consumer.RecordingInput.getFilename:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokestatic jdk.jfr.internal.Logger.log:(Ljdk/jfr/internal/LogTag;Ljdk/jfr/internal/LogLevel;Ljava/lang/String;)V
        17: .line 85
            getstatic jdk.jfr.internal.LogTag.JFR_SYSTEM_PARSER:Ljdk/jfr/internal/LogTag;
            getstatic jdk.jfr.internal.LogLevel.INFO:Ljdk/jfr/internal/LogLevel;
            new java.lang.StringBuilder
            dup
            ldc "Chunk: startPosition="
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            lload 2 /* absoluteChunkStart */
            invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokestatic jdk.jfr.internal.Logger.log:(Ljdk/jfr/internal/LogTag;Ljdk/jfr/internal/LogLevel;Ljava/lang/String;)V
        18: .line 86
            aload 0 /* this */
            aload 1 /* input */
            invokevirtual jdk.jfr.internal.consumer.RecordingInput.readRawShort:()S
            putfield jdk.jfr.internal.consumer.ChunkHeader.major:S
        19: .line 87
            getstatic jdk.jfr.internal.LogTag.JFR_SYSTEM_PARSER:Ljdk/jfr/internal/LogTag;
            getstatic jdk.jfr.internal.LogLevel.INFO:Ljdk/jfr/internal/LogLevel;
            new java.lang.StringBuilder
            dup
            ldc "Chunk: major="
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            getfield jdk.jfr.internal.consumer.ChunkHeader.major:S
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokestatic jdk.jfr.internal.Logger.log:(Ljdk/jfr/internal/LogTag;Ljdk/jfr/internal/LogLevel;Ljava/lang/String;)V
        20: .line 88
            aload 0 /* this */
            aload 1 /* input */
            invokevirtual jdk.jfr.internal.consumer.RecordingInput.readRawShort:()S
            putfield jdk.jfr.internal.consumer.ChunkHeader.minor:S
        21: .line 89
            getstatic jdk.jfr.internal.LogTag.JFR_SYSTEM_PARSER:Ljdk/jfr/internal/LogTag;
            getstatic jdk.jfr.internal.LogLevel.INFO:Ljdk/jfr/internal/LogLevel;
            new java.lang.StringBuilder
            dup
            ldc "Chunk: minor="
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            getfield jdk.jfr.internal.consumer.ChunkHeader.minor:S
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokestatic jdk.jfr.internal.Logger.log:(Ljdk/jfr/internal/LogTag;Ljdk/jfr/internal/LogLevel;Ljava/lang/String;)V
        22: .line 90
            aload 0 /* this */
            getfield jdk.jfr.internal.consumer.ChunkHeader.major:S
            iconst_1
            if_icmpeq 24
            aload 0 /* this */
            getfield jdk.jfr.internal.consumer.ChunkHeader.major:S
            iconst_2
            if_icmpeq 24
        23: .line 91
            new java.io.IOException
            dup
            new java.lang.StringBuilder
            dup
            ldc "File version "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            getfield jdk.jfr.internal.consumer.ChunkHeader.major:S
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc "."
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            getfield jdk.jfr.internal.consumer.ChunkHeader.minor:S
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc ". Only Flight Recorder files of version 1.x and 2.x can be read by this JDK."
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
            athrow
        24: .line 93
      StackMap locals:
      StackMap stack:
            aload 1 /* input */
            invokevirtual jdk.jfr.internal.consumer.RecordingInput.readRawLong:()J
            lstore 6 /* c */
        start local 6 // long c
        25: .line 94
            getstatic jdk.jfr.internal.LogTag.JFR_SYSTEM_PARSER:Ljdk/jfr/internal/LogTag;
            getstatic jdk.jfr.internal.LogLevel.INFO:Ljdk/jfr/internal/LogLevel;
            new java.lang.StringBuilder
            dup
            ldc "Chunk: chunkSize="
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            lload 6 /* c */
            invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokestatic jdk.jfr.internal.Logger.log:(Ljdk/jfr/internal/LogTag;Ljdk/jfr/internal/LogLevel;Ljava/lang/String;)V
        26: .line 95
            aload 1 /* input */
            invokevirtual jdk.jfr.internal.consumer.RecordingInput.readRawLong:()J
            pop2
        27: .line 96
            getstatic jdk.jfr.internal.LogTag.JFR_SYSTEM_PARSER:Ljdk/jfr/internal/LogTag;
            getstatic jdk.jfr.internal.LogLevel.INFO:Ljdk/jfr/internal/LogLevel;
            new java.lang.StringBuilder
            dup
            ldc "Chunk: constantPoolPosition="
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            getfield jdk.jfr.internal.consumer.ChunkHeader.constantPoolPosition:J
            invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokestatic jdk.jfr.internal.Logger.log:(Ljdk/jfr/internal/LogTag;Ljdk/jfr/internal/LogLevel;Ljava/lang/String;)V
        28: .line 97
            aload 1 /* input */
            invokevirtual jdk.jfr.internal.consumer.RecordingInput.readRawLong:()J
            pop2
        29: .line 98
            getstatic jdk.jfr.internal.LogTag.JFR_SYSTEM_PARSER:Ljdk/jfr/internal/LogTag;
            getstatic jdk.jfr.internal.LogLevel.INFO:Ljdk/jfr/internal/LogLevel;
            new java.lang.StringBuilder
            dup
            ldc "Chunk: metadataPosition="
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            getfield jdk.jfr.internal.consumer.ChunkHeader.metadataPosition:J
            invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokestatic jdk.jfr.internal.Logger.log:(Ljdk/jfr/internal/LogTag;Ljdk/jfr/internal/LogLevel;Ljava/lang/String;)V
        30: .line 99
            aload 0 /* this */
            aload 1 /* input */
            invokevirtual jdk.jfr.internal.consumer.RecordingInput.readRawLong:()J
            putfield jdk.jfr.internal.consumer.ChunkHeader.chunkStartNanos:J
        31: .line 100
            getstatic jdk.jfr.internal.LogTag.JFR_SYSTEM_PARSER:Ljdk/jfr/internal/LogTag;
            getstatic jdk.jfr.internal.LogLevel.INFO:Ljdk/jfr/internal/LogLevel;
            new java.lang.StringBuilder
            dup
            ldc "Chunk: startNanos="
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            getfield jdk.jfr.internal.consumer.ChunkHeader.chunkStartNanos:J
            invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokestatic jdk.jfr.internal.Logger.log:(Ljdk/jfr/internal/LogTag;Ljdk/jfr/internal/LogLevel;Ljava/lang/String;)V
        32: .line 101
            aload 0 /* this */
            aload 1 /* input */
            invokevirtual jdk.jfr.internal.consumer.RecordingInput.readRawLong:()J
            putfield jdk.jfr.internal.consumer.ChunkHeader.durationNanos:J
        33: .line 102
            getstatic jdk.jfr.internal.LogTag.JFR_SYSTEM_PARSER:Ljdk/jfr/internal/LogTag;
            getstatic jdk.jfr.internal.LogLevel.INFO:Ljdk/jfr/internal/LogLevel;
            new java.lang.StringBuilder
            dup
            ldc "Chunk: durationNanos="
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            getfield jdk.jfr.internal.consumer.ChunkHeader.durationNanos:J
            invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokestatic jdk.jfr.internal.Logger.log:(Ljdk/jfr/internal/LogTag;Ljdk/jfr/internal/LogLevel;Ljava/lang/String;)V
        34: .line 103
            aload 0 /* this */
            aload 1 /* input */
            invokevirtual jdk.jfr.internal.consumer.RecordingInput.readRawLong:()J
            putfield jdk.jfr.internal.consumer.ChunkHeader.chunkStartTicks:J
        35: .line 104
            getstatic jdk.jfr.internal.LogTag.JFR_SYSTEM_PARSER:Ljdk/jfr/internal/LogTag;
            getstatic jdk.jfr.internal.LogLevel.INFO:Ljdk/jfr/internal/LogLevel;
            new java.lang.StringBuilder
            dup
            ldc "Chunk: startTicks="
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            getfield jdk.jfr.internal.consumer.ChunkHeader.chunkStartTicks:J
            invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokestatic jdk.jfr.internal.Logger.log:(Ljdk/jfr/internal/LogTag;Ljdk/jfr/internal/LogLevel;Ljava/lang/String;)V
        36: .line 105
            aload 0 /* this */
            aload 1 /* input */
            invokevirtual jdk.jfr.internal.consumer.RecordingInput.readRawLong:()J
            putfield jdk.jfr.internal.consumer.ChunkHeader.ticksPerSecond:J
        37: .line 106
            getstatic jdk.jfr.internal.LogTag.JFR_SYSTEM_PARSER:Ljdk/jfr/internal/LogTag;
            getstatic jdk.jfr.internal.LogLevel.INFO:Ljdk/jfr/internal/LogLevel;
            new java.lang.StringBuilder
            dup
            ldc "Chunk: ticksPerSecond="
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            getfield jdk.jfr.internal.consumer.ChunkHeader.ticksPerSecond:J
            invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokestatic jdk.jfr.internal.Logger.log:(Ljdk/jfr/internal/LogTag;Ljdk/jfr/internal/LogLevel;Ljava/lang/String;)V
        38: .line 107
            aload 1 /* input */
            invokevirtual jdk.jfr.internal.consumer.RecordingInput.readRawInt:()I
            pop
        39: .line 108
            aload 0 /* this */
            invokevirtual jdk.jfr.internal.consumer.ChunkHeader.refresh:()V
        40: .line 109
            aload 1 /* input */
            aload 0 /* this */
            getfield jdk.jfr.internal.consumer.ChunkHeader.absoluteEventStart:J
            invokevirtual jdk.jfr.internal.consumer.RecordingInput.position:(J)V
        41: .line 110
            return
        end local 6 // long c
        end local 4 // long id
        end local 2 // long absoluteChunkStart
        end local 1 // jdk.jfr.internal.consumer.RecordingInput input
        end local 0 // jdk.jfr.internal.consumer.ChunkHeader this
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0   42     0                this  Ljdk/jfr/internal/consumer/ChunkHeader;
            0   42     1               input  Ljdk/jfr/internal/consumer/RecordingInput;
            0   42     2  absoluteChunkStart  J
            0   42     4                  id  J
           25   42     6                   c  J
    Exceptions:
      throws java.io.IOException
    MethodParameters:
                    Name  Flags
      input               
      absoluteChunkStart  
      id                  

  public void refresh();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=12, args_size=1
        start local 0 // jdk.jfr.internal.consumer.ChunkHeader this
         0: .line 115
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield jdk.jfr.internal.consumer.ChunkHeader.input:Ljdk/jfr/internal/consumer/RecordingInput;
            aload 0 /* this */
            getfield jdk.jfr.internal.consumer.ChunkHeader.absoluteChunkStart:J
            ldc 64
            ladd
            invokevirtual jdk.jfr.internal.consumer.RecordingInput.positionPhysical:(J)V
         1: .line 116
            goto 4
        start local 1 // byte fileState1
         2: .line 117
      StackMap locals: int
      StackMap stack:
            lconst_1
            invokestatic jdk.jfr.internal.Utils.takeNap:(J)V
         3: .line 118
            aload 0 /* this */
            getfield jdk.jfr.internal.consumer.ChunkHeader.input:Ljdk/jfr/internal/consumer/RecordingInput;
            aload 0 /* this */
            getfield jdk.jfr.internal.consumer.ChunkHeader.absoluteChunkStart:J
            ldc 64
            ladd
            invokevirtual jdk.jfr.internal.consumer.RecordingInput.positionPhysical:(J)V
        end local 1 // byte fileState1
         4: .line 116
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield jdk.jfr.internal.consumer.ChunkHeader.input:Ljdk/jfr/internal/consumer/RecordingInput;
            invokevirtual jdk.jfr.internal.consumer.RecordingInput.readPhysicalByte:()B
            dup
            istore 1 /* fileState1 */
        start local 1 // byte fileState1
         5: iconst_m1
            if_icmpeq 2
         6: .line 120
            aload 0 /* this */
            getfield jdk.jfr.internal.consumer.ChunkHeader.input:Ljdk/jfr/internal/consumer/RecordingInput;
            aload 0 /* this */
            getfield jdk.jfr.internal.consumer.ChunkHeader.absoluteChunkStart:J
            ldc 8
            ladd
            invokevirtual jdk.jfr.internal.consumer.RecordingInput.positionPhysical:(J)V
         7: .line 121
            aload 0 /* this */
            getfield jdk.jfr.internal.consumer.ChunkHeader.input:Ljdk/jfr/internal/consumer/RecordingInput;
            invokevirtual jdk.jfr.internal.consumer.RecordingInput.readPhysicalLong:()J
            lstore 2 /* chunkSize */
        start local 2 // long chunkSize
         8: .line 122
            aload 0 /* this */
            getfield jdk.jfr.internal.consumer.ChunkHeader.input:Ljdk/jfr/internal/consumer/RecordingInput;
            invokevirtual jdk.jfr.internal.consumer.RecordingInput.readPhysicalLong:()J
            lstore 4 /* constantPoolPosition */
        start local 4 // long constantPoolPosition
         9: .line 123
            aload 0 /* this */
            getfield jdk.jfr.internal.consumer.ChunkHeader.input:Ljdk/jfr/internal/consumer/RecordingInput;
            invokevirtual jdk.jfr.internal.consumer.RecordingInput.readPhysicalLong:()J
            lstore 6 /* metadataPosition */
        start local 6 // long metadataPosition
        10: .line 124
            aload 0 /* this */
            getfield jdk.jfr.internal.consumer.ChunkHeader.input:Ljdk/jfr/internal/consumer/RecordingInput;
            aload 0 /* this */
            getfield jdk.jfr.internal.consumer.ChunkHeader.absoluteChunkStart:J
            ldc 40
            ladd
            invokevirtual jdk.jfr.internal.consumer.RecordingInput.positionPhysical:(J)V
        11: .line 125
            aload 0 /* this */
            getfield jdk.jfr.internal.consumer.ChunkHeader.input:Ljdk/jfr/internal/consumer/RecordingInput;
            invokevirtual jdk.jfr.internal.consumer.RecordingInput.readPhysicalLong:()J
            lstore 8 /* durationNanos */
        start local 8 // long durationNanos
        12: .line 126
            aload 0 /* this */
            getfield jdk.jfr.internal.consumer.ChunkHeader.input:Ljdk/jfr/internal/consumer/RecordingInput;
            aload 0 /* this */
            getfield jdk.jfr.internal.consumer.ChunkHeader.absoluteChunkStart:J
            ldc 64
            ladd
            invokevirtual jdk.jfr.internal.consumer.RecordingInput.positionPhysical:(J)V
        13: .line 127
            aload 0 /* this */
            getfield jdk.jfr.internal.consumer.ChunkHeader.input:Ljdk/jfr/internal/consumer/RecordingInput;
            invokevirtual jdk.jfr.internal.consumer.RecordingInput.readPhysicalByte:()B
            istore 10 /* fileState2 */
        start local 10 // byte fileState2
        14: .line 128
            aload 0 /* this */
            getfield jdk.jfr.internal.consumer.ChunkHeader.input:Ljdk/jfr/internal/consumer/RecordingInput;
            aload 0 /* this */
            getfield jdk.jfr.internal.consumer.ChunkHeader.absoluteChunkStart:J
            ldc 67
            ladd
            invokevirtual jdk.jfr.internal.consumer.RecordingInput.positionPhysical:(J)V
        15: .line 129
            aload 0 /* this */
            getfield jdk.jfr.internal.consumer.ChunkHeader.input:Ljdk/jfr/internal/consumer/RecordingInput;
            invokevirtual jdk.jfr.internal.consumer.RecordingInput.readPhysicalByte:()B
            istore 11 /* flagByte */
        start local 11 // int flagByte
        16: .line 130
            iload 1 /* fileState1 */
            iload 10 /* fileState2 */
            if_icmpne 0
        17: .line 131
            aload 0 /* this */
            iload 1 /* fileState1 */
            ifne 18
            iconst_1
            goto 19
      StackMap locals: jdk.jfr.internal.consumer.ChunkHeader int long long long long int int
      StackMap stack: jdk.jfr.internal.consumer.ChunkHeader
        18: iconst_0
      StackMap locals: jdk.jfr.internal.consumer.ChunkHeader int long long long long int int
      StackMap stack: jdk.jfr.internal.consumer.ChunkHeader int
        19: putfield jdk.jfr.internal.consumer.ChunkHeader.finished:Z
        20: .line 132
            lload 6 /* metadataPosition */
            lconst_0
            lcmp
            ifeq 0
        21: .line 133
            getstatic jdk.jfr.internal.LogTag.JFR_SYSTEM_PARSER:Ljdk/jfr/internal/LogTag;
            getstatic jdk.jfr.internal.LogLevel.INFO:Ljdk/jfr/internal/LogLevel;
            new java.lang.StringBuilder
            dup
            ldc "Setting input size to "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            getfield jdk.jfr.internal.consumer.ChunkHeader.absoluteChunkStart:J
            lload 2 /* chunkSize */
            ladd
            invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokestatic jdk.jfr.internal.Logger.log:(Ljdk/jfr/internal/LogTag;Ljdk/jfr/internal/LogLevel;Ljava/lang/String;)V
        22: .line 134
            aload 0 /* this */
            getfield jdk.jfr.internal.consumer.ChunkHeader.finished:Z
            ifeq 25
        23: .line 141
            aload 0 /* this */
            getfield jdk.jfr.internal.consumer.ChunkHeader.input:Ljdk/jfr/internal/consumer/RecordingInput;
            aload 0 /* this */
            getfield jdk.jfr.internal.consumer.ChunkHeader.input:Ljdk/jfr/internal/consumer/RecordingInput;
            invokevirtual jdk.jfr.internal.consumer.RecordingInput.getFileSize:()J
            invokevirtual jdk.jfr.internal.consumer.RecordingInput.setValidSize:(J)V
        24: .line 142
            goto 26
        25: .line 143
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield jdk.jfr.internal.consumer.ChunkHeader.input:Ljdk/jfr/internal/consumer/RecordingInput;
            aload 0 /* this */
            getfield jdk.jfr.internal.consumer.ChunkHeader.absoluteChunkStart:J
            lload 2 /* chunkSize */
            ladd
            invokevirtual jdk.jfr.internal.consumer.RecordingInput.setValidSize:(J)V
        26: .line 145
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            lload 2 /* chunkSize */
            putfield jdk.jfr.internal.consumer.ChunkHeader.chunkSize:J
        27: .line 146
            getstatic jdk.jfr.internal.LogTag.JFR_SYSTEM_PARSER:Ljdk/jfr/internal/LogTag;
            getstatic jdk.jfr.internal.LogLevel.INFO:Ljdk/jfr/internal/LogLevel;
            new java.lang.StringBuilder
            dup
            ldc "Chunk: chunkSize="
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            lload 2 /* chunkSize */
            invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokestatic jdk.jfr.internal.Logger.log:(Ljdk/jfr/internal/LogTag;Ljdk/jfr/internal/LogLevel;Ljava/lang/String;)V
        28: .line 147
            aload 0 /* this */
            lload 4 /* constantPoolPosition */
            putfield jdk.jfr.internal.consumer.ChunkHeader.constantPoolPosition:J
        29: .line 148
            getstatic jdk.jfr.internal.LogTag.JFR_SYSTEM_PARSER:Ljdk/jfr/internal/LogTag;
            getstatic jdk.jfr.internal.LogLevel.INFO:Ljdk/jfr/internal/LogLevel;
            new java.lang.StringBuilder
            dup
            ldc "Chunk: constantPoolPosition="
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            lload 4 /* constantPoolPosition */
            invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokestatic jdk.jfr.internal.Logger.log:(Ljdk/jfr/internal/LogTag;Ljdk/jfr/internal/LogLevel;Ljava/lang/String;)V
        30: .line 149
            aload 0 /* this */
            lload 6 /* metadataPosition */
            putfield jdk.jfr.internal.consumer.ChunkHeader.metadataPosition:J
        31: .line 150
            getstatic jdk.jfr.internal.LogTag.JFR_SYSTEM_PARSER:Ljdk/jfr/internal/LogTag;
            getstatic jdk.jfr.internal.LogLevel.INFO:Ljdk/jfr/internal/LogLevel;
            new java.lang.StringBuilder
            dup
            ldc "Chunk: metadataPosition="
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            lload 6 /* metadataPosition */
            invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokestatic jdk.jfr.internal.Logger.log:(Ljdk/jfr/internal/LogTag;Ljdk/jfr/internal/LogLevel;Ljava/lang/String;)V
        32: .line 151
            aload 0 /* this */
            lload 8 /* durationNanos */
            putfield jdk.jfr.internal.consumer.ChunkHeader.durationNanos:J
        33: .line 152
            getstatic jdk.jfr.internal.LogTag.JFR_SYSTEM_PARSER:Ljdk/jfr/internal/LogTag;
            getstatic jdk.jfr.internal.LogLevel.INFO:Ljdk/jfr/internal/LogLevel;
            new java.lang.StringBuilder
            dup
            ldc "Chunk: durationNanos ="
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            lload 8 /* durationNanos */
            invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokestatic jdk.jfr.internal.Logger.log:(Ljdk/jfr/internal/LogTag;Ljdk/jfr/internal/LogLevel;Ljava/lang/String;)V
        34: .line 153
            aload 0 /* this */
            iload 10 /* fileState2 */
            ifne 35
            iconst_1
            goto 36
      StackMap locals:
      StackMap stack: jdk.jfr.internal.consumer.ChunkHeader
        35: iconst_0
      StackMap locals: jdk.jfr.internal.consumer.ChunkHeader int long long long long int int
      StackMap stack: jdk.jfr.internal.consumer.ChunkHeader int
        36: putfield jdk.jfr.internal.consumer.ChunkHeader.isFinished:Z
        37: .line 154
            getstatic jdk.jfr.internal.LogTag.JFR_SYSTEM_PARSER:Ljdk/jfr/internal/LogTag;
            getstatic jdk.jfr.internal.LogLevel.INFO:Ljdk/jfr/internal/LogLevel;
            new java.lang.StringBuilder
            dup
            ldc "Chunk: generation="
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 10 /* fileState2 */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokestatic jdk.jfr.internal.Logger.log:(Ljdk/jfr/internal/LogTag;Ljdk/jfr/internal/LogLevel;Ljava/lang/String;)V
        38: .line 155
            getstatic jdk.jfr.internal.LogTag.JFR_SYSTEM_PARSER:Ljdk/jfr/internal/LogTag;
            getstatic jdk.jfr.internal.LogLevel.INFO:Ljdk/jfr/internal/LogLevel;
            new java.lang.StringBuilder
            dup
            ldc "Chunk: finished="
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            getfield jdk.jfr.internal.consumer.ChunkHeader.isFinished:Z
            invokevirtual java.lang.StringBuilder.append:(Z)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokestatic jdk.jfr.internal.Logger.log:(Ljdk/jfr/internal/LogTag;Ljdk/jfr/internal/LogLevel;Ljava/lang/String;)V
        39: .line 156
            getstatic jdk.jfr.internal.LogTag.JFR_SYSTEM_PARSER:Ljdk/jfr/internal/LogTag;
            getstatic jdk.jfr.internal.LogLevel.INFO:Ljdk/jfr/internal/LogLevel;
            new java.lang.StringBuilder
            dup
            ldc "Chunk: fileSize="
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            getfield jdk.jfr.internal.consumer.ChunkHeader.input:Ljdk/jfr/internal/consumer/RecordingInput;
            invokevirtual jdk.jfr.internal.consumer.RecordingInput.size:()J
            invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokestatic jdk.jfr.internal.Logger.log:(Ljdk/jfr/internal/LogTag;Ljdk/jfr/internal/LogLevel;Ljava/lang/String;)V
        40: .line 157
            aload 0 /* this */
            iload 11 /* flagByte */
            iconst_2
            iand
            ifeq 41
            iconst_1
            goto 42
      StackMap locals:
      StackMap stack: jdk.jfr.internal.consumer.ChunkHeader
        41: iconst_0
      StackMap locals: jdk.jfr.internal.consumer.ChunkHeader int long long long long int int
      StackMap stack: jdk.jfr.internal.consumer.ChunkHeader int
        42: putfield jdk.jfr.internal.consumer.ChunkHeader.finalChunk:Z
        43: .line 158
            getstatic jdk.jfr.internal.LogTag.JFR_SYSTEM_PARSER:Ljdk/jfr/internal/LogTag;
            getstatic jdk.jfr.internal.LogLevel.INFO:Ljdk/jfr/internal/LogLevel;
            new java.lang.StringBuilder
            dup
            ldc "Chunk: finalChunk="
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            getfield jdk.jfr.internal.consumer.ChunkHeader.finalChunk:Z
            invokevirtual java.lang.StringBuilder.append:(Z)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokestatic jdk.jfr.internal.Logger.log:(Ljdk/jfr/internal/LogTag;Ljdk/jfr/internal/LogLevel;Ljava/lang/String;)V
        44: .line 159
            aload 0 /* this */
            aload 0 /* this */
            getfield jdk.jfr.internal.consumer.ChunkHeader.absoluteChunkStart:J
            lload 2 /* chunkSize */
            ladd
            putfield jdk.jfr.internal.consumer.ChunkHeader.absoluteChunkEnd:J
        45: .line 160
            return
        end local 11 // int flagByte
        end local 10 // byte fileState2
        end local 8 // long durationNanos
        end local 6 // long metadataPosition
        end local 4 // long constantPoolPosition
        end local 2 // long chunkSize
        end local 1 // byte fileState1
        end local 0 // jdk.jfr.internal.consumer.ChunkHeader this
      LocalVariableTable:
        Start  End  Slot                  Name  Signature
            0   46     0                  this  Ljdk/jfr/internal/consumer/ChunkHeader;
            2    4     1            fileState1  B
            5   46     1            fileState1  B
            8   46     2             chunkSize  J
            9   46     4  constantPoolPosition  J
           10   46     6      metadataPosition  J
           12   46     8         durationNanos  J
           14   46    10            fileState2  B
           16   46    11              flagByte  I
    Exceptions:
      throws java.io.IOException

  public boolean readHeader(byte[], int);
    descriptor: ([BI)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=4, args_size=3
        start local 0 // jdk.jfr.internal.consumer.ChunkHeader this
        start local 1 // byte[] bytes
        start local 2 // int count
         0: .line 167
            aload 0 /* this */
            getfield jdk.jfr.internal.consumer.ChunkHeader.input:Ljdk/jfr/internal/consumer/RecordingInput;
            aload 0 /* this */
            getfield jdk.jfr.internal.consumer.ChunkHeader.absoluteChunkStart:J
            invokevirtual jdk.jfr.internal.consumer.RecordingInput.position:(J)V
         1: .line 168
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         2: goto 5
         3: .line 169
      StackMap locals: int
      StackMap stack:
            aload 1 /* bytes */
            iload 3 /* i */
            aload 0 /* this */
            getfield jdk.jfr.internal.consumer.ChunkHeader.input:Ljdk/jfr/internal/consumer/RecordingInput;
            invokevirtual jdk.jfr.internal.consumer.RecordingInput.readPhysicalByte:()B
            bastore
         4: .line 168
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
         5: iload 3 /* i */
            iload 2 /* count */
            if_icmplt 3
        end local 3 // int i
         6: .line 171
            aload 1 /* bytes */
            bipush 64
            baload
            iconst_m1
            if_icmpeq 7
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         7: iconst_0
            ireturn
        end local 2 // int count
        end local 1 // byte[] bytes
        end local 0 // jdk.jfr.internal.consumer.ChunkHeader this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    8     0   this  Ljdk/jfr/internal/consumer/ChunkHeader;
            0    8     1  bytes  [B
            0    8     2  count  I
            2    6     3      i  I
    Exceptions:
      throws java.io.IOException
    MethodParameters:
       Name  Flags
      bytes  
      count  

  public void awaitFinished();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=5, args_size=1
        start local 0 // jdk.jfr.internal.consumer.ChunkHeader this
         0: .line 175
            aload 0 /* this */
            getfield jdk.jfr.internal.consumer.ChunkHeader.finished:Z
            ifeq 2
         1: .line 176
            return
         2: .line 178
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield jdk.jfr.internal.consumer.ChunkHeader.input:Ljdk/jfr/internal/consumer/RecordingInput;
            invokevirtual jdk.jfr.internal.consumer.RecordingInput.position:()J
            lstore 1 /* pos */
        start local 1 // long pos
         3: .line 180
            aload 0 /* this */
            getfield jdk.jfr.internal.consumer.ChunkHeader.input:Ljdk/jfr/internal/consumer/RecordingInput;
            aload 0 /* this */
            getfield jdk.jfr.internal.consumer.ChunkHeader.absoluteChunkStart:J
            ldc 64
            ladd
            invokevirtual jdk.jfr.internal.consumer.RecordingInput.positionPhysical:(J)V
         4: .line 182
      StackMap locals: long
      StackMap stack:
            aload 0 /* this */
            getfield jdk.jfr.internal.consumer.ChunkHeader.input:Ljdk/jfr/internal/consumer/RecordingInput;
            invokevirtual jdk.jfr.internal.consumer.RecordingInput.readPhysicalByte:()B
            istore 3 /* filestate */
        start local 3 // byte filestate
         5: .line 183
            iload 3 /* filestate */
            ifne 9
         6: .line 184
            aload 0 /* this */
            iconst_1
            putfield jdk.jfr.internal.consumer.ChunkHeader.finished:Z
         7: .line 190
            aload 0 /* this */
            getfield jdk.jfr.internal.consumer.ChunkHeader.input:Ljdk/jfr/internal/consumer/RecordingInput;
            lload 1 /* pos */
            invokevirtual jdk.jfr.internal.consumer.RecordingInput.position:(J)V
         8: .line 185
            return
         9: .line 187
      StackMap locals: int
      StackMap stack:
            lconst_1
            invokestatic jdk.jfr.internal.Utils.takeNap:(J)V
        end local 3 // byte filestate
        10: .line 181
            goto 4
        11: .line 189
      StackMap locals: jdk.jfr.internal.consumer.ChunkHeader long
      StackMap stack: java.lang.Throwable
            astore 4
        12: .line 190
            aload 0 /* this */
            getfield jdk.jfr.internal.consumer.ChunkHeader.input:Ljdk/jfr/internal/consumer/RecordingInput;
            lload 1 /* pos */
            invokevirtual jdk.jfr.internal.consumer.RecordingInput.position:(J)V
        13: .line 191
            aload 4
            athrow
        end local 1 // long pos
        end local 0 // jdk.jfr.internal.consumer.ChunkHeader this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   14     0       this  Ljdk/jfr/internal/consumer/ChunkHeader;
            3   14     1        pos  J
            5   10     3  filestate  B
      Exception table:
        from    to  target  type
           3     7      11  any
           9    11      11  any
    Exceptions:
      throws java.io.IOException

  public boolean isLastChunk();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // jdk.jfr.internal.consumer.ChunkHeader this
         0: .line 195
            aload 0 /* this */
            invokevirtual jdk.jfr.internal.consumer.ChunkHeader.awaitFinished:()V
         1: .line 197
            aload 0 /* this */
            getfield jdk.jfr.internal.consumer.ChunkHeader.input:Ljdk/jfr/internal/consumer/RecordingInput;
            invokevirtual jdk.jfr.internal.consumer.RecordingInput.getFileSize:()J
            aload 0 /* this */
            getfield jdk.jfr.internal.consumer.ChunkHeader.absoluteChunkEnd:J
            lcmp
            ifne 2
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         2: iconst_0
            ireturn
        end local 0 // jdk.jfr.internal.consumer.ChunkHeader this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Ljdk/jfr/internal/consumer/ChunkHeader;
    Exceptions:
      throws java.io.IOException

  public boolean isFinalChunk();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // jdk.jfr.internal.consumer.ChunkHeader this
         0: .line 201
            aload 0 /* this */
            getfield jdk.jfr.internal.consumer.ChunkHeader.finalChunk:Z
            ireturn
        end local 0 // jdk.jfr.internal.consumer.ChunkHeader this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljdk/jfr/internal/consumer/ChunkHeader;

  public boolean isFinished();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // jdk.jfr.internal.consumer.ChunkHeader this
         0: .line 205
            aload 0 /* this */
            getfield jdk.jfr.internal.consumer.ChunkHeader.isFinished:Z
            ireturn
        end local 0 // jdk.jfr.internal.consumer.ChunkHeader this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljdk/jfr/internal/consumer/ChunkHeader;
    Exceptions:
      throws java.io.IOException

  public jdk.jfr.internal.consumer.ChunkHeader nextHeader();
    descriptor: ()Ljdk/jfr/internal/consumer/ChunkHeader;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=9, locals=1, args_size=1
        start local 0 // jdk.jfr.internal.consumer.ChunkHeader this
         0: .line 209
            new jdk.jfr.internal.consumer.ChunkHeader
            dup
            aload 0 /* this */
            getfield jdk.jfr.internal.consumer.ChunkHeader.input:Ljdk/jfr/internal/consumer/RecordingInput;
            aload 0 /* this */
            getfield jdk.jfr.internal.consumer.ChunkHeader.absoluteChunkEnd:J
            aload 0 /* this */
            getfield jdk.jfr.internal.consumer.ChunkHeader.id:J
            lconst_1
            ladd
            invokespecial jdk.jfr.internal.consumer.ChunkHeader.<init>:(Ljdk/jfr/internal/consumer/RecordingInput;JJ)V
            areturn
        end local 0 // jdk.jfr.internal.consumer.ChunkHeader this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljdk/jfr/internal/consumer/ChunkHeader;
    Exceptions:
      throws java.io.IOException

  public jdk.jfr.internal.MetadataDescriptor readMetadata();
    descriptor: ()Ljdk/jfr/internal/MetadataDescriptor;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // jdk.jfr.internal.consumer.ChunkHeader this
         0: .line 212
            aload 0 /* this */
            aconst_null
            invokevirtual jdk.jfr.internal.consumer.ChunkHeader.readMetadata:(Ljdk/jfr/internal/MetadataDescriptor;)Ljdk/jfr/internal/MetadataDescriptor;
            areturn
        end local 0 // jdk.jfr.internal.consumer.ChunkHeader this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljdk/jfr/internal/consumer/ChunkHeader;
    Exceptions:
      throws java.io.IOException

  public jdk.jfr.internal.MetadataDescriptor readMetadata(jdk.jfr.internal.MetadataDescriptor);
    descriptor: (Ljdk/jfr/internal/MetadataDescriptor;)Ljdk/jfr/internal/MetadataDescriptor;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=7, args_size=2
        start local 0 // jdk.jfr.internal.consumer.ChunkHeader this
        start local 1 // jdk.jfr.internal.MetadataDescriptor previous
         0: .line 216
            aload 0 /* this */
            getfield jdk.jfr.internal.consumer.ChunkHeader.input:Ljdk/jfr/internal/consumer/RecordingInput;
            aload 0 /* this */
            getfield jdk.jfr.internal.consumer.ChunkHeader.absoluteChunkStart:J
            aload 0 /* this */
            getfield jdk.jfr.internal.consumer.ChunkHeader.metadataPosition:J
            ladd
            invokevirtual jdk.jfr.internal.consumer.RecordingInput.position:(J)V
         1: .line 217
            aload 0 /* this */
            getfield jdk.jfr.internal.consumer.ChunkHeader.input:Ljdk/jfr/internal/consumer/RecordingInput;
            invokevirtual jdk.jfr.internal.consumer.RecordingInput.readInt:()I
            pop
         2: .line 218
            aload 0 /* this */
            getfield jdk.jfr.internal.consumer.ChunkHeader.input:Ljdk/jfr/internal/consumer/RecordingInput;
            invokevirtual jdk.jfr.internal.consumer.RecordingInput.readLong:()J
            lstore 2 /* id */
        start local 2 // long id
         3: .line 219
            lload 2 /* id */
            lconst_0
            lcmp
            ifeq 5
         4: .line 220
            new java.io.IOException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Expected metadata event. Type id="
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            lload 2 /* id */
            invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
            ldc ", should have been "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            lconst_0
            invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
            athrow
         5: .line 222
      StackMap locals: long
      StackMap stack:
            aload 0 /* this */
            getfield jdk.jfr.internal.consumer.ChunkHeader.input:Ljdk/jfr/internal/consumer/RecordingInput;
            invokevirtual jdk.jfr.internal.consumer.RecordingInput.readLong:()J
            pop2
         6: .line 223
            aload 0 /* this */
            getfield jdk.jfr.internal.consumer.ChunkHeader.input:Ljdk/jfr/internal/consumer/RecordingInput;
            invokevirtual jdk.jfr.internal.consumer.RecordingInput.readLong:()J
            pop2
         7: .line 224
            aload 0 /* this */
            getfield jdk.jfr.internal.consumer.ChunkHeader.input:Ljdk/jfr/internal/consumer/RecordingInput;
            invokevirtual jdk.jfr.internal.consumer.RecordingInput.readLong:()J
            lstore 4 /* metadataId */
        start local 4 // long metadataId
         8: .line 225
            aload 1 /* previous */
            ifnull 10
            lload 4 /* metadataId */
            aload 1 /* previous */
            getfield jdk.jfr.internal.MetadataDescriptor.metadataId:J
            lcmp
            ifne 10
         9: .line 226
            aload 1 /* previous */
            areturn
        10: .line 228
      StackMap locals: long
      StackMap stack:
            getstatic jdk.jfr.internal.LogTag.JFR_SYSTEM_PARSER:Ljdk/jfr/internal/LogTag;
            getstatic jdk.jfr.internal.LogLevel.TRACE:Ljdk/jfr/internal/LogLevel;
            new java.lang.StringBuilder
            dup
            ldc "New metadata id = "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            lload 4 /* metadataId */
            invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokestatic jdk.jfr.internal.Logger.log:(Ljdk/jfr/internal/LogTag;Ljdk/jfr/internal/LogLevel;Ljava/lang/String;)V
        11: .line 229
            aload 0 /* this */
            getfield jdk.jfr.internal.consumer.ChunkHeader.input:Ljdk/jfr/internal/consumer/RecordingInput;
            invokestatic jdk.jfr.internal.MetadataDescriptor.read:(Ljdk/jfr/internal/consumer/RecordingInput;)Ljdk/jfr/internal/MetadataDescriptor;
            astore 6 /* m */
        start local 6 // jdk.jfr.internal.MetadataDescriptor m
        12: .line 230
            aload 6 /* m */
            lload 4 /* metadataId */
            putfield jdk.jfr.internal.MetadataDescriptor.metadataId:J
        13: .line 231
            aload 6 /* m */
            areturn
        end local 6 // jdk.jfr.internal.MetadataDescriptor m
        end local 4 // long metadataId
        end local 2 // long id
        end local 1 // jdk.jfr.internal.MetadataDescriptor previous
        end local 0 // jdk.jfr.internal.consumer.ChunkHeader this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   14     0        this  Ljdk/jfr/internal/consumer/ChunkHeader;
            0   14     1    previous  Ljdk/jfr/internal/MetadataDescriptor;
            3   14     2          id  J
            8   14     4  metadataId  J
           12   14     6           m  Ljdk/jfr/internal/MetadataDescriptor;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
          Name  Flags
      previous  

  public short getMajor();
    descriptor: ()S
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // jdk.jfr.internal.consumer.ChunkHeader this
         0: .line 236
            aload 0 /* this */
            getfield jdk.jfr.internal.consumer.ChunkHeader.major:S
            ireturn
        end local 0 // jdk.jfr.internal.consumer.ChunkHeader this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljdk/jfr/internal/consumer/ChunkHeader;

  public short getMinor();
    descriptor: ()S
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // jdk.jfr.internal.consumer.ChunkHeader this
         0: .line 240
            aload 0 /* this */
            getfield jdk.jfr.internal.consumer.ChunkHeader.minor:S
            ireturn
        end local 0 // jdk.jfr.internal.consumer.ChunkHeader this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljdk/jfr/internal/consumer/ChunkHeader;

  public long getAbsoluteChunkStart();
    descriptor: ()J
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // jdk.jfr.internal.consumer.ChunkHeader this
         0: .line 244
            aload 0 /* this */
            getfield jdk.jfr.internal.consumer.ChunkHeader.absoluteChunkStart:J
            lreturn
        end local 0 // jdk.jfr.internal.consumer.ChunkHeader this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljdk/jfr/internal/consumer/ChunkHeader;

  public long getAbsoluteEventStart();
    descriptor: ()J
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // jdk.jfr.internal.consumer.ChunkHeader this
         0: .line 248
            aload 0 /* this */
            getfield jdk.jfr.internal.consumer.ChunkHeader.absoluteEventStart:J
            lreturn
        end local 0 // jdk.jfr.internal.consumer.ChunkHeader this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljdk/jfr/internal/consumer/ChunkHeader;

  public long getConstantPoolPosition();
    descriptor: ()J
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // jdk.jfr.internal.consumer.ChunkHeader this
         0: .line 251
            aload 0 /* this */
            getfield jdk.jfr.internal.consumer.ChunkHeader.constantPoolPosition:J
            lreturn
        end local 0 // jdk.jfr.internal.consumer.ChunkHeader this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljdk/jfr/internal/consumer/ChunkHeader;

  public long getMetataPosition();
    descriptor: ()J
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // jdk.jfr.internal.consumer.ChunkHeader this
         0: .line 255
            aload 0 /* this */
            getfield jdk.jfr.internal.consumer.ChunkHeader.metadataPosition:J
            lreturn
        end local 0 // jdk.jfr.internal.consumer.ChunkHeader this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljdk/jfr/internal/consumer/ChunkHeader;

  public long getStartTicks();
    descriptor: ()J
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // jdk.jfr.internal.consumer.ChunkHeader this
         0: .line 258
            aload 0 /* this */
            getfield jdk.jfr.internal.consumer.ChunkHeader.chunkStartTicks:J
            lreturn
        end local 0 // jdk.jfr.internal.consumer.ChunkHeader this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljdk/jfr/internal/consumer/ChunkHeader;

  public long getChunkSize();
    descriptor: ()J
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // jdk.jfr.internal.consumer.ChunkHeader this
         0: .line 261
            aload 0 /* this */
            getfield jdk.jfr.internal.consumer.ChunkHeader.chunkSize:J
            lreturn
        end local 0 // jdk.jfr.internal.consumer.ChunkHeader this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljdk/jfr/internal/consumer/ChunkHeader;

  public double getTicksPerSecond();
    descriptor: ()D
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // jdk.jfr.internal.consumer.ChunkHeader this
         0: .line 265
            aload 0 /* this */
            getfield jdk.jfr.internal.consumer.ChunkHeader.ticksPerSecond:J
            l2d
            dreturn
        end local 0 // jdk.jfr.internal.consumer.ChunkHeader this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljdk/jfr/internal/consumer/ChunkHeader;

  public long getStartNanos();
    descriptor: ()J
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // jdk.jfr.internal.consumer.ChunkHeader this
         0: .line 269
            aload 0 /* this */
            getfield jdk.jfr.internal.consumer.ChunkHeader.chunkStartNanos:J
            lreturn
        end local 0 // jdk.jfr.internal.consumer.ChunkHeader this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljdk/jfr/internal/consumer/ChunkHeader;

  public long getEnd();
    descriptor: ()J
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // jdk.jfr.internal.consumer.ChunkHeader this
         0: .line 273
            aload 0 /* this */
            getfield jdk.jfr.internal.consumer.ChunkHeader.absoluteChunkEnd:J
            lreturn
        end local 0 // jdk.jfr.internal.consumer.ChunkHeader this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljdk/jfr/internal/consumer/ChunkHeader;

  public long getSize();
    descriptor: ()J
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // jdk.jfr.internal.consumer.ChunkHeader this
         0: .line 277
            aload 0 /* this */
            getfield jdk.jfr.internal.consumer.ChunkHeader.chunkSize:J
            lreturn
        end local 0 // jdk.jfr.internal.consumer.ChunkHeader this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljdk/jfr/internal/consumer/ChunkHeader;

  public long getDurationNanos();
    descriptor: ()J
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // jdk.jfr.internal.consumer.ChunkHeader this
         0: .line 281
            aload 0 /* this */
            getfield jdk.jfr.internal.consumer.ChunkHeader.durationNanos:J
            lreturn
        end local 0 // jdk.jfr.internal.consumer.ChunkHeader this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljdk/jfr/internal/consumer/ChunkHeader;

  public jdk.jfr.internal.consumer.RecordingInput getInput();
    descriptor: ()Ljdk/jfr/internal/consumer/RecordingInput;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // jdk.jfr.internal.consumer.ChunkHeader this
         0: .line 285
            aload 0 /* this */
            getfield jdk.jfr.internal.consumer.ChunkHeader.input:Ljdk/jfr/internal/consumer/RecordingInput;
            areturn
        end local 0 // jdk.jfr.internal.consumer.ChunkHeader this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljdk/jfr/internal/consumer/ChunkHeader;

  private static void verifyMagic(jdk.jfr.internal.consumer.RecordingInput);
    descriptor: (Ljdk/jfr/internal/consumer/RecordingInput;)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=5, args_size=1
        start local 0 // jdk.jfr.internal.consumer.RecordingInput input
         0: .line 289
            getstatic jdk.jfr.internal.consumer.ChunkHeader.FILE_MAGIC:[B
            dup
            astore 4
            arraylength
            istore 3
            iconst_0
            istore 2
            goto 5
      StackMap locals: jdk.jfr.internal.consumer.RecordingInput top int int byte[]
      StackMap stack:
         1: aload 4
            iload 2
            baload
            istore 1 /* c */
        start local 1 // byte c
         2: .line 290
            aload 0 /* input */
            invokevirtual jdk.jfr.internal.consumer.RecordingInput.readByte:()B
            iload 1 /* c */
            if_icmpeq 4
         3: .line 291
            new java.io.IOException
            dup
            ldc "Not a Flight Recorder file"
            invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
            athrow
        end local 1 // byte c
         4: .line 289
      StackMap locals:
      StackMap stack:
            iinc 2 1
      StackMap locals:
      StackMap stack:
         5: iload 2
            iload 3
            if_icmplt 1
         6: .line 294
            return
        end local 0 // jdk.jfr.internal.consumer.RecordingInput input
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    7     0  input  Ljdk/jfr/internal/consumer/RecordingInput;
            2    4     1      c  B
    Exceptions:
      throws java.io.IOException
    MethodParameters:
       Name  Flags
      input  

  public long getEventStart();
    descriptor: ()J
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // jdk.jfr.internal.consumer.ChunkHeader this
         0: .line 297
            aload 0 /* this */
            getfield jdk.jfr.internal.consumer.ChunkHeader.absoluteEventStart:J
            lreturn
        end local 0 // jdk.jfr.internal.consumer.ChunkHeader this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljdk/jfr/internal/consumer/ChunkHeader;

  static long headerSize();
    descriptor: ()J
    flags: (0x0008) ACC_STATIC
    Code:
      stack=2, locals=0, args_size=0
         0: .line 301
            ldc 68
            lreturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public long getLastNanos();
    descriptor: ()J
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // jdk.jfr.internal.consumer.ChunkHeader this
         0: .line 305
            aload 0 /* this */
            invokevirtual jdk.jfr.internal.consumer.ChunkHeader.getStartNanos:()J
            aload 0 /* this */
            invokevirtual jdk.jfr.internal.consumer.ChunkHeader.getDurationNanos:()J
            ladd
            lreturn
        end local 0 // jdk.jfr.internal.consumer.ChunkHeader this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljdk/jfr/internal/consumer/ChunkHeader;
}
SourceFile: "ChunkHeader.java"