public final class jdk.jfr.internal.PlatformRecording implements java.lang.AutoCloseable
minor version: 0
major version: 59
flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
this_class: jdk.jfr.internal.PlatformRecording
super_class: java.lang.Object
{
private final jdk.jfr.internal.PlatformRecorder recorder;
descriptor: Ljdk/jfr/internal/PlatformRecorder;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final long id;
descriptor: J
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private java.util.Map<java.lang.String, java.lang.String> settings;
descriptor: Ljava/util/Map;
flags: (0x0002) ACC_PRIVATE
Signature: Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;
private java.time.Duration duration;
descriptor: Ljava/time/Duration;
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 jdk.jfr.internal.WriteableUserPath destination;
descriptor: Ljdk/jfr/internal/WriteableUserPath;
flags: (0x0002) ACC_PRIVATE
private boolean toDisk;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private java.lang.String name;
descriptor: Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
private boolean dumpOnExit;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private jdk.jfr.internal.SecuritySupport$SafePath dumpOnExitDirectory;
descriptor: Ljdk/jfr/internal/SecuritySupport$SafePath;
flags: (0x0002) ACC_PRIVATE
private java.time.Instant stopTime;
descriptor: Ljava/time/Instant;
flags: (0x0002) ACC_PRIVATE
private java.time.Instant startTime;
descriptor: Ljava/time/Instant;
flags: (0x0002) ACC_PRIVATE
private jdk.jfr.RecordingState state;
descriptor: Ljdk/jfr/RecordingState;
flags: (0x0002) ACC_PRIVATE
private long size;
descriptor: J
flags: (0x0002) ACC_PRIVATE
private final java.util.LinkedList<jdk.jfr.internal.RepositoryChunk> chunks;
descriptor: Ljava/util/LinkedList;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/util/LinkedList<Ljdk/jfr/internal/RepositoryChunk;>;
private volatile jdk.jfr.Recording recording;
descriptor: Ljdk/jfr/Recording;
flags: (0x0042) ACC_PRIVATE, ACC_VOLATILE
private java.util.TimerTask stopTask;
descriptor: Ljava/util/TimerTask;
flags: (0x0002) ACC_PRIVATE
private java.util.TimerTask startTask;
descriptor: Ljava/util/TimerTask;
flags: (0x0002) ACC_PRIVATE
private java.security.AccessControlContext noDestinationDumpOnExitAccessControlContext;
descriptor: Ljava/security/AccessControlContext;
flags: (0x0002) ACC_PRIVATE
private boolean shuoldWriteActiveRecordingEvent;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
void <init>(jdk.jfr.internal.PlatformRecorder, long);
descriptor: (Ljdk/jfr/internal/PlatformRecorder;J)V
flags: (0x0000)
Code:
stack=4, locals=4, 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.LinkedHashMap
dup
invokespecial java.util.LinkedHashMap.<init>:()V
putfield jdk.jfr.internal.PlatformRecording.settings:Ljava/util/Map;
2: aload 0
iconst_1
putfield jdk.jfr.internal.PlatformRecording.toDisk:Z
3: aload 0
new jdk.jfr.internal.SecuritySupport$SafePath
dup
ldc "."
invokespecial jdk.jfr.internal.SecuritySupport$SafePath.<init>:(Ljava/lang/String;)V
putfield jdk.jfr.internal.PlatformRecording.dumpOnExitDirectory:Ljdk/jfr/internal/SecuritySupport$SafePath;
4: aload 0
getstatic jdk.jfr.RecordingState.NEW:Ljdk/jfr/RecordingState;
putfield jdk.jfr.internal.PlatformRecording.state:Ljdk/jfr/RecordingState;
5: aload 0
new java.util.LinkedList
dup
invokespecial java.util.LinkedList.<init>:()V
putfield jdk.jfr.internal.PlatformRecording.chunks:Ljava/util/LinkedList;
6: aload 0
iconst_1
putfield jdk.jfr.internal.PlatformRecording.shuoldWriteActiveRecordingEvent:Z
7: aload 0
invokestatic java.security.AccessController.getContext:()Ljava/security/AccessControlContext;
putfield jdk.jfr.internal.PlatformRecording.noDestinationDumpOnExitAccessControlContext:Ljava/security/AccessControlContext;
8: aload 0
lload 2
putfield jdk.jfr.internal.PlatformRecording.id:J
9: aload 0
aload 1
putfield jdk.jfr.internal.PlatformRecording.recorder:Ljdk/jfr/internal/PlatformRecorder;
10: aload 0
lload 2
invokestatic java.lang.String.valueOf:(J)Ljava/lang/String;
putfield jdk.jfr.internal.PlatformRecording.name:Ljava/lang/String;
11: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 this Ljdk/jfr/internal/PlatformRecording;
0 12 1 recorder Ljdk/jfr/internal/PlatformRecorder;
0 12 2 id J
MethodParameters:
Name Flags
recorder
id
public void start();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=4, args_size=1
start local 0 0: aload 0
getfield jdk.jfr.internal.PlatformRecording.recorder:Ljdk/jfr/internal/PlatformRecorder;
dup
astore 3
monitorenter
1: aload 0
invokevirtual jdk.jfr.internal.PlatformRecording.getState:()Ljdk/jfr/RecordingState;
astore 1
start local 1 2: aload 0
getfield jdk.jfr.internal.PlatformRecording.state:Ljdk/jfr/RecordingState;
getstatic jdk.jfr.RecordingState.RUNNING:Ljdk/jfr/RecordingState;
invokestatic jdk.jfr.internal.Utils.isBefore:(Ljdk/jfr/RecordingState;Ljdk/jfr/RecordingState;)Z
ifne 4
3: new java.lang.IllegalStateException
dup
ldc "Recording can only be started once."
invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
athrow
4: StackMap locals: jdk.jfr.internal.PlatformRecording jdk.jfr.RecordingState top jdk.jfr.internal.PlatformRecorder
StackMap stack:
aload 0
getfield jdk.jfr.internal.PlatformRecording.startTask:Ljava/util/TimerTask;
ifnull 8
5: aload 0
getfield jdk.jfr.internal.PlatformRecording.startTask:Ljava/util/TimerTask;
invokevirtual java.util.TimerTask.cancel:()Z
pop
6: aload 0
aconst_null
putfield jdk.jfr.internal.PlatformRecording.startTask:Ljava/util/TimerTask;
7: aload 0
aconst_null
putfield jdk.jfr.internal.PlatformRecording.startTime:Ljava/time/Instant;
8: StackMap locals:
StackMap stack:
aload 0
getfield jdk.jfr.internal.PlatformRecording.recorder:Ljdk/jfr/internal/PlatformRecorder;
aload 0
invokevirtual jdk.jfr.internal.PlatformRecorder.start:(Ljdk/jfr/internal/PlatformRecording;)V
9: getstatic jdk.jfr.internal.LogTag.JFR:Ljdk/jfr/internal/LogTag;
getstatic jdk.jfr.internal.LogLevel.INFO:Ljdk/jfr/internal/LogLevel;
aload 0
invokedynamic get(Ljdk/jfr/internal/PlatformRecording;)Ljava/util/function/Supplier;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
()Ljava/lang/Object;
jdk/jfr/internal/PlatformRecording.lambda$0()Ljava/lang/String; (7)
()Ljava/lang/String;
invokestatic jdk.jfr.internal.Logger.log:(Ljdk/jfr/internal/LogTag;Ljdk/jfr/internal/LogLevel;Ljava/util/function/Supplier;)V
10: aload 0
invokevirtual jdk.jfr.internal.PlatformRecording.getState:()Ljdk/jfr/RecordingState;
astore 2
start local 2 11: aload 3
monitorexit
12: goto 15
end local 2 end local 1 StackMap locals: jdk.jfr.internal.PlatformRecording top top jdk.jfr.internal.PlatformRecorder
StackMap stack: java.lang.Throwable
13: aload 3
monitorexit
14: athrow
start local 1 start local 2 15: StackMap locals: jdk.jfr.internal.PlatformRecording jdk.jfr.RecordingState jdk.jfr.RecordingState
StackMap stack:
aload 0
aload 1
aload 2
invokevirtual jdk.jfr.internal.PlatformRecording.notifyIfStateChanged:(Ljdk/jfr/RecordingState;Ljdk/jfr/RecordingState;)V
16: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 17 0 this Ljdk/jfr/internal/PlatformRecording;
2 13 1 oldState Ljdk/jfr/RecordingState;
15 17 1 oldState Ljdk/jfr/RecordingState;
11 13 2 newState Ljdk/jfr/RecordingState;
15 17 2 newState Ljdk/jfr/RecordingState;
Exception table:
from to target type
1 12 13 any
13 14 13 any
public boolean stop(java.lang.String);
descriptor: (Ljava/lang/String;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=6, args_size=2
start local 0 start local 1 0: aload 0
getfield jdk.jfr.internal.PlatformRecording.recorder:Ljdk/jfr/internal/PlatformRecorder;
dup
astore 4
monitorenter
1: aload 0
invokevirtual jdk.jfr.internal.PlatformRecording.getState:()Ljdk/jfr/RecordingState;
astore 2
start local 2 2: aload 0
getfield jdk.jfr.internal.PlatformRecording.stopTask:Ljava/util/TimerTask;
ifnull 5
3: aload 0
getfield jdk.jfr.internal.PlatformRecording.stopTask:Ljava/util/TimerTask;
invokevirtual java.util.TimerTask.cancel:()Z
pop
4: aload 0
aconst_null
putfield jdk.jfr.internal.PlatformRecording.stopTask:Ljava/util/TimerTask;
5: StackMap locals: jdk.jfr.internal.PlatformRecording java.lang.String jdk.jfr.RecordingState top jdk.jfr.internal.PlatformRecorder
StackMap stack:
aload 0
getfield jdk.jfr.internal.PlatformRecording.recorder:Ljdk/jfr/internal/PlatformRecorder;
aload 0
invokevirtual jdk.jfr.internal.PlatformRecorder.stop:(Ljdk/jfr/internal/PlatformRecording;)V
6: aload 1
ifnonnull 7
ldc ""
goto 8
StackMap locals:
StackMap stack:
7: new java.lang.StringBuilder
dup
ldc ". Reason \""
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "\"."
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
StackMap locals:
StackMap stack: java.lang.String
8: astore 5
start local 5 9: getstatic jdk.jfr.internal.LogTag.JFR:Ljdk/jfr/internal/LogTag;
getstatic jdk.jfr.internal.LogLevel.INFO:Ljdk/jfr/internal/LogLevel;
new java.lang.StringBuilder
dup
ldc "Stopped recording \""
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
invokevirtual jdk.jfr.internal.PlatformRecording.getName:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "\" ("
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
invokevirtual jdk.jfr.internal.PlatformRecording.getId:()J
invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
ldc ")"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 5
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
10: aload 0
invokestatic java.time.Instant.now:()Ljava/time/Instant;
putfield jdk.jfr.internal.PlatformRecording.stopTime:Ljava/time/Instant;
11: aload 0
invokevirtual jdk.jfr.internal.PlatformRecording.getState:()Ljdk/jfr/RecordingState;
astore 3
end local 5 start local 3 12: aload 4
monitorexit
13: goto 16
end local 3 end local 2 StackMap locals: jdk.jfr.internal.PlatformRecording java.lang.String top top jdk.jfr.internal.PlatformRecorder
StackMap stack: java.lang.Throwable
14: aload 4
monitorexit
15: athrow
start local 2 start local 3 16: StackMap locals: jdk.jfr.internal.PlatformRecording java.lang.String jdk.jfr.RecordingState jdk.jfr.RecordingState
StackMap stack:
aload 0
invokevirtual jdk.jfr.internal.PlatformRecording.getDestination:()Ljdk/jfr/internal/WriteableUserPath;
astore 4
start local 4 17: aload 4
ifnull 25
18: aload 0
aload 4
invokevirtual jdk.jfr.internal.PlatformRecording.dumpStopped:(Ljdk/jfr/internal/WriteableUserPath;)V
19: getstatic jdk.jfr.internal.LogTag.JFR:Ljdk/jfr/internal/LogTag;
getstatic jdk.jfr.internal.LogLevel.INFO:Ljdk/jfr/internal/LogLevel;
new java.lang.StringBuilder
dup
ldc "Wrote recording \""
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
invokevirtual jdk.jfr.internal.PlatformRecording.getName:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "\" ("
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
invokevirtual jdk.jfr.internal.PlatformRecording.getId:()J
invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
ldc ") to "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 4
invokevirtual jdk.jfr.internal.WriteableUserPath.getText:()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
20: aload 0
aload 3
aload 2
invokevirtual jdk.jfr.internal.PlatformRecording.notifyIfStateChanged:(Ljdk/jfr/RecordingState;Ljdk/jfr/RecordingState;)V
21: aload 0
invokevirtual jdk.jfr.internal.PlatformRecording.close:()V
22: goto 26
StackMap locals: jdk.jfr.internal.PlatformRecording java.lang.String jdk.jfr.RecordingState jdk.jfr.RecordingState jdk.jfr.internal.WriteableUserPath
StackMap stack: java.io.IOException
23: pop
24: goto 26
25: StackMap locals:
StackMap stack:
aload 0
aload 3
aload 2
invokevirtual jdk.jfr.internal.PlatformRecording.notifyIfStateChanged:(Ljdk/jfr/RecordingState;Ljdk/jfr/RecordingState;)V
26: StackMap locals:
StackMap stack:
iconst_1
ireturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 27 0 this Ljdk/jfr/internal/PlatformRecording;
0 27 1 reason Ljava/lang/String;
2 14 2 oldState Ljdk/jfr/RecordingState;
16 27 2 oldState Ljdk/jfr/RecordingState;
12 14 3 newState Ljdk/jfr/RecordingState;
16 27 3 newState Ljdk/jfr/RecordingState;
9 12 5 endText Ljava/lang/String;
17 27 4 dest Ljdk/jfr/internal/WriteableUserPath;
Exception table:
from to target type
1 13 14 any
14 15 14 any
18 22 23 Class java.io.IOException
MethodParameters:
Name Flags
reason
public void scheduleStart(java.time.Duration);
descriptor: (Ljava/time/Duration;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=4, args_size=2
start local 0 start local 1 0: aload 0
getfield jdk.jfr.internal.PlatformRecording.recorder:Ljdk/jfr/internal/PlatformRecorder;
dup
astore 2
monitorenter
1: aload 0
invokevirtual jdk.jfr.internal.PlatformRecording.ensureOkForSchedule:()V
2: aload 0
invokestatic java.time.Instant.now:()Ljava/time/Instant;
aload 1
invokevirtual java.time.Instant.plus:(Ljava/time/temporal/TemporalAmount;)Ljava/time/Instant;
putfield jdk.jfr.internal.PlatformRecording.startTime:Ljava/time/Instant;
3: invokestatic java.time.LocalDateTime.now:()Ljava/time/LocalDateTime;
aload 1
invokevirtual java.time.LocalDateTime.plus:(Ljava/time/temporal/TemporalAmount;)Ljava/time/LocalDateTime;
astore 3
start local 3 4: aload 0
getstatic jdk.jfr.RecordingState.DELAYED:Ljdk/jfr/RecordingState;
invokevirtual jdk.jfr.internal.PlatformRecording.setState:(Ljdk/jfr/RecordingState;)V
5: aload 0
aload 0
invokevirtual jdk.jfr.internal.PlatformRecording.createStartTask:()Ljava/util/TimerTask;
putfield jdk.jfr.internal.PlatformRecording.startTask:Ljava/util/TimerTask;
6: aload 0
getfield jdk.jfr.internal.PlatformRecording.recorder:Ljdk/jfr/internal/PlatformRecorder;
invokevirtual jdk.jfr.internal.PlatformRecorder.getTimer:()Ljava/util/Timer;
aload 0
getfield jdk.jfr.internal.PlatformRecording.startTask:Ljava/util/TimerTask;
aload 1
invokevirtual java.time.Duration.toMillis:()J
invokevirtual java.util.Timer.schedule:(Ljava/util/TimerTask;J)V
7: getstatic jdk.jfr.internal.LogTag.JFR:Ljdk/jfr/internal/LogTag;
getstatic jdk.jfr.internal.LogLevel.INFO:Ljdk/jfr/internal/LogLevel;
new java.lang.StringBuilder
dup
ldc "Scheduled recording \""
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
invokevirtual jdk.jfr.internal.PlatformRecording.getName:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "\" ("
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
invokevirtual jdk.jfr.internal.PlatformRecording.getId:()J
invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
ldc ") to start at "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 3
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
end local 3 8: aload 2
monitorexit
9: goto 12
StackMap locals: jdk.jfr.internal.PlatformRecording java.time.Duration jdk.jfr.internal.PlatformRecorder
StackMap stack: java.lang.Throwable
10: aload 2
monitorexit
11: athrow
12: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 13 0 this Ljdk/jfr/internal/PlatformRecording;
0 13 1 delay Ljava/time/Duration;
4 8 3 now Ljava/time/LocalDateTime;
Exception table:
from to target type
1 9 10 any
10 11 10 any
MethodParameters:
Name Flags
delay
private void ensureOkForSchedule();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual jdk.jfr.internal.PlatformRecording.getState:()Ljdk/jfr/RecordingState;
getstatic jdk.jfr.RecordingState.NEW:Ljdk/jfr/RecordingState;
if_acmpeq 2
1: new java.lang.IllegalStateException
dup
ldc "Only a new recoridng can be scheduled for start"
invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
athrow
2: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Ljdk/jfr/internal/PlatformRecording;
private java.util.TimerTask createStartTask();
descriptor: ()Ljava/util/TimerTask;
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=1, args_size=1
start local 0 0: new jdk.jfr.internal.PlatformRecording$1
dup
aload 0
invokespecial jdk.jfr.internal.PlatformRecording$1.<init>:(Ljdk/jfr/internal/PlatformRecording;)V
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljdk/jfr/internal/PlatformRecording;
void scheduleStart(java.time.Instant);
descriptor: (Ljava/time/Instant;)V
flags: (0x0000)
Code:
stack=4, locals=3, args_size=2
start local 0 start local 1 0: aload 0
getfield jdk.jfr.internal.PlatformRecording.recorder:Ljdk/jfr/internal/PlatformRecorder;
dup
astore 2
monitorenter
1: aload 0
invokevirtual jdk.jfr.internal.PlatformRecording.ensureOkForSchedule:()V
2: aload 0
aload 1
putfield jdk.jfr.internal.PlatformRecording.startTime:Ljava/time/Instant;
3: aload 0
getstatic jdk.jfr.RecordingState.DELAYED:Ljdk/jfr/RecordingState;
invokevirtual jdk.jfr.internal.PlatformRecording.setState:(Ljdk/jfr/RecordingState;)V
4: aload 0
aload 0
invokevirtual jdk.jfr.internal.PlatformRecording.createStartTask:()Ljava/util/TimerTask;
putfield jdk.jfr.internal.PlatformRecording.startTask:Ljava/util/TimerTask;
5: aload 0
getfield jdk.jfr.internal.PlatformRecording.recorder:Ljdk/jfr/internal/PlatformRecorder;
invokevirtual jdk.jfr.internal.PlatformRecorder.getTimer:()Ljava/util/Timer;
aload 0
getfield jdk.jfr.internal.PlatformRecording.startTask:Ljava/util/TimerTask;
aload 1
invokevirtual java.time.Instant.toEpochMilli:()J
invokevirtual java.util.Timer.schedule:(Ljava/util/TimerTask;J)V
6: aload 2
monitorexit
7: goto 10
StackMap locals: jdk.jfr.internal.PlatformRecording java.time.Instant jdk.jfr.internal.PlatformRecorder
StackMap stack: java.lang.Throwable
8: aload 2
monitorexit
9: athrow
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/PlatformRecording;
0 11 1 startTime Ljava/time/Instant;
Exception table:
from to target type
1 7 8 any
8 9 8 any
MethodParameters:
Name Flags
startTime
public java.util.Map<java.lang.String, java.lang.String> getSettings();
descriptor: ()Ljava/util/Map;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=1
start local 0 0: aload 0
getfield jdk.jfr.internal.PlatformRecording.recorder:Ljdk/jfr/internal/PlatformRecorder;
dup
astore 1
monitorenter
1: aload 0
getfield jdk.jfr.internal.PlatformRecording.settings:Ljava/util/Map;
aload 1
monitorexit
2: areturn
3: StackMap locals: jdk.jfr.internal.PlatformRecording jdk.jfr.internal.PlatformRecorder
StackMap stack: java.lang.Throwable
aload 1
monitorexit
4: athrow
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Ljdk/jfr/internal/PlatformRecording;
Exception table:
from to target type
1 2 3 any
3 4 3 any
Signature: ()Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;
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.PlatformRecording.size:J
lreturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljdk/jfr/internal/PlatformRecording;
public java.time.Instant getStopTime();
descriptor: ()Ljava/time/Instant;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=1
start local 0 0: aload 0
getfield jdk.jfr.internal.PlatformRecording.recorder:Ljdk/jfr/internal/PlatformRecorder;
dup
astore 1
monitorenter
1: aload 0
getfield jdk.jfr.internal.PlatformRecording.stopTime:Ljava/time/Instant;
aload 1
monitorexit
2: areturn
3: StackMap locals: jdk.jfr.internal.PlatformRecording jdk.jfr.internal.PlatformRecorder
StackMap stack: java.lang.Throwable
aload 1
monitorexit
4: athrow
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Ljdk/jfr/internal/PlatformRecording;
Exception table:
from to target type
1 2 3 any
3 4 3 any
public java.time.Instant getStartTime();
descriptor: ()Ljava/time/Instant;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=1
start local 0 0: aload 0
getfield jdk.jfr.internal.PlatformRecording.recorder:Ljdk/jfr/internal/PlatformRecorder;
dup
astore 1
monitorenter
1: aload 0
getfield jdk.jfr.internal.PlatformRecording.startTime:Ljava/time/Instant;
aload 1
monitorexit
2: areturn
3: StackMap locals: jdk.jfr.internal.PlatformRecording jdk.jfr.internal.PlatformRecorder
StackMap stack: java.lang.Throwable
aload 1
monitorexit
4: athrow
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Ljdk/jfr/internal/PlatformRecording;
Exception table:
from to target type
1 2 3 any
3 4 3 any
public java.lang.Long getMaxSize();
descriptor: ()Ljava/lang/Long;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=1
start local 0 0: aload 0
getfield jdk.jfr.internal.PlatformRecording.recorder:Ljdk/jfr/internal/PlatformRecorder;
dup
astore 1
monitorenter
1: aload 0
getfield jdk.jfr.internal.PlatformRecording.maxSize:J
invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
aload 1
monitorexit
2: areturn
3: StackMap locals: jdk.jfr.internal.PlatformRecording jdk.jfr.internal.PlatformRecorder
StackMap stack: java.lang.Throwable
aload 1
monitorexit
4: athrow
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Ljdk/jfr/internal/PlatformRecording;
Exception table:
from to target type
1 2 3 any
3 4 3 any
public java.time.Duration getMaxAge();
descriptor: ()Ljava/time/Duration;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=1
start local 0 0: aload 0
getfield jdk.jfr.internal.PlatformRecording.recorder:Ljdk/jfr/internal/PlatformRecorder;
dup
astore 1
monitorenter
1: aload 0
getfield jdk.jfr.internal.PlatformRecording.maxAge:Ljava/time/Duration;
aload 1
monitorexit
2: areturn
3: StackMap locals: jdk.jfr.internal.PlatformRecording jdk.jfr.internal.PlatformRecorder
StackMap stack: java.lang.Throwable
aload 1
monitorexit
4: athrow
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Ljdk/jfr/internal/PlatformRecording;
Exception table:
from to target type
1 2 3 any
3 4 3 any
public java.lang.String getName();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=1
start local 0 0: aload 0
getfield jdk.jfr.internal.PlatformRecording.recorder:Ljdk/jfr/internal/PlatformRecorder;
dup
astore 1
monitorenter
1: aload 0
getfield jdk.jfr.internal.PlatformRecording.name:Ljava/lang/String;
aload 1
monitorexit
2: areturn
3: StackMap locals: jdk.jfr.internal.PlatformRecording jdk.jfr.internal.PlatformRecorder
StackMap stack: java.lang.Throwable
aload 1
monitorexit
4: athrow
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Ljdk/jfr/internal/PlatformRecording;
Exception table:
from to target type
1 2 3 any
3 4 3 any
public jdk.jfr.RecordingState getState();
descriptor: ()Ljdk/jfr/RecordingState;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=1
start local 0 0: aload 0
getfield jdk.jfr.internal.PlatformRecording.recorder:Ljdk/jfr/internal/PlatformRecorder;
dup
astore 1
monitorenter
1: aload 0
getfield jdk.jfr.internal.PlatformRecording.state:Ljdk/jfr/RecordingState;
aload 1
monitorexit
2: areturn
3: StackMap locals: jdk.jfr.internal.PlatformRecording jdk.jfr.internal.PlatformRecorder
StackMap stack: java.lang.Throwable
aload 1
monitorexit
4: athrow
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Ljdk/jfr/internal/PlatformRecording;
Exception table:
from to target type
1 2 3 any
3 4 3 any
public void close();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=6, args_size=1
start local 0 0: aload 0
getfield jdk.jfr.internal.PlatformRecording.recorder:Ljdk/jfr/internal/PlatformRecorder;
dup
astore 3
monitorenter
1: aload 0
invokevirtual jdk.jfr.internal.PlatformRecording.getState:()Ljdk/jfr/RecordingState;
astore 1
start local 1 2: getstatic jdk.jfr.RecordingState.CLOSED:Ljdk/jfr/RecordingState;
aload 0
invokevirtual jdk.jfr.internal.PlatformRecording.getState:()Ljdk/jfr/RecordingState;
if_acmpeq 14
3: aload 0
getfield jdk.jfr.internal.PlatformRecording.startTask:Ljava/util/TimerTask;
ifnull 6
4: aload 0
getfield jdk.jfr.internal.PlatformRecording.startTask:Ljava/util/TimerTask;
invokevirtual java.util.TimerTask.cancel:()Z
pop
5: aload 0
aconst_null
putfield jdk.jfr.internal.PlatformRecording.startTask:Ljava/util/TimerTask;
6: StackMap locals: jdk.jfr.internal.PlatformRecording jdk.jfr.RecordingState top jdk.jfr.internal.PlatformRecorder
StackMap stack:
aload 0
getfield jdk.jfr.internal.PlatformRecording.recorder:Ljdk/jfr/internal/PlatformRecorder;
aload 0
invokevirtual jdk.jfr.internal.PlatformRecorder.finish:(Ljdk/jfr/internal/PlatformRecording;)V
7: aload 0
getfield jdk.jfr.internal.PlatformRecording.chunks:Ljava/util/LinkedList;
invokevirtual java.util.LinkedList.iterator:()Ljava/util/Iterator;
astore 5
goto 10
StackMap locals: jdk.jfr.internal.PlatformRecording jdk.jfr.RecordingState top jdk.jfr.internal.PlatformRecorder top java.util.Iterator
StackMap stack:
8: aload 5
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast jdk.jfr.internal.RepositoryChunk
astore 4
start local 4 9: aload 0
aload 4
invokevirtual jdk.jfr.internal.PlatformRecording.removed:(Ljdk/jfr/internal/RepositoryChunk;)V
end local 4 10: StackMap locals:
StackMap stack:
aload 5
invokeinterface java.util.Iterator.hasNext:()Z
ifne 8
11: aload 0
getfield jdk.jfr.internal.PlatformRecording.chunks:Ljava/util/LinkedList;
invokevirtual java.util.LinkedList.clear:()V
12: aload 0
getstatic jdk.jfr.RecordingState.CLOSED:Ljdk/jfr/RecordingState;
invokevirtual jdk.jfr.internal.PlatformRecording.setState:(Ljdk/jfr/RecordingState;)V
13: getstatic jdk.jfr.internal.LogTag.JFR:Ljdk/jfr/internal/LogTag;
getstatic jdk.jfr.internal.LogLevel.INFO:Ljdk/jfr/internal/LogLevel;
new java.lang.StringBuilder
dup
ldc "Closed recording \""
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
invokevirtual jdk.jfr.internal.PlatformRecording.getName:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "\" ("
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
invokevirtual jdk.jfr.internal.PlatformRecording.getId:()J
invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
ldc ")"
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
14: StackMap locals: jdk.jfr.internal.PlatformRecording jdk.jfr.RecordingState top jdk.jfr.internal.PlatformRecorder
StackMap stack:
aload 0
invokevirtual jdk.jfr.internal.PlatformRecording.getState:()Ljdk/jfr/RecordingState;
astore 2
start local 2 15: aload 3
monitorexit
16: goto 19
end local 2 end local 1 StackMap locals: jdk.jfr.internal.PlatformRecording top top jdk.jfr.internal.PlatformRecorder
StackMap stack: java.lang.Throwable
17: aload 3
monitorexit
18: athrow
start local 1 start local 2 19: StackMap locals: jdk.jfr.internal.PlatformRecording jdk.jfr.RecordingState jdk.jfr.RecordingState
StackMap stack:
aload 0
aload 2
aload 1
invokevirtual jdk.jfr.internal.PlatformRecording.notifyIfStateChanged:(Ljdk/jfr/RecordingState;Ljdk/jfr/RecordingState;)V
20: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 21 0 this Ljdk/jfr/internal/PlatformRecording;
2 17 1 oldState Ljdk/jfr/RecordingState;
19 21 1 oldState Ljdk/jfr/RecordingState;
15 17 2 newState Ljdk/jfr/RecordingState;
19 21 2 newState Ljdk/jfr/RecordingState;
9 10 4 c Ljdk/jfr/internal/RepositoryChunk;
Exception table:
from to target type
1 16 17 any
17 18 17 any
public jdk.jfr.internal.PlatformRecording newSnapshotClone(java.lang.String, java.lang.Boolean);
descriptor: (Ljava/lang/String;Ljava/lang/Boolean;)Ljdk/jfr/internal/PlatformRecording;
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=7, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield jdk.jfr.internal.PlatformRecording.recorder:Ljdk/jfr/internal/PlatformRecorder;
invokestatic java.lang.Thread.holdsLock:(Ljava/lang/Object;)Z
ifne 2
1: new java.lang.InternalError
dup
ldc "Caller must have recorder lock"
invokespecial java.lang.InternalError.<init>:(Ljava/lang/String;)V
athrow
2: StackMap locals:
StackMap stack:
aload 0
invokevirtual jdk.jfr.internal.PlatformRecording.getState:()Ljdk/jfr/RecordingState;
astore 3
start local 3 3: aload 3
getstatic jdk.jfr.RecordingState.CLOSED:Ljdk/jfr/RecordingState;
if_acmpne 5
4: new java.io.IOException
dup
new java.lang.StringBuilder
dup
ldc "Recording \""
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
getfield jdk.jfr.internal.PlatformRecording.name:Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "\" (id="
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
getfield jdk.jfr.internal.PlatformRecording.id:J
invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
ldc ") has been closed, no contents to write"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
athrow
5: StackMap locals: jdk.jfr.RecordingState
StackMap stack:
aload 3
getstatic jdk.jfr.RecordingState.DELAYED:Ljdk/jfr/RecordingState;
if_acmpeq 6
aload 3
getstatic jdk.jfr.RecordingState.NEW:Ljdk/jfr/RecordingState;
if_acmpne 7
6: StackMap locals:
StackMap stack:
new java.io.IOException
dup
new java.lang.StringBuilder
dup
ldc "Recording \""
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
getfield jdk.jfr.internal.PlatformRecording.name:Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "\" (id="
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
getfield jdk.jfr.internal.PlatformRecording.id:J
invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
ldc ") has not started, no contents to write"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
athrow
7: StackMap locals:
StackMap stack:
aload 3
getstatic jdk.jfr.RecordingState.STOPPED:Ljdk/jfr/RecordingState;
if_acmpne 14
8: aload 0
getfield jdk.jfr.internal.PlatformRecording.recorder:Ljdk/jfr/internal/PlatformRecorder;
invokevirtual jdk.jfr.internal.PlatformRecorder.newTemporaryRecording:()Ljdk/jfr/internal/PlatformRecording;
astore 4
start local 4 9: aload 0
getfield jdk.jfr.internal.PlatformRecording.chunks:Ljava/util/LinkedList;
invokevirtual java.util.LinkedList.iterator:()Ljava/util/Iterator;
astore 6
goto 12
StackMap locals: jdk.jfr.internal.PlatformRecording java.lang.String java.lang.Boolean jdk.jfr.RecordingState jdk.jfr.internal.PlatformRecording top java.util.Iterator
StackMap stack:
10: aload 6
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast jdk.jfr.internal.RepositoryChunk
astore 5
start local 5 11: aload 4
aload 5
invokevirtual jdk.jfr.internal.PlatformRecording.add:(Ljdk/jfr/internal/RepositoryChunk;)V
end local 5 12: StackMap locals:
StackMap stack:
aload 6
invokeinterface java.util.Iterator.hasNext:()Z
ifne 10
13: aload 4
areturn
end local 4 14: StackMap locals: jdk.jfr.internal.PlatformRecording java.lang.String java.lang.Boolean jdk.jfr.RecordingState
StackMap stack:
aload 0
getfield jdk.jfr.internal.PlatformRecording.recorder:Ljdk/jfr/internal/PlatformRecorder;
invokevirtual jdk.jfr.internal.PlatformRecorder.newTemporaryRecording:()Ljdk/jfr/internal/PlatformRecording;
astore 4
start local 4 15: aload 4
iconst_0
invokevirtual jdk.jfr.internal.PlatformRecording.setShouldWriteActiveRecordingEvent:(Z)V
16: aload 4
aload 0
invokevirtual jdk.jfr.internal.PlatformRecording.getName:()Ljava/lang/String;
invokevirtual jdk.jfr.internal.PlatformRecording.setName:(Ljava/lang/String;)V
17: aload 4
aload 0
getfield jdk.jfr.internal.PlatformRecording.destination:Ljdk/jfr/internal/WriteableUserPath;
invokevirtual jdk.jfr.internal.PlatformRecording.setDestination:(Ljdk/jfr/internal/WriteableUserPath;)V
18: aload 4
iconst_1
invokevirtual jdk.jfr.internal.PlatformRecording.setToDisk:(Z)V
19: aload 0
invokevirtual jdk.jfr.internal.PlatformRecording.isToDisk:()Z
ifne 22
20: aload 4
invokevirtual jdk.jfr.internal.PlatformRecording.start:()V
21: goto 28
22: StackMap locals: jdk.jfr.internal.PlatformRecording
StackMap stack:
aload 0
getfield jdk.jfr.internal.PlatformRecording.chunks:Ljava/util/LinkedList;
invokevirtual java.util.LinkedList.iterator:()Ljava/util/Iterator;
astore 6
goto 25
StackMap locals: jdk.jfr.internal.PlatformRecording java.lang.String java.lang.Boolean jdk.jfr.RecordingState jdk.jfr.internal.PlatformRecording top java.util.Iterator
StackMap stack:
23: aload 6
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast jdk.jfr.internal.RepositoryChunk
astore 5
start local 5 24: aload 4
aload 5
invokevirtual jdk.jfr.internal.PlatformRecording.add:(Ljdk/jfr/internal/RepositoryChunk;)V
end local 5 25: StackMap locals:
StackMap stack:
aload 6
invokeinterface java.util.Iterator.hasNext:()Z
ifne 23
26: aload 4
getstatic jdk.jfr.RecordingState.RUNNING:Ljdk/jfr/RecordingState;
invokevirtual jdk.jfr.internal.PlatformRecording.setState:(Ljdk/jfr/RecordingState;)V
27: aload 4
aload 0
invokevirtual jdk.jfr.internal.PlatformRecording.getStartTime:()Ljava/time/Instant;
invokevirtual jdk.jfr.internal.PlatformRecording.setStartTime:(Ljava/time/Instant;)V
28: StackMap locals: jdk.jfr.internal.PlatformRecording java.lang.String java.lang.Boolean jdk.jfr.RecordingState jdk.jfr.internal.PlatformRecording
StackMap stack:
aload 2
ifnonnull 32
29: aload 4
aload 0
invokevirtual jdk.jfr.internal.PlatformRecording.getSettings:()Ljava/util/Map;
invokevirtual jdk.jfr.internal.PlatformRecording.setSettings:(Ljava/util/Map;)V
30: aload 4
aload 1
invokevirtual jdk.jfr.internal.PlatformRecording.stop:(Ljava/lang/String;)Z
pop
31: goto 39
32: StackMap locals:
StackMap stack:
invokestatic jdk.jfr.internal.MetadataRepository.getInstance:()Ljdk/jfr/internal/MetadataRepository;
dup
astore 5
monitorenter
33: aload 4
aload 0
aload 2
invokestatic jdk.jfr.internal.OldObjectSample.createSettingsForSnapshot:(Ljdk/jfr/internal/PlatformRecording;Ljava/lang/Boolean;)Ljava/util/Map;
invokevirtual jdk.jfr.internal.PlatformRecording.setSettings:(Ljava/util/Map;)V
34: aload 4
aload 1
invokevirtual jdk.jfr.internal.PlatformRecording.stop:(Ljava/lang/String;)Z
pop
35: aload 5
monitorexit
36: goto 39
StackMap locals: jdk.jfr.internal.PlatformRecording java.lang.String java.lang.Boolean jdk.jfr.RecordingState jdk.jfr.internal.PlatformRecording jdk.jfr.internal.MetadataRepository
StackMap stack: java.lang.Throwable
37: aload 5
monitorexit
38: athrow
39: StackMap locals:
StackMap stack:
aload 4
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 40 0 this Ljdk/jfr/internal/PlatformRecording;
0 40 1 reason Ljava/lang/String;
0 40 2 pathToGcRoots Ljava/lang/Boolean;
3 40 3 state Ljdk/jfr/RecordingState;
9 14 4 clone Ljdk/jfr/internal/PlatformRecording;
11 12 5 r Ljdk/jfr/internal/RepositoryChunk;
15 40 4 clone Ljdk/jfr/internal/PlatformRecording;
24 25 5 c Ljdk/jfr/internal/RepositoryChunk;
Exception table:
from to target type
33 36 37 any
37 38 37 any
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
reason
pathToGcRoots
public boolean isToDisk();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=1
start local 0 0: aload 0
getfield jdk.jfr.internal.PlatformRecording.recorder:Ljdk/jfr/internal/PlatformRecorder;
dup
astore 1
monitorenter
1: aload 0
getfield jdk.jfr.internal.PlatformRecording.toDisk:Z
aload 1
monitorexit
2: ireturn
3: StackMap locals: jdk.jfr.internal.PlatformRecording jdk.jfr.internal.PlatformRecorder
StackMap stack: java.lang.Throwable
aload 1
monitorexit
4: athrow
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Ljdk/jfr/internal/PlatformRecording;
Exception table:
from to target type
1 2 3 any
3 4 3 any
public void setMaxSize(long);
descriptor: (J)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=4, args_size=2
start local 0 start local 1 0: aload 0
getfield jdk.jfr.internal.PlatformRecording.recorder:Ljdk/jfr/internal/PlatformRecorder;
dup
astore 3
monitorenter
1: aload 0
invokevirtual jdk.jfr.internal.PlatformRecording.getState:()Ljdk/jfr/RecordingState;
getstatic jdk.jfr.RecordingState.CLOSED:Ljdk/jfr/RecordingState;
if_acmpne 3
2: new java.lang.IllegalStateException
dup
ldc "Can't set max age when recording is closed"
invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
athrow
3: StackMap locals: jdk.jfr.internal.PlatformRecorder
StackMap stack:
aload 0
lload 1
putfield jdk.jfr.internal.PlatformRecording.maxSize:J
4: aload 0
invokevirtual jdk.jfr.internal.PlatformRecording.trimToSize:()V
5: aload 3
monitorexit
6: goto 9
StackMap locals:
StackMap stack: java.lang.Throwable
7: aload 3
monitorexit
8: athrow
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/PlatformRecording;
0 10 1 maxSize J
Exception table:
from to target type
1 6 7 any
7 8 7 any
MethodParameters:
Name Flags
maxSize
public void setDestination(jdk.jfr.internal.WriteableUserPath);
descriptor: (Ljdk/jfr/internal/WriteableUserPath;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=3, args_size=2
start local 0 start local 1 0: aload 0
getfield jdk.jfr.internal.PlatformRecording.recorder:Ljdk/jfr/internal/PlatformRecorder;
dup
astore 2
monitorenter
1: aload 0
invokevirtual jdk.jfr.internal.PlatformRecording.getState:()Ljdk/jfr/RecordingState;
iconst_2
anewarray jdk.jfr.RecordingState
dup
iconst_0
getstatic jdk.jfr.RecordingState.STOPPED:Ljdk/jfr/RecordingState;
aastore
dup
iconst_1
getstatic jdk.jfr.RecordingState.CLOSED:Ljdk/jfr/RecordingState;
aastore
invokestatic jdk.jfr.internal.Utils.isState:(Ljdk/jfr/RecordingState;[Ljdk/jfr/RecordingState;)Z
ifeq 3
2: new java.lang.IllegalStateException
dup
ldc "Destination can't be set on a recording that has been stopped/closed"
invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
athrow
3: StackMap locals: jdk.jfr.internal.PlatformRecorder
StackMap stack:
aload 0
aload 1
putfield jdk.jfr.internal.PlatformRecording.destination:Ljdk/jfr/internal/WriteableUserPath;
4: aload 2
monitorexit
5: goto 8
StackMap locals:
StackMap stack: java.lang.Throwable
6: aload 2
monitorexit
7: athrow
8: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Ljdk/jfr/internal/PlatformRecording;
0 9 1 userSuppliedPath Ljdk/jfr/internal/WriteableUserPath;
Exception table:
from to target type
1 5 6 any
6 7 6 any
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
userSuppliedPath
public jdk.jfr.internal.WriteableUserPath getDestination();
descriptor: ()Ljdk/jfr/internal/WriteableUserPath;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=1
start local 0 0: aload 0
getfield jdk.jfr.internal.PlatformRecording.recorder:Ljdk/jfr/internal/PlatformRecorder;
dup
astore 1
monitorenter
1: aload 0
getfield jdk.jfr.internal.PlatformRecording.destination:Ljdk/jfr/internal/WriteableUserPath;
aload 1
monitorexit
2: areturn
3: StackMap locals: jdk.jfr.internal.PlatformRecording jdk.jfr.internal.PlatformRecorder
StackMap stack: java.lang.Throwable
aload 1
monitorexit
4: athrow
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Ljdk/jfr/internal/PlatformRecording;
Exception table:
from to target type
1 2 3 any
3 4 3 any
void setState(jdk.jfr.RecordingState);
descriptor: (Ljdk/jfr/RecordingState;)V
flags: (0x0000)
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: aload 0
getfield jdk.jfr.internal.PlatformRecording.recorder:Ljdk/jfr/internal/PlatformRecorder;
dup
astore 2
monitorenter
1: aload 0
aload 1
putfield jdk.jfr.internal.PlatformRecording.state:Ljdk/jfr/RecordingState;
2: aload 2
monitorexit
3: goto 6
StackMap locals: jdk.jfr.internal.PlatformRecording jdk.jfr.RecordingState jdk.jfr.internal.PlatformRecorder
StackMap stack: java.lang.Throwable
4: aload 2
monitorexit
5: athrow
6: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Ljdk/jfr/internal/PlatformRecording;
0 7 1 state Ljdk/jfr/RecordingState;
Exception table:
from to target type
1 3 4 any
4 5 4 any
MethodParameters:
Name Flags
state
void setStartTime(java.time.Instant);
descriptor: (Ljava/time/Instant;)V
flags: (0x0000)
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: aload 0
getfield jdk.jfr.internal.PlatformRecording.recorder:Ljdk/jfr/internal/PlatformRecorder;
dup
astore 2
monitorenter
1: aload 0
aload 1
putfield jdk.jfr.internal.PlatformRecording.startTime:Ljava/time/Instant;
2: aload 2
monitorexit
3: goto 6
StackMap locals: jdk.jfr.internal.PlatformRecording java.time.Instant jdk.jfr.internal.PlatformRecorder
StackMap stack: java.lang.Throwable
4: aload 2
monitorexit
5: athrow
6: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Ljdk/jfr/internal/PlatformRecording;
0 7 1 startTime Ljava/time/Instant;
Exception table:
from to target type
1 3 4 any
4 5 4 any
MethodParameters:
Name Flags
startTime
void setStopTime(java.time.Instant);
descriptor: (Ljava/time/Instant;)V
flags: (0x0000)
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: aload 0
getfield jdk.jfr.internal.PlatformRecording.recorder:Ljdk/jfr/internal/PlatformRecorder;
dup
astore 2
monitorenter
1: aload 0
aload 1
putfield jdk.jfr.internal.PlatformRecording.stopTime:Ljava/time/Instant;
2: aload 2
monitorexit
3: goto 6
StackMap locals: jdk.jfr.internal.PlatformRecording java.time.Instant jdk.jfr.internal.PlatformRecorder
StackMap stack: java.lang.Throwable
4: aload 2
monitorexit
5: athrow
6: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Ljdk/jfr/internal/PlatformRecording;
0 7 1 timeStamp Ljava/time/Instant;
Exception table:
from to target type
1 3 4 any
4 5 4 any
MethodParameters:
Name Flags
timeStamp
public long getId();
descriptor: ()J
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=1
start local 0 0: aload 0
getfield jdk.jfr.internal.PlatformRecording.recorder:Ljdk/jfr/internal/PlatformRecorder;
dup
astore 1
monitorenter
1: aload 0
getfield jdk.jfr.internal.PlatformRecording.id:J
aload 1
monitorexit
2: lreturn
3: StackMap locals: jdk.jfr.internal.PlatformRecording jdk.jfr.internal.PlatformRecorder
StackMap stack: java.lang.Throwable
aload 1
monitorexit
4: athrow
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Ljdk/jfr/internal/PlatformRecording;
Exception table:
from to target type
1 2 3 any
3 4 3 any
public void setName(java.lang.String);
descriptor: (Ljava/lang/String;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: aload 0
getfield jdk.jfr.internal.PlatformRecording.recorder:Ljdk/jfr/internal/PlatformRecorder;
dup
astore 2
monitorenter
1: aload 0
invokevirtual jdk.jfr.internal.PlatformRecording.ensureNotClosed:()V
2: aload 0
aload 1
putfield jdk.jfr.internal.PlatformRecording.name:Ljava/lang/String;
3: aload 2
monitorexit
4: goto 7
StackMap locals: jdk.jfr.internal.PlatformRecording java.lang.String jdk.jfr.internal.PlatformRecorder
StackMap stack: java.lang.Throwable
5: aload 2
monitorexit
6: athrow
7: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Ljdk/jfr/internal/PlatformRecording;
0 8 1 name Ljava/lang/String;
Exception table:
from to target type
1 4 5 any
5 6 5 any
MethodParameters:
Name Flags
name
private void ensureNotClosed();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual jdk.jfr.internal.PlatformRecording.getState:()Ljdk/jfr/RecordingState;
getstatic jdk.jfr.RecordingState.CLOSED:Ljdk/jfr/RecordingState;
if_acmpne 2
1: new java.lang.IllegalStateException
dup
ldc "Can't change name on a closed recording"
invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
athrow
2: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Ljdk/jfr/internal/PlatformRecording;
public void setDumpOnExit(boolean);
descriptor: (Z)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: aload 0
getfield jdk.jfr.internal.PlatformRecording.recorder:Ljdk/jfr/internal/PlatformRecorder;
dup
astore 2
monitorenter
1: aload 0
iload 1
putfield jdk.jfr.internal.PlatformRecording.dumpOnExit:Z
2: aload 2
monitorexit
3: goto 6
StackMap locals: jdk.jfr.internal.PlatformRecording int jdk.jfr.internal.PlatformRecorder
StackMap stack: java.lang.Throwable
4: aload 2
monitorexit
5: athrow
6: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Ljdk/jfr/internal/PlatformRecording;
0 7 1 dumpOnExit Z
Exception table:
from to target type
1 3 4 any
4 5 4 any
MethodParameters:
Name Flags
dumpOnExit
public boolean getDumpOnExit();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=1
start local 0 0: aload 0
getfield jdk.jfr.internal.PlatformRecording.recorder:Ljdk/jfr/internal/PlatformRecorder;
dup
astore 1
monitorenter
1: aload 0
getfield jdk.jfr.internal.PlatformRecording.dumpOnExit:Z
aload 1
monitorexit
2: ireturn
3: StackMap locals: jdk.jfr.internal.PlatformRecording jdk.jfr.internal.PlatformRecorder
StackMap stack: java.lang.Throwable
aload 1
monitorexit
4: athrow
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Ljdk/jfr/internal/PlatformRecording;
Exception table:
from to target type
1 2 3 any
3 4 3 any
public void setToDisk(boolean);
descriptor: (Z)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=3, args_size=2
start local 0 start local 1 0: aload 0
getfield jdk.jfr.internal.PlatformRecording.recorder:Ljdk/jfr/internal/PlatformRecorder;
dup
astore 2
monitorenter
1: aload 0
invokevirtual jdk.jfr.internal.PlatformRecording.getState:()Ljdk/jfr/RecordingState;
iconst_2
anewarray jdk.jfr.RecordingState
dup
iconst_0
getstatic jdk.jfr.RecordingState.NEW:Ljdk/jfr/RecordingState;
aastore
dup
iconst_1
getstatic jdk.jfr.RecordingState.DELAYED:Ljdk/jfr/RecordingState;
aastore
invokestatic jdk.jfr.internal.Utils.isState:(Ljdk/jfr/RecordingState;[Ljdk/jfr/RecordingState;)Z
ifeq 4
2: aload 0
iload 1
putfield jdk.jfr.internal.PlatformRecording.toDisk:Z
3: goto 5
4: StackMap locals: jdk.jfr.internal.PlatformRecorder
StackMap stack:
new java.lang.IllegalStateException
dup
ldc "Recording option disk can't be changed after recording has started"
invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
athrow
5: StackMap locals:
StackMap stack:
aload 2
monitorexit
6: goto 9
StackMap locals:
StackMap stack: java.lang.Throwable
7: aload 2
monitorexit
8: athrow
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/PlatformRecording;
0 10 1 toDisk Z
Exception table:
from to target type
1 6 7 any
7 8 7 any
MethodParameters:
Name Flags
toDisk
public void setSetting(java.lang.String, java.lang.String);
descriptor: (Ljava/lang/String;Ljava/lang/String;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield jdk.jfr.internal.PlatformRecording.recorder:Ljdk/jfr/internal/PlatformRecorder;
dup
astore 3
monitorenter
1: aload 0
getfield jdk.jfr.internal.PlatformRecording.settings:Ljava/util/Map;
aload 1
aload 2
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
2: aload 0
invokevirtual jdk.jfr.internal.PlatformRecording.getState:()Ljdk/jfr/RecordingState;
getstatic jdk.jfr.RecordingState.RUNNING:Ljdk/jfr/RecordingState;
if_acmpne 4
3: aload 0
getfield jdk.jfr.internal.PlatformRecording.recorder:Ljdk/jfr/internal/PlatformRecorder;
invokevirtual jdk.jfr.internal.PlatformRecorder.updateSettings:()V
4: StackMap locals: jdk.jfr.internal.PlatformRecorder
StackMap stack:
aload 3
monitorexit
5: goto 8
StackMap locals:
StackMap stack: java.lang.Throwable
6: aload 3
monitorexit
7: athrow
8: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Ljdk/jfr/internal/PlatformRecording;
0 9 1 id Ljava/lang/String;
0 9 2 value Ljava/lang/String;
Exception table:
from to target type
1 5 6 any
6 7 6 any
MethodParameters:
Name Flags
id
value
public void setSettings(java.util.Map<java.lang.String, java.lang.String>);
descriptor: (Ljava/util/Map;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
iconst_1
invokevirtual jdk.jfr.internal.PlatformRecording.setSettings:(Ljava/util/Map;Z)V
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Ljdk/jfr/internal/PlatformRecording;
0 2 1 settings Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;
Signature: (Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;)V
MethodParameters:
Name Flags
settings
private void setSettings(java.util.Map<java.lang.String, java.lang.String>, );
descriptor: (Ljava/util/Map;Z)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=7, args_size=3
start local 0 start local 1 start local 2 0: getstatic jdk.jfr.internal.LogTag.JFR_SETTING:Ljdk/jfr/internal/LogTag;
getstatic jdk.jfr.internal.LogLevel.INFO:Ljdk/jfr/internal/LogLevel;
invokestatic jdk.jfr.internal.Logger.shouldLog:(Ljdk/jfr/internal/LogTag;Ljdk/jfr/internal/LogLevel;)Z
ifeq 8
iload 2
ifeq 8
1: new java.util.TreeMap
dup
aload 1
invokespecial java.util.TreeMap.<init>:(Ljava/util/Map;)V
astore 3
start local 3 2: getstatic jdk.jfr.internal.LogTag.JFR_SETTING:Ljdk/jfr/internal/LogTag;
getstatic jdk.jfr.internal.LogLevel.INFO:Ljdk/jfr/internal/LogLevel;
new java.lang.StringBuilder
dup
ldc "New settings for recording \""
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
invokevirtual jdk.jfr.internal.PlatformRecording.getName:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "\" ("
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
invokevirtual jdk.jfr.internal.PlatformRecording.getId:()J
invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
ldc ")"
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: aload 3
invokevirtual java.util.TreeMap.entrySet:()Ljava/util/Set;
invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
astore 5
goto 7
StackMap locals: jdk.jfr.internal.PlatformRecording java.util.Map int java.util.TreeMap top java.util.Iterator
StackMap stack:
4: aload 5
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.util.Map$Entry
astore 4
start local 4 5: new java.lang.StringBuilder
dup
aload 4
invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
checkcast java.lang.String
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;
aload 4
invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
checkcast java.lang.String
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "\""
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 6
start local 6 6: getstatic jdk.jfr.internal.LogTag.JFR_SETTING:Ljdk/jfr/internal/LogTag;
getstatic jdk.jfr.internal.LogLevel.INFO:Ljdk/jfr/internal/LogLevel;
aload 6
invokestatic jdk.jfr.internal.Logger.log:(Ljdk/jfr/internal/LogTag;Ljdk/jfr/internal/LogLevel;Ljava/lang/String;)V
end local 6 end local 4 7: StackMap locals:
StackMap stack:
aload 5
invokeinterface java.util.Iterator.hasNext:()Z
ifne 4
end local 3 8: StackMap locals: jdk.jfr.internal.PlatformRecording java.util.Map int
StackMap stack:
aload 0
getfield jdk.jfr.internal.PlatformRecording.recorder:Ljdk/jfr/internal/PlatformRecorder;
dup
astore 3
monitorenter
9: aload 0
new java.util.LinkedHashMap
dup
aload 1
invokespecial java.util.LinkedHashMap.<init>:(Ljava/util/Map;)V
putfield jdk.jfr.internal.PlatformRecording.settings:Ljava/util/Map;
10: aload 0
invokevirtual jdk.jfr.internal.PlatformRecording.getState:()Ljdk/jfr/RecordingState;
getstatic jdk.jfr.RecordingState.RUNNING:Ljdk/jfr/RecordingState;
if_acmpne 12
iload 2
ifeq 12
11: aload 0
getfield jdk.jfr.internal.PlatformRecording.recorder:Ljdk/jfr/internal/PlatformRecorder;
invokevirtual jdk.jfr.internal.PlatformRecorder.updateSettings:()V
12: StackMap locals: jdk.jfr.internal.PlatformRecorder
StackMap stack:
aload 3
monitorexit
13: goto 16
StackMap locals:
StackMap stack: java.lang.Throwable
14: aload 3
monitorexit
15: athrow
16: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 17 0 this Ljdk/jfr/internal/PlatformRecording;
0 17 1 settings Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;
0 17 2 update Z
2 8 3 ordered Ljava/util/TreeMap<Ljava/lang/String;Ljava/lang/String;>;
5 7 4 entry Ljava/util/Map$Entry<Ljava/lang/String;Ljava/lang/String;>;
6 7 6 text Ljava/lang/String;
Exception table:
from to target type
9 13 14 any
14 15 14 any
Signature: (Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;Z)V
MethodParameters:
Name Flags
settings
update
private void notifyIfStateChanged(jdk.jfr.RecordingState, jdk.jfr.RecordingState);
descriptor: (Ljdk/jfr/RecordingState;Ljdk/jfr/RecordingState;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=6, args_size=3
start local 0 start local 1 start local 2 0: aload 2
aload 1
if_acmpne 2
1: return
2: StackMap locals:
StackMap stack:
invokestatic jdk.jfr.internal.PlatformRecorder.getListeners:()Ljava/util/List;
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 4
goto 8
StackMap locals: jdk.jfr.internal.PlatformRecording jdk.jfr.RecordingState jdk.jfr.RecordingState top java.util.Iterator
StackMap stack:
3: aload 4
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast jdk.jfr.FlightRecorderListener
astore 3
start local 3 4: aload 3
aload 0
invokevirtual jdk.jfr.internal.PlatformRecording.getRecording:()Ljdk/jfr/Recording;
invokeinterface jdk.jfr.FlightRecorderListener.recordingStateChanged:(Ljdk/jfr/Recording;)V
5: goto 8
StackMap locals: jdk.jfr.internal.PlatformRecording jdk.jfr.RecordingState jdk.jfr.RecordingState jdk.jfr.FlightRecorderListener java.util.Iterator
StackMap stack: java.lang.RuntimeException
6: astore 5
start local 5 7: getstatic jdk.jfr.internal.LogTag.JFR:Ljdk/jfr/internal/LogTag;
getstatic jdk.jfr.internal.LogLevel.WARN:Ljdk/jfr/internal/LogLevel;
new java.lang.StringBuilder
dup
ldc "Error notifying recorder listener:"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 5
invokevirtual java.lang.RuntimeException.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 5 end local 3 8: StackMap locals: jdk.jfr.internal.PlatformRecording jdk.jfr.RecordingState jdk.jfr.RecordingState top java.util.Iterator
StackMap stack:
aload 4
invokeinterface java.util.Iterator.hasNext:()Z
ifne 3
9: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Ljdk/jfr/internal/PlatformRecording;
0 10 1 newState Ljdk/jfr/RecordingState;
0 10 2 oldState Ljdk/jfr/RecordingState;
4 8 3 cl Ljdk/jfr/FlightRecorderListener;
7 8 5 re Ljava/lang/RuntimeException;
Exception table:
from to target type
4 5 6 Class java.lang.RuntimeException
MethodParameters:
Name Flags
newState
oldState
public void setRecording(jdk.jfr.Recording);
descriptor: (Ljdk/jfr/Recording;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
putfield jdk.jfr.internal.PlatformRecording.recording:Ljdk/jfr/Recording;
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Ljdk/jfr/internal/PlatformRecording;
0 2 1 recording Ljdk/jfr/Recording;
MethodParameters:
Name Flags
recording
public jdk.jfr.Recording getRecording();
descriptor: ()Ljdk/jfr/Recording;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield jdk.jfr.internal.PlatformRecording.recording:Ljdk/jfr/Recording;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljdk/jfr/internal/PlatformRecording;
public java.lang.String toString();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: new java.lang.StringBuilder
dup
aload 0
invokevirtual jdk.jfr.internal.PlatformRecording.getName:()Ljava/lang/String;
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc " (id="
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
invokevirtual jdk.jfr.internal.PlatformRecording.getId:()J
invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
ldc ") "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
invokevirtual jdk.jfr.internal.PlatformRecording.getState:()Ljdk/jfr/RecordingState;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljdk/jfr/internal/PlatformRecording;
public void setConfiguration(jdk.jfr.Configuration);
descriptor: (Ljdk/jfr/Configuration;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokevirtual jdk.jfr.Configuration.getSettings:()Ljava/util/Map;
invokevirtual jdk.jfr.internal.PlatformRecording.setSettings:(Ljava/util/Map;)V
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Ljdk/jfr/internal/PlatformRecording;
0 2 1 c Ljdk/jfr/Configuration;
MethodParameters:
Name Flags
c
public void setMaxAge(java.time.Duration);
descriptor: (Ljava/time/Duration;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=2
start local 0 start local 1 0: aload 0
getfield jdk.jfr.internal.PlatformRecording.recorder:Ljdk/jfr/internal/PlatformRecorder;
dup
astore 2
monitorenter
1: aload 0
invokevirtual jdk.jfr.internal.PlatformRecording.getState:()Ljdk/jfr/RecordingState;
getstatic jdk.jfr.RecordingState.CLOSED:Ljdk/jfr/RecordingState;
if_acmpne 3
2: new java.lang.IllegalStateException
dup
ldc "Can't set max age when recording is closed"
invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
athrow
3: StackMap locals: jdk.jfr.internal.PlatformRecorder
StackMap stack:
aload 0
aload 1
putfield jdk.jfr.internal.PlatformRecording.maxAge:Ljava/time/Duration;
4: aload 1
ifnull 6
5: 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.jfr.internal.PlatformRecording.trimToAge:(Ljava/time/Instant;)V
6: StackMap locals:
StackMap stack:
aload 2
monitorexit
7: goto 10
StackMap locals:
StackMap stack: java.lang.Throwable
8: aload 2
monitorexit
9: athrow
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/PlatformRecording;
0 11 1 maxAge Ljava/time/Duration;
Exception table:
from to target type
1 7 8 any
8 9 8 any
MethodParameters:
Name Flags
maxAge
void appendChunk(jdk.jfr.internal.RepositoryChunk);
descriptor: (Ljdk/jfr/internal/RepositoryChunk;)V
flags: (0x0000)
Code:
stack=5, locals=3, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual jdk.jfr.internal.RepositoryChunk.isFinished:()Z
ifne 2
1: new java.lang.Error
dup
new java.lang.StringBuilder
dup
ldc "not finished chunk "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokevirtual jdk.jfr.internal.RepositoryChunk.getStartTime:()Ljava/time/Instant;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.lang.Error.<init>:(Ljava/lang/String;)V
athrow
2: StackMap locals:
StackMap stack:
aload 0
getfield jdk.jfr.internal.PlatformRecording.recorder:Ljdk/jfr/internal/PlatformRecorder;
dup
astore 2
monitorenter
3: aload 0
getfield jdk.jfr.internal.PlatformRecording.toDisk:Z
ifne 6
4: aload 2
monitorexit
5: return
6: StackMap locals: jdk.jfr.internal.PlatformRecorder
StackMap stack:
aload 0
getfield jdk.jfr.internal.PlatformRecording.maxAge:Ljava/time/Duration;
ifnull 8
7: aload 0
aload 1
invokevirtual jdk.jfr.internal.RepositoryChunk.getEndTime:()Ljava/time/Instant;
aload 0
getfield jdk.jfr.internal.PlatformRecording.maxAge:Ljava/time/Duration;
invokevirtual java.time.Instant.minus:(Ljava/time/temporal/TemporalAmount;)Ljava/time/Instant;
invokevirtual jdk.jfr.internal.PlatformRecording.trimToAge:(Ljava/time/Instant;)V
8: StackMap locals:
StackMap stack:
aload 0
getfield jdk.jfr.internal.PlatformRecording.chunks:Ljava/util/LinkedList;
aload 1
invokevirtual java.util.LinkedList.addLast:(Ljava/lang/Object;)V
9: aload 0
aload 1
invokevirtual jdk.jfr.internal.PlatformRecording.added:(Ljdk/jfr/internal/RepositoryChunk;)V
10: aload 0
invokevirtual jdk.jfr.internal.PlatformRecording.trimToSize:()V
11: aload 2
monitorexit
12: goto 15
StackMap locals:
StackMap stack: java.lang.Throwable
13: aload 2
monitorexit
14: athrow
15: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 16 0 this Ljdk/jfr/internal/PlatformRecording;
0 16 1 chunk Ljdk/jfr/internal/RepositoryChunk;
Exception table:
from to target type
3 5 13 any
6 12 13 any
13 14 13 any
MethodParameters:
Name Flags
chunk
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.jfr.internal.PlatformRecording.maxSize:J
lconst_0
lcmp
ifne 4
1: return
2: StackMap locals:
StackMap stack:
aload 0
getfield jdk.jfr.internal.PlatformRecording.chunks:Ljava/util/LinkedList;
invokevirtual java.util.LinkedList.removeFirst:()Ljava/lang/Object;
checkcast jdk.jfr.internal.RepositoryChunk
astore 1
start local 1 3: aload 0
aload 1
invokevirtual jdk.jfr.internal.PlatformRecording.removed:(Ljdk/jfr/internal/RepositoryChunk;)V
end local 1 4: StackMap locals:
StackMap stack:
aload 0
getfield jdk.jfr.internal.PlatformRecording.size:J
aload 0
getfield jdk.jfr.internal.PlatformRecording.maxSize:J
lcmp
ifle 5
aload 0
getfield jdk.jfr.internal.PlatformRecording.chunks:Ljava/util/LinkedList;
invokevirtual java.util.LinkedList.size:()I
iconst_1
if_icmpgt 2
5: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Ljdk/jfr/internal/PlatformRecording;
3 4 1 c Ljdk/jfr/internal/RepositoryChunk;
private void trimToAge(java.time.Instant);
descriptor: (Ljava/time/Instant;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: goto 6
1: StackMap locals:
StackMap stack:
aload 0
getfield jdk.jfr.internal.PlatformRecording.chunks:Ljava/util/LinkedList;
invokevirtual java.util.LinkedList.peek:()Ljava/lang/Object;
checkcast jdk.jfr.internal.RepositoryChunk
astore 2
start local 2 2: aload 2
invokevirtual jdk.jfr.internal.RepositoryChunk.getEndTime:()Ljava/time/Instant;
aload 1
invokevirtual java.time.Instant.isAfter:(Ljava/time/Instant;)Z
ifeq 4
3: return
4: StackMap locals: jdk.jfr.internal.RepositoryChunk
StackMap stack:
aload 0
getfield jdk.jfr.internal.PlatformRecording.chunks:Ljava/util/LinkedList;
invokevirtual java.util.LinkedList.removeFirst:()Ljava/lang/Object;
pop
5: aload 0
aload 2
invokevirtual jdk.jfr.internal.PlatformRecording.removed:(Ljdk/jfr/internal/RepositoryChunk;)V
end local 2 6: StackMap locals:
StackMap stack:
aload 0
getfield jdk.jfr.internal.PlatformRecording.chunks:Ljava/util/LinkedList;
invokevirtual java.util.LinkedList.isEmpty:()Z
ifeq 1
7: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Ljdk/jfr/internal/PlatformRecording;
0 8 1 oldest Ljava/time/Instant;
2 6 2 oldestChunk Ljdk/jfr/internal/RepositoryChunk;
MethodParameters:
Name Flags
oldest
void add(jdk.jfr.internal.RepositoryChunk);
descriptor: (Ljdk/jfr/internal/RepositoryChunk;)V
flags: (0x0000)
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield jdk.jfr.internal.PlatformRecording.chunks:Ljava/util/LinkedList;
aload 1
invokevirtual java.util.LinkedList.add:(Ljava/lang/Object;)Z
pop
1: aload 0
aload 1
invokevirtual jdk.jfr.internal.PlatformRecording.added:(Ljdk/jfr/internal/RepositoryChunk;)V
2: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Ljdk/jfr/internal/PlatformRecording;
0 3 1 c Ljdk/jfr/internal/RepositoryChunk;
MethodParameters:
Name Flags
c
private void added(jdk.jfr.internal.RepositoryChunk);
descriptor: (Ljdk/jfr/internal/RepositoryChunk;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=2, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual jdk.jfr.internal.RepositoryChunk.use:()V
1: aload 0
dup
getfield jdk.jfr.internal.PlatformRecording.size:J
aload 1
invokevirtual jdk.jfr.internal.RepositoryChunk.getSize:()J
ladd
putfield jdk.jfr.internal.PlatformRecording.size:J
2: getstatic jdk.jfr.internal.LogTag.JFR:Ljdk/jfr/internal/LogTag;
getstatic jdk.jfr.internal.LogLevel.DEBUG:Ljdk/jfr/internal/LogLevel;
aload 0
aload 1
invokedynamic get(Ljdk/jfr/internal/PlatformRecording;Ljdk/jfr/internal/RepositoryChunk;)Ljava/util/function/Supplier;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
()Ljava/lang/Object;
jdk/jfr/internal/PlatformRecording.lambda$1(Ljdk/jfr/internal/RepositoryChunk;)Ljava/lang/String; (7)
()Ljava/lang/String;
invokestatic jdk.jfr.internal.Logger.log:(Ljdk/jfr/internal/LogTag;Ljdk/jfr/internal/LogLevel;Ljava/util/function/Supplier;)V
3: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Ljdk/jfr/internal/PlatformRecording;
0 4 1 c Ljdk/jfr/internal/RepositoryChunk;
MethodParameters:
Name Flags
c
private void removed(jdk.jfr.internal.RepositoryChunk);
descriptor: (Ljdk/jfr/internal/RepositoryChunk;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=2, args_size=2
start local 0 start local 1 0: aload 0
dup
getfield jdk.jfr.internal.PlatformRecording.size:J
aload 1
invokevirtual jdk.jfr.internal.RepositoryChunk.getSize:()J
lsub
putfield jdk.jfr.internal.PlatformRecording.size:J
1: getstatic jdk.jfr.internal.LogTag.JFR:Ljdk/jfr/internal/LogTag;
getstatic jdk.jfr.internal.LogLevel.DEBUG:Ljdk/jfr/internal/LogLevel;
aload 0
aload 1
invokedynamic get(Ljdk/jfr/internal/PlatformRecording;Ljdk/jfr/internal/RepositoryChunk;)Ljava/util/function/Supplier;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
()Ljava/lang/Object;
jdk/jfr/internal/PlatformRecording.lambda$2(Ljdk/jfr/internal/RepositoryChunk;)Ljava/lang/String; (7)
()Ljava/lang/String;
invokestatic jdk.jfr.internal.Logger.log:(Ljdk/jfr/internal/LogTag;Ljdk/jfr/internal/LogLevel;Ljava/util/function/Supplier;)V
2: aload 1
invokevirtual jdk.jfr.internal.RepositoryChunk.release:()V
3: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Ljdk/jfr/internal/PlatformRecording;
0 4 1 c Ljdk/jfr/internal/RepositoryChunk;
MethodParameters:
Name Flags
c
public java.util.List<jdk.jfr.internal.RepositoryChunk> getChunks();
descriptor: ()Ljava/util/List;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield jdk.jfr.internal.PlatformRecording.chunks:Ljava/util/LinkedList;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljdk/jfr/internal/PlatformRecording;
Signature: ()Ljava/util/List<Ljdk/jfr/internal/RepositoryChunk;>;
public java.io.InputStream open(java.time.Instant, java.time.Instant);
descriptor: (Ljava/time/Instant;Ljava/time/Instant;)Ljava/io/InputStream;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=9, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield jdk.jfr.internal.PlatformRecording.recorder:Ljdk/jfr/internal/PlatformRecorder;
dup
astore 3
monitorenter
1: aload 0
invokevirtual jdk.jfr.internal.PlatformRecording.getState:()Ljdk/jfr/RecordingState;
getstatic jdk.jfr.RecordingState.STOPPED:Ljdk/jfr/RecordingState;
if_acmpeq 3
2: new java.io.IOException
dup
ldc "Recording must be stopped before it can be read."
invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
athrow
3: StackMap locals: jdk.jfr.internal.PlatformRecorder
StackMap stack:
new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
astore 4
start local 4 4: aload 0
getfield jdk.jfr.internal.PlatformRecording.chunks:Ljava/util/LinkedList;
invokevirtual java.util.LinkedList.iterator:()Ljava/util/Iterator;
astore 6
goto 12
StackMap locals: jdk.jfr.internal.PlatformRecording java.time.Instant java.time.Instant jdk.jfr.internal.PlatformRecorder java.util.List top java.util.Iterator
StackMap stack:
5: aload 6
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast jdk.jfr.internal.RepositoryChunk
astore 5
start local 5 6: aload 5
invokevirtual jdk.jfr.internal.RepositoryChunk.isFinished:()Z
ifeq 12
7: aload 5
invokevirtual jdk.jfr.internal.RepositoryChunk.getStartTime:()Ljava/time/Instant;
astore 7
start local 7 8: aload 5
invokevirtual jdk.jfr.internal.RepositoryChunk.getEndTime:()Ljava/time/Instant;
astore 8
start local 8 9: aload 1
ifnull 10
aload 8
aload 1
invokevirtual java.time.Instant.isBefore:(Ljava/time/Instant;)Z
ifne 12
10: StackMap locals: jdk.jfr.internal.PlatformRecording java.time.Instant java.time.Instant jdk.jfr.internal.PlatformRecorder java.util.List jdk.jfr.internal.RepositoryChunk java.util.Iterator java.time.Instant java.time.Instant
StackMap stack:
aload 2
ifnull 11
aload 7
aload 2
invokevirtual java.time.Instant.isAfter:(Ljava/time/Instant;)Z
ifne 12
11: StackMap locals:
StackMap stack:
aload 4
aload 5
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
end local 8 end local 7 end local 5 12: StackMap locals: jdk.jfr.internal.PlatformRecording java.time.Instant java.time.Instant jdk.jfr.internal.PlatformRecorder java.util.List top java.util.Iterator
StackMap stack:
aload 6
invokeinterface java.util.Iterator.hasNext:()Z
ifne 5
13: aload 4
invokeinterface java.util.List.isEmpty:()Z
ifeq 16
14: aload 3
monitorexit
15: aconst_null
areturn
16: StackMap locals: jdk.jfr.internal.PlatformRecording java.time.Instant java.time.Instant jdk.jfr.internal.PlatformRecorder java.util.List
StackMap stack:
new jdk.jfr.internal.ChunkInputStream
dup
aload 4
invokespecial jdk.jfr.internal.ChunkInputStream.<init>:(Ljava/util/List;)V
aload 3
monitorexit
17: areturn
end local 4 18: StackMap locals: jdk.jfr.internal.PlatformRecording java.time.Instant java.time.Instant jdk.jfr.internal.PlatformRecorder
StackMap stack: java.lang.Throwable
aload 3
monitorexit
19: athrow
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 20 0 this Ljdk/jfr/internal/PlatformRecording;
0 20 1 start Ljava/time/Instant;
0 20 2 end Ljava/time/Instant;
4 18 4 chunksToUse Ljava/util/List<Ljdk/jfr/internal/RepositoryChunk;>;
6 12 5 chunk Ljdk/jfr/internal/RepositoryChunk;
8 12 7 chunkStart Ljava/time/Instant;
9 12 8 chunkEnd Ljava/time/Instant;
Exception table:
from to target type
1 15 18 any
16 17 18 any
18 19 18 any
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
start
end
public java.time.Duration getDuration();
descriptor: ()Ljava/time/Duration;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=1
start local 0 0: aload 0
getfield jdk.jfr.internal.PlatformRecording.recorder:Ljdk/jfr/internal/PlatformRecorder;
dup
astore 1
monitorenter
1: aload 0
getfield jdk.jfr.internal.PlatformRecording.duration:Ljava/time/Duration;
aload 1
monitorexit
2: areturn
3: StackMap locals: jdk.jfr.internal.PlatformRecording jdk.jfr.internal.PlatformRecorder
StackMap stack: java.lang.Throwable
aload 1
monitorexit
4: athrow
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Ljdk/jfr/internal/PlatformRecording;
Exception table:
from to target type
1 2 3 any
3 4 3 any
void setInternalDuration(java.time.Duration);
descriptor: (Ljava/time/Duration;)V
flags: (0x0000)
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
putfield jdk.jfr.internal.PlatformRecording.duration:Ljava/time/Duration;
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Ljdk/jfr/internal/PlatformRecording;
0 2 1 duration Ljava/time/Duration;
MethodParameters:
Name Flags
duration
public void setDuration(java.time.Duration);
descriptor: (Ljava/time/Duration;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=3, args_size=2
start local 0 start local 1 0: aload 0
getfield jdk.jfr.internal.PlatformRecording.recorder:Ljdk/jfr/internal/PlatformRecorder;
dup
astore 2
monitorenter
1: aload 0
invokevirtual jdk.jfr.internal.PlatformRecording.getState:()Ljdk/jfr/RecordingState;
iconst_2
anewarray jdk.jfr.RecordingState
dup
iconst_0
getstatic jdk.jfr.RecordingState.STOPPED:Ljdk/jfr/RecordingState;
aastore
dup
iconst_1
getstatic jdk.jfr.RecordingState.CLOSED:Ljdk/jfr/RecordingState;
aastore
invokestatic jdk.jfr.internal.Utils.isState:(Ljdk/jfr/RecordingState;[Ljdk/jfr/RecordingState;)Z
ifeq 3
2: new java.lang.IllegalStateException
dup
ldc "Duration can't be set after a recording has been stopped/closed"
invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
athrow
3: StackMap locals: jdk.jfr.internal.PlatformRecorder
StackMap stack:
aload 0
aload 1
invokevirtual jdk.jfr.internal.PlatformRecording.setInternalDuration:(Ljava/time/Duration;)V
4: aload 0
invokevirtual jdk.jfr.internal.PlatformRecording.getState:()Ljdk/jfr/RecordingState;
getstatic jdk.jfr.RecordingState.NEW:Ljdk/jfr/RecordingState;
if_acmpeq 6
5: aload 0
invokevirtual jdk.jfr.internal.PlatformRecording.updateTimer:()V
6: StackMap locals:
StackMap stack:
aload 2
monitorexit
7: goto 10
StackMap locals:
StackMap stack: java.lang.Throwable
8: aload 2
monitorexit
9: athrow
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/PlatformRecording;
0 11 1 duration Ljava/time/Duration;
Exception table:
from to target type
1 7 8 any
8 9 8 any
MethodParameters:
Name Flags
duration
void updateTimer();
descriptor: ()V
flags: (0x0000)
Code:
stack=6, locals=1, args_size=1
start local 0 0: aload 0
getfield jdk.jfr.internal.PlatformRecording.stopTask:Ljava/util/TimerTask;
ifnull 3
1: aload 0
getfield jdk.jfr.internal.PlatformRecording.stopTask:Ljava/util/TimerTask;
invokevirtual java.util.TimerTask.cancel:()Z
pop
2: aload 0
aconst_null
putfield jdk.jfr.internal.PlatformRecording.stopTask:Ljava/util/TimerTask;
3: StackMap locals:
StackMap stack:
aload 0
invokevirtual jdk.jfr.internal.PlatformRecording.getState:()Ljdk/jfr/RecordingState;
getstatic jdk.jfr.RecordingState.CLOSED:Ljdk/jfr/RecordingState;
if_acmpne 5
4: return
5: StackMap locals:
StackMap stack:
aload 0
getfield jdk.jfr.internal.PlatformRecording.duration:Ljava/time/Duration;
ifnull 8
6: aload 0
aload 0
invokevirtual jdk.jfr.internal.PlatformRecording.createStopTask:()Ljava/util/TimerTask;
putfield jdk.jfr.internal.PlatformRecording.stopTask:Ljava/util/TimerTask;
7: aload 0
getfield jdk.jfr.internal.PlatformRecording.recorder:Ljdk/jfr/internal/PlatformRecorder;
invokevirtual jdk.jfr.internal.PlatformRecorder.getTimer:()Ljava/util/Timer;
aload 0
getfield jdk.jfr.internal.PlatformRecording.stopTask:Ljava/util/TimerTask;
new java.util.Date
dup
aload 0
getfield jdk.jfr.internal.PlatformRecording.startTime:Ljava/time/Instant;
aload 0
getfield jdk.jfr.internal.PlatformRecording.duration:Ljava/time/Duration;
invokevirtual java.time.Instant.plus:(Ljava/time/temporal/TemporalAmount;)Ljava/time/Instant;
invokevirtual java.time.Instant.toEpochMilli:()J
invokespecial java.util.Date.<init>:(J)V
invokevirtual java.util.Timer.schedule:(Ljava/util/TimerTask;Ljava/util/Date;)V
8: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Ljdk/jfr/internal/PlatformRecording;
java.util.TimerTask createStopTask();
descriptor: ()Ljava/util/TimerTask;
flags: (0x0000)
Code:
stack=3, locals=1, args_size=1
start local 0 0: new jdk.jfr.internal.PlatformRecording$2
dup
aload 0
invokespecial jdk.jfr.internal.PlatformRecording$2.<init>:(Ljdk/jfr/internal/PlatformRecording;)V
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljdk/jfr/internal/PlatformRecording;
public jdk.jfr.Recording newCopy(boolean);
descriptor: (Z)Ljdk/jfr/Recording;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield jdk.jfr.internal.PlatformRecording.recorder:Ljdk/jfr/internal/PlatformRecorder;
aload 0
iload 1
invokevirtual jdk.jfr.internal.PlatformRecorder.newCopy:(Ljdk/jfr/internal/PlatformRecording;Z)Ljdk/jfr/Recording;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljdk/jfr/internal/PlatformRecording;
0 1 1 stop Z
MethodParameters:
Name Flags
stop
void setStopTask(java.util.TimerTask);
descriptor: (Ljava/util/TimerTask;)V
flags: (0x0000)
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: aload 0
getfield jdk.jfr.internal.PlatformRecording.recorder:Ljdk/jfr/internal/PlatformRecorder;
dup
astore 2
monitorenter
1: aload 0
aload 1
putfield jdk.jfr.internal.PlatformRecording.stopTask:Ljava/util/TimerTask;
2: aload 2
monitorexit
3: goto 6
StackMap locals: jdk.jfr.internal.PlatformRecording java.util.TimerTask jdk.jfr.internal.PlatformRecorder
StackMap stack: java.lang.Throwable
4: aload 2
monitorexit
5: athrow
6: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Ljdk/jfr/internal/PlatformRecording;
0 7 1 stopTask Ljava/util/TimerTask;
Exception table:
from to target type
1 3 4 any
4 5 4 any
MethodParameters:
Name Flags
stopTask
void clearDestination();
descriptor: ()V
flags: (0x0000)
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
aconst_null
putfield jdk.jfr.internal.PlatformRecording.destination:Ljdk/jfr/internal/WriteableUserPath;
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Ljdk/jfr/internal/PlatformRecording;
public java.security.AccessControlContext getNoDestinationDumpOnExitAccessControlContext();
descriptor: ()Ljava/security/AccessControlContext;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield jdk.jfr.internal.PlatformRecording.noDestinationDumpOnExitAccessControlContext:Ljava/security/AccessControlContext;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljdk/jfr/internal/PlatformRecording;
void setShouldWriteActiveRecordingEvent(boolean);
descriptor: (Z)V
flags: (0x0000)
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
iload 1
putfield jdk.jfr.internal.PlatformRecording.shuoldWriteActiveRecordingEvent:Z
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Ljdk/jfr/internal/PlatformRecording;
0 2 1 shouldWrite Z
MethodParameters:
Name Flags
shouldWrite
boolean shouldWriteMetadataEvent();
descriptor: ()Z
flags: (0x0000)
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield jdk.jfr.internal.PlatformRecording.shuoldWriteActiveRecordingEvent:Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljdk/jfr/internal/PlatformRecording;
public void dump(jdk.jfr.internal.WriteableUserPath);
descriptor: (Ljdk/jfr/internal/WriteableUserPath;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=6, args_size=2
start local 0 start local 1 0: aload 0
getfield jdk.jfr.internal.PlatformRecording.recorder:Ljdk/jfr/internal/PlatformRecorder;
dup
astore 2
monitorenter
1: aconst_null
astore 3
aconst_null
astore 4
2: aload 0
ldc "Dumped by user"
aconst_null
invokevirtual jdk.jfr.internal.PlatformRecording.newSnapshotClone:(Ljava/lang/String;Ljava/lang/Boolean;)Ljdk/jfr/internal/PlatformRecording;
astore 5
start local 5 3: aload 5
aload 1
invokevirtual jdk.jfr.internal.PlatformRecording.dumpStopped:(Ljdk/jfr/internal/WriteableUserPath;)V
4: aload 5
ifnull 10
aload 5
invokevirtual jdk.jfr.internal.PlatformRecording.close:()V
goto 10
StackMap locals: jdk.jfr.internal.PlatformRecording jdk.jfr.internal.WriteableUserPath jdk.jfr.internal.PlatformRecorder java.lang.Throwable java.lang.Throwable jdk.jfr.internal.PlatformRecording
StackMap stack: java.lang.Throwable
5: astore 3
aload 5
ifnull 6
aload 5
invokevirtual jdk.jfr.internal.PlatformRecording.close:()V
end local 5 StackMap locals:
StackMap stack:
6: aload 3
athrow
StackMap locals:
StackMap stack: java.lang.Throwable
7: astore 4
aload 3
ifnonnull 8
aload 4
astore 3
goto 9
StackMap locals:
StackMap stack:
8: aload 3
aload 4
if_acmpeq 9
aload 3
aload 4
invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
StackMap locals:
StackMap stack:
9: aload 3
athrow
10: StackMap locals:
StackMap stack:
aload 2
monitorexit
11: goto 14
StackMap locals:
StackMap stack: java.lang.Throwable
12: aload 2
monitorexit
13: athrow
14: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 15 0 this Ljdk/jfr/internal/PlatformRecording;
0 15 1 writeableUserPath Ljdk/jfr/internal/WriteableUserPath;
3 6 5 p Ljdk/jfr/internal/PlatformRecording;
Exception table:
from to target type
3 4 5 any
2 7 7 any
1 11 12 any
12 13 12 any
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
writeableUserPath
public void dumpStopped(jdk.jfr.internal.WriteableUserPath);
descriptor: (Ljdk/jfr/internal/WriteableUserPath;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=2
start local 0 start local 1 0: aload 0
getfield jdk.jfr.internal.PlatformRecording.recorder:Ljdk/jfr/internal/PlatformRecorder;
dup
astore 2
monitorenter
1: aload 1
aload 0
aload 1
invokedynamic call(Ljdk/jfr/internal/PlatformRecording;Ljdk/jfr/internal/WriteableUserPath;)Ljava/util/concurrent/Callable;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
()Ljava/lang/Object;
jdk/jfr/internal/PlatformRecording.lambda$3(Ljdk/jfr/internal/WriteableUserPath;)Ljava/lang/Object; (7)
()Ljava/lang/Object;
invokevirtual jdk.jfr.internal.WriteableUserPath.doPriviligedIO:(Ljava/util/concurrent/Callable;)V
2: aload 2
monitorexit
3: goto 6
StackMap locals: jdk.jfr.internal.PlatformRecording jdk.jfr.internal.WriteableUserPath jdk.jfr.internal.PlatformRecorder
StackMap stack: java.lang.Throwable
4: aload 2
monitorexit
5: athrow
6: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Ljdk/jfr/internal/PlatformRecording;
0 7 1 userPath Ljdk/jfr/internal/WriteableUserPath;
Exception table:
from to target type
1 3 4 any
4 5 4 any
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
userPath
public void filter(java.time.Instant, java.time.Instant, java.lang.Long);
descriptor: (Ljava/time/Instant;Ljava/time/Instant;Ljava/lang/Long;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=9, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
getfield jdk.jfr.internal.PlatformRecording.recorder:Ljdk/jfr/internal/PlatformRecorder;
dup
astore 4
monitorenter
1: aload 2
aload 1
new java.util.ArrayList
dup
aload 0
getfield jdk.jfr.internal.PlatformRecording.chunks:Ljava/util/LinkedList;
invokespecial java.util.ArrayList.<init>:(Ljava/util/Collection;)V
invokestatic jdk.jfr.internal.PlatformRecording.removeBefore:(Ljava/time/Instant;Ljava/util/List;)Ljava/util/List;
invokestatic jdk.jfr.internal.PlatformRecording.removeAfter:(Ljava/time/Instant;Ljava/util/List;)Ljava/util/List;
astore 5
start local 5 2: aload 3
ifnull 7
3: aload 1
ifnull 6
aload 2
ifnonnull 6
4: aload 3
aload 5
invokestatic jdk.jfr.internal.PlatformRecording.reduceFromBeginning:(Ljava/lang/Long;Ljava/util/List;)Ljava/util/List;
astore 5
5: goto 7
6: StackMap locals: jdk.jfr.internal.PlatformRecorder java.util.List
StackMap stack:
aload 3
aload 5
invokestatic jdk.jfr.internal.PlatformRecording.reduceFromEnd:(Ljava/lang/Long;Ljava/util/List;)Ljava/util/List;
astore 5
7: StackMap locals:
StackMap stack:
iconst_0
istore 6
start local 6 8: aload 5
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 8
goto 12
StackMap locals: jdk.jfr.internal.PlatformRecording java.time.Instant java.time.Instant java.lang.Long jdk.jfr.internal.PlatformRecorder java.util.List int top java.util.Iterator
StackMap stack:
9: aload 8
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast jdk.jfr.internal.RepositoryChunk
astore 7
start local 7 10: iload 6
i2l
aload 7
invokevirtual jdk.jfr.internal.RepositoryChunk.getSize:()J
ladd
l2i
istore 6
11: aload 7
invokevirtual jdk.jfr.internal.RepositoryChunk.use:()V
end local 7 12: StackMap locals:
StackMap stack:
aload 8
invokeinterface java.util.Iterator.hasNext:()Z
ifne 9
13: aload 0
iload 6
i2l
putfield jdk.jfr.internal.PlatformRecording.size:J
14: aload 0
getfield jdk.jfr.internal.PlatformRecording.chunks:Ljava/util/LinkedList;
invokevirtual java.util.LinkedList.iterator:()Ljava/util/Iterator;
astore 8
goto 17
StackMap locals:
StackMap stack:
15: aload 8
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast jdk.jfr.internal.RepositoryChunk
astore 7
start local 7 16: aload 7
invokevirtual jdk.jfr.internal.RepositoryChunk.release:()V
end local 7 17: StackMap locals:
StackMap stack:
aload 8
invokeinterface java.util.Iterator.hasNext:()Z
ifne 15
18: aload 0
getfield jdk.jfr.internal.PlatformRecording.chunks:Ljava/util/LinkedList;
invokevirtual java.util.LinkedList.clear:()V
19: aload 0
getfield jdk.jfr.internal.PlatformRecording.chunks:Ljava/util/LinkedList;
aload 5
invokevirtual java.util.LinkedList.addAll:(Ljava/util/Collection;)Z
pop
end local 6 end local 5 20: aload 4
monitorexit
21: goto 24
StackMap locals: jdk.jfr.internal.PlatformRecording java.time.Instant java.time.Instant java.lang.Long jdk.jfr.internal.PlatformRecorder
StackMap stack: java.lang.Throwable
22: aload 4
monitorexit
23: athrow
24: StackMap locals:
StackMap stack:
return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 25 0 this Ljdk/jfr/internal/PlatformRecording;
0 25 1 begin Ljava/time/Instant;
0 25 2 end Ljava/time/Instant;
0 25 3 maxSize Ljava/lang/Long;
2 20 5 result Ljava/util/List<Ljdk/jfr/internal/RepositoryChunk;>;
8 20 6 size I
10 12 7 r Ljdk/jfr/internal/RepositoryChunk;
16 17 7 r Ljdk/jfr/internal/RepositoryChunk;
Exception table:
from to target type
1 21 22 any
22 23 22 any
MethodParameters:
Name Flags
begin
end
maxSize
private static java.util.List<jdk.jfr.internal.RepositoryChunk> removeBefore(java.time.Instant, java.util.List<jdk.jfr.internal.RepositoryChunk>);
descriptor: (Ljava/time/Instant;Ljava/util/List;)Ljava/util/List;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=3, locals=5, args_size=2
start local 0 start local 1 0: aload 0
ifnonnull 2
1: aload 1
areturn
2: StackMap locals:
StackMap stack:
new java.util.ArrayList
dup
aload 1
invokeinterface java.util.List.size:()I
invokespecial java.util.ArrayList.<init>:(I)V
astore 2
start local 2 3: aload 1
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 4
goto 7
StackMap locals: java.time.Instant java.util.List java.util.List top java.util.Iterator
StackMap stack:
4: aload 4
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast jdk.jfr.internal.RepositoryChunk
astore 3
start local 3 5: aload 3
invokevirtual jdk.jfr.internal.RepositoryChunk.getEndTime:()Ljava/time/Instant;
aload 0
invokevirtual java.time.Instant.isBefore:(Ljava/time/Instant;)Z
ifne 7
6: aload 2
aload 3
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
end local 3 7: StackMap locals:
StackMap stack:
aload 4
invokeinterface java.util.Iterator.hasNext:()Z
ifne 4
8: aload 2
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 time Ljava/time/Instant;
0 9 1 input Ljava/util/List<Ljdk/jfr/internal/RepositoryChunk;>;
3 9 2 result Ljava/util/List<Ljdk/jfr/internal/RepositoryChunk;>;
5 7 3 r Ljdk/jfr/internal/RepositoryChunk;
Signature: (Ljava/time/Instant;Ljava/util/List<Ljdk/jfr/internal/RepositoryChunk;>;)Ljava/util/List<Ljdk/jfr/internal/RepositoryChunk;>;
MethodParameters:
Name Flags
time
input
private static java.util.List<jdk.jfr.internal.RepositoryChunk> removeAfter(java.time.Instant, java.util.List<jdk.jfr.internal.RepositoryChunk>);
descriptor: (Ljava/time/Instant;Ljava/util/List;)Ljava/util/List;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=3, locals=5, args_size=2
start local 0 start local 1 0: aload 0
ifnonnull 2
1: aload 1
areturn
2: StackMap locals:
StackMap stack:
new java.util.ArrayList
dup
aload 1
invokeinterface java.util.List.size:()I
invokespecial java.util.ArrayList.<init>:(I)V
astore 2
start local 2 3: aload 1
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 4
goto 7
StackMap locals: java.time.Instant java.util.List java.util.List top java.util.Iterator
StackMap stack:
4: aload 4
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast jdk.jfr.internal.RepositoryChunk
astore 3
start local 3 5: aload 3
invokevirtual jdk.jfr.internal.RepositoryChunk.getStartTime:()Ljava/time/Instant;
aload 0
invokevirtual java.time.Instant.isAfter:(Ljava/time/Instant;)Z
ifne 7
6: aload 2
aload 3
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
end local 3 7: StackMap locals:
StackMap stack:
aload 4
invokeinterface java.util.Iterator.hasNext:()Z
ifne 4
8: aload 2
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 time Ljava/time/Instant;
0 9 1 input Ljava/util/List<Ljdk/jfr/internal/RepositoryChunk;>;
3 9 2 result Ljava/util/List<Ljdk/jfr/internal/RepositoryChunk;>;
5 7 3 r Ljdk/jfr/internal/RepositoryChunk;
Signature: (Ljava/time/Instant;Ljava/util/List<Ljdk/jfr/internal/RepositoryChunk;>;)Ljava/util/List<Ljdk/jfr/internal/RepositoryChunk;>;
MethodParameters:
Name Flags
time
input
private static java.util.List<jdk.jfr.internal.RepositoryChunk> reduceFromBeginning(java.lang.Long, java.util.List<jdk.jfr.internal.RepositoryChunk>);
descriptor: (Ljava/lang/Long;Ljava/util/List;)Ljava/util/List;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=4, locals=7, args_size=2
start local 0 start local 1 0: aload 0
ifnull 1
aload 1
invokeinterface java.util.List.isEmpty:()Z
ifeq 2
1: StackMap locals:
StackMap stack:
aload 1
areturn
2: StackMap locals:
StackMap stack:
new java.util.ArrayList
dup
aload 1
invokeinterface java.util.List.size:()I
invokespecial java.util.ArrayList.<init>:(I)V
astore 2
start local 2 3: lconst_0
lstore 3
start local 3 4: aload 1
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 6
goto 10
StackMap locals: java.lang.Long java.util.List java.util.List long top java.util.Iterator
StackMap stack:
5: aload 6
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast jdk.jfr.internal.RepositoryChunk
astore 5
start local 5 6: lload 3
aload 5
invokevirtual jdk.jfr.internal.RepositoryChunk.getSize:()J
ladd
lstore 3
7: lload 3
aload 0
invokevirtual java.lang.Long.longValue:()J
lcmp
ifle 9
8: goto 11
9: StackMap locals: java.lang.Long java.util.List java.util.List long jdk.jfr.internal.RepositoryChunk java.util.Iterator
StackMap stack:
aload 2
aload 5
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
end local 5 10: StackMap locals: java.lang.Long java.util.List java.util.List long top java.util.Iterator
StackMap stack:
aload 6
invokeinterface java.util.Iterator.hasNext:()Z
ifne 5
11: StackMap locals: java.lang.Long java.util.List java.util.List long
StackMap stack:
aload 2
invokeinterface java.util.List.isEmpty:()Z
ifeq 13
12: aload 2
aload 1
iconst_0
invokeinterface java.util.List.get:(I)Ljava/lang/Object;
checkcast jdk.jfr.internal.RepositoryChunk
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
13: StackMap locals:
StackMap stack:
aload 2
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 14 0 maxSize Ljava/lang/Long;
0 14 1 input Ljava/util/List<Ljdk/jfr/internal/RepositoryChunk;>;
3 14 2 result Ljava/util/List<Ljdk/jfr/internal/RepositoryChunk;>;
4 14 3 total J
6 10 5 r Ljdk/jfr/internal/RepositoryChunk;
Signature: (Ljava/lang/Long;Ljava/util/List<Ljdk/jfr/internal/RepositoryChunk;>;)Ljava/util/List<Ljdk/jfr/internal/RepositoryChunk;>;
MethodParameters:
Name Flags
maxSize
input
private static java.util.List<jdk.jfr.internal.RepositoryChunk> reduceFromEnd(java.lang.Long, java.util.List<jdk.jfr.internal.RepositoryChunk>);
descriptor: (Ljava/lang/Long;Ljava/util/List;)Ljava/util/List;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: aload 1
invokestatic java.util.Collections.reverse:(Ljava/util/List;)V
1: aload 0
aload 1
invokestatic jdk.jfr.internal.PlatformRecording.reduceFromBeginning:(Ljava/lang/Long;Ljava/util/List;)Ljava/util/List;
astore 2
start local 2 2: aload 2
invokestatic java.util.Collections.reverse:(Ljava/util/List;)V
3: aload 2
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 maxSize Ljava/lang/Long;
0 4 1 input Ljava/util/List<Ljdk/jfr/internal/RepositoryChunk;>;
2 4 2 result Ljava/util/List<Ljdk/jfr/internal/RepositoryChunk;>;
Signature: (Ljava/lang/Long;Ljava/util/List<Ljdk/jfr/internal/RepositoryChunk;>;)Ljava/util/List<Ljdk/jfr/internal/RepositoryChunk;>;
MethodParameters:
Name Flags
maxSize
input
public void setDumpOnExitDirectory(jdk.jfr.internal.SecuritySupport$SafePath);
descriptor: (Ljdk/jfr/internal/SecuritySupport$SafePath;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
putfield jdk.jfr.internal.PlatformRecording.dumpOnExitDirectory:Ljdk/jfr/internal/SecuritySupport$SafePath;
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Ljdk/jfr/internal/PlatformRecording;
0 2 1 directory Ljdk/jfr/internal/SecuritySupport$SafePath;
MethodParameters:
Name Flags
directory
public jdk.jfr.internal.SecuritySupport$SafePath getDumpOnExitDirectory();
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.PlatformRecording.dumpOnExitDirectory:Ljdk/jfr/internal/SecuritySupport$SafePath;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljdk/jfr/internal/PlatformRecording;
private java.lang.String lambda$0();
descriptor: ()Ljava/lang/String;
flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
Code:
stack=4, locals=3, args_size=1
start local 0 0: new java.util.StringJoiner
dup
ldc ", "
invokespecial java.util.StringJoiner.<init>:(Ljava/lang/CharSequence;)V
astore 1
start local 1 1: aload 0
getfield jdk.jfr.internal.PlatformRecording.toDisk:Z
ifne 3
2: aload 1
ldc "disk=false"
invokevirtual java.util.StringJoiner.add:(Ljava/lang/CharSequence;)Ljava/util/StringJoiner;
pop
3: StackMap locals: java.util.StringJoiner
StackMap stack:
aload 0
getfield jdk.jfr.internal.PlatformRecording.maxAge:Ljava/time/Duration;
ifnull 5
4: aload 1
new java.lang.StringBuilder
dup
ldc "maxage="
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
getfield jdk.jfr.internal.PlatformRecording.maxAge:Ljava/time/Duration;
ldc ""
invokestatic jdk.jfr.internal.Utils.formatTimespan:(Ljava/time/Duration;Ljava/lang/String;)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual java.util.StringJoiner.add:(Ljava/lang/CharSequence;)Ljava/util/StringJoiner;
pop
5: StackMap locals:
StackMap stack:
aload 0
getfield jdk.jfr.internal.PlatformRecording.maxSize:J
lconst_0
lcmp
ifeq 7
6: aload 1
new java.lang.StringBuilder
dup
ldc "maxsize="
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
getfield jdk.jfr.internal.PlatformRecording.maxSize:J
invokestatic jdk.jfr.internal.Utils.formatBytesCompact:(J)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual java.util.StringJoiner.add:(Ljava/lang/CharSequence;)Ljava/util/StringJoiner;
pop
7: StackMap locals:
StackMap stack:
aload 0
getfield jdk.jfr.internal.PlatformRecording.dumpOnExit:Z
ifeq 9
8: aload 1
ldc "dumponexit=true"
invokevirtual java.util.StringJoiner.add:(Ljava/lang/CharSequence;)Ljava/util/StringJoiner;
pop
9: StackMap locals:
StackMap stack:
aload 0
getfield jdk.jfr.internal.PlatformRecording.duration:Ljava/time/Duration;
ifnull 11
10: aload 1
new java.lang.StringBuilder
dup
ldc "duration="
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
getfield jdk.jfr.internal.PlatformRecording.duration:Ljava/time/Duration;
ldc ""
invokestatic jdk.jfr.internal.Utils.formatTimespan:(Ljava/time/Duration;Ljava/lang/String;)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual java.util.StringJoiner.add:(Ljava/lang/CharSequence;)Ljava/util/StringJoiner;
pop
11: StackMap locals:
StackMap stack:
aload 0
getfield jdk.jfr.internal.PlatformRecording.destination:Ljdk/jfr/internal/WriteableUserPath;
ifnull 13
12: aload 1
new java.lang.StringBuilder
dup
ldc "filename="
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
getfield jdk.jfr.internal.PlatformRecording.destination:Ljdk/jfr/internal/WriteableUserPath;
invokevirtual jdk.jfr.internal.WriteableUserPath.getText:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual java.util.StringJoiner.add:(Ljava/lang/CharSequence;)Ljava/util/StringJoiner;
pop
13: StackMap locals:
StackMap stack:
aload 1
invokevirtual java.util.StringJoiner.toString:()Ljava/lang/String;
astore 2
start local 2 14: aload 2
invokevirtual java.lang.String.length:()I
ifeq 16
15: new java.lang.StringBuilder
dup
ldc "{"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 2
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "}"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 2
16: StackMap locals: java.lang.String
StackMap stack:
new java.lang.StringBuilder
dup
ldc "Started recording \""
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
invokevirtual jdk.jfr.internal.PlatformRecording.getName:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "\" ("
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
invokevirtual jdk.jfr.internal.PlatformRecording.getId:()J
invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
ldc ") "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 2
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 17 0 this Ljdk/jfr/internal/PlatformRecording;
1 17 1 options Ljava/util/StringJoiner;
14 17 2 optionText Ljava/lang/String;
private java.lang.String lambda$1(jdk.jfr.internal.RepositoryChunk);
descriptor: (Ljdk/jfr/internal/RepositoryChunk;)Ljava/lang/String;
flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
Code:
stack=3, locals=2, args_size=2
start local 0 0: new java.lang.StringBuilder
dup
ldc "Recording \""
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
getfield jdk.jfr.internal.PlatformRecording.name:Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "\" ("
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
getfield jdk.jfr.internal.PlatformRecording.id:J
invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
ldc ") added chunk "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 1
invokevirtual jdk.jfr.internal.RepositoryChunk.toString:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc ", current size="
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
getfield jdk.jfr.internal.PlatformRecording.size:J
invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljdk/jfr/internal/PlatformRecording;
private java.lang.String lambda$2(jdk.jfr.internal.RepositoryChunk);
descriptor: (Ljdk/jfr/internal/RepositoryChunk;)Ljava/lang/String;
flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
Code:
stack=3, locals=2, args_size=2
start local 0 0: new java.lang.StringBuilder
dup
ldc "Recording \""
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
getfield jdk.jfr.internal.PlatformRecording.name:Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "\" ("
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
getfield jdk.jfr.internal.PlatformRecording.id:J
invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
ldc ") removed chunk "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 1
invokevirtual jdk.jfr.internal.RepositoryChunk.toString:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc ", current size="
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
getfield jdk.jfr.internal.PlatformRecording.size:J
invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljdk/jfr/internal/PlatformRecording;
private java.lang.Object lambda$3(jdk.jfr.internal.WriteableUserPath);
descriptor: (Ljdk/jfr/internal/WriteableUserPath;)Ljava/lang/Object;
flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
Code:
stack=5, locals=6, args_size=2
start local 0 0: aconst_null
astore 2
aconst_null
astore 3
1: new jdk.jfr.internal.ChunksChannel
dup
aload 0
getfield jdk.jfr.internal.PlatformRecording.chunks:Ljava/util/LinkedList;
invokespecial jdk.jfr.internal.ChunksChannel.<init>:(Ljava/util/List;)V
astore 4
start local 4 2: aload 1
invokevirtual jdk.jfr.internal.WriteableUserPath.getReal:()Ljava/nio/file/Path;
iconst_2
anewarray java.nio.file.OpenOption
dup
iconst_0
getstatic java.nio.file.StandardOpenOption.WRITE:Ljava/nio/file/StandardOpenOption;
aastore
dup
iconst_1
getstatic java.nio.file.StandardOpenOption.APPEND:Ljava/nio/file/StandardOpenOption;
aastore
invokestatic java.nio.channels.FileChannel.open:(Ljava/nio/file/Path;[Ljava/nio/file/OpenOption;)Ljava/nio/channels/FileChannel;
astore 5
start local 5 3: aload 4
aload 5
invokevirtual jdk.jfr.internal.ChunksChannel.transferTo:(Ljava/nio/channels/FileChannel;)J
pop2
4: aload 5
iconst_1
invokevirtual java.nio.channels.FileChannel.force:(Z)V
5: aload 5
ifnull 8
aload 5
invokevirtual java.nio.channels.FileChannel.close:()V
goto 8
StackMap locals: jdk.jfr.internal.PlatformRecording jdk.jfr.internal.WriteableUserPath java.lang.Throwable java.lang.Throwable jdk.jfr.internal.ChunksChannel java.nio.channels.FileChannel
StackMap stack: java.lang.Throwable
6: astore 2
aload 5
ifnull 7
aload 5
invokevirtual java.nio.channels.FileChannel.close:()V
end local 5 StackMap locals:
StackMap stack:
7: aload 2
athrow
StackMap locals:
StackMap stack:
8: aload 4
ifnull 16
aload 4
invokevirtual jdk.jfr.internal.ChunksChannel.close:()V
goto 16
StackMap locals:
StackMap stack: java.lang.Throwable
9: astore 3
aload 2
ifnonnull 10
aload 3
astore 2
goto 11
StackMap locals:
StackMap stack:
10: aload 2
aload 3
if_acmpeq 11
aload 2
aload 3
invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
StackMap locals:
StackMap stack:
11: aload 4
ifnull 12
aload 4
invokevirtual jdk.jfr.internal.ChunksChannel.close:()V
end local 4 StackMap locals:
StackMap stack:
12: aload 2
athrow
StackMap locals:
StackMap stack: java.lang.Throwable
13: astore 3
aload 2
ifnonnull 14
aload 3
astore 2
goto 15
StackMap locals:
StackMap stack:
14: aload 2
aload 3
if_acmpeq 15
aload 2
aload 3
invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
StackMap locals:
StackMap stack:
15: aload 2
athrow
16: StackMap locals:
StackMap stack:
aconst_null
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 17 0 this Ljdk/jfr/internal/PlatformRecording;
2 12 4 cc Ljdk/jfr/internal/ChunksChannel;
3 7 5 fc Ljava/nio/channels/FileChannel;
Exception table:
from to target type
3 5 6 any
2 8 9 any
1 13 13 any
Exceptions:
throws java.lang.Exception
}
SourceFile: "PlatformRecording.java"
NestMembers:
jdk.jfr.internal.PlatformRecording$1 jdk.jfr.internal.PlatformRecording$2
InnerClasses:
public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles
public abstract Entry = java.util.Map$Entry of java.util.Map
jdk.jfr.internal.PlatformRecording$1
jdk.jfr.internal.PlatformRecording$2
public final SafePath = jdk.jfr.internal.SecuritySupport$SafePath of jdk.jfr.internal.SecuritySupport