final class jdk.management.jfr.DownLoadThread extends java.lang.Thread
minor version: 0
major version: 59
flags: flags: (0x0030) ACC_FINAL, ACC_SUPER
this_class: jdk.management.jfr.DownLoadThread
super_class: java.lang.Thread
{
private final jdk.management.jfr.RemoteRecordingStream stream;
descriptor: Ljdk/management/jfr/RemoteRecordingStream;
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.time.Instant endTime;
descriptor: Ljava/time/Instant;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final jdk.management.jfr.DiskRepository diskRepository;
descriptor: Ljdk/management/jfr/DiskRepository;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
void <init>(jdk.management.jfr.RemoteRecordingStream, java.lang.String);
descriptor: (Ljdk/management/jfr/RemoteRecordingStream;Ljava/lang/String;)V
flags: (0x0000)
Code:
stack=2, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 2
invokespecial java.lang.Thread.<init>:(Ljava/lang/String;)V
1: aload 0
aload 1
putfield jdk.management.jfr.DownLoadThread.stream:Ljdk/management/jfr/RemoteRecordingStream;
2: aload 0
aload 1
getfield jdk.management.jfr.RemoteRecordingStream.startTime:Ljava/time/Instant;
putfield jdk.management.jfr.DownLoadThread.startTime:Ljava/time/Instant;
3: aload 0
aload 1
getfield jdk.management.jfr.RemoteRecordingStream.endTime:Ljava/time/Instant;
putfield jdk.management.jfr.DownLoadThread.endTime:Ljava/time/Instant;
4: aload 0
aload 1
getfield jdk.management.jfr.RemoteRecordingStream.repository:Ljdk/management/jfr/DiskRepository;
putfield jdk.management.jfr.DownLoadThread.diskRepository:Ljdk/management/jfr/DiskRepository;
5: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Ljdk/management/jfr/DownLoadThread;
0 6 1 stream Ljdk/management/jfr/RemoteRecordingStream;
0 6 2 name Ljava/lang/String;
MethodParameters:
Name Flags
stream
name
public void run();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=6, args_size=1
start local 0 0: new java.util.HashMap
dup
invokespecial java.util.HashMap.<init>:()V
astore 1
start local 1 1: aload 0
getfield jdk.management.jfr.DownLoadThread.startTime:Ljava/time/Instant;
ifnull 3
2: aload 1
ldc "startTime"
aload 0
getfield jdk.management.jfr.DownLoadThread.startTime:Ljava/time/Instant;
invokevirtual java.time.Instant.toString:()Ljava/lang/String;
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
3: StackMap locals: java.util.Map
StackMap stack:
aload 0
getfield jdk.management.jfr.DownLoadThread.endTime:Ljava/time/Instant;
ifnull 5
4: aload 1
ldc "endTime"
aload 0
getfield jdk.management.jfr.DownLoadThread.endTime:Ljava/time/Instant;
invokevirtual java.time.Instant.toString:()Ljava/lang/String;
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
5: StackMap locals:
StackMap stack:
aload 1
ldc "streamVersion"
ldc "1.0"
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
6: aload 0
getfield jdk.management.jfr.DownLoadThread.stream:Ljdk/management/jfr/RemoteRecordingStream;
getfield jdk.management.jfr.RemoteRecordingStream.mbean:Ljdk/management/jfr/FlightRecorderMXBean;
aload 0
getfield jdk.management.jfr.DownLoadThread.stream:Ljdk/management/jfr/RemoteRecordingStream;
getfield jdk.management.jfr.RemoteRecordingStream.recordingId:J
aload 1
invokeinterface jdk.management.jfr.FlightRecorderMXBean.openStream:(JLjava/util/Map;)J
lstore 2
start local 2 7: goto 16
8: StackMap locals: long
StackMap stack:
aload 0
getfield jdk.management.jfr.DownLoadThread.stream:Ljdk/management/jfr/RemoteRecordingStream;
getfield jdk.management.jfr.RemoteRecordingStream.mbean:Ljdk/management/jfr/FlightRecorderMXBean;
lload 2
invokeinterface jdk.management.jfr.FlightRecorderMXBean.readStream:(J)[B
astore 4
start local 4 9: aload 4
ifnonnull 12
10: aload 0
getfield jdk.management.jfr.DownLoadThread.diskRepository:Ljdk/management/jfr/DiskRepository;
invokevirtual jdk.management.jfr.DiskRepository.complete:()V
11: return
12: StackMap locals: byte[]
StackMap stack:
aload 4
arraylength
ifeq 15
13: aload 0
getfield jdk.management.jfr.DownLoadThread.diskRepository:Ljdk/management/jfr/DiskRepository;
aload 4
invokevirtual jdk.management.jfr.DiskRepository.write:([B)V
14: goto 16
15: StackMap locals:
StackMap stack:
aload 0
invokevirtual jdk.management.jfr.DownLoadThread.takeNap:()V
end local 4 16: StackMap locals:
StackMap stack:
aload 0
getfield jdk.management.jfr.DownLoadThread.stream:Ljdk/management/jfr/RemoteRecordingStream;
invokevirtual jdk.management.jfr.RemoteRecordingStream.isClosed:()Z
ifeq 8
end local 2 end local 1 17: goto 24
StackMap locals: jdk.management.jfr.DownLoadThread
StackMap stack: java.io.IOException
18: astore 1
start local 1 19: aload 1
invokevirtual java.io.IOException.getMessage:()Ljava/lang/String;
invokestatic jdk.jfr.internal.management.ManagementSupport.logDebug:(Ljava/lang/String;)V
end local 1 20: aload 0
getfield jdk.management.jfr.DownLoadThread.diskRepository:Ljdk/management/jfr/DiskRepository;
invokevirtual jdk.management.jfr.DiskRepository.complete:()V
goto 25
21: StackMap locals:
StackMap stack: java.lang.Throwable
astore 5
22: aload 0
getfield jdk.management.jfr.DownLoadThread.diskRepository:Ljdk/management/jfr/DiskRepository;
invokevirtual jdk.management.jfr.DiskRepository.complete:()V
23: aload 5
athrow
24: StackMap locals:
StackMap stack:
aload 0
getfield jdk.management.jfr.DownLoadThread.diskRepository:Ljdk/management/jfr/DiskRepository;
invokevirtual jdk.management.jfr.DiskRepository.complete:()V
25: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 26 0 this Ljdk/management/jfr/DownLoadThread;
1 17 1 options Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;
7 17 2 streamId J
9 16 4 bytes [B
19 20 1 ioe Ljava/io/IOException;
Exception table:
from to target type
0 10 18 Class java.io.IOException
12 17 18 Class java.io.IOException
0 10 21 any
12 20 21 any
private void takeNap();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=1, args_size=1
start local 0 0: ldc 1000
invokestatic java.lang.Thread.sleep:(J)V
1: goto 3
StackMap locals:
StackMap stack: java.lang.InterruptedException
2: pop
3: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Ljdk/management/jfr/DownLoadThread;
Exception table:
from to target type
0 1 2 Class java.lang.InterruptedException
}
SourceFile: "DownLoadThread.java"