final class jdk.management.jfr.DiskRepository implements java.io.Closeable
minor version: 0
major version: 59
flags: flags: (0x0030) ACC_FINAL, ACC_SUPER
this_class: jdk.management.jfr.DiskRepository
super_class: java.lang.Object
{
static final byte ;
descriptor: B
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: 2
static final byte MODIFYING_STATE;
descriptor: B
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: -1
static final byte COMPLETE_STATE;
descriptor: B
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: 0
static final int ;
descriptor: I
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: 64
static final int ;
descriptor: I
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: 32
static final int ;
descriptor: I
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: 68
static final int ;
descriptor: I
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: 40
private final java.util.Deque<jdk.management.jfr.DiskRepository$DiskChunk> activeChunks;
descriptor: Ljava/util/Deque;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/util/Deque<Ljdk/management/jfr/DiskRepository$DiskChunk;>;
private final java.util.Deque<jdk.management.jfr.DiskRepository$DiskChunk> deadChunks;
descriptor: Ljava/util/Deque;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/util/Deque<Ljdk/management/jfr/DiskRepository$DiskChunk;>;
private final boolean deleteDirectory;
descriptor: Z
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final java.nio.ByteBuffer buffer;
descriptor: Ljava/nio/ByteBuffer;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final java.nio.file.Path directory;
descriptor: Ljava/nio/file/Path;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final jdk.jfr.internal.management.ChunkFilename chunkFilename;
descriptor: Ljdk/jfr/internal/management/ChunkFilename;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private java.io.RandomAccessFile raf;
descriptor: Ljava/io/RandomAccessFile;
flags: (0x0002) ACC_PRIVATE
private java.io.RandomAccessFile previousRAF;
descriptor: Ljava/io/RandomAccessFile;
flags: (0x0002) ACC_PRIVATE
private byte previousRAFstate;
descriptor: B
flags: (0x0002) ACC_PRIVATE
private int index;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private int bufferIndex;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private jdk.management.jfr.DiskRepository$State state;
descriptor: Ljdk/management/jfr/DiskRepository$State;
flags: (0x0002) ACC_PRIVATE
private byte[] currentByteArray;
descriptor: [B
flags: (0x0002) ACC_PRIVATE
private int typeId;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private int typeIdshift;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private int sizeShift;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private int payLoadSize;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private int longValueshift;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private int eventFieldSize;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private int lastFlush;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private jdk.management.jfr.DiskRepository$DiskChunk currentChunk;
descriptor: Ljdk/management/jfr/DiskRepository$DiskChunk;
flags: (0x0002) ACC_PRIVATE
private java.time.Duration maxAge;
descriptor: Ljava/time/Duration;
flags: (0x0002) ACC_PRIVATE
private long maxSize;
descriptor: J
flags: (0x0002) ACC_PRIVATE
private long size;
descriptor: J
flags: (0x0002) ACC_PRIVATE
private static volatile int[] $SWITCH_TABLE$jdk$management$jfr$DiskRepository$State;
descriptor: [I
flags: (0x104a) ACC_PRIVATE, ACC_STATIC, ACC_VOLATILE, ACC_SYNTHETIC
public void <init>(java.nio.file.Path, boolean);
descriptor: (Ljava/nio/file/Path;Z)V
flags: (0x0001) ACC_PUBLIC
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
new java.util.ArrayDeque
dup
invokespecial java.util.ArrayDeque.<init>:()V
putfield jdk.management.jfr.DiskRepository.activeChunks:Ljava/util/Deque;
2: aload 0
new java.util.ArrayDeque
dup
invokespecial java.util.ArrayDeque.<init>:()V
putfield jdk.management.jfr.DiskRepository.deadChunks:Ljava/util/Deque;
3: aload 0
sipush 256
invokestatic java.nio.ByteBuffer.allocate:(I)Ljava/nio/ByteBuffer;
putfield jdk.management.jfr.DiskRepository.buffer:Ljava/nio/ByteBuffer;
4: aload 0
getstatic jdk.management.jfr.DiskRepository$State.HEADER:Ljdk/management/jfr/DiskRepository$State;
putfield jdk.management.jfr.DiskRepository.state:Ljdk/management/jfr/DiskRepository$State;
5: aload 0
aload 1
putfield jdk.management.jfr.DiskRepository.directory:Ljava/nio/file/Path;
6: aload 0
iload 2
putfield jdk.management.jfr.DiskRepository.deleteDirectory:Z
7: aload 0
aload 1
invokestatic jdk.jfr.internal.management.ChunkFilename.newUnpriviliged:(Ljava/nio/file/Path;)Ljdk/jfr/internal/management/ChunkFilename;
putfield jdk.management.jfr.DiskRepository.chunkFilename:Ljdk/jfr/internal/management/ChunkFilename;
8: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Ljdk/management/jfr/DiskRepository;
0 9 1 path Ljava/nio/file/Path;
0 9 2 deleteDirectory Z
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
path
deleteDirectory
public synchronized void write(byte[]);
descriptor: ([B)V
flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
iconst_0
putfield jdk.management.jfr.DiskRepository.index:I
1: aload 0
iconst_0
putfield jdk.management.jfr.DiskRepository.lastFlush:I
2: aload 0
aload 1
putfield jdk.management.jfr.DiskRepository.currentByteArray:[B
3: goto 20
4: StackMap locals:
StackMap stack:
invokestatic jdk.management.jfr.DiskRepository.$SWITCH_TABLE$jdk$management$jfr$DiskRepository$State:()[I
aload 0
getfield jdk.management.jfr.DiskRepository.state:Ljdk/management/jfr/DiskRepository$State;
invokevirtual jdk.management.jfr.DiskRepository$State.ordinal:()I
iaload
tableswitch { // 1 - 14
1: 5
2: 7
3: 9
4: 11
5: 11
6: 11
7: 16
8: 11
9: 11
10: 11
11: 11
12: 11
13: 14
14: 18
default: 20
}
5: StackMap locals:
StackMap stack:
aload 0
invokevirtual jdk.management.jfr.DiskRepository.processInitialHeader:()V
6: goto 20
7: StackMap locals:
StackMap stack:
aload 0
invokevirtual jdk.management.jfr.DiskRepository.processEventSize:()V
8: goto 20
9: StackMap locals:
StackMap stack:
aload 0
invokevirtual jdk.management.jfr.DiskRepository.processEventTypeId:()V
10: goto 20
11: StackMap locals:
StackMap stack:
aload 0
invokevirtual jdk.management.jfr.DiskRepository.processNumericValueInEvent:()V
12: aload 0
iconst_0
putfield jdk.management.jfr.DiskRepository.bufferIndex:I
13: goto 20
14: StackMap locals:
StackMap stack:
aload 0
invokevirtual jdk.management.jfr.DiskRepository.processCheckPointHeader:()V
15: goto 20
16: StackMap locals:
StackMap stack:
aload 0
invokevirtual jdk.management.jfr.DiskRepository.processFlush:()V
17: goto 20
18: StackMap locals:
StackMap stack:
aload 0
invokevirtual jdk.management.jfr.DiskRepository.processEvent:()V
19: goto 20
20: StackMap locals:
StackMap stack:
aload 0
getfield jdk.management.jfr.DiskRepository.index:I
aload 1
arraylength
if_icmplt 4
21: aload 0
getfield jdk.management.jfr.DiskRepository.raf:Ljava/io/RandomAccessFile;
ifnonnull 23
22: return
23: StackMap locals:
StackMap stack:
aload 0
invokevirtual jdk.management.jfr.DiskRepository.flush:()V
24: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 25 0 this Ljdk/management/jfr/DiskRepository;
0 25 1 bytes [B
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
bytes
private void processFlush();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=2, args_size=1
start local 0 0: aload 0
iconst_1
invokevirtual jdk.management.jfr.DiskRepository.nextByte:(Z)B
istore 1
start local 1 1: iload 1
iconst_2
iand
ifeq 4
2: aload 0
getstatic jdk.management.jfr.DiskRepository$State.CHECKPOINT_EVENT_POOL_COUNT:Ljdk/management/jfr/DiskRepository$State;
putfield jdk.management.jfr.DiskRepository.state:Ljdk/management/jfr/DiskRepository$State;
3: goto 5
4: StackMap locals: int
StackMap stack:
aload 0
getstatic jdk.management.jfr.DiskRepository$State.EVENT_PAYLOAD:Ljdk/management/jfr/DiskRepository$State;
putfield jdk.management.jfr.DiskRepository.state:Ljdk/management/jfr/DiskRepository$State;
5: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Ljdk/management/jfr/DiskRepository;
1 6 1 b B
Exceptions:
throws java.io.IOException
private void processNumericValueInEvent();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=2, args_size=1
start local 0 0: aload 0
iconst_1
invokevirtual jdk.management.jfr.DiskRepository.nextByte:(Z)B
istore 1
start local 1 1: iload 1
ifge 2
aload 0
getfield jdk.management.jfr.DiskRepository.longValueshift:I
bipush 56
if_icmpne 5
2: StackMap locals: int
StackMap stack:
aload 0
aload 0
getfield jdk.management.jfr.DiskRepository.state:Ljdk/management/jfr/DiskRepository$State;
invokevirtual jdk.management.jfr.DiskRepository$State.next:()Ljdk/management/jfr/DiskRepository$State;
putfield jdk.management.jfr.DiskRepository.state:Ljdk/management/jfr/DiskRepository$State;
3: aload 0
iconst_0
putfield jdk.management.jfr.DiskRepository.longValueshift:I
4: goto 6
5: StackMap locals:
StackMap stack:
aload 0
dup
getfield jdk.management.jfr.DiskRepository.longValueshift:I
bipush 7
iadd
putfield jdk.management.jfr.DiskRepository.longValueshift:I
6: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Ljdk/management/jfr/DiskRepository;
1 7 1 b I
private void processEvent();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=2, args_size=1
start local 0 0: aload 0
getfield jdk.management.jfr.DiskRepository.currentByteArray:[B
arraylength
aload 0
getfield jdk.management.jfr.DiskRepository.index:I
isub
istore 1
start local 1 1: iload 1
aload 0
getfield jdk.management.jfr.DiskRepository.payLoadSize:I
if_icmplt 6
2: aload 0
dup
getfield jdk.management.jfr.DiskRepository.index:I
aload 0
getfield jdk.management.jfr.DiskRepository.payLoadSize:I
iadd
putfield jdk.management.jfr.DiskRepository.index:I
3: aload 0
iconst_0
putfield jdk.management.jfr.DiskRepository.payLoadSize:I
4: aload 0
getstatic jdk.management.jfr.DiskRepository$State.EVENT_SIZE:Ljdk/management/jfr/DiskRepository$State;
putfield jdk.management.jfr.DiskRepository.state:Ljdk/management/jfr/DiskRepository$State;
5: goto 8
6: StackMap locals: int
StackMap stack:
aload 0
dup
getfield jdk.management.jfr.DiskRepository.index:I
iload 1
iadd
putfield jdk.management.jfr.DiskRepository.index:I
7: aload 0
dup
getfield jdk.management.jfr.DiskRepository.payLoadSize:I
iload 1
isub
putfield jdk.management.jfr.DiskRepository.payLoadSize:I
8: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Ljdk/management/jfr/DiskRepository;
1 9 1 left I
private void processEventTypeId();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=6, locals=4, args_size=1
start local 0 0: aload 0
iconst_1
invokevirtual jdk.management.jfr.DiskRepository.nextByte:(Z)B
istore 1
start local 1 1: iload 1
i2l
ldc 127
land
lstore 2
start local 2 2: aload 0
dup
getfield jdk.management.jfr.DiskRepository.typeId:I
i2l
lload 2
aload 0
getfield jdk.management.jfr.DiskRepository.typeIdshift:I
lshl
ladd
l2i
putfield jdk.management.jfr.DiskRepository.typeId:I
3: iload 1
iflt 11
4: aload 0
getfield jdk.management.jfr.DiskRepository.typeId:I
iconst_1
if_icmpne 7
5: aload 0
getstatic jdk.management.jfr.DiskRepository$State.CHECKPOINT_EVENT_TIMESTAMP:Ljdk/management/jfr/DiskRepository$State;
putfield jdk.management.jfr.DiskRepository.state:Ljdk/management/jfr/DiskRepository$State;
6: goto 8
7: StackMap locals: int long
StackMap stack:
aload 0
getstatic jdk.management.jfr.DiskRepository$State.EVENT_PAYLOAD:Ljdk/management/jfr/DiskRepository$State;
putfield jdk.management.jfr.DiskRepository.state:Ljdk/management/jfr/DiskRepository$State;
8: StackMap locals:
StackMap stack:
aload 0
iconst_0
putfield jdk.management.jfr.DiskRepository.typeIdshift:I
9: aload 0
iconst_0
putfield jdk.management.jfr.DiskRepository.typeId:I
10: goto 12
11: StackMap locals:
StackMap stack:
aload 0
dup
getfield jdk.management.jfr.DiskRepository.typeIdshift:I
bipush 7
iadd
putfield jdk.management.jfr.DiskRepository.typeIdshift:I
12: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 13 0 this Ljdk/management/jfr/DiskRepository;
1 13 1 b B
2 13 2 v J
private void processEventSize();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=6, locals=4, args_size=1
start local 0 0: aload 0
getfield jdk.management.jfr.DiskRepository.previousRAF:Ljava/io/RandomAccessFile;
ifnull 4
1: aload 0
invokevirtual jdk.management.jfr.DiskRepository.flush:()V
2: aload 0
getstatic jdk.management.jfr.DiskRepository$State.HEADER:Ljdk/management/jfr/DiskRepository$State;
putfield jdk.management.jfr.DiskRepository.state:Ljdk/management/jfr/DiskRepository$State;
3: return
4: StackMap locals:
StackMap stack:
aload 0
dup
getfield jdk.management.jfr.DiskRepository.eventFieldSize:I
iconst_1
iadd
putfield jdk.management.jfr.DiskRepository.eventFieldSize:I
5: aload 0
iconst_0
invokevirtual jdk.management.jfr.DiskRepository.nextByte:(Z)B
istore 1
start local 1 6: iload 1
i2l
ldc 127
land
lstore 2
start local 2 7: aload 0
dup
getfield jdk.management.jfr.DiskRepository.payLoadSize:I
i2l
lload 2
aload 0
getfield jdk.management.jfr.DiskRepository.sizeShift:I
lshl
ladd
l2i
putfield jdk.management.jfr.DiskRepository.payLoadSize:I
8: iload 1
iflt 16
9: aload 0
getfield jdk.management.jfr.DiskRepository.payLoadSize:I
ifne 11
10: new java.io.IOException
dup
new java.lang.StringBuilder
dup
ldc "Event size can't be null."
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
getfield jdk.management.jfr.DiskRepository.index:I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
athrow
11: StackMap locals: int long
StackMap stack:
aload 0
getstatic jdk.management.jfr.DiskRepository$State.EVENT_TYPE:Ljdk/management/jfr/DiskRepository$State;
putfield jdk.management.jfr.DiskRepository.state:Ljdk/management/jfr/DiskRepository$State;
12: aload 0
iconst_0
putfield jdk.management.jfr.DiskRepository.sizeShift:I
13: aload 0
dup
getfield jdk.management.jfr.DiskRepository.payLoadSize:I
aload 0
getfield jdk.management.jfr.DiskRepository.eventFieldSize:I
isub
putfield jdk.management.jfr.DiskRepository.payLoadSize:I
14: aload 0
iconst_0
putfield jdk.management.jfr.DiskRepository.eventFieldSize:I
15: goto 17
16: StackMap locals:
StackMap stack:
aload 0
dup
getfield jdk.management.jfr.DiskRepository.sizeShift:I
bipush 7
iadd
putfield jdk.management.jfr.DiskRepository.sizeShift:I
17: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 18 0 this Ljdk/management/jfr/DiskRepository;
6 18 1 b B
7 18 2 v J
Exceptions:
throws java.io.IOException
private void ();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=1, args_size=1
start local 0 0: aload 0
getfield jdk.management.jfr.DiskRepository.buffer:Ljava/nio/ByteBuffer;
aload 0
getfield jdk.management.jfr.DiskRepository.bufferIndex:I
aload 0
iconst_0
invokevirtual jdk.management.jfr.DiskRepository.nextByte:(Z)B
invokevirtual java.nio.ByteBuffer.put:(IB)Ljava/nio/ByteBuffer;
pop
1: aload 0
getfield jdk.management.jfr.DiskRepository.bufferIndex:I
bipush 68
if_icmpne 8
2: aload 0
invokevirtual jdk.management.jfr.DiskRepository.writeInitialHeader:()V
3: aload 0
getstatic jdk.management.jfr.DiskRepository$State.EVENT_SIZE:Ljdk/management/jfr/DiskRepository$State;
putfield jdk.management.jfr.DiskRepository.state:Ljdk/management/jfr/DiskRepository$State;
4: aload 0
iconst_0
putfield jdk.management.jfr.DiskRepository.bufferIndex:I
5: aload 0
getfield jdk.management.jfr.DiskRepository.index:I
aload 0
getfield jdk.management.jfr.DiskRepository.lastFlush:I
bipush 68
iadd
if_icmpeq 7
6: new java.io.IOException
dup
ldc "Expected data before header to be flushed"
invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
athrow
7: StackMap locals:
StackMap stack:
aload 0
aload 0
getfield jdk.management.jfr.DiskRepository.index:I
putfield jdk.management.jfr.DiskRepository.lastFlush:I
8: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Ljdk/management/jfr/DiskRepository;
Exceptions:
throws java.io.IOException
private void ();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=1, args_size=1
start local 0 0: aload 0
getfield jdk.management.jfr.DiskRepository.buffer:Ljava/nio/ByteBuffer;
aload 0
getfield jdk.management.jfr.DiskRepository.bufferIndex:I
aload 0
iconst_1
invokevirtual jdk.management.jfr.DiskRepository.nextByte:(Z)B
invokevirtual java.nio.ByteBuffer.put:(IB)Ljava/nio/ByteBuffer;
pop
1: aload 0
getfield jdk.management.jfr.DiskRepository.bufferIndex:I
bipush 68
if_icmpne 5
2: aload 0
invokevirtual jdk.management.jfr.DiskRepository.writeCheckPointHeader:()V
3: aload 0
getstatic jdk.management.jfr.DiskRepository$State.EVENT_PAYLOAD:Ljdk/management/jfr/DiskRepository$State;
putfield jdk.management.jfr.DiskRepository.state:Ljdk/management/jfr/DiskRepository$State;
4: aload 0
iconst_0
putfield jdk.management.jfr.DiskRepository.bufferIndex:I
5: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Ljdk/management/jfr/DiskRepository;
Exceptions:
throws java.io.IOException
private void ();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=3, args_size=1
start local 0 0: aload 0
getfield jdk.management.jfr.DiskRepository.currentChunk:Ljdk/management/jfr/DiskRepository$DiskChunk;
astore 1
start local 1 1: aload 0
aload 0
invokevirtual jdk.management.jfr.DiskRepository.nextChunk:()Ljdk/management/jfr/DiskRepository$DiskChunk;
putfield jdk.management.jfr.DiskRepository.currentChunk:Ljdk/management/jfr/DiskRepository$DiskChunk;
2: aload 0
new java.io.RandomAccessFile
dup
aload 0
getfield jdk.management.jfr.DiskRepository.currentChunk:Ljdk/management/jfr/DiskRepository$DiskChunk;
getfield jdk.management.jfr.DiskRepository$DiskChunk.path:Ljava/nio/file/Path;
invokeinterface java.nio.file.Path.toFile:()Ljava/io/File;
ldc "rw"
invokespecial java.io.RandomAccessFile.<init>:(Ljava/io/File;Ljava/lang/String;)V
putfield jdk.management.jfr.DiskRepository.raf:Ljava/io/RandomAccessFile;
3: aload 0
getfield jdk.management.jfr.DiskRepository.buffer:Ljava/nio/ByteBuffer;
bipush 64
invokevirtual java.nio.ByteBuffer.get:(I)B
istore 2
start local 2 4: aload 0
getfield jdk.management.jfr.DiskRepository.buffer:Ljava/nio/ByteBuffer;
bipush 64
iconst_m1
invokevirtual java.nio.ByteBuffer.put:(IB)Ljava/nio/ByteBuffer;
pop
5: aload 0
getfield jdk.management.jfr.DiskRepository.raf:Ljava/io/RandomAccessFile;
aload 0
getfield jdk.management.jfr.DiskRepository.buffer:Ljava/nio/ByteBuffer;
invokevirtual java.nio.ByteBuffer.array:()[B
iconst_0
bipush 68
invokevirtual java.io.RandomAccessFile.write:([BII)V
6: aload 0
aload 1
invokevirtual jdk.management.jfr.DiskRepository.completePrevious:(Ljdk/management/jfr/DiskRepository$DiskChunk;)V
7: aload 0
getfield jdk.management.jfr.DiskRepository.raf:Ljava/io/RandomAccessFile;
ldc 64
invokevirtual java.io.RandomAccessFile.seek:(J)V
8: aload 0
getfield jdk.management.jfr.DiskRepository.raf:Ljava/io/RandomAccessFile;
iload 2
invokevirtual java.io.RandomAccessFile.writeByte:(I)V
9: aload 0
getfield jdk.management.jfr.DiskRepository.raf:Ljava/io/RandomAccessFile;
ldc 68
invokevirtual java.io.RandomAccessFile.seek:(J)V
10: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Ljdk/management/jfr/DiskRepository;
1 11 1 previous Ljdk/management/jfr/DiskRepository$DiskChunk;
4 11 2 fileState B
Exceptions:
throws java.io.IOException
private void completePrevious(jdk.management.jfr.DiskRepository$DiskChunk);
descriptor: (Ljdk/management/jfr/DiskRepository$DiskChunk;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield jdk.management.jfr.DiskRepository.previousRAF:Ljava/io/RandomAccessFile;
ifnull 7
1: aload 0
getfield jdk.management.jfr.DiskRepository.previousRAF:Ljava/io/RandomAccessFile;
ldc 64
invokevirtual java.io.RandomAccessFile.seek:(J)V
2: aload 0
getfield jdk.management.jfr.DiskRepository.previousRAF:Ljava/io/RandomAccessFile;
aload 0
getfield jdk.management.jfr.DiskRepository.previousRAFstate:B
invokevirtual java.io.RandomAccessFile.writeByte:(I)V
3: aload 0
getfield jdk.management.jfr.DiskRepository.previousRAF:Ljava/io/RandomAccessFile;
invokevirtual java.io.RandomAccessFile.close:()V
4: aload 0
aload 1
invokevirtual jdk.management.jfr.DiskRepository.addChunk:(Ljdk/management/jfr/DiskRepository$DiskChunk;)V
5: aload 0
aconst_null
putfield jdk.management.jfr.DiskRepository.previousRAF:Ljava/io/RandomAccessFile;
6: aload 0
iconst_0
putfield jdk.management.jfr.DiskRepository.previousRAFstate:B
7: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Ljdk/management/jfr/DiskRepository;
0 8 1 previous Ljdk/management/jfr/DiskRepository$DiskChunk;
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
previous
private void ();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=9, args_size=1
start local 0 0: aload 0
getfield jdk.management.jfr.DiskRepository.raf:Ljava/io/RandomAccessFile;
invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;)Ljava/lang/Object;
pop
1: aload 0
getfield jdk.management.jfr.DiskRepository.buffer:Ljava/nio/ByteBuffer;
bipush 64
invokevirtual java.nio.ByteBuffer.get:(I)B
istore 1
start local 1 2: iload 1
ifne 3
iconst_1
goto 4
StackMap locals: int
StackMap stack:
3: iconst_0
StackMap locals:
StackMap stack: int
4: istore 2
start local 2 5: aload 0
getfield jdk.management.jfr.DiskRepository.buffer:Ljava/nio/ByteBuffer;
bipush 64
iconst_m1
invokevirtual java.nio.ByteBuffer.put:(IB)Ljava/nio/ByteBuffer;
pop
6: aload 0
invokevirtual jdk.management.jfr.DiskRepository.flush:()V
7: aload 0
getfield jdk.management.jfr.DiskRepository.raf:Ljava/io/RandomAccessFile;
invokevirtual java.io.RandomAccessFile.getFilePointer:()J
lstore 3
start local 3 8: aload 0
getfield jdk.management.jfr.DiskRepository.raf:Ljava/io/RandomAccessFile;
ldc 64
invokevirtual java.io.RandomAccessFile.seek:(J)V
9: aload 0
getfield jdk.management.jfr.DiskRepository.raf:Ljava/io/RandomAccessFile;
iconst_m1
invokevirtual java.io.RandomAccessFile.writeByte:(I)V
10: aload 0
getfield jdk.management.jfr.DiskRepository.raf:Ljava/io/RandomAccessFile;
lconst_0
invokevirtual java.io.RandomAccessFile.seek:(J)V
11: aload 0
getfield jdk.management.jfr.DiskRepository.raf:Ljava/io/RandomAccessFile;
aload 0
getfield jdk.management.jfr.DiskRepository.buffer:Ljava/nio/ByteBuffer;
invokevirtual java.nio.ByteBuffer.array:()[B
iconst_0
bipush 68
invokevirtual java.io.RandomAccessFile.write:([BII)V
12: iload 2
ifne 16
13: aload 0
getfield jdk.management.jfr.DiskRepository.raf:Ljava/io/RandomAccessFile;
ldc 64
invokevirtual java.io.RandomAccessFile.seek:(J)V
14: aload 0
getfield jdk.management.jfr.DiskRepository.raf:Ljava/io/RandomAccessFile;
iload 1
invokevirtual java.io.RandomAccessFile.writeByte:(I)V
15: goto 22
16: StackMap locals: int long
StackMap stack:
aload 0
aload 0
getfield jdk.management.jfr.DiskRepository.raf:Ljava/io/RandomAccessFile;
putfield jdk.management.jfr.DiskRepository.previousRAF:Ljava/io/RandomAccessFile;
17: aload 0
iload 1
putfield jdk.management.jfr.DiskRepository.previousRAFstate:B
18: aload 0
getfield jdk.management.jfr.DiskRepository.currentChunk:Ljdk/management/jfr/DiskRepository$DiskChunk;
aload 0
getfield jdk.management.jfr.DiskRepository.currentChunk:Ljdk/management/jfr/DiskRepository$DiskChunk;
getfield jdk.management.jfr.DiskRepository$DiskChunk.path:Ljava/nio/file/Path;
invokestatic java.nio.file.Files.size:(Ljava/nio/file/Path;)J
putfield jdk.management.jfr.DiskRepository$DiskChunk.size:J
19: aload 0
getfield jdk.management.jfr.DiskRepository.buffer:Ljava/nio/ByteBuffer;
bipush 40
invokevirtual java.nio.ByteBuffer.getLong:(I)J
lstore 5
start local 5 20: aload 0
getfield jdk.management.jfr.DiskRepository.currentChunk:Ljdk/management/jfr/DiskRepository$DiskChunk;
getfield jdk.management.jfr.DiskRepository$DiskChunk.startTimeNanos:J
lload 5
ladd
lstore 7
start local 7 21: aload 0
getfield jdk.management.jfr.DiskRepository.currentChunk:Ljdk/management/jfr/DiskRepository$DiskChunk;
lload 7
invokestatic jdk.jfr.internal.management.ManagementSupport.epochNanosToInstant:(J)Ljava/time/Instant;
putfield jdk.management.jfr.DiskRepository$DiskChunk.endTime:Ljava/time/Instant;
end local 7 end local 5 22: StackMap locals:
StackMap stack:
aload 0
getfield jdk.management.jfr.DiskRepository.raf:Ljava/io/RandomAccessFile;
lload 3
invokevirtual java.io.RandomAccessFile.seek:(J)V
23: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 24 0 this Ljdk/management/jfr/DiskRepository;
2 24 1 state B
5 24 2 complete Z
8 24 3 position J
20 22 5 durationNanos J
21 22 7 endTimeNanos J
Exceptions:
throws java.io.IOException
private void flush();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=2, args_size=1
start local 0 0: aload 0
getfield jdk.management.jfr.DiskRepository.index:I
aload 0
getfield jdk.management.jfr.DiskRepository.lastFlush:I
isub
istore 1
start local 1 1: iload 1
ifeq 4
2: aload 0
getfield jdk.management.jfr.DiskRepository.raf:Ljava/io/RandomAccessFile;
aload 0
getfield jdk.management.jfr.DiskRepository.currentByteArray:[B
aload 0
getfield jdk.management.jfr.DiskRepository.lastFlush:I
iload 1
invokevirtual java.io.RandomAccessFile.write:([BII)V
3: aload 0
aload 0
getfield jdk.management.jfr.DiskRepository.index:I
putfield jdk.management.jfr.DiskRepository.lastFlush:I
4: StackMap locals: int
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Ljdk/management/jfr/DiskRepository;
1 5 1 length I
Exceptions:
throws java.io.IOException
private byte nextByte(boolean);
descriptor: (Z)B
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=3, args_size=2
start local 0 start local 1 0: aload 0
getfield jdk.management.jfr.DiskRepository.currentByteArray:[B
aload 0
getfield jdk.management.jfr.DiskRepository.index:I
baload
istore 2
start local 2 1: aload 0
dup
getfield jdk.management.jfr.DiskRepository.index:I
iconst_1
iadd
putfield jdk.management.jfr.DiskRepository.index:I
2: aload 0
dup
getfield jdk.management.jfr.DiskRepository.bufferIndex:I
iconst_1
iadd
putfield jdk.management.jfr.DiskRepository.bufferIndex:I
3: iload 1
ifeq 5
4: aload 0
dup
getfield jdk.management.jfr.DiskRepository.payLoadSize:I
iconst_1
isub
putfield jdk.management.jfr.DiskRepository.payLoadSize:I
5: StackMap locals: int
StackMap stack:
iload 2
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Ljdk/management/jfr/DiskRepository;
0 6 1 inEvent Z
1 6 2 b B
MethodParameters:
Name Flags
inEvent
private jdk.management.jfr.DiskRepository$DiskChunk nextChunk();
descriptor: ()Ljdk/management/jfr/DiskRepository$DiskChunk;
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=9, args_size=1
start local 0 0: aload 0
getfield jdk.management.jfr.DiskRepository.buffer:Ljava/nio/ByteBuffer;
bipush 32
invokevirtual java.nio.ByteBuffer.getLong:(I)J
lstore 1
start local 1 1: lload 1
ldc 1000000000
ldiv
lstore 3
start local 3 2: lload 1
ldc 1000000000
lrem
l2i
istore 5
start local 5 3: invokestatic java.time.OffsetDateTime.now:()Ljava/time/OffsetDateTime;
invokevirtual java.time.OffsetDateTime.getOffset:()Ljava/time/ZoneOffset;
astore 6
start local 6 4: lload 3
iload 5
aload 6
invokestatic java.time.LocalDateTime.ofEpochSecond:(JILjava/time/ZoneOffset;)Ljava/time/LocalDateTime;
astore 7
start local 7 5: aload 0
getfield jdk.management.jfr.DiskRepository.chunkFilename:Ljdk/jfr/internal/management/ChunkFilename;
aload 7
invokevirtual jdk.jfr.internal.management.ChunkFilename.next:(Ljava/time/LocalDateTime;)Ljava/lang/String;
astore 8
start local 8 6: new jdk.management.jfr.DiskRepository$DiskChunk
dup
aload 8
iconst_0
anewarray java.lang.String
invokestatic java.nio.file.Paths.get:(Ljava/lang/String;[Ljava/lang/String;)Ljava/nio/file/Path;
lload 1
invokespecial jdk.management.jfr.DiskRepository$DiskChunk.<init>:(Ljava/nio/file/Path;J)V
areturn
end local 8 end local 7 end local 6 end local 5 end local 3 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Ljdk/management/jfr/DiskRepository;
1 7 1 nanos J
2 7 3 epochSecond J
3 7 5 nanoOfSecond I
4 7 6 z Ljava/time/ZoneOffset;
5 7 7 d Ljava/time/LocalDateTime;
6 7 8 filename Ljava/lang/String;
Exceptions:
throws java.io.IOException
public synchronized void close();
descriptor: ()V
flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
Code:
stack=3, locals=2, args_size=1
start local 0 0: aload 0
aload 0
getfield jdk.management.jfr.DiskRepository.currentChunk:Ljdk/management/jfr/DiskRepository$DiskChunk;
invokevirtual jdk.management.jfr.DiskRepository.completePrevious:(Ljdk/management/jfr/DiskRepository$DiskChunk;)V
1: aload 0
getfield jdk.management.jfr.DiskRepository.raf:Ljava/io/RandomAccessFile;
ifnull 3
2: aload 0
getfield jdk.management.jfr.DiskRepository.raf:Ljava/io/RandomAccessFile;
invokevirtual java.io.RandomAccessFile.close:()V
3: StackMap locals:
StackMap stack:
aload 0
getfield jdk.management.jfr.DiskRepository.deadChunks:Ljava/util/Deque;
aload 0
getfield jdk.management.jfr.DiskRepository.activeChunks:Ljava/util/Deque;
invokeinterface java.util.Deque.addAll:(Ljava/util/Collection;)Z
pop
4: aload 0
getfield jdk.management.jfr.DiskRepository.currentChunk:Ljdk/management/jfr/DiskRepository$DiskChunk;
ifnull 6
5: aload 0
getfield jdk.management.jfr.DiskRepository.deadChunks:Ljava/util/Deque;
aload 0
getfield jdk.management.jfr.DiskRepository.currentChunk:Ljdk/management/jfr/DiskRepository$DiskChunk;
invokeinterface java.util.Deque.add:(Ljava/lang/Object;)Z
pop
6: StackMap locals:
StackMap stack:
aload 0
ldc 2147483647
invokevirtual jdk.management.jfr.DiskRepository.cleanUpDeadChunk:(I)V
7: aload 0
getfield jdk.management.jfr.DiskRepository.deleteDirectory:Z
ifeq 12
8: aload 0
getfield jdk.management.jfr.DiskRepository.directory:Ljava/nio/file/Path;
invokestatic java.nio.file.Files.delete:(Ljava/nio/file/Path;)V
9: goto 12
StackMap locals:
StackMap stack: java.io.IOException
10: astore 1
start local 1 11: new java.lang.StringBuilder
dup
ldc "Could not delete temp stream repository: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
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.management.ManagementSupport.logDebug:(Ljava/lang/String;)V
end local 1 12: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 13 0 this Ljdk/management/jfr/DiskRepository;
11 12 1 ioe Ljava/io/IOException;
Exception table:
from to target type
8 9 10 Class java.io.IOException
Exceptions:
throws java.io.IOException
public synchronized void setMaxAge(java.time.Duration);
descriptor: (Ljava/time/Duration;)V
flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
putfield jdk.management.jfr.DiskRepository.maxAge:Ljava/time/Duration;
1: aload 0
invokestatic java.time.Instant.now:()Ljava/time/Instant;
aload 1
invokevirtual java.time.Instant.minus:(Ljava/time/temporal/TemporalAmount;)Ljava/time/Instant;
invokevirtual jdk.management.jfr.DiskRepository.trimToAge:(Ljava/time/Instant;)V
2: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Ljdk/management/jfr/DiskRepository;
0 3 1 maxAge Ljava/time/Duration;
MethodParameters:
Name Flags
maxAge
public synchronized void setMaxSize(long);
descriptor: (J)V
flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
Code:
stack=3, locals=3, args_size=2
start local 0 start local 1 0: aload 0
lload 1
putfield jdk.management.jfr.DiskRepository.maxSize:J
1: aload 0
invokevirtual jdk.management.jfr.DiskRepository.trimToSize:()V
2: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Ljdk/management/jfr/DiskRepository;
0 3 1 maxSize J
MethodParameters:
Name Flags
maxSize
private void trimToSize();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=2, args_size=1
start local 0 0: aload 0
getfield jdk.management.jfr.DiskRepository.maxSize:J
lconst_0
lcmp
ifne 2
1: return
2: StackMap locals:
StackMap stack:
iconst_0
istore 1
start local 1 3: goto 6
4: StackMap locals: int
StackMap stack:
aload 0
invokevirtual jdk.management.jfr.DiskRepository.removeOldestChunk:()V
5: iinc 1 1
6: StackMap locals:
StackMap stack:
aload 0
getfield jdk.management.jfr.DiskRepository.size:J
aload 0
getfield jdk.management.jfr.DiskRepository.maxSize:J
lcmp
ifle 7
aload 0
getfield jdk.management.jfr.DiskRepository.activeChunks:Ljava/util/Deque;
invokeinterface java.util.Deque.size:()I
iconst_1
if_icmpgt 4
7: StackMap locals:
StackMap stack:
aload 0
iload 1
bipush 10
iadd
invokevirtual jdk.management.jfr.DiskRepository.cleanUpDeadChunk:(I)V
8: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Ljdk/management/jfr/DiskRepository;
3 9 1 count I
private void trimToAge(java.time.Instant);
descriptor: (Ljava/time/Instant;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=4, args_size=2
start local 0 start local 1 0: aload 0
getfield jdk.management.jfr.DiskRepository.maxAge:Ljava/time/Duration;
ifnonnull 2
1: return
2: StackMap locals:
StackMap stack:
iconst_0
istore 2
start local 2 3: goto 9
4: StackMap locals: int
StackMap stack:
aload 0
getfield jdk.management.jfr.DiskRepository.activeChunks:Ljava/util/Deque;
invokeinterface java.util.Deque.getLast:()Ljava/lang/Object;
checkcast jdk.management.jfr.DiskRepository$DiskChunk
astore 3
start local 3 5: aload 3
getfield jdk.management.jfr.DiskRepository$DiskChunk.endTime:Ljava/time/Instant;
aload 1
invokevirtual java.time.Instant.isAfter:(Ljava/time/Instant;)Z
ifeq 7
6: return
7: StackMap locals: jdk.management.jfr.DiskRepository$DiskChunk
StackMap stack:
aload 0
invokevirtual jdk.management.jfr.DiskRepository.removeOldestChunk:()V
8: iinc 2 1
end local 3 9: StackMap locals:
StackMap stack:
aload 0
getfield jdk.management.jfr.DiskRepository.activeChunks:Ljava/util/Deque;
invokeinterface java.util.Deque.size:()I
iconst_1
if_icmpgt 4
10: aload 0
iload 2
bipush 10
iadd
invokevirtual jdk.management.jfr.DiskRepository.cleanUpDeadChunk:(I)V
11: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 this Ljdk/management/jfr/DiskRepository;
0 12 1 oldest Ljava/time/Instant;
3 12 2 count I
5 9 3 oldestChunk Ljdk/management/jfr/DiskRepository$DiskChunk;
MethodParameters:
Name Flags
oldest
public synchronized void onChunkComplete(long);
descriptor: (J)V
flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
Code:
stack=4, locals=5, args_size=2
start local 0 start local 1 0: iconst_0
istore 3
start local 3 1: goto 6
2: StackMap locals: int
StackMap stack:
aload 0
getfield jdk.management.jfr.DiskRepository.activeChunks:Ljava/util/Deque;
invokeinterface java.util.Deque.peek:()Ljava/lang/Object;
checkcast jdk.management.jfr.DiskRepository$DiskChunk
astore 4
start local 4 3: aload 4
getfield jdk.management.jfr.DiskRepository$DiskChunk.startTimeNanos:J
lload 1
lcmp
ifge 7
4: aload 0
invokevirtual jdk.management.jfr.DiskRepository.removeOldestChunk:()V
5: iinc 3 1
end local 4 6: StackMap locals:
StackMap stack:
aload 0
getfield jdk.management.jfr.DiskRepository.activeChunks:Ljava/util/Deque;
invokeinterface java.util.Deque.isEmpty:()Z
ifeq 2
7: StackMap locals:
StackMap stack:
aload 0
iload 3
bipush 10
iadd
invokevirtual jdk.management.jfr.DiskRepository.cleanUpDeadChunk:(I)V
8: return
end local 3 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Ljdk/management/jfr/DiskRepository;
0 9 1 endTimeNanos J
1 9 3 count I
3 6 4 oldestChunk Ljdk/management/jfr/DiskRepository$DiskChunk;
MethodParameters:
Name Flags
endTimeNanos
private void addChunk(jdk.management.jfr.DiskRepository$DiskChunk);
descriptor: (Ljdk/management/jfr/DiskRepository$DiskChunk;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield jdk.management.jfr.DiskRepository.maxAge:Ljava/time/Duration;
ifnull 2
1: aload 0
aload 1
getfield jdk.management.jfr.DiskRepository$DiskChunk.endTime:Ljava/time/Instant;
aload 0
getfield jdk.management.jfr.DiskRepository.maxAge:Ljava/time/Duration;
invokevirtual java.time.Instant.minus:(Ljava/time/temporal/TemporalAmount;)Ljava/time/Instant;
invokevirtual jdk.management.jfr.DiskRepository.trimToAge:(Ljava/time/Instant;)V
2: StackMap locals:
StackMap stack:
aload 0
getfield jdk.management.jfr.DiskRepository.activeChunks:Ljava/util/Deque;
aload 1
invokeinterface java.util.Deque.push:(Ljava/lang/Object;)V
3: aload 0
dup
getfield jdk.management.jfr.DiskRepository.size:J
aload 1
getfield jdk.management.jfr.DiskRepository$DiskChunk.size:J
ladd
putfield jdk.management.jfr.DiskRepository.size:J
4: aload 0
invokevirtual jdk.management.jfr.DiskRepository.trimToSize:()V
5: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Ljdk/management/jfr/DiskRepository;
0 6 1 chunk Ljdk/management/jfr/DiskRepository$DiskChunk;
MethodParameters:
Name Flags
chunk
private void removeOldestChunk();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=2, args_size=1
start local 0 0: aload 0
getfield jdk.management.jfr.DiskRepository.activeChunks:Ljava/util/Deque;
invokeinterface java.util.Deque.poll:()Ljava/lang/Object;
checkcast jdk.management.jfr.DiskRepository$DiskChunk
astore 1
start local 1 1: aload 0
getfield jdk.management.jfr.DiskRepository.deadChunks:Ljava/util/Deque;
aload 1
invokeinterface java.util.Deque.add:(Ljava/lang/Object;)Z
pop
2: aload 0
dup
getfield jdk.management.jfr.DiskRepository.size:J
aload 1
getfield jdk.management.jfr.DiskRepository$DiskChunk.size:J
lsub
putfield jdk.management.jfr.DiskRepository.size:J
3: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Ljdk/management/jfr/DiskRepository;
1 4 1 chunk Ljdk/management/jfr/DiskRepository$DiskChunk;
private void cleanUpDeadChunk(int);
descriptor: (I)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=5, args_size=2
start local 0 start local 1 0: iconst_0
istore 2
start local 2 1: aload 0
getfield jdk.management.jfr.DiskRepository.deadChunks:Ljava/util/Deque;
invokeinterface java.util.Deque.iterator:()Ljava/util/Iterator;
astore 3
start local 3 2: goto 11
3: StackMap locals: int java.util.Iterator
StackMap stack:
aload 3
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast jdk.management.jfr.DiskRepository$DiskChunk
astore 4
start local 4 4: aload 4
getfield jdk.management.jfr.DiskRepository$DiskChunk.path:Ljava/nio/file/Path;
invokestatic java.nio.file.Files.delete:(Ljava/nio/file/Path;)V
5: aload 3
invokeinterface java.util.Iterator.remove:()V
6: goto 8
StackMap locals: jdk.management.jfr.DiskRepository int int java.util.Iterator jdk.management.jfr.DiskRepository$DiskChunk
StackMap stack: java.io.IOException
7: pop
8: StackMap locals:
StackMap stack:
iinc 2 1
9: iload 2
iload 1
if_icmpne 11
10: return
end local 4 11: StackMap locals:
StackMap stack:
aload 3
invokeinterface java.util.Iterator.hasNext:()Z
ifne 3
12: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 13 0 this Ljdk/management/jfr/DiskRepository;
0 13 1 maxCount I
1 13 2 count I
2 13 3 iterator Ljava/util/Iterator<Ljdk/management/jfr/DiskRepository$DiskChunk;>;
4 11 4 chunk Ljdk/management/jfr/DiskRepository$DiskChunk;
Exception table:
from to target type
4 6 7 Class java.io.IOException
MethodParameters:
Name Flags
maxCount
public synchronized void complete();
descriptor: ()V
flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
Code:
stack=3, locals=2, args_size=1
start local 0 0: aload 0
getfield jdk.management.jfr.DiskRepository.currentChunk:Ljdk/management/jfr/DiskRepository$DiskChunk;
ifnull 5
1: aload 0
aload 0
getfield jdk.management.jfr.DiskRepository.currentChunk:Ljdk/management/jfr/DiskRepository$DiskChunk;
invokevirtual jdk.management.jfr.DiskRepository.completePrevious:(Ljdk/management/jfr/DiskRepository$DiskChunk;)V
2: goto 5
StackMap locals:
StackMap stack: java.io.IOException
3: astore 1
start local 1 4: new java.lang.StringBuilder
dup
ldc "Could not complete chunk "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
getfield jdk.management.jfr.DiskRepository.currentChunk:Ljdk/management/jfr/DiskRepository$DiskChunk;
getfield jdk.management.jfr.DiskRepository$DiskChunk.path:Ljava/nio/file/Path;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc " : "
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.management.ManagementSupport.logDebug:(Ljava/lang/String;)V
end local 1 5: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Ljdk/management/jfr/DiskRepository;
4 5 1 ioe Ljava/io/IOException;
Exception table:
from to target type
1 2 3 Class java.io.IOException
static int[] $SWITCH_TABLE$jdk$management$jfr$DiskRepository$State();
descriptor: ()[I
flags: (0x1008) ACC_STATIC, ACC_SYNTHETIC
Code:
stack=3, locals=1, args_size=0
0: getstatic jdk.management.jfr.DiskRepository.$SWITCH_TABLE$jdk$management$jfr$DiskRepository$State:[I
dup
ifnull 1
areturn
StackMap locals:
StackMap stack: int[]
1: pop
invokestatic jdk.management.jfr.DiskRepository$State.values:()[Ljdk/management/jfr/DiskRepository$State;
arraylength
newarray 10
astore 0
2: aload 0
getstatic jdk.management.jfr.DiskRepository$State.CHECKPOINT_EVENT_DELTA:Ljdk/management/jfr/DiskRepository$State;
invokevirtual jdk.management.jfr.DiskRepository$State.ordinal:()I
bipush 6
iastore
3: goto 5
StackMap locals: int[]
StackMap stack: java.lang.NoSuchFieldError
4: pop
StackMap locals:
StackMap stack:
5: aload 0
getstatic jdk.management.jfr.DiskRepository$State.CHECKPOINT_EVENT_DURATION:Ljdk/management/jfr/DiskRepository$State;
invokevirtual jdk.management.jfr.DiskRepository$State.ordinal:()I
iconst_5
iastore
6: goto 8
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
7: pop
StackMap locals:
StackMap stack:
8: aload 0
getstatic jdk.management.jfr.DiskRepository$State.CHECKPOINT_EVENT_FLUSH_TYPE:Ljdk/management/jfr/DiskRepository$State;
invokevirtual jdk.management.jfr.DiskRepository$State.ordinal:()I
bipush 7
iastore
9: goto 11
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
10: pop
StackMap locals:
StackMap stack:
11: aload 0
getstatic jdk.management.jfr.DiskRepository$State.CHECKPOINT_EVENT_HEADER_BYTE_ARRAY_CONTENT:Ljdk/management/jfr/DiskRepository$State;
invokevirtual jdk.management.jfr.DiskRepository$State.ordinal:()I
bipush 13
iastore
12: goto 14
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
13: pop
StackMap locals:
StackMap stack:
14: aload 0
getstatic jdk.management.jfr.DiskRepository$State.CHECKPOINT_EVENT_HEADER_BYTE_ARRAY_LENGTH:Ljdk/management/jfr/DiskRepository$State;
invokevirtual jdk.management.jfr.DiskRepository$State.ordinal:()I
bipush 12
iastore
15: goto 17
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
16: pop
StackMap locals:
StackMap stack:
17: aload 0
getstatic jdk.management.jfr.DiskRepository$State.CHECKPOINT_EVENT_HEADER_ITEM_COUNT:Ljdk/management/jfr/DiskRepository$State;
invokevirtual jdk.management.jfr.DiskRepository$State.ordinal:()I
bipush 10
iastore
18: goto 20
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
19: pop
StackMap locals:
StackMap stack:
20: aload 0
getstatic jdk.management.jfr.DiskRepository$State.CHECKPOINT_EVENT_HEADER_KEY:Ljdk/management/jfr/DiskRepository$State;
invokevirtual jdk.management.jfr.DiskRepository$State.ordinal:()I
bipush 11
iastore
21: goto 23
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
22: pop
StackMap locals:
StackMap stack:
23: aload 0
getstatic jdk.management.jfr.DiskRepository$State.CHECKPOINT_EVENT_HEADER_TYPE:Ljdk/management/jfr/DiskRepository$State;
invokevirtual jdk.management.jfr.DiskRepository$State.ordinal:()I
bipush 9
iastore
24: goto 26
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
25: pop
StackMap locals:
StackMap stack:
26: aload 0
getstatic jdk.management.jfr.DiskRepository$State.CHECKPOINT_EVENT_POOL_COUNT:Ljdk/management/jfr/DiskRepository$State;
invokevirtual jdk.management.jfr.DiskRepository$State.ordinal:()I
bipush 8
iastore
27: goto 29
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
28: pop
StackMap locals:
StackMap stack:
29: aload 0
getstatic jdk.management.jfr.DiskRepository$State.CHECKPOINT_EVENT_TIMESTAMP:Ljdk/management/jfr/DiskRepository$State;
invokevirtual jdk.management.jfr.DiskRepository$State.ordinal:()I
iconst_4
iastore
30: goto 32
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
31: pop
StackMap locals:
StackMap stack:
32: aload 0
getstatic jdk.management.jfr.DiskRepository$State.EVENT_PAYLOAD:Ljdk/management/jfr/DiskRepository$State;
invokevirtual jdk.management.jfr.DiskRepository$State.ordinal:()I
bipush 14
iastore
33: goto 35
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
34: pop
StackMap locals:
StackMap stack:
35: aload 0
getstatic jdk.management.jfr.DiskRepository$State.EVENT_SIZE:Ljdk/management/jfr/DiskRepository$State;
invokevirtual jdk.management.jfr.DiskRepository$State.ordinal:()I
iconst_2
iastore
36: goto 38
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
37: pop
StackMap locals:
StackMap stack:
38: aload 0
getstatic jdk.management.jfr.DiskRepository$State.EVENT_TYPE:Ljdk/management/jfr/DiskRepository$State;
invokevirtual jdk.management.jfr.DiskRepository$State.ordinal:()I
iconst_3
iastore
39: goto 41
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
40: pop
StackMap locals:
StackMap stack:
41: aload 0
getstatic jdk.management.jfr.DiskRepository$State.HEADER:Ljdk/management/jfr/DiskRepository$State;
invokevirtual jdk.management.jfr.DiskRepository$State.ordinal:()I
iconst_1
iastore
42: goto 44
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
43: pop
StackMap locals:
StackMap stack:
44: aload 0
dup
putstatic jdk.management.jfr.DiskRepository.$SWITCH_TABLE$jdk$management$jfr$DiskRepository$State:[I
areturn
LocalVariableTable:
Start End Slot Name Signature
Exception table:
from to target type
2 3 4 Class java.lang.NoSuchFieldError
5 6 7 Class java.lang.NoSuchFieldError
8 9 10 Class java.lang.NoSuchFieldError
11 12 13 Class java.lang.NoSuchFieldError
14 15 16 Class java.lang.NoSuchFieldError
17 18 19 Class java.lang.NoSuchFieldError
20 21 22 Class java.lang.NoSuchFieldError
23 24 25 Class java.lang.NoSuchFieldError
26 27 28 Class java.lang.NoSuchFieldError
29 30 31 Class java.lang.NoSuchFieldError
32 33 34 Class java.lang.NoSuchFieldError
35 36 37 Class java.lang.NoSuchFieldError
38 39 40 Class java.lang.NoSuchFieldError
41 42 43 Class java.lang.NoSuchFieldError
}
SourceFile: "DiskRepository.java"
NestMembers:
jdk.management.jfr.DiskRepository$DiskChunk jdk.management.jfr.DiskRepository$State
InnerClasses:
final DiskChunk = jdk.management.jfr.DiskRepository$DiskChunk of jdk.management.jfr.DiskRepository
final State = jdk.management.jfr.DiskRepository$State of jdk.management.jfr.DiskRepository