public final class jdk.jfr.internal.management.ManagementSupport
  minor version: 0
  major version: 59
  flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
  this_class: jdk.jfr.internal.management.ManagementSupport
  super_class: java.lang.Object
{
  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // jdk.jfr.internal.management.ManagementSupport this
         0: .line 66
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
            return
        end local 0 // jdk.jfr.internal.management.ManagementSupport this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljdk/jfr/internal/management/ManagementSupport;

  public static java.util.List<jdk.jfr.EventType> getEventTypes();
    descriptor: ()Ljava/util/List;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=0, args_size=0
         0: .line 85
            invokestatic jdk.jfr.internal.Utils.checkAccessFlightRecorder:()V
         1: .line 86
            invokestatic jdk.jfr.internal.JVMSupport.isNotAvailable:()Z
            ifeq 3
         2: .line 87
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            areturn
         3: .line 89
      StackMap locals:
      StackMap stack:
            invokestatic jdk.jfr.internal.instrument.JDKEvents.initialize:()V
         4: .line 90
            invokestatic jdk.jfr.internal.MetadataRepository.getInstance:()Ljdk/jfr/internal/MetadataRepository;
            invokevirtual jdk.jfr.internal.MetadataRepository.getRegisteredEventTypes:()Ljava/util/List;
            invokestatic java.util.Collections.unmodifiableList:(Ljava/util/List;)Ljava/util/List;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
    Signature: ()Ljava/util/List<Ljdk/jfr/EventType;>;

  public static long parseTimespan(java.lang.String);
    descriptor: (Ljava/lang/String;)J
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // java.lang.String s
         0: .line 95
            aload 0 /* s */
            invokestatic jdk.jfr.internal.Utils.parseTimespan:(Ljava/lang/String;)J
            lreturn
        end local 0 // java.lang.String s
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0     s  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      s     

  public static java.time.Instant epochNanosToInstant(long);
    descriptor: (J)Ljava/time/Instant;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // long epochNanos
         0: .line 100
            lload 0 /* epochNanos */
            invokestatic jdk.jfr.internal.Utils.epochNanosToInstant:(J)Ljava/time/Instant;
            areturn
        end local 0 // long epochNanos
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    1     0  epochNanos  J
    MethodParameters:
            Name  Flags
      epochNanos  

  public static final java.lang.String formatTimespan(java.time.Duration, java.lang.String);
    descriptor: (Ljava/time/Duration;Ljava/lang/String;)Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // java.time.Duration dValue
        start local 1 // java.lang.String separation
         0: .line 105
            aload 0 /* dValue */
            aload 1 /* separation */
            invokestatic jdk.jfr.internal.Utils.formatTimespan:(Ljava/time/Duration;Ljava/lang/String;)Ljava/lang/String;
            areturn
        end local 1 // java.lang.String separation
        end local 0 // java.time.Duration dValue
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    1     0      dValue  Ljava/time/Duration;
            0    1     1  separation  Ljava/lang/String;
    MethodParameters:
            Name  Flags
      dValue      
      separation  

  public static void logError(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // java.lang.String message
         0: .line 110
            getstatic jdk.jfr.internal.LogTag.JFR:Ljdk/jfr/internal/LogTag;
            getstatic jdk.jfr.internal.LogLevel.ERROR:Ljdk/jfr/internal/LogLevel;
            aload 0 /* message */
            invokestatic jdk.jfr.internal.Logger.log:(Ljdk/jfr/internal/LogTag;Ljdk/jfr/internal/LogLevel;Ljava/lang/String;)V
         1: .line 111
            return
        end local 0 // java.lang.String message
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    2     0  message  Ljava/lang/String;
    MethodParameters:
         Name  Flags
      message  

  public static void logDebug(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // java.lang.String message
         0: .line 115
            getstatic jdk.jfr.internal.LogTag.JFR:Ljdk/jfr/internal/LogTag;
            getstatic jdk.jfr.internal.LogLevel.DEBUG:Ljdk/jfr/internal/LogLevel;
            aload 0 /* message */
            invokestatic jdk.jfr.internal.Logger.log:(Ljdk/jfr/internal/LogTag;Ljdk/jfr/internal/LogLevel;Ljava/lang/String;)V
         1: .line 116
            return
        end local 0 // java.lang.String message
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    2     0  message  Ljava/lang/String;
    MethodParameters:
         Name  Flags
      message  

  public static java.lang.String getDestinationOriginalText(jdk.jfr.Recording);
    descriptor: (Ljdk/jfr/Recording;)Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=3, args_size=1
        start local 0 // jdk.jfr.Recording recording
         0: .line 121
            invokestatic jdk.jfr.internal.PrivateAccess.getInstance:()Ljdk/jfr/internal/PrivateAccess;
            aload 0 /* recording */
            invokevirtual jdk.jfr.internal.PrivateAccess.getPlatformRecording:(Ljdk/jfr/Recording;)Ljdk/jfr/internal/PlatformRecording;
            astore 1 /* pr */
        start local 1 // jdk.jfr.internal.PlatformRecording pr
         1: .line 122
            aload 1 /* pr */
            invokevirtual jdk.jfr.internal.PlatformRecording.getDestination:()Ljdk/jfr/internal/WriteableUserPath;
            astore 2 /* wup */
        start local 2 // jdk.jfr.internal.WriteableUserPath wup
         2: .line 123
            aload 2 /* wup */
            ifnonnull 3
            aconst_null
            goto 4
      StackMap locals: jdk.jfr.internal.PlatformRecording jdk.jfr.internal.WriteableUserPath
      StackMap stack:
         3: aload 2 /* wup */
            invokevirtual jdk.jfr.internal.WriteableUserPath.getOriginalText:()Ljava/lang/String;
      StackMap locals:
      StackMap stack: java.lang.String
         4: areturn
        end local 2 // jdk.jfr.internal.WriteableUserPath wup
        end local 1 // jdk.jfr.internal.PlatformRecording pr
        end local 0 // jdk.jfr.Recording recording
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    5     0  recording  Ljdk/jfr/Recording;
            1    5     1         pr  Ljdk/jfr/internal/PlatformRecording;
            2    5     2        wup  Ljdk/jfr/internal/WriteableUserPath;
    MethodParameters:
           Name  Flags
      recording  

  public static void checkSetDestination(jdk.jfr.Recording, java.lang.String);
    descriptor: (Ljdk/jfr/Recording;Ljava/lang/String;)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=4, args_size=2
        start local 0 // jdk.jfr.Recording recording
        start local 1 // java.lang.String destination
         0: .line 129
            invokestatic jdk.jfr.internal.PrivateAccess.getInstance:()Ljdk/jfr/internal/PrivateAccess;
            aload 0 /* recording */
            invokevirtual jdk.jfr.internal.PrivateAccess.getPlatformRecording:(Ljdk/jfr/Recording;)Ljdk/jfr/internal/PlatformRecording;
            astore 2 /* pr */
        start local 2 // jdk.jfr.internal.PlatformRecording pr
         1: .line 130
            aload 1 /* destination */
            ifnull 4
         2: .line 131
            new jdk.jfr.internal.WriteableUserPath
            dup
            aload 1 /* destination */
            iconst_0
            anewarray java.lang.String
            invokestatic java.nio.file.Paths.get:(Ljava/lang/String;[Ljava/lang/String;)Ljava/nio/file/Path;
            invokespecial jdk.jfr.internal.WriteableUserPath.<init>:(Ljava/nio/file/Path;)V
            astore 3 /* wup */
        start local 3 // jdk.jfr.internal.WriteableUserPath wup
         3: .line 132
            aload 2 /* pr */
            aload 3 /* wup */
            invokevirtual jdk.jfr.internal.PlatformRecording.checkSetDestination:(Ljdk/jfr/internal/WriteableUserPath;)V
        end local 3 // jdk.jfr.internal.WriteableUserPath wup
         4: .line 134
      StackMap locals: jdk.jfr.internal.PlatformRecording
      StackMap stack:
            return
        end local 2 // jdk.jfr.internal.PlatformRecording pr
        end local 1 // java.lang.String destination
        end local 0 // jdk.jfr.Recording recording
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    5     0    recording  Ljdk/jfr/Recording;
            0    5     1  destination  Ljava/lang/String;
            1    5     2           pr  Ljdk/jfr/internal/PlatformRecording;
            3    4     3          wup  Ljdk/jfr/internal/WriteableUserPath;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
             Name  Flags
      recording    
      destination  

  public static jdk.jfr.EventSettings newEventSettings(jdk.jfr.internal.management.EventSettingsModifier);
    descriptor: (Ljdk/jfr/internal/management/EventSettingsModifier;)Ljdk/jfr/EventSettings;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // jdk.jfr.internal.management.EventSettingsModifier esm
         0: .line 138
            invokestatic jdk.jfr.internal.PrivateAccess.getInstance:()Ljdk/jfr/internal/PrivateAccess;
            aload 0 /* esm */
            invokevirtual jdk.jfr.internal.PrivateAccess.newEventSettings:(Ljdk/jfr/internal/management/EventSettingsModifier;)Ljdk/jfr/EventSettings;
            areturn
        end local 0 // jdk.jfr.internal.management.EventSettingsModifier esm
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0   esm  Ljdk/jfr/internal/management/EventSettingsModifier;
    MethodParameters:
      Name  Flags
      esm   

  public static void removeBefore(jdk.jfr.Recording, java.time.Instant);
    descriptor: (Ljdk/jfr/Recording;Ljava/time/Instant;)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // jdk.jfr.Recording recording
        start local 1 // java.time.Instant timestamp
         0: .line 143
            invokestatic jdk.jfr.internal.PrivateAccess.getInstance:()Ljdk/jfr/internal/PrivateAccess;
            aload 0 /* recording */
            invokevirtual jdk.jfr.internal.PrivateAccess.getPlatformRecording:(Ljdk/jfr/Recording;)Ljdk/jfr/internal/PlatformRecording;
            astore 2 /* pr */
        start local 2 // jdk.jfr.internal.PlatformRecording pr
         1: .line 144
            aload 2 /* pr */
            aload 1 /* timestamp */
            invokevirtual jdk.jfr.internal.PlatformRecording.removeBefore:(Ljava/time/Instant;)V
         2: .line 145
            return
        end local 2 // jdk.jfr.internal.PlatformRecording pr
        end local 1 // java.time.Instant timestamp
        end local 0 // jdk.jfr.Recording recording
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    3     0  recording  Ljdk/jfr/Recording;
            0    3     1  timestamp  Ljava/time/Instant;
            1    3     2         pr  Ljdk/jfr/internal/PlatformRecording;
    MethodParameters:
           Name  Flags
      recording  
      timestamp  

  public static void removePath(jdk.jfr.Recording, java.nio.file.Path);
    descriptor: (Ljdk/jfr/Recording;Ljava/nio/file/Path;)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=3, args_size=2
        start local 0 // jdk.jfr.Recording recording
        start local 1 // java.nio.file.Path path
         0: .line 149
            invokestatic jdk.jfr.internal.PrivateAccess.getInstance:()Ljdk/jfr/internal/PrivateAccess;
            aload 0 /* recording */
            invokevirtual jdk.jfr.internal.PrivateAccess.getPlatformRecording:(Ljdk/jfr/Recording;)Ljdk/jfr/internal/PlatformRecording;
            astore 2 /* pr */
        start local 2 // jdk.jfr.internal.PlatformRecording pr
         1: .line 150
            aload 2 /* pr */
            new jdk.jfr.internal.SecuritySupport$SafePath
            dup
            aload 1 /* path */
            invokespecial jdk.jfr.internal.SecuritySupport$SafePath.<init>:(Ljava/nio/file/Path;)V
            invokevirtual jdk.jfr.internal.PlatformRecording.removePath:(Ljdk/jfr/internal/SecuritySupport$SafePath;)V
         2: .line 151
            return
        end local 2 // jdk.jfr.internal.PlatformRecording pr
        end local 1 // java.nio.file.Path path
        end local 0 // jdk.jfr.Recording recording
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    3     0  recording  Ljdk/jfr/Recording;
            0    3     1       path  Ljava/nio/file/Path;
            1    3     2         pr  Ljdk/jfr/internal/PlatformRecording;
    MethodParameters:
           Name  Flags
      recording  
      path       

  public static void setOnChunkCompleteHandler(jdk.jfr.consumer.EventStream, java.util.function.Consumer<java.lang.Long>);
    descriptor: (Ljdk/jfr/consumer/EventStream;Ljava/util/function/Consumer;)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // jdk.jfr.consumer.EventStream stream
        start local 1 // java.util.function.Consumer consumer
         0: .line 155
            aload 0 /* stream */
            checkcast jdk.jfr.internal.consumer.EventDirectoryStream
            astore 2 /* eds */
        start local 2 // jdk.jfr.internal.consumer.EventDirectoryStream eds
         1: .line 156
            aload 2 /* eds */
            aload 1 /* consumer */
            invokevirtual jdk.jfr.internal.consumer.EventDirectoryStream.setChunkCompleteHandler:(Ljava/util/function/Consumer;)V
         2: .line 157
            return
        end local 2 // jdk.jfr.internal.consumer.EventDirectoryStream eds
        end local 1 // java.util.function.Consumer consumer
        end local 0 // jdk.jfr.consumer.EventStream stream
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    3     0    stream  Ljdk/jfr/consumer/EventStream;
            0    3     1  consumer  Ljava/util/function/Consumer<Ljava/lang/Long;>;
            1    3     2       eds  Ljdk/jfr/internal/consumer/EventDirectoryStream;
    Signature: (Ljdk/jfr/consumer/EventStream;Ljava/util/function/Consumer<Ljava/lang/Long;>;)V
    MethodParameters:
          Name  Flags
      stream    
      consumer  

  public static long getStartTimeNanos(jdk.jfr.Recording);
    descriptor: (Ljdk/jfr/Recording;)J
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // jdk.jfr.Recording recording
         0: .line 162
            invokestatic jdk.jfr.internal.PrivateAccess.getInstance:()Ljdk/jfr/internal/PrivateAccess;
            aload 0 /* recording */
            invokevirtual jdk.jfr.internal.PrivateAccess.getPlatformRecording:(Ljdk/jfr/Recording;)Ljdk/jfr/internal/PlatformRecording;
            astore 1 /* pr */
        start local 1 // jdk.jfr.internal.PlatformRecording pr
         1: .line 163
            aload 1 /* pr */
            invokevirtual jdk.jfr.internal.PlatformRecording.getStartNanos:()J
            lreturn
        end local 1 // jdk.jfr.internal.PlatformRecording pr
        end local 0 // jdk.jfr.Recording recording
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    2     0  recording  Ljdk/jfr/Recording;
            1    2     1         pr  Ljdk/jfr/internal/PlatformRecording;
    MethodParameters:
           Name  Flags
      recording  

  public static jdk.jfr.Configuration newConfiguration(java.lang.String, java.lang.String, java.lang.String, java.lang.String, java.util.Map<java.lang.String, java.lang.String>, java.lang.String);
    descriptor: (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/util/Map;Ljava/lang/String;)Ljdk/jfr/Configuration;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=7, locals=6, args_size=6
        start local 0 // java.lang.String name
        start local 1 // java.lang.String label
        start local 2 // java.lang.String description
        start local 3 // java.lang.String provider
        start local 4 // java.util.Map settings
        start local 5 // java.lang.String contents
         0: .line 169
            invokestatic jdk.jfr.internal.PrivateAccess.getInstance:()Ljdk/jfr/internal/PrivateAccess;
            aload 0 /* name */
            aload 1 /* label */
            aload 2 /* description */
            aload 3 /* provider */
            aload 4 /* settings */
            aload 5 /* contents */
            invokevirtual jdk.jfr.internal.PrivateAccess.newConfiguration:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/util/Map;Ljava/lang/String;)Ljdk/jfr/Configuration;
            areturn
        end local 5 // java.lang.String contents
        end local 4 // java.util.Map settings
        end local 3 // java.lang.String provider
        end local 2 // java.lang.String description
        end local 1 // java.lang.String label
        end local 0 // java.lang.String name
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    1     0         name  Ljava/lang/String;
            0    1     1        label  Ljava/lang/String;
            0    1     2  description  Ljava/lang/String;
            0    1     3     provider  Ljava/lang/String;
            0    1     4     settings  Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;
            0    1     5     contents  Ljava/lang/String;
    Signature: (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;Ljava/lang/String;)Ljdk/jfr/Configuration;
    MethodParameters:
             Name  Flags
      name         
      label        
      description  
      provider     
      settings     
      contents     

  public static jdk.jfr.consumer.EventStream newEventDirectoryStream(java.security.AccessControlContext, java.nio.file.Path, java.util.List<jdk.jfr.Configuration>);
    descriptor: (Ljava/security/AccessControlContext;Ljava/nio/file/Path;Ljava/util/List;)Ljdk/jfr/consumer/EventStream;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=7, locals=3, args_size=3
        start local 0 // java.security.AccessControlContext acc
        start local 1 // java.nio.file.Path directory
        start local 2 // java.util.List confs
         0: .line 179
            new jdk.jfr.internal.consumer.EventDirectoryStream
            dup
            aload 0 /* acc */
            aload 1 /* directory */
            getstatic jdk.jfr.internal.consumer.FileAccess.UNPRIVILEGED:Ljdk/jfr/internal/consumer/FileAccess;
            aconst_null
            aload 2 /* confs */
            invokespecial jdk.jfr.internal.consumer.EventDirectoryStream.<init>:(Ljava/security/AccessControlContext;Ljava/nio/file/Path;Ljdk/jfr/internal/consumer/FileAccess;Ljdk/jfr/internal/PlatformRecording;Ljava/util/List;)V
            areturn
        end local 2 // java.util.List confs
        end local 1 // java.nio.file.Path directory
        end local 0 // java.security.AccessControlContext acc
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    1     0        acc  Ljava/security/AccessControlContext;
            0    1     1  directory  Ljava/nio/file/Path;
            0    1     2      confs  Ljava/util/List<Ljdk/jfr/Configuration;>;
    Exceptions:
      throws java.io.IOException
    Signature: (Ljava/security/AccessControlContext;Ljava/nio/file/Path;Ljava/util/List<Ljdk/jfr/Configuration;>;)Ljdk/jfr/consumer/EventStream;
    MethodParameters:
           Name  Flags
      acc        
      directory  
      confs      
}
SourceFile: "ManagementSupport.java"
InnerClasses:
  public final SafePath = jdk.jfr.internal.SecuritySupport$SafePath of jdk.jfr.internal.SecuritySupport