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: 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: 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 start local 1 start local 2 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
aconst_null
putfield jdk.jfr.internal.RepositoryChunk.endTime:Ljava/time/Instant;
2: aload 0
iconst_0
putfield jdk.jfr.internal.RepositoryChunk.refCount:I
3: aload 0
aload 2
invokevirtual java.time.ZonedDateTime.toInstant:()Ljava/time/Instant;
putfield jdk.jfr.internal.RepositoryChunk.startTime:Ljava/time/Instant;
4: aload 0
aload 1
putfield jdk.jfr.internal.RepositoryChunk.repositoryPath:Ljdk/jfr/internal/SecuritySupport$SafePath;
5: aload 0
aload 0
getfield jdk.jfr.internal.RepositoryChunk.repositoryPath:Ljdk/jfr/internal/SecuritySupport$SafePath;
aload 2
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: aload 0
aload 0
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: return
end local 2 end local 1 end local 0 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 start local 1 0: aload 1
invokestatic jdk.jfr.internal.Utils.formatDateTime:(Ljava/time/LocalDateTime;)Ljava/lang/String;
astore 2
start local 2 1: aload 0
invokevirtual jdk.jfr.internal.SecuritySupport$SafePath.toPath:()Ljava/nio/file/Path;
new java.lang.StringBuilder
dup
aload 2
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
start local 3 2: iconst_1
istore 4
start local 4 3: goto 10
4: StackMap locals: java.lang.String java.nio.file.Path int
StackMap stack:
new jdk.jfr.internal.SecuritySupport$SafePath
dup
aload 3
invokespecial jdk.jfr.internal.SecuritySupport$SafePath.<init>:(Ljava/nio/file/Path;)V
astore 5
start local 5 5: aload 5
invokestatic jdk.jfr.internal.SecuritySupport.exists:(Ljdk/jfr/internal/SecuritySupport$SafePath;)Z
ifne 7
6: aload 5
areturn
7: StackMap locals: jdk.jfr.internal.SecuritySupport$SafePath
StackMap stack:
ldc "%s_%02d%s"
iconst_3
anewarray java.lang.Object
dup
iconst_0
aload 2
aastore
dup
iconst_1
iload 4
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
start local 6 8: aload 0
invokevirtual jdk.jfr.internal.SecuritySupport$SafePath.toPath:()Ljava/nio/file/Path;
aload 6
invokeinterface java.nio.file.Path.resolve:(Ljava/lang/String;)Ljava/nio/file/Path;
astore 3
end local 6 end local 5 9: iinc 4 1
StackMap locals:
StackMap stack:
10: iload 4
bipush 100
if_icmplt 4
end local 4 11: aload 0
invokevirtual jdk.jfr.internal.SecuritySupport$SafePath.toPath:()Ljava/nio/file/Path;
new java.lang.StringBuilder
dup
aload 2
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
12: new jdk.jfr.internal.SecuritySupport$SafePath
dup
aload 3
invokespecial jdk.jfr.internal.SecuritySupport$SafePath.<init>:(Ljava/nio/file/Path;)V
areturn
end local 3 end local 2 end local 1 end local 0 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 start local 1 0: aload 0
aload 1
invokevirtual jdk.jfr.internal.RepositoryChunk.finishWithException:(Ljava/time/Instant;)V
1: goto 4
StackMap locals:
StackMap stack: java.io.IOException
2: astore 2
start local 2 3: 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
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
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 4: StackMap locals:
StackMap stack:
return
end local 1 end local 0 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 start local 1 0: aload 0
getfield jdk.jfr.internal.RepositoryChunk.unFinishedRAF:Ljava/io/RandomAccessFile;
invokevirtual java.io.RandomAccessFile.close:()V
1: aload 0
aload 0
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: aload 0
aload 1
putfield jdk.jfr.internal.RepositoryChunk.endTime:Ljava/time/Instant;
3: 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: 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
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: StackMap locals:
StackMap stack:
return
end local 1 end local 0 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 0: aload 0
getfield jdk.jfr.internal.RepositoryChunk.startTime:Ljava/time/Instant;
areturn
end local 0 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 0: aload 0
getfield jdk.jfr.internal.RepositoryChunk.endTime:Ljava/time/Instant;
areturn
end local 0 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 start local 1 0: aload 1
invokestatic jdk.jfr.internal.SecuritySupport.delete:(Ljdk/jfr/internal/SecuritySupport$SafePath;)V
1: 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: 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
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: goto 9
StackMap locals:
StackMap stack: java.io.IOException
4: astore 2
start local 2 5: 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: 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
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
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: StackMap locals: java.io.IOException
StackMap stack:
aload 1
ifnull 9
8: aload 1
invokestatic jdk.jfr.internal.FilePurger.add:(Ljdk/jfr/internal/SecuritySupport$SafePath;)V
end local 2 9: StackMap locals:
StackMap stack:
return
end local 1 end local 0 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 0: aload 0
invokevirtual jdk.jfr.internal.RepositoryChunk.isFinished:()Z
ifne 2
1: aload 0
getstatic java.time.Instant.MIN:Ljava/time/Instant;
invokevirtual jdk.jfr.internal.RepositoryChunk.finish:(Ljava/time/Instant;)V
2: StackMap locals:
StackMap stack:
aload 0
aload 0
getfield jdk.jfr.internal.RepositoryChunk.chunkFile:Ljdk/jfr/internal/SecuritySupport$SafePath;
invokevirtual jdk.jfr.internal.RepositoryChunk.delete:(Ljdk/jfr/internal/SecuritySupport$SafePath;)V
3: aload 0
getfield jdk.jfr.internal.RepositoryChunk.unFinishedRAF:Ljava/io/RandomAccessFile;
invokevirtual java.io.RandomAccessFile.close:()V
4: goto 8
StackMap locals:
StackMap stack: java.io.IOException
5: astore 1
start local 1 6: 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: 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
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
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 8: StackMap locals:
StackMap stack:
return
end local 0 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 0: aload 0
dup
getfield jdk.jfr.internal.RepositoryChunk.refCount:I
iconst_1
iadd
putfield jdk.jfr.internal.RepositoryChunk.refCount:I
1: 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: 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
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
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: StackMap locals:
StackMap stack:
return
end local 0 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 0: aload 0
dup
getfield jdk.jfr.internal.RepositoryChunk.refCount:I
iconst_1
isub
putfield jdk.jfr.internal.RepositoryChunk.refCount:I
1: 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: 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
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
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: StackMap locals:
StackMap stack:
aload 0
getfield jdk.jfr.internal.RepositoryChunk.refCount:I
ifne 5
4: aload 0
invokevirtual jdk.jfr.internal.RepositoryChunk.destroy:()V
5: StackMap locals:
StackMap stack:
return
end local 0 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 0: iconst_0
istore 1
start local 1 1: aload 0
dup
astore 2
monitorenter
2: aload 0
getfield jdk.jfr.internal.RepositoryChunk.refCount:I
ifle 4
3: iconst_1
istore 1
4: 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: StackMap locals:
StackMap stack:
iload 1
ifeq 10
9: aload 0
invokevirtual jdk.jfr.internal.RepositoryChunk.destroy:()V
10: StackMap locals:
StackMap stack:
return
end local 1 end local 0 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 0: aload 0
getfield jdk.jfr.internal.RepositoryChunk.size:J
lreturn
end local 0 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 0: aload 0
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 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 0: aload 0
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 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 0: aload 0
invokevirtual jdk.jfr.internal.RepositoryChunk.isFinished:()Z
ifne 2
1: new java.io.IOException
dup
ldc "Chunk not finished"
invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
athrow
2: StackMap locals:
StackMap stack:
aload 0
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 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 start local 1 start local 2 0: aload 1
ifnull 2
aload 0
invokevirtual jdk.jfr.internal.RepositoryChunk.getEndTime:()Ljava/time/Instant;
aload 1
invokevirtual java.time.Instant.isBefore:(Ljava/time/Instant;)Z
ifeq 2
1: iconst_0
ireturn
2: StackMap locals:
StackMap stack:
aload 2
ifnull 4
aload 0
invokevirtual jdk.jfr.internal.RepositoryChunk.getStartTime:()Ljava/time/Instant;
aload 2
invokevirtual java.time.Instant.isAfter:(Ljava/time/Instant;)Z
ifeq 4
3: iconst_0
ireturn
4: StackMap locals:
StackMap stack:
iconst_1
ireturn
end local 2 end local 1 end local 0 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 0: aload 0
getfield jdk.jfr.internal.RepositoryChunk.chunkFile:Ljdk/jfr/internal/SecuritySupport$SafePath;
areturn
end local 0 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