final class jdk.jfr.internal.RepositoryChunk
  minor version: 0
  major version: 59
  flags: flags: (0x0030) ACC_FINAL, ACC_SUPER
  this_class: jdk.jfr.internal.RepositoryChunk
  super_class: java.lang.Object
{
  private static final int MAX_CHUNK_NAMES;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 100

  private static final java.lang.String FILE_EXTENSION;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: ".jfr"

  static final java.util.Comparator<jdk.jfr.internal.RepositoryChunk> END_TIME_COMPARATOR;
    descriptor: Ljava/util/Comparator;
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    Signature: Ljava/util/Comparator<Ljdk/jfr/internal/RepositoryChunk;>;

  private final jdk.jfr.internal.SecuritySupport$SafePath repositoryPath;
    descriptor: Ljdk/jfr/internal/SecuritySupport$SafePath;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final jdk.jfr.internal.SecuritySupport$SafePath chunkFile;
    descriptor: Ljdk/jfr/internal/SecuritySupport$SafePath;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final java.time.Instant startTime;
    descriptor: Ljava/time/Instant;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final java.io.RandomAccessFile unFinishedRAF;
    descriptor: Ljava/io/RandomAccessFile;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private java.time.Instant endTime;
    descriptor: Ljava/time/Instant;
    flags: (0x0002) ACC_PRIVATE

  private int refCount;
    descriptor: I
    flags: (0x0002) ACC_PRIVATE

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

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=2, locals=0, args_size=0
         0: .line 43
            new jdk.jfr.internal.RepositoryChunk$1
            dup
            invokespecial jdk.jfr.internal.RepositoryChunk$1.<init>:()V
            putstatic jdk.jfr.internal.RepositoryChunk.END_TIME_COMPARATOR:Ljava/util/Comparator;
         1: .line 48
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  void <init>(jdk.jfr.internal.SecuritySupport$SafePath, java.time.ZonedDateTime);
    descriptor: (Ljdk/jfr/internal/SecuritySupport$SafePath;Ljava/time/ZonedDateTime;)V
    flags: (0x0000) 
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // jdk.jfr.internal.RepositoryChunk this
        start local 1 // jdk.jfr.internal.SecuritySupport$SafePath path
        start local 2 // java.time.ZonedDateTime timestamp
         0: .line 59
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 55
            aload 0 /* this */
            aconst_null
            putfield jdk.jfr.internal.RepositoryChunk.endTime:Ljava/time/Instant;
         2: .line 56
            aload 0 /* this */
            iconst_0
            putfield jdk.jfr.internal.RepositoryChunk.refCount:I
         3: .line 60
            aload 0 /* this */
            aload 2 /* timestamp */
            invokevirtual java.time.ZonedDateTime.toInstant:()Ljava/time/Instant;
            putfield jdk.jfr.internal.RepositoryChunk.startTime:Ljava/time/Instant;
         4: .line 61
            aload 0 /* this */
            aload 1 /* path */
            putfield jdk.jfr.internal.RepositoryChunk.repositoryPath:Ljdk/jfr/internal/SecuritySupport$SafePath;
         5: .line 62
            aload 0 /* this */
            aload 0 /* this */
            getfield jdk.jfr.internal.RepositoryChunk.repositoryPath:Ljdk/jfr/internal/SecuritySupport$SafePath;
            aload 2 /* timestamp */
            invokevirtual java.time.ZonedDateTime.toLocalDateTime:()Ljava/time/LocalDateTime;
            invokestatic jdk.jfr.internal.RepositoryChunk.findFileName:(Ljdk/jfr/internal/SecuritySupport$SafePath;Ljava/time/LocalDateTime;)Ljdk/jfr/internal/SecuritySupport$SafePath;
            putfield jdk.jfr.internal.RepositoryChunk.chunkFile:Ljdk/jfr/internal/SecuritySupport$SafePath;
         6: .line 63
            aload 0 /* this */
            aload 0 /* this */
            getfield jdk.jfr.internal.RepositoryChunk.chunkFile:Ljdk/jfr/internal/SecuritySupport$SafePath;
            invokestatic jdk.jfr.internal.SecuritySupport.createRandomAccessFile:(Ljdk/jfr/internal/SecuritySupport$SafePath;)Ljava/io/RandomAccessFile;
            putfield jdk.jfr.internal.RepositoryChunk.unFinishedRAF:Ljava/io/RandomAccessFile;
         7: .line 64
            return
        end local 2 // java.time.ZonedDateTime timestamp
        end local 1 // jdk.jfr.internal.SecuritySupport$SafePath path
        end local 0 // jdk.jfr.internal.RepositoryChunk this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    8     0       this  Ljdk/jfr/internal/RepositoryChunk;
            0    8     1       path  Ljdk/jfr/internal/SecuritySupport$SafePath;
            0    8     2  timestamp  Ljava/time/ZonedDateTime;
    Exceptions:
      throws java.lang.Exception
    MethodParameters:
           Name  Flags
      path       
      timestamp  

  private static jdk.jfr.internal.SecuritySupport$SafePath findFileName(jdk.jfr.internal.SecuritySupport$SafePath, java.time.LocalDateTime);
    descriptor: (Ljdk/jfr/internal/SecuritySupport$SafePath;Ljava/time/LocalDateTime;)Ljdk/jfr/internal/SecuritySupport$SafePath;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=5, locals=7, args_size=2
        start local 0 // jdk.jfr.internal.SecuritySupport$SafePath directory
        start local 1 // java.time.LocalDateTime time
         0: .line 67
            aload 1 /* time */
            invokestatic jdk.jfr.internal.Utils.formatDateTime:(Ljava/time/LocalDateTime;)Ljava/lang/String;
            astore 2 /* filename */
        start local 2 // java.lang.String filename
         1: .line 68
            aload 0 /* directory */
            invokevirtual jdk.jfr.internal.SecuritySupport$SafePath.toPath:()Ljava/nio/file/Path;
            new java.lang.StringBuilder
            dup
            aload 2 /* filename */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc ".jfr"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokeinterface java.nio.file.Path.resolve:(Ljava/lang/String;)Ljava/nio/file/Path;
            astore 3 /* p */
        start local 3 // java.nio.file.Path p
         2: .line 69
            iconst_1
            istore 4 /* i */
        start local 4 // int i
         3: goto 10
         4: .line 70
      StackMap locals: java.lang.String java.nio.file.Path int
      StackMap stack:
            new jdk.jfr.internal.SecuritySupport$SafePath
            dup
            aload 3 /* p */
            invokespecial jdk.jfr.internal.SecuritySupport$SafePath.<init>:(Ljava/nio/file/Path;)V
            astore 5 /* s */
        start local 5 // jdk.jfr.internal.SecuritySupport$SafePath s
         5: .line 71
            aload 5 /* s */
            invokestatic jdk.jfr.internal.SecuritySupport.exists:(Ljdk/jfr/internal/SecuritySupport$SafePath;)Z
            ifne 7
         6: .line 72
            aload 5 /* s */
            areturn
         7: .line 74
      StackMap locals: jdk.jfr.internal.SecuritySupport$SafePath
      StackMap stack:
            ldc "%s_%02d%s"
            iconst_3
            anewarray java.lang.Object
            dup
            iconst_0
            aload 2 /* filename */
            aastore
            dup
            iconst_1
            iload 4 /* i */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            dup
            iconst_2
            ldc ".jfr"
            aastore
            invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
            astore 6 /* extendedName */
        start local 6 // java.lang.String extendedName
         8: .line 75
            aload 0 /* directory */
            invokevirtual jdk.jfr.internal.SecuritySupport$SafePath.toPath:()Ljava/nio/file/Path;
            aload 6 /* extendedName */
            invokeinterface java.nio.file.Path.resolve:(Ljava/lang/String;)Ljava/nio/file/Path;
            astore 3 /* p */
        end local 6 // java.lang.String extendedName
        end local 5 // jdk.jfr.internal.SecuritySupport$SafePath s
         9: .line 69
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
        10: iload 4 /* i */
            bipush 100
            if_icmplt 4
        end local 4 // int i
        11: .line 77
            aload 0 /* directory */
            invokevirtual jdk.jfr.internal.SecuritySupport$SafePath.toPath:()Ljava/nio/file/Path;
            new java.lang.StringBuilder
            dup
            aload 2 /* filename */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc "_"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokestatic java.lang.System.currentTimeMillis:()J
            invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
            ldc ".jfr"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokeinterface java.nio.file.Path.resolve:(Ljava/lang/String;)Ljava/nio/file/Path;
            astore 3 /* p */
        12: .line 78
            new jdk.jfr.internal.SecuritySupport$SafePath
            dup
            aload 3 /* p */
            invokespecial jdk.jfr.internal.SecuritySupport$SafePath.<init>:(Ljava/nio/file/Path;)V
            areturn
        end local 3 // java.nio.file.Path p
        end local 2 // java.lang.String filename
        end local 1 // java.time.LocalDateTime time
        end local 0 // jdk.jfr.internal.SecuritySupport$SafePath directory
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   13     0     directory  Ljdk/jfr/internal/SecuritySupport$SafePath;
            0   13     1          time  Ljava/time/LocalDateTime;
            1   13     2      filename  Ljava/lang/String;
            2   13     3             p  Ljava/nio/file/Path;
            3   11     4             i  I
            5    9     5             s  Ljdk/jfr/internal/SecuritySupport$SafePath;
            8    9     6  extendedName  Ljava/lang/String;
    Exceptions:
      throws java.lang.Exception
    MethodParameters:
           Name  Flags
      directory  
      time       

  void finish(java.time.Instant);
    descriptor: (Ljava/time/Instant;)V
    flags: (0x0000) 
    Code:
      stack=5, locals=3, args_size=2
        start local 0 // jdk.jfr.internal.RepositoryChunk this
        start local 1 // java.time.Instant endTime
         0: .line 83
            aload 0 /* this */
            aload 1 /* endTime */
            invokevirtual jdk.jfr.internal.RepositoryChunk.finishWithException:(Ljava/time/Instant;)V
         1: .line 84
            goto 4
      StackMap locals:
      StackMap stack: java.io.IOException
         2: astore 2 /* e */
        start local 2 // java.io.IOException e
         3: .line 85
            getstatic jdk.jfr.internal.LogTag.JFR:Ljdk/jfr/internal/LogTag;
            getstatic jdk.jfr.internal.LogLevel.ERROR:Ljdk/jfr/internal/LogLevel;
            new java.lang.StringBuilder
            dup
            ldc "Could not finish chunk. "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 2 /* e */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc " "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 2 /* e */
            invokevirtual java.io.IOException.getMessage:()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
        end local 2 // java.io.IOException e
         4: .line 87
      StackMap locals:
      StackMap stack:
            return
        end local 1 // java.time.Instant endTime
        end local 0 // jdk.jfr.internal.RepositoryChunk this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    5     0     this  Ljdk/jfr/internal/RepositoryChunk;
            0    5     1  endTime  Ljava/time/Instant;
            3    4     2        e  Ljava/io/IOException;
      Exception table:
        from    to  target  type
           0     1       2  Class java.io.IOException
    MethodParameters:
         Name  Flags
      endTime  

  private void finishWithException(java.time.Instant);
    descriptor: (Ljava/time/Instant;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=2, args_size=2
        start local 0 // jdk.jfr.internal.RepositoryChunk this
        start local 1 // java.time.Instant endTime
         0: .line 90
            aload 0 /* this */
            getfield jdk.jfr.internal.RepositoryChunk.unFinishedRAF:Ljava/io/RandomAccessFile;
            invokevirtual java.io.RandomAccessFile.close:()V
         1: .line 91
            aload 0 /* this */
            aload 0 /* this */
            getfield jdk.jfr.internal.RepositoryChunk.chunkFile:Ljdk/jfr/internal/SecuritySupport$SafePath;
            invokestatic jdk.jfr.internal.SecuritySupport.getFileSize:(Ljdk/jfr/internal/SecuritySupport$SafePath;)J
            putfield jdk.jfr.internal.RepositoryChunk.size:J
         2: .line 92
            aload 0 /* this */
            aload 1 /* endTime */
            putfield jdk.jfr.internal.RepositoryChunk.endTime:Ljava/time/Instant;
         3: .line 93
            getstatic jdk.jfr.internal.LogTag.JFR_SYSTEM:Ljdk/jfr/internal/LogTag;
            getstatic jdk.jfr.internal.LogLevel.DEBUG:Ljdk/jfr/internal/LogLevel;
            invokestatic jdk.jfr.internal.Logger.shouldLog:(Ljdk/jfr/internal/LogTag;Ljdk/jfr/internal/LogLevel;)Z
            ifeq 5
         4: .line 94
            getstatic jdk.jfr.internal.LogTag.JFR_SYSTEM:Ljdk/jfr/internal/LogTag;
            getstatic jdk.jfr.internal.LogLevel.DEBUG: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.RepositoryChunk.chunkFile:Ljdk/jfr/internal/SecuritySupport$SafePath;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)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
         5: .line 96
      StackMap locals:
      StackMap stack:
            return
        end local 1 // java.time.Instant endTime
        end local 0 // jdk.jfr.internal.RepositoryChunk this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    6     0     this  Ljdk/jfr/internal/RepositoryChunk;
            0    6     1  endTime  Ljava/time/Instant;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
         Name  Flags
      endTime  

  public java.time.Instant getStartTime();
    descriptor: ()Ljava/time/Instant;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // jdk.jfr.internal.RepositoryChunk this
         0: .line 99
            aload 0 /* this */
            getfield jdk.jfr.internal.RepositoryChunk.startTime:Ljava/time/Instant;
            areturn
        end local 0 // jdk.jfr.internal.RepositoryChunk this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljdk/jfr/internal/RepositoryChunk;

  public java.time.Instant getEndTime();
    descriptor: ()Ljava/time/Instant;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // jdk.jfr.internal.RepositoryChunk this
         0: .line 103
            aload 0 /* this */
            getfield jdk.jfr.internal.RepositoryChunk.endTime:Ljava/time/Instant;
            areturn
        end local 0 // jdk.jfr.internal.RepositoryChunk this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljdk/jfr/internal/RepositoryChunk;

  private void delete(jdk.jfr.internal.SecuritySupport$SafePath);
    descriptor: (Ljdk/jfr/internal/SecuritySupport$SafePath;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=3, args_size=2
        start local 0 // jdk.jfr.internal.RepositoryChunk this
        start local 1 // jdk.jfr.internal.SecuritySupport$SafePath f
         0: .line 108
            aload 1 /* f */
            invokestatic jdk.jfr.internal.SecuritySupport.delete:(Ljdk/jfr/internal/SecuritySupport$SafePath;)V
         1: .line 109
            getstatic jdk.jfr.internal.LogTag.JFR:Ljdk/jfr/internal/LogTag;
            getstatic jdk.jfr.internal.LogLevel.DEBUG:Ljdk/jfr/internal/LogLevel;
            invokestatic jdk.jfr.internal.Logger.shouldLog:(Ljdk/jfr/internal/LogTag;Ljdk/jfr/internal/LogLevel;)Z
            ifeq 9
         2: .line 110
            getstatic jdk.jfr.internal.LogTag.JFR:Ljdk/jfr/internal/LogTag;
            getstatic jdk.jfr.internal.LogLevel.DEBUG:Ljdk/jfr/internal/LogLevel;
            new java.lang.StringBuilder
            dup
            ldc "Repository chunk "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* f */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc " deleted"
            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
         3: .line 112
            goto 9
      StackMap locals:
      StackMap stack: java.io.IOException
         4: astore 2 /* e */
        start local 2 // java.io.IOException e
         5: .line 115
            getstatic jdk.jfr.internal.LogTag.JFR:Ljdk/jfr/internal/LogTag;
            getstatic jdk.jfr.internal.LogLevel.DEBUG:Ljdk/jfr/internal/LogLevel;
            invokestatic jdk.jfr.internal.Logger.shouldLog:(Ljdk/jfr/internal/LogTag;Ljdk/jfr/internal/LogLevel;)Z
            ifeq 7
         6: .line 116
            getstatic jdk.jfr.internal.LogTag.JFR:Ljdk/jfr/internal/LogTag;
            getstatic jdk.jfr.internal.LogLevel.DEBUG:Ljdk/jfr/internal/LogLevel;
            new java.lang.StringBuilder
            dup
            ldc "Repository chunk "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* f */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc " could not be deleted: "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 2 /* e */
            invokevirtual java.io.IOException.getMessage:()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
         7: .line 118
      StackMap locals: java.io.IOException
      StackMap stack:
            aload 1 /* f */
            ifnull 9
         8: .line 119
            aload 1 /* f */
            invokestatic jdk.jfr.internal.FilePurger.add:(Ljdk/jfr/internal/SecuritySupport$SafePath;)V
        end local 2 // java.io.IOException e
         9: .line 122
      StackMap locals:
      StackMap stack:
            return
        end local 1 // jdk.jfr.internal.SecuritySupport$SafePath f
        end local 0 // jdk.jfr.internal.RepositoryChunk this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   10     0  this  Ljdk/jfr/internal/RepositoryChunk;
            0   10     1     f  Ljdk/jfr/internal/SecuritySupport$SafePath;
            5    9     2     e  Ljava/io/IOException;
      Exception table:
        from    to  target  type
           0     3       4  Class java.io.IOException
    MethodParameters:
      Name  Flags
      f     

  private void destroy();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=2, args_size=1
        start local 0 // jdk.jfr.internal.RepositoryChunk this
         0: .line 125
            aload 0 /* this */
            invokevirtual jdk.jfr.internal.RepositoryChunk.isFinished:()Z
            ifne 2
         1: .line 126
            aload 0 /* this */
            getstatic java.time.Instant.MIN:Ljava/time/Instant;
            invokevirtual jdk.jfr.internal.RepositoryChunk.finish:(Ljava/time/Instant;)V
         2: .line 128
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            getfield jdk.jfr.internal.RepositoryChunk.chunkFile:Ljdk/jfr/internal/SecuritySupport$SafePath;
            invokevirtual jdk.jfr.internal.RepositoryChunk.delete:(Ljdk/jfr/internal/SecuritySupport$SafePath;)V
         3: .line 130
            aload 0 /* this */
            getfield jdk.jfr.internal.RepositoryChunk.unFinishedRAF:Ljava/io/RandomAccessFile;
            invokevirtual java.io.RandomAccessFile.close:()V
         4: .line 131
            goto 8
      StackMap locals:
      StackMap stack: java.io.IOException
         5: astore 1 /* e */
        start local 1 // java.io.IOException e
         6: .line 132
            getstatic jdk.jfr.internal.LogTag.JFR:Ljdk/jfr/internal/LogTag;
            getstatic jdk.jfr.internal.LogLevel.ERROR:Ljdk/jfr/internal/LogLevel;
            invokestatic jdk.jfr.internal.Logger.shouldLog:(Ljdk/jfr/internal/LogTag;Ljdk/jfr/internal/LogLevel;)Z
            ifeq 8
         7: .line 133
            getstatic jdk.jfr.internal.LogTag.JFR:Ljdk/jfr/internal/LogTag;
            getstatic jdk.jfr.internal.LogLevel.ERROR:Ljdk/jfr/internal/LogLevel;
            new java.lang.StringBuilder
            dup
            ldc "Could not close random access file: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            getfield jdk.jfr.internal.RepositoryChunk.chunkFile:Ljdk/jfr/internal/SecuritySupport$SafePath;
            invokevirtual jdk.jfr.internal.SecuritySupport$SafePath.toString:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc ". File will not be deleted due to: "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 1 /* e */
            invokevirtual java.io.IOException.getMessage:()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
        end local 1 // java.io.IOException e
         8: .line 136
      StackMap locals:
      StackMap stack:
            return
        end local 0 // jdk.jfr.internal.RepositoryChunk this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    9     0  this  Ljdk/jfr/internal/RepositoryChunk;
            6    8     1     e  Ljava/io/IOException;
      Exception table:
        from    to  target  type
           3     4       5  Class java.io.IOException

  public synchronized void use();
    descriptor: ()V
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=5, locals=1, args_size=1
        start local 0 // jdk.jfr.internal.RepositoryChunk this
         0: .line 139
            aload 0 /* this */
            dup
            getfield jdk.jfr.internal.RepositoryChunk.refCount:I
            iconst_1
            iadd
            putfield jdk.jfr.internal.RepositoryChunk.refCount:I
         1: .line 140
            getstatic jdk.jfr.internal.LogTag.JFR_SYSTEM:Ljdk/jfr/internal/LogTag;
            getstatic jdk.jfr.internal.LogLevel.DEBUG:Ljdk/jfr/internal/LogLevel;
            invokestatic jdk.jfr.internal.Logger.shouldLog:(Ljdk/jfr/internal/LogTag;Ljdk/jfr/internal/LogLevel;)Z
            ifeq 3
         2: .line 141
            getstatic jdk.jfr.internal.LogTag.JFR_SYSTEM:Ljdk/jfr/internal/LogTag;
            getstatic jdk.jfr.internal.LogLevel.DEBUG:Ljdk/jfr/internal/LogLevel;
            new java.lang.StringBuilder
            dup
            ldc "Use chunk "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            invokevirtual jdk.jfr.internal.RepositoryChunk.toString:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc " ref count now "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            getfield jdk.jfr.internal.RepositoryChunk.refCount:I
            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
         3: .line 143
      StackMap locals:
      StackMap stack:
            return
        end local 0 // jdk.jfr.internal.RepositoryChunk this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Ljdk/jfr/internal/RepositoryChunk;

  public synchronized void release();
    descriptor: ()V
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=5, locals=1, args_size=1
        start local 0 // jdk.jfr.internal.RepositoryChunk this
         0: .line 146
            aload 0 /* this */
            dup
            getfield jdk.jfr.internal.RepositoryChunk.refCount:I
            iconst_1
            isub
            putfield jdk.jfr.internal.RepositoryChunk.refCount:I
         1: .line 147
            getstatic jdk.jfr.internal.LogTag.JFR_SYSTEM:Ljdk/jfr/internal/LogTag;
            getstatic jdk.jfr.internal.LogLevel.DEBUG:Ljdk/jfr/internal/LogLevel;
            invokestatic jdk.jfr.internal.Logger.shouldLog:(Ljdk/jfr/internal/LogTag;Ljdk/jfr/internal/LogLevel;)Z
            ifeq 3
         2: .line 148
            getstatic jdk.jfr.internal.LogTag.JFR_SYSTEM:Ljdk/jfr/internal/LogTag;
            getstatic jdk.jfr.internal.LogLevel.DEBUG:Ljdk/jfr/internal/LogLevel;
            new java.lang.StringBuilder
            dup
            ldc "Release chunk "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            invokevirtual jdk.jfr.internal.RepositoryChunk.toString:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc " ref count now "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            getfield jdk.jfr.internal.RepositoryChunk.refCount:I
            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
         3: .line 150
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield jdk.jfr.internal.RepositoryChunk.refCount:I
            ifne 5
         4: .line 151
            aload 0 /* this */
            invokevirtual jdk.jfr.internal.RepositoryChunk.destroy:()V
         5: .line 153
      StackMap locals:
      StackMap stack:
            return
        end local 0 // jdk.jfr.internal.RepositoryChunk this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    6     0  this  Ljdk/jfr/internal/RepositoryChunk;

  protected void finalize();
    descriptor: ()V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=3, args_size=1
        start local 0 // jdk.jfr.internal.RepositoryChunk this
         0: .line 158
            iconst_0
            istore 1 /* destroy */
        start local 1 // boolean destroy
         1: .line 159
            aload 0 /* this */
            dup
            astore 2
            monitorenter
         2: .line 160
            aload 0 /* this */
            getfield jdk.jfr.internal.RepositoryChunk.refCount:I
            ifle 4
         3: .line 161
            iconst_1
            istore 1 /* destroy */
         4: .line 159
      StackMap locals: int jdk.jfr.internal.RepositoryChunk
      StackMap stack:
            aload 2
            monitorexit
         5: goto 8
      StackMap locals:
      StackMap stack: java.lang.Throwable
         6: aload 2
            monitorexit
         7: athrow
         8: .line 164
      StackMap locals:
      StackMap stack:
            iload 1 /* destroy */
            ifeq 10
         9: .line 165
            aload 0 /* this */
            invokevirtual jdk.jfr.internal.RepositoryChunk.destroy:()V
        10: .line 167
      StackMap locals:
      StackMap stack:
            return
        end local 1 // boolean destroy
        end local 0 // jdk.jfr.internal.RepositoryChunk this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   11     0     this  Ljdk/jfr/internal/RepositoryChunk;
            1   11     1  destroy  Z
      Exception table:
        from    to  target  type
           2     5       6  any
           6     7       6  any

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

  public boolean isFinished();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // jdk.jfr.internal.RepositoryChunk this
         0: .line 174
            aload 0 /* this */
            getfield jdk.jfr.internal.RepositoryChunk.endTime:Ljava/time/Instant;
            ifnull 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 0 // jdk.jfr.internal.RepositoryChunk this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Ljdk/jfr/internal/RepositoryChunk;

  public java.lang.String toString();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // jdk.jfr.internal.RepositoryChunk this
         0: .line 179
            aload 0 /* this */
            getfield jdk.jfr.internal.RepositoryChunk.chunkFile:Ljdk/jfr/internal/SecuritySupport$SafePath;
            invokevirtual jdk.jfr.internal.SecuritySupport$SafePath.toString:()Ljava/lang/String;
            areturn
        end local 0 // jdk.jfr.internal.RepositoryChunk this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljdk/jfr/internal/RepositoryChunk;

  java.nio.channels.ReadableByteChannel newChannel();
    descriptor: ()Ljava/nio/channels/ReadableByteChannel;
    flags: (0x0000) 
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // jdk.jfr.internal.RepositoryChunk this
         0: .line 183
            aload 0 /* this */
            invokevirtual jdk.jfr.internal.RepositoryChunk.isFinished:()Z
            ifne 2
         1: .line 184
            new java.io.IOException
            dup
            ldc "Chunk not finished"
            invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 186
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield jdk.jfr.internal.RepositoryChunk.chunkFile:Ljdk/jfr/internal/SecuritySupport$SafePath;
            invokestatic jdk.jfr.internal.SecuritySupport.newFileChannelToRead:(Ljdk/jfr/internal/SecuritySupport$SafePath;)Ljava/nio/channels/ReadableByteChannel;
            areturn
        end local 0 // jdk.jfr.internal.RepositoryChunk this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Ljdk/jfr/internal/RepositoryChunk;
    Exceptions:
      throws java.io.IOException

  public boolean inInterval(java.time.Instant, java.time.Instant);
    descriptor: (Ljava/time/Instant;Ljava/time/Instant;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // jdk.jfr.internal.RepositoryChunk this
        start local 1 // java.time.Instant startTime
        start local 2 // java.time.Instant endTime
         0: .line 190
            aload 1 /* startTime */
            ifnull 2
            aload 0 /* this */
            invokevirtual jdk.jfr.internal.RepositoryChunk.getEndTime:()Ljava/time/Instant;
            aload 1 /* startTime */
            invokevirtual java.time.Instant.isBefore:(Ljava/time/Instant;)Z
            ifeq 2
         1: .line 191
            iconst_0
            ireturn
         2: .line 193
      StackMap locals:
      StackMap stack:
            aload 2 /* endTime */
            ifnull 4
            aload 0 /* this */
            invokevirtual jdk.jfr.internal.RepositoryChunk.getStartTime:()Ljava/time/Instant;
            aload 2 /* endTime */
            invokevirtual java.time.Instant.isAfter:(Ljava/time/Instant;)Z
            ifeq 4
         3: .line 194
            iconst_0
            ireturn
         4: .line 196
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
        end local 2 // java.time.Instant endTime
        end local 1 // java.time.Instant startTime
        end local 0 // jdk.jfr.internal.RepositoryChunk this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    5     0       this  Ljdk/jfr/internal/RepositoryChunk;
            0    5     1  startTime  Ljava/time/Instant;
            0    5     2    endTime  Ljava/time/Instant;
    MethodParameters:
           Name  Flags
      startTime  
      endTime    

  public jdk.jfr.internal.SecuritySupport$SafePath getFile();
    descriptor: ()Ljdk/jfr/internal/SecuritySupport$SafePath;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // jdk.jfr.internal.RepositoryChunk this
         0: .line 200
            aload 0 /* this */
            getfield jdk.jfr.internal.RepositoryChunk.chunkFile:Ljdk/jfr/internal/SecuritySupport$SafePath;
            areturn
        end local 0 // jdk.jfr.internal.RepositoryChunk this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljdk/jfr/internal/RepositoryChunk;
}
SourceFile: "RepositoryChunk.java"
NestMembers:
  jdk.jfr.internal.RepositoryChunk$1
InnerClasses:
  jdk.jfr.internal.RepositoryChunk$1
  public final SafePath = jdk.jfr.internal.SecuritySupport$SafePath of jdk.jfr.internal.SecuritySupport