public final class jdk.jfr.internal.JVM
  minor version: 0
  major version: 59
  flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
  this_class: jdk.jfr.internal.JVM
  super_class: java.lang.Object
{
  private static final jdk.jfr.internal.JVM jvm;
    descriptor: Ljdk/jfr/internal/JVM;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  static final java.lang.Object FILE_DELTA_CHANGE;
    descriptor: Ljava/lang/Object;
    flags: (0x0018) ACC_STATIC, ACC_FINAL

  static final long RESERVED_CLASS_ID_LIMIT;
    descriptor: J
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: 500

  private volatile boolean nativeOK;
    descriptor: Z
    flags: (0x0042) ACC_PRIVATE, ACC_VOLATILE

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=2, locals=4, args_size=0
         0: .line 39
            new jdk.jfr.internal.JVM
            dup
            invokespecial jdk.jfr.internal.JVM.<init>:()V
            putstatic jdk.jfr.internal.JVM.jvm:Ljdk/jfr/internal/JVM;
         1: .line 42
            new java.lang.Object
            dup
            invokespecial java.lang.Object.<init>:()V
            putstatic jdk.jfr.internal.JVM.FILE_DELTA_CHANGE:Ljava/lang/Object;
         2: .line 51
            invokestatic jdk.jfr.internal.JVM.registerNatives:()V
         3: .line 52
            invokestatic jdk.jfr.internal.LogTag.values:()[Ljdk/jfr/internal/LogTag;
            dup
            astore 3
            arraylength
            istore 2
            iconst_0
            istore 1
            goto 7
      StackMap locals: top int int jdk.jfr.internal.LogTag[]
      StackMap stack:
         4: aload 3
            iload 1
            aaload
            astore 0 /* tag */
        start local 0 // jdk.jfr.internal.LogTag tag
         5: .line 53
            aload 0 /* tag */
            aload 0 /* tag */
            getfield jdk.jfr.internal.LogTag.id:I
            invokestatic jdk.jfr.internal.JVM.subscribeLogLevel:(Ljdk/jfr/internal/LogTag;I)V
        end local 0 // jdk.jfr.internal.LogTag tag
         6: .line 52
            iinc 1 1
      StackMap locals:
      StackMap stack:
         7: iload 1
            iload 2
            if_icmplt 4
         8: .line 55
            invokestatic jdk.jfr.internal.Options.ensureInitialized:()V
         9: .line 56
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            5    6     0   tag  Ljdk/jfr/internal/LogTag;

  private static native void registerNatives();
    descriptor: ()V
    flags: (0x010a) ACC_PRIVATE, ACC_STATIC, ACC_NATIVE

  public static jdk.jfr.internal.JVM getJVM();
    descriptor: ()Ljdk/jfr/internal/JVM;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 64
            getstatic jdk.jfr.internal.JVM.jvm:Ljdk/jfr/internal/JVM;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  private void <init>();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // jdk.jfr.internal.JVM this
         0: .line 67
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 68
            return
        end local 0 // jdk.jfr.internal.JVM this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Ljdk/jfr/internal/JVM;

  public native void markChunkFinal();
    descriptor: ()V
    flags: (0x0101) ACC_PUBLIC, ACC_NATIVE

  public native void beginRecording();
    descriptor: ()V
    flags: (0x0101) ACC_PUBLIC, ACC_NATIVE

  public native boolean isRecording();
    descriptor: ()Z
    flags: (0x0101) ACC_PUBLIC, ACC_NATIVE

  public native void endRecording();
    descriptor: ()V
    flags: (0x0101) ACC_PUBLIC, ACC_NATIVE

  public static native long counterTime();
    descriptor: ()J
    flags: (0x0109) ACC_PUBLIC, ACC_STATIC, ACC_NATIVE
    RuntimeVisibleAnnotations: 
      jdk.internal.vm.annotation.IntrinsicCandidate()

  public native boolean emitEvent(long, long, long);
    descriptor: (JJJ)Z
    flags: (0x0101) ACC_PUBLIC, ACC_NATIVE
    MethodParameters:
             Name  Flags
      eventTypeId  
      timestamp    
      when         

  public native java.util.List<java.lang.Class<? extends jdk.internal.event.Event>> getAllEventClasses();
    descriptor: ()Ljava/util/List;
    flags: (0x0101) ACC_PUBLIC, ACC_NATIVE
    Signature: ()Ljava/util/List<Ljava/lang/Class<+Ljdk/internal/event/Event;>;>;

  public native long getUnloadedEventClassCount();
    descriptor: ()J
    flags: (0x0101) ACC_PUBLIC, ACC_NATIVE

  public static native long getClassId(java.lang.Class<?>);
    descriptor: (Ljava/lang/Class;)J
    flags: (0x0109) ACC_PUBLIC, ACC_STATIC, ACC_NATIVE
    Signature: (Ljava/lang/Class<*>;)J
    RuntimeVisibleAnnotations: 
      jdk.internal.vm.annotation.IntrinsicCandidate()
    MethodParameters:
       Name  Flags
      clazz  

  public static native long getClassIdNonIntrinsic(java.lang.Class<?>);
    descriptor: (Ljava/lang/Class;)J
    flags: (0x0109) ACC_PUBLIC, ACC_STATIC, ACC_NATIVE
    Signature: (Ljava/lang/Class<*>;)J
    MethodParameters:
       Name  Flags
      clazz  

  public native java.lang.String getPid();
    descriptor: ()Ljava/lang/String;
    flags: (0x0101) ACC_PUBLIC, ACC_NATIVE

  public native long getStackTraceId(int);
    descriptor: (I)J
    flags: (0x0101) ACC_PUBLIC, ACC_NATIVE
    MethodParameters:
           Name  Flags
      skipCount  

  public native long getThreadId(java.lang.Thread);
    descriptor: (Ljava/lang/Thread;)J
    flags: (0x0101) ACC_PUBLIC, ACC_NATIVE
    MethodParameters:
      Name  Flags
      t     

  public native long getTicksFrequency();
    descriptor: ()J
    flags: (0x0101) ACC_PUBLIC, ACC_NATIVE

  public static native void log(int, int, java.lang.String);
    descriptor: (IILjava/lang/String;)V
    flags: (0x0109) ACC_PUBLIC, ACC_STATIC, ACC_NATIVE
    MethodParameters:
          Name  Flags
      tagSetId  
      level     
      message   

  public static native void subscribeLogLevel(jdk.jfr.internal.LogTag, int);
    descriptor: (Ljdk/jfr/internal/LogTag;I)V
    flags: (0x0109) ACC_PUBLIC, ACC_STATIC, ACC_NATIVE
    MethodParameters:
          Name  Flags
      lt        
      tagSetId  

  public synchronized native void retransformClasses(java.lang.Class<?>[]);
    descriptor: ([Ljava/lang/Class;)V
    flags: (0x0121) ACC_PUBLIC, ACC_SYNCHRONIZED, ACC_NATIVE
    Signature: ([Ljava/lang/Class<*>;)V
    MethodParameters:
         Name  Flags
      classes  

  public native void setEnabled(long, boolean);
    descriptor: (JZ)V
    flags: (0x0101) ACC_PUBLIC, ACC_NATIVE
    MethodParameters:
             Name  Flags
      eventTypeId  
      enabled      

  public native void setFileNotification(long);
    descriptor: (J)V
    flags: (0x0101) ACC_PUBLIC, ACC_NATIVE
    MethodParameters:
       Name  Flags
      delta  

  public native void setGlobalBufferCount(long);
    descriptor: (J)V
    flags: (0x0101) ACC_PUBLIC, ACC_NATIVE
    Exceptions:
      throws java.lang.IllegalArgumentException, java.lang.IllegalStateException
    MethodParameters:
       Name  Flags
      count  

  public native void setGlobalBufferSize(long);
    descriptor: (J)V
    flags: (0x0101) ACC_PUBLIC, ACC_NATIVE
    Exceptions:
      throws java.lang.IllegalArgumentException
    MethodParameters:
      Name  Flags
      size  

  public native void setMemorySize(long);
    descriptor: (J)V
    flags: (0x0101) ACC_PUBLIC, ACC_NATIVE
    Exceptions:
      throws java.lang.IllegalArgumentException
    MethodParameters:
      Name  Flags
      size  

  public native void setMethodSamplingInterval(long, long);
    descriptor: (JJ)V
    flags: (0x0101) ACC_PUBLIC, ACC_NATIVE
    MethodParameters:
                Name  Flags
      type            
      intervalMillis  

  public native void setOutput(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0101) ACC_PUBLIC, ACC_NATIVE
    MethodParameters:
      Name  Flags
      file  

  public native void setForceInstrumentation(boolean);
    descriptor: (Z)V
    flags: (0x0101) ACC_PUBLIC, ACC_NATIVE
    MethodParameters:
       Name  Flags
      force  

  public native void setSampleThreads(boolean);
    descriptor: (Z)V
    flags: (0x0101) ACC_PUBLIC, ACC_NATIVE
    Exceptions:
      throws java.lang.IllegalStateException
    MethodParameters:
               Name  Flags
      sampleThreads  

  public native void setCompressedIntegers(boolean);
    descriptor: (Z)V
    flags: (0x0101) ACC_PUBLIC, ACC_NATIVE
    Exceptions:
      throws java.lang.IllegalStateException
    MethodParameters:
            Name  Flags
      compressed  

  public native void setStackDepth(int);
    descriptor: (I)V
    flags: (0x0101) ACC_PUBLIC, ACC_NATIVE
    Exceptions:
      throws java.lang.IllegalArgumentException, java.lang.IllegalStateException
    MethodParameters:
       Name  Flags
      depth  

  public native void setStackTraceEnabled(long, boolean);
    descriptor: (JZ)V
    flags: (0x0101) ACC_PUBLIC, ACC_NATIVE
    MethodParameters:
             Name  Flags
      eventTypeId  
      enabled      

  public native void setThreadBufferSize(long);
    descriptor: (J)V
    flags: (0x0101) ACC_PUBLIC, ACC_NATIVE
    Exceptions:
      throws java.lang.IllegalArgumentException, java.lang.IllegalStateException
    MethodParameters:
      Name  Flags
      size  

  public native boolean setThreshold(long, long);
    descriptor: (JJ)Z
    flags: (0x0101) ACC_PUBLIC, ACC_NATIVE
    MethodParameters:
             Name  Flags
      eventTypeId  
      ticks        

  public native void storeMetadataDescriptor(byte[]);
    descriptor: ([B)V
    flags: (0x0101) ACC_PUBLIC, ACC_NATIVE
    MethodParameters:
       Name  Flags
      bytes  

  public native boolean getAllowedToDoEventRetransforms();
    descriptor: ()Z
    flags: (0x0101) ACC_PUBLIC, ACC_NATIVE

  private native boolean createJFR(boolean);
    descriptor: (Z)Z
    flags: (0x0102) ACC_PRIVATE, ACC_NATIVE
    Exceptions:
      throws java.lang.IllegalStateException
    MethodParameters:
                 Name  Flags
      simulateFailure  

  private native boolean destroyJFR();
    descriptor: ()Z
    flags: (0x0102) ACC_PRIVATE, ACC_NATIVE

  public boolean createFailedNativeJFR();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // jdk.jfr.internal.JVM this
         0: .line 397
            aload 0 /* this */
            iconst_1
            invokevirtual jdk.jfr.internal.JVM.createJFR:(Z)Z
            ireturn
        end local 0 // jdk.jfr.internal.JVM this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljdk/jfr/internal/JVM;
    Exceptions:
      throws java.lang.IllegalStateException

  public void createNativeJFR();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // jdk.jfr.internal.JVM this
         0: .line 401
            aload 0 /* this */
            aload 0 /* this */
            iconst_0
            invokevirtual jdk.jfr.internal.JVM.createJFR:(Z)Z
            putfield jdk.jfr.internal.JVM.nativeOK:Z
         1: .line 402
            return
        end local 0 // jdk.jfr.internal.JVM this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Ljdk/jfr/internal/JVM;

  public boolean destroyNativeJFR();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // jdk.jfr.internal.JVM this
         0: .line 405
            aload 0 /* this */
            invokevirtual jdk.jfr.internal.JVM.destroyJFR:()Z
            istore 1 /* result */
        start local 1 // boolean result
         1: .line 406
            aload 0 /* this */
            iload 1 /* result */
            ifeq 2
            iconst_0
            goto 3
      StackMap locals: jdk.jfr.internal.JVM int
      StackMap stack: jdk.jfr.internal.JVM
         2: iconst_1
      StackMap locals: jdk.jfr.internal.JVM int
      StackMap stack: jdk.jfr.internal.JVM int
         3: putfield jdk.jfr.internal.JVM.nativeOK:Z
         4: .line 407
            iload 1 /* result */
            ireturn
        end local 1 // boolean result
        end local 0 // jdk.jfr.internal.JVM this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    5     0    this  Ljdk/jfr/internal/JVM;
            1    5     1  result  Z

  public boolean hasNativeJFR();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // jdk.jfr.internal.JVM this
         0: .line 411
            aload 0 /* this */
            getfield jdk.jfr.internal.JVM.nativeOK:Z
            ireturn
        end local 0 // jdk.jfr.internal.JVM this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljdk/jfr/internal/JVM;

  public native boolean isAvailable();
    descriptor: ()Z
    flags: (0x0101) ACC_PUBLIC, ACC_NATIVE

  public native double getTimeConversionFactor();
    descriptor: ()D
    flags: (0x0101) ACC_PUBLIC, ACC_NATIVE

  public native long getTypeId(java.lang.Class<?>);
    descriptor: (Ljava/lang/Class;)J
    flags: (0x0101) ACC_PUBLIC, ACC_NATIVE
    Signature: (Ljava/lang/Class<*>;)J
    MethodParameters:
       Name  Flags
      clazz  

  public static native java.lang.Object getEventWriter();
    descriptor: ()Ljava/lang/Object;
    flags: (0x0109) ACC_PUBLIC, ACC_STATIC, ACC_NATIVE
    RuntimeVisibleAnnotations: 
      jdk.internal.vm.annotation.IntrinsicCandidate()

  public static native jdk.jfr.internal.EventWriter newEventWriter();
    descriptor: ()Ljdk/jfr/internal/EventWriter;
    flags: (0x0109) ACC_PUBLIC, ACC_STATIC, ACC_NATIVE

  public static native boolean flush(jdk.jfr.internal.EventWriter, int, int);
    descriptor: (Ljdk/jfr/internal/EventWriter;II)Z
    flags: (0x0109) ACC_PUBLIC, ACC_STATIC, ACC_NATIVE
    MethodParameters:
                 Name  Flags
      writer           
      uncommittedSize  
      requestedSize    

  public native void flush();
    descriptor: ()V
    flags: (0x0101) ACC_PUBLIC, ACC_NATIVE

  public native void setRepositoryLocation(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0101) ACC_PUBLIC, ACC_NATIVE
    MethodParameters:
         Name  Flags
      dirText  

  public native void abort(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0101) ACC_PUBLIC, ACC_NATIVE
    MethodParameters:
          Name  Flags
      errorMsg  

  public static native boolean addStringConstant(long, java.lang.String);
    descriptor: (JLjava/lang/String;)Z
    flags: (0x0109) ACC_PUBLIC, ACC_STATIC, ACC_NATIVE
    MethodParameters:
      Name  Flags
      id    
      s     

  public native void uncaughtException(java.lang.Thread, java.lang.Throwable);
    descriptor: (Ljava/lang/Thread;Ljava/lang/Throwable;)V
    flags: (0x0101) ACC_PUBLIC, ACC_NATIVE
    MethodParameters:
        Name  Flags
      thread  
      t       

  public native boolean setCutoff(long, long);
    descriptor: (JJ)Z
    flags: (0x0101) ACC_PUBLIC, ACC_NATIVE
    MethodParameters:
             Name  Flags
      eventTypeId  
      cutoffTicks  

  public native boolean setThrottle(long, long, long);
    descriptor: (JJJ)Z
    flags: (0x0101) ACC_PUBLIC, ACC_NATIVE
    MethodParameters:
                 Name  Flags
      eventTypeId      
      eventSampleSize  
      period_ms        

  public native void emitOldObjectSamples(long, boolean, boolean);
    descriptor: (JZZ)V
    flags: (0x0101) ACC_PUBLIC, ACC_NATIVE
    MethodParameters:
         Name  Flags
      cutoff   
      emitAll  
      skipBFS  

  public native boolean shouldRotateDisk();
    descriptor: ()Z
    flags: (0x0101) ACC_PUBLIC, ACC_NATIVE

  public native void exclude(java.lang.Thread);
    descriptor: (Ljava/lang/Thread;)V
    flags: (0x0101) ACC_PUBLIC, ACC_NATIVE
    MethodParameters:
        Name  Flags
      thread  

  public native void include(java.lang.Thread);
    descriptor: (Ljava/lang/Thread;)V
    flags: (0x0101) ACC_PUBLIC, ACC_NATIVE
    MethodParameters:
        Name  Flags
      thread  

  public native boolean isExcluded(java.lang.Thread);
    descriptor: (Ljava/lang/Thread;)Z
    flags: (0x0101) ACC_PUBLIC, ACC_NATIVE
    MethodParameters:
        Name  Flags
      thread  

  public native long getChunkStartNanos();
    descriptor: ()J
    flags: (0x0101) ACC_PUBLIC, ACC_NATIVE

  public native boolean setHandler(java.lang.Class<? extends jdk.internal.event.Event>, jdk.jfr.internal.handlers.EventHandler);
    descriptor: (Ljava/lang/Class;Ljdk/jfr/internal/handlers/EventHandler;)Z
    flags: (0x0101) ACC_PUBLIC, ACC_NATIVE
    Signature: (Ljava/lang/Class<+Ljdk/internal/event/Event;>;Ljdk/jfr/internal/handlers/EventHandler;)Z
    MethodParameters:
            Name  Flags
      eventClass  
      handler     

  public native  getHandler(java.lang.Class<? extends jdk.internal.event.Event>);
    descriptor: (Ljava/lang/Class;)Ljava/lang/Object;
    flags: (0x0101) ACC_PUBLIC, ACC_NATIVE
    Signature: (Ljava/lang/Class<+Ljdk/internal/event/Event;>;)Ljava/lang/Object;
    MethodParameters:
            Name  Flags
      eventClass  

  public native long getTypeId(java.lang.String);
    descriptor: (Ljava/lang/String;)J
    flags: (0x0101) ACC_PUBLIC, ACC_NATIVE
    MethodParameters:
      Name  Flags
      name  
}
SourceFile: "JVM.java"