public class jdk.vm.ci.runtime.JVMCI
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: jdk.vm.ci.runtime.JVMCI
  super_class: java.lang.Object
{
  private static final jdk.vm.ci.runtime.JVMCIRuntime runtime;
    descriptor: Ljdk/vm/ci/runtime/JVMCIRuntime;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=1, locals=1, args_size=0
         0: .line 56
            aconst_null
            astore 0 /* rt */
        start local 0 // jdk.vm.ci.runtime.JVMCIRuntime rt
         1: .line 58
            invokestatic jdk.vm.ci.runtime.JVMCI.initializeRuntime:()Ljdk/vm/ci/runtime/JVMCIRuntime;
            astore 0 /* rt */
         2: .line 59
            goto 4
      StackMap locals: jdk.vm.ci.runtime.JVMCIRuntime
      StackMap stack: java.lang.UnsatisfiedLinkError
         3: pop
         4: .line 61
      StackMap locals:
      StackMap stack:
            aload 0 /* rt */
            putstatic jdk.vm.ci.runtime.JVMCI.runtime:Ljdk/vm/ci/runtime/JVMCIRuntime;
        end local 0 // jdk.vm.ci.runtime.JVMCIRuntime rt
         5: .line 62
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            1    5     0    rt  Ljdk/vm/ci/runtime/JVMCIRuntime;
      Exception table:
        from    to  target  type
           1     2       3  Class java.lang.UnsatisfiedLinkError

  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // jdk.vm.ci.runtime.JVMCI this
         0: .line 27
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
            return
        end local 0 // jdk.vm.ci.runtime.JVMCI this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljdk/vm/ci/runtime/JVMCI;

  private static native jdk.vm.ci.runtime.JVMCIRuntime initializeRuntime();
    descriptor: ()Ljdk/vm/ci/runtime/JVMCIRuntime;
    flags: (0x010a) ACC_PRIVATE, ACC_STATIC, ACC_NATIVE

  public static void initialize();
    descriptor: ()V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=0, locals=0, args_size=0
         0: .line 35
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public static jdk.vm.ci.runtime.JVMCIRuntime getRuntime();
    descriptor: ()Ljdk/vm/ci/runtime/JVMCIRuntime;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=6, locals=3, args_size=0
         0: .line 43
            getstatic jdk.vm.ci.runtime.JVMCI.runtime:Ljdk/vm/ci/runtime/JVMCIRuntime;
            ifnonnull 8
         1: .line 44
            ldc "java.home"
            invokestatic java.lang.System.getProperty:(Ljava/lang/String;)Ljava/lang/String;
            astore 0 /* javaHome */
        start local 0 // java.lang.String javaHome
         2: .line 45
            ldc "java.vm.name"
            invokestatic java.lang.System.getProperty:(Ljava/lang/String;)Ljava/lang/String;
            astore 1 /* vmName */
        start local 1 // java.lang.String vmName
         3: .line 46
            new java.util.Formatter
            dup
            invokespecial java.util.Formatter.<init>:()V
            astore 2 /* errorMessage */
        start local 2 // java.util.Formatter errorMessage
         4: .line 47
            aload 2 /* errorMessage */
            ldc "The VM does not support the JVMCI API.%n"
            iconst_0
            anewarray java.lang.Object
            invokevirtual java.util.Formatter.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/util/Formatter;
            pop
         5: .line 48
            aload 2 /* errorMessage */
            ldc "Currently used Java home directory is %s.%n"
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 0 /* javaHome */
            aastore
            invokevirtual java.util.Formatter.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/util/Formatter;
            pop
         6: .line 49
            aload 2 /* errorMessage */
            ldc "Currently used VM configuration is: %s"
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 1 /* vmName */
            aastore
            invokevirtual java.util.Formatter.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/util/Formatter;
            pop
         7: .line 50
            new java.lang.UnsupportedOperationException
            dup
            aload 2 /* errorMessage */
            invokevirtual java.util.Formatter.toString:()Ljava/lang/String;
            invokespecial java.lang.UnsupportedOperationException.<init>:(Ljava/lang/String;)V
            athrow
        end local 2 // java.util.Formatter errorMessage
        end local 1 // java.lang.String vmName
        end local 0 // java.lang.String javaHome
         8: .line 52
      StackMap locals:
      StackMap stack:
            getstatic jdk.vm.ci.runtime.JVMCI.runtime:Ljdk/vm/ci/runtime/JVMCIRuntime;
            areturn
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            2    8     0      javaHome  Ljava/lang/String;
            3    8     1        vmName  Ljava/lang/String;
            4    8     2  errorMessage  Ljava/util/Formatter;
}
SourceFile: "JVMCI.java"