public class org.graalvm.compiler.hotspot.GraalHotSpotVMConfigAccess
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.graalvm.compiler.hotspot.GraalHotSpotVMConfigAccess
  super_class: java.lang.Object
{
  protected final jdk.vm.ci.hotspot.HotSpotVMConfigAccess access;
    descriptor: Ljdk/vm/ci/hotspot/HotSpotVMConfigAccess;
    flags: (0x0014) ACC_PROTECTED, ACC_FINAL

  private final java.util.Map<java.lang.String, java.lang.Long> vmAddresses;
    descriptor: Ljava/util/Map;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Ljava/util/Map<Ljava/lang/String;Ljava/lang/Long;>;

  private final java.util.Map<java.lang.String, java.lang.Long> vmConstants;
    descriptor: Ljava/util/Map;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Ljava/util/Map<Ljava/lang/String;Ljava/lang/Long;>;

  private final java.util.Map<java.lang.String, jdk.vm.ci.hotspot.VMField> vmFields;
    descriptor: Ljava/util/Map;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Ljava/util/Map<Ljava/lang/String;Ljdk/vm/ci/hotspot/VMField;>;

  public static final java.util.Set<java.lang.String> KNOWN_ARCHITECTURES;
    descriptor: Ljava/util/Set;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    Signature: Ljava/util/Set<Ljava/lang/String;>;

  public static final java.util.Set<java.lang.String> KNOWN_OS_NAMES;
    descriptor: Ljava/util/Set;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    Signature: Ljava/util/Set<Ljava/lang/String;>;

  public final java.lang.String osName;
    descriptor: Ljava/lang/String;
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL

  public final java.lang.String osArch;
    descriptor: Ljava/lang/String;
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL

  protected static final org.graalvm.compiler.hotspot.JVMCIVersionCheck$Version JVMCI_0_55;
    descriptor: Lorg/graalvm/compiler/hotspot/JVMCIVersionCheck$Version;
    flags: (0x001c) ACC_PROTECTED, ACC_STATIC, ACC_FINAL

  protected static final org.graalvm.compiler.hotspot.JVMCIVersionCheck$Version JVMCI_20_2_b04;
    descriptor: Lorg/graalvm/compiler/hotspot/JVMCIVersionCheck$Version;
    flags: (0x001c) ACC_PROTECTED, ACC_STATIC, ACC_FINAL

  protected static final org.graalvm.compiler.hotspot.JVMCIVersionCheck$Version JVMCI_20_2_b01;
    descriptor: Lorg/graalvm/compiler/hotspot/JVMCIVersionCheck$Version;
    flags: (0x001c) ACC_PROTECTED, ACC_STATIC, ACC_FINAL

  protected static final org.graalvm.compiler.hotspot.JVMCIVersionCheck$Version JVMCI_20_1_b01;
    descriptor: Lorg/graalvm/compiler/hotspot/JVMCIVersionCheck$Version;
    flags: (0x001c) ACC_PROTECTED, ACC_STATIC, ACC_FINAL

  protected static final org.graalvm.compiler.hotspot.JVMCIVersionCheck$Version JVMCI_20_0_b03;
    descriptor: Lorg/graalvm/compiler/hotspot/JVMCIVersionCheck$Version;
    flags: (0x001c) ACC_PROTECTED, ACC_STATIC, ACC_FINAL

  protected static final org.graalvm.compiler.hotspot.JVMCIVersionCheck$Version JVMCI_19_3_b03;
    descriptor: Lorg/graalvm/compiler/hotspot/JVMCIVersionCheck$Version;
    flags: (0x001c) ACC_PROTECTED, ACC_STATIC, ACC_FINAL

  protected static final org.graalvm.compiler.hotspot.JVMCIVersionCheck$Version JVMCI_19_3_b04;
    descriptor: Lorg/graalvm/compiler/hotspot/JVMCIVersionCheck$Version;
    flags: (0x001c) ACC_PROTECTED, ACC_STATIC, ACC_FINAL

  protected static final org.graalvm.compiler.hotspot.JVMCIVersionCheck$Version JVMCI_19_3_b07;
    descriptor: Lorg/graalvm/compiler/hotspot/JVMCIVersionCheck$Version;
    flags: (0x001c) ACC_PROTECTED, ACC_STATIC, ACC_FINAL

  public static final int JDK;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL

  public static final int JDK_UPDATE;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL

  public static final boolean IS_OPENJDK;
    descriptor: Z
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL

  public static final org.graalvm.compiler.hotspot.JVMCIVersionCheck$Version JVMCI_VERSION;
    descriptor: Lorg/graalvm/compiler/hotspot/JVMCIVersionCheck$Version;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL

  public static final boolean JVMCI;
    descriptor: Z
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL

  public static final boolean JDK_PRERELEASE;
    descriptor: Z
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL

  private final java.util.List<java.lang.String> missing;
    descriptor: Ljava/util/List;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Ljava/util/List<Ljava/lang/String;>;

  private final java.util.List<java.lang.String> unexpected;
    descriptor: Ljava/util/List;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Ljava/util/List<Ljava/lang/String;>;

  private boolean deferErrors;
    descriptor: Z
    flags: (0x0002) ACC_PRIVATE

  static final boolean $assertionsDisabled;
    descriptor: Z
    flags: (0x1018) ACC_STATIC, ACC_FINAL, ACC_SYNTHETIC

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=6, locals=1, args_size=0
         0: .line 53
            ldc Lorg/graalvm/compiler/hotspot/GraalHotSpotVMConfigAccess;
            invokevirtual java.lang.Class.desiredAssertionStatus:()Z
            ifne 1
            iconst_1
            goto 2
      StackMap locals:
      StackMap stack:
         1: iconst_0
      StackMap locals:
      StackMap stack: int
         2: putstatic org.graalvm.compiler.hotspot.GraalHotSpotVMConfigAccess.$assertionsDisabled:Z
         3: .line 117
            new java.util.HashSet
            dup
            iconst_3
            anewarray java.lang.String
            dup
            iconst_0
            ldc "amd64"
            aastore
            dup
            iconst_1
            ldc "sparc"
            aastore
            dup
            iconst_2
            ldc "aarch64"
            aastore
            invokestatic java.util.Arrays.asList:([Ljava/lang/Object;)Ljava/util/List;
            invokespecial java.util.HashSet.<init>:(Ljava/util/Collection;)V
            putstatic org.graalvm.compiler.hotspot.GraalHotSpotVMConfigAccess.KNOWN_ARCHITECTURES:Ljava/util/Set;
         4: .line 118
            new java.util.HashSet
            dup
            iconst_4
            anewarray java.lang.String
            dup
            iconst_0
            ldc "windows"
            aastore
            dup
            iconst_1
            ldc "linux"
            aastore
            dup
            iconst_2
            ldc "darwin"
            aastore
            dup
            iconst_3
            ldc "solaris"
            aastore
            invokestatic java.util.Arrays.asList:([Ljava/lang/Object;)Ljava/util/List;
            invokespecial java.util.HashSet.<init>:(Ljava/util/Collection;)V
            putstatic org.graalvm.compiler.hotspot.GraalHotSpotVMConfigAccess.KNOWN_OS_NAMES:Ljava/util/Set;
         5: .line 130
            new org.graalvm.compiler.hotspot.JVMCIVersionCheck$Version2
            dup
            iconst_0
            bipush 55
            invokespecial org.graalvm.compiler.hotspot.JVMCIVersionCheck$Version2.<init>:(II)V
            putstatic org.graalvm.compiler.hotspot.GraalHotSpotVMConfigAccess.JVMCI_0_55:Lorg/graalvm/compiler/hotspot/JVMCIVersionCheck$Version;
         6: .line 131
            new org.graalvm.compiler.hotspot.JVMCIVersionCheck$Version3
            dup
            bipush 20
            iconst_2
            iconst_4
            invokespecial org.graalvm.compiler.hotspot.JVMCIVersionCheck$Version3.<init>:(III)V
            putstatic org.graalvm.compiler.hotspot.GraalHotSpotVMConfigAccess.JVMCI_20_2_b04:Lorg/graalvm/compiler/hotspot/JVMCIVersionCheck$Version;
         7: .line 132
            new org.graalvm.compiler.hotspot.JVMCIVersionCheck$Version3
            dup
            bipush 20
            iconst_2
            iconst_1
            invokespecial org.graalvm.compiler.hotspot.JVMCIVersionCheck$Version3.<init>:(III)V
            putstatic org.graalvm.compiler.hotspot.GraalHotSpotVMConfigAccess.JVMCI_20_2_b01:Lorg/graalvm/compiler/hotspot/JVMCIVersionCheck$Version;
         8: .line 133
            new org.graalvm.compiler.hotspot.JVMCIVersionCheck$Version3
            dup
            bipush 20
            iconst_1
            iconst_1
            invokespecial org.graalvm.compiler.hotspot.JVMCIVersionCheck$Version3.<init>:(III)V
            putstatic org.graalvm.compiler.hotspot.GraalHotSpotVMConfigAccess.JVMCI_20_1_b01:Lorg/graalvm/compiler/hotspot/JVMCIVersionCheck$Version;
         9: .line 134
            new org.graalvm.compiler.hotspot.JVMCIVersionCheck$Version3
            dup
            bipush 20
            iconst_0
            iconst_3
            invokespecial org.graalvm.compiler.hotspot.JVMCIVersionCheck$Version3.<init>:(III)V
            putstatic org.graalvm.compiler.hotspot.GraalHotSpotVMConfigAccess.JVMCI_20_0_b03:Lorg/graalvm/compiler/hotspot/JVMCIVersionCheck$Version;
        10: .line 135
            new org.graalvm.compiler.hotspot.JVMCIVersionCheck$Version3
            dup
            bipush 19
            iconst_3
            iconst_3
            invokespecial org.graalvm.compiler.hotspot.JVMCIVersionCheck$Version3.<init>:(III)V
            putstatic org.graalvm.compiler.hotspot.GraalHotSpotVMConfigAccess.JVMCI_19_3_b03:Lorg/graalvm/compiler/hotspot/JVMCIVersionCheck$Version;
        11: .line 136
            new org.graalvm.compiler.hotspot.JVMCIVersionCheck$Version3
            dup
            bipush 19
            iconst_3
            iconst_4
            invokespecial org.graalvm.compiler.hotspot.JVMCIVersionCheck$Version3.<init>:(III)V
            putstatic org.graalvm.compiler.hotspot.GraalHotSpotVMConfigAccess.JVMCI_19_3_b04:Lorg/graalvm/compiler/hotspot/JVMCIVersionCheck$Version;
        12: .line 137
            new org.graalvm.compiler.hotspot.JVMCIVersionCheck$Version3
            dup
            bipush 19
            iconst_3
            bipush 7
            invokespecial org.graalvm.compiler.hotspot.JVMCIVersionCheck$Version3.<init>:(III)V
            putstatic org.graalvm.compiler.hotspot.GraalHotSpotVMConfigAccess.JVMCI_19_3_b07:Lorg/graalvm/compiler/hotspot/JVMCIVersionCheck$Version;
        13: .line 143
            getstatic org.graalvm.compiler.serviceprovider.JavaVersionUtil.JAVA_SPEC:I
            putstatic org.graalvm.compiler.hotspot.GraalHotSpotVMConfigAccess.JDK:I
        14: .line 144
            invokestatic org.graalvm.compiler.serviceprovider.GraalServices.getJavaUpdateVersion:()I
            putstatic org.graalvm.compiler.hotspot.GraalHotSpotVMConfigAccess.JDK_UPDATE:I
        15: .line 145
            ldc "java.vm.name"
            ldc ""
            invokestatic org.graalvm.compiler.hotspot.GraalHotSpotVMConfigAccess.getProperty:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
            ldc "OpenJDK"
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            putstatic org.graalvm.compiler.hotspot.GraalHotSpotVMConfigAccess.IS_OPENJDK:Z
        16: .line 150
            ldc "java.vm.version"
            invokestatic org.graalvm.compiler.hotspot.GraalHotSpotVMConfigAccess.getProperty:(Ljava/lang/String;)Ljava/lang/String;
            astore 0 /* vmVersion */
        start local 0 // java.lang.String vmVersion
        17: .line 151
            aload 0 /* vmVersion */
            invokestatic org.graalvm.compiler.hotspot.JVMCIVersionCheck$Version.parse:(Ljava/lang/String;)Lorg/graalvm/compiler/hotspot/JVMCIVersionCheck$Version;
            putstatic org.graalvm.compiler.hotspot.GraalHotSpotVMConfigAccess.JVMCI_VERSION:Lorg/graalvm/compiler/hotspot/JVMCIVersionCheck$Version;
        18: .line 152
            aload 0 /* vmVersion */
            ldc "SNAPSHOT"
            invokevirtual java.lang.String.contains:(Ljava/lang/CharSequence;)Z
            ifne 19
            aload 0 /* vmVersion */
            ldc "-dev"
            invokevirtual java.lang.String.contains:(Ljava/lang/CharSequence;)Z
            ifne 19
            iconst_0
            goto 20
      StackMap locals: java.lang.String
      StackMap stack:
        19: iconst_1
      StackMap locals:
      StackMap stack: int
        20: putstatic org.graalvm.compiler.hotspot.GraalHotSpotVMConfigAccess.JDK_PRERELEASE:Z
        21: .line 153
            getstatic org.graalvm.compiler.hotspot.GraalHotSpotVMConfigAccess.JVMCI_VERSION:Lorg/graalvm/compiler/hotspot/JVMCIVersionCheck$Version;
            ifnull 22
            iconst_1
            goto 23
      StackMap locals:
      StackMap stack:
        22: iconst_0
      StackMap locals:
      StackMap stack: int
        23: putstatic org.graalvm.compiler.hotspot.GraalHotSpotVMConfigAccess.JVMCI:Z
        end local 0 // java.lang.String vmVersion
        24: .line 154
            return
      LocalVariableTable:
        Start  End  Slot       Name  Signature
           17   24     0  vmVersion  Ljava/lang/String;

  void <init>(jdk.vm.ci.hotspot.HotSpotVMConfigStore);
    descriptor: (Ljdk/vm/ci/hotspot/HotSpotVMConfigStore;)V
    flags: (0x0000) 
    Code:
      stack=5, locals=6, args_size=2
        start local 0 // org.graalvm.compiler.hotspot.GraalHotSpotVMConfigAccess this
        start local 1 // jdk.vm.ci.hotspot.HotSpotVMConfigStore store
         0: .line 60
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 156
            aload 0 /* this */
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            putfield org.graalvm.compiler.hotspot.GraalHotSpotVMConfigAccess.missing:Ljava/util/List;
         2: .line 157
            aload 0 /* this */
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            putfield org.graalvm.compiler.hotspot.GraalHotSpotVMConfigAccess.unexpected:Ljava/util/List;
         3: .line 181
            aload 0 /* this */
            aload 0 /* this */
            instanceof org.graalvm.compiler.hotspot.GraalHotSpotVMConfig
            putfield org.graalvm.compiler.hotspot.GraalHotSpotVMConfigAccess.deferErrors:Z
         4: .line 61
            aload 0 /* this */
            new jdk.vm.ci.hotspot.HotSpotVMConfigAccess
            dup
            aload 1 /* store */
            invokespecial jdk.vm.ci.hotspot.HotSpotVMConfigAccess.<init>:(Ljdk/vm/ci/hotspot/HotSpotVMConfigStore;)V
            putfield org.graalvm.compiler.hotspot.GraalHotSpotVMConfigAccess.access:Ljdk/vm/ci/hotspot/HotSpotVMConfigAccess;
         5: .line 62
            aload 0 /* this */
            aload 1 /* store */
            invokevirtual jdk.vm.ci.hotspot.HotSpotVMConfigStore.getAddresses:()Ljava/util/Map;
            putfield org.graalvm.compiler.hotspot.GraalHotSpotVMConfigAccess.vmAddresses:Ljava/util/Map;
         6: .line 63
            aload 0 /* this */
            aload 1 /* store */
            invokevirtual jdk.vm.ci.hotspot.HotSpotVMConfigStore.getConstants:()Ljava/util/Map;
            putfield org.graalvm.compiler.hotspot.GraalHotSpotVMConfigAccess.vmConstants:Ljava/util/Map;
         7: .line 64
            aload 0 /* this */
            aload 1 /* store */
            invokevirtual jdk.vm.ci.hotspot.HotSpotVMConfigStore.getFields:()Ljava/util/Map;
            putfield org.graalvm.compiler.hotspot.GraalHotSpotVMConfigAccess.vmFields:Ljava/util/Map;
         8: .line 66
            ldc "os.name"
            invokestatic org.graalvm.compiler.hotspot.GraalHotSpotVMConfigAccess.getProperty:(Ljava/lang/String;)Ljava/lang/String;
            astore 2 /* value */
        start local 2 // java.lang.String value
         9: .line 67
            aload 2 /* value */
            dup
            astore 3
            invokevirtual java.lang.String.hashCode:()I
            lookupswitch { // 3
           -187773587: 10
             73425108: 11
             80246032: 12
              default: 19
          }
      StackMap locals: org.graalvm.compiler.hotspot.GraalHotSpotVMConfigAccess jdk.vm.ci.hotspot.HotSpotVMConfigStore java.lang.String java.lang.String
      StackMap stack:
        10: aload 3
            ldc "Mac OS X"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 17
            goto 19
      StackMap locals:
      StackMap stack:
        11: aload 3
            ldc "Linux"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 13
            goto 19
      StackMap locals:
      StackMap stack:
        12: aload 3
            ldc "SunOS"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 15
            goto 19
        13: .line 69
      StackMap locals:
      StackMap stack:
            ldc "linux"
            astore 2 /* value */
        14: .line 70
            goto 23
        15: .line 72
      StackMap locals:
      StackMap stack:
            ldc "solaris"
            astore 2 /* value */
        16: .line 73
            goto 23
        17: .line 75
      StackMap locals:
      StackMap stack:
            ldc "darwin"
            astore 2 /* value */
        18: .line 76
            goto 23
        19: .line 79
      StackMap locals:
      StackMap stack:
            aload 2 /* value */
            ldc "Windows"
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ifeq 22
        20: .line 80
            ldc "windows"
            astore 2 /* value */
        21: .line 81
            goto 23
        22: .line 82
      StackMap locals:
      StackMap stack:
            new jdk.vm.ci.common.JVMCIError
            dup
            new java.lang.StringBuilder
            dup
            ldc "Unexpected OS name: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 2 /* value */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial jdk.vm.ci.common.JVMCIError.<init>:(Ljava/lang/String;)V
            athrow
        23: .line 85
      StackMap locals:
      StackMap stack:
            getstatic org.graalvm.compiler.hotspot.GraalHotSpotVMConfigAccess.$assertionsDisabled:Z
            ifne 24
            getstatic org.graalvm.compiler.hotspot.GraalHotSpotVMConfigAccess.KNOWN_OS_NAMES:Ljava/util/Set;
            aload 2 /* value */
            invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
            ifne 24
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        24: .line 86
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 2 /* value */
            putfield org.graalvm.compiler.hotspot.GraalHotSpotVMConfigAccess.osName:Ljava/lang/String;
        25: .line 88
            ldc "os.arch"
            invokestatic org.graalvm.compiler.hotspot.GraalHotSpotVMConfigAccess.getProperty:(Ljava/lang/String;)Ljava/lang/String;
            astore 4 /* arch */
        start local 4 // java.lang.String arch
        26: .line 89
            aload 4 /* arch */
            dup
            astore 5
            invokevirtual java.lang.String.hashCode:()I
            lookupswitch { // 2
          -2011717608: 27
           -806050265: 28
              default: 32
          }
      StackMap locals: org.graalvm.compiler.hotspot.GraalHotSpotVMConfigAccess jdk.vm.ci.hotspot.HotSpotVMConfigStore java.lang.String top java.lang.String java.lang.String
      StackMap stack:
        27: aload 5
            ldc "sparcv9"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 31
            goto 32
      StackMap locals:
      StackMap stack:
        28: aload 5
            ldc "x86_64"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 29
            goto 32
        29: .line 91
      StackMap locals:
      StackMap stack:
            ldc "amd64"
            astore 4 /* arch */
        30: .line 92
            goto 32
        31: .line 94
      StackMap locals:
      StackMap stack:
            ldc "sparc"
            astore 4 /* arch */
        32: .line 97
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 4 /* arch */
            putfield org.graalvm.compiler.hotspot.GraalHotSpotVMConfigAccess.osArch:Ljava/lang/String;
        33: .line 98
            getstatic org.graalvm.compiler.hotspot.GraalHotSpotVMConfigAccess.$assertionsDisabled:Z
            ifne 34
            getstatic org.graalvm.compiler.hotspot.GraalHotSpotVMConfigAccess.KNOWN_ARCHITECTURES:Ljava/util/Set;
            aload 4 /* arch */
            invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
            ifne 34
            new java.lang.AssertionError
            dup
            aload 4 /* arch */
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
        34: .line 99
      StackMap locals:
      StackMap stack:
            return
        end local 4 // java.lang.String arch
        end local 2 // java.lang.String value
        end local 1 // jdk.vm.ci.hotspot.HotSpotVMConfigStore store
        end local 0 // org.graalvm.compiler.hotspot.GraalHotSpotVMConfigAccess this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   35     0   this  Lorg/graalvm/compiler/hotspot/GraalHotSpotVMConfigAccess;
            0   35     1  store  Ljdk/vm/ci/hotspot/HotSpotVMConfigStore;
            9   35     2  value  Ljava/lang/String;
           26   35     4   arch  Ljava/lang/String;
    MethodParameters:
       Name  Flags
      store  

  public jdk.vm.ci.hotspot.HotSpotVMConfigStore getStore();
    descriptor: ()Ljdk/vm/ci/hotspot/HotSpotVMConfigStore;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.graalvm.compiler.hotspot.GraalHotSpotVMConfigAccess this
         0: .line 102
            aload 0 /* this */
            getfield org.graalvm.compiler.hotspot.GraalHotSpotVMConfigAccess.access:Ljdk/vm/ci/hotspot/HotSpotVMConfigAccess;
            invokevirtual jdk.vm.ci.hotspot.HotSpotVMConfigAccess.getStore:()Ljdk/vm/ci/hotspot/HotSpotVMConfigStore;
            areturn
        end local 0 // org.graalvm.compiler.hotspot.GraalHotSpotVMConfigAccess this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/graalvm/compiler/hotspot/GraalHotSpotVMConfigAccess;

  protected static java.lang.String getProperty(java.lang.String, java.lang.String);
    descriptor: (Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
    flags: (0x000c) ACC_PROTECTED, ACC_STATIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // java.lang.String name
        start local 1 // java.lang.String def
         0: .line 106
            invokestatic jdk.vm.ci.services.Services.getSavedProperties:()Ljava/util/Map;
            aload 0 /* name */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.String
            astore 2 /* value */
        start local 2 // java.lang.String value
         1: .line 107
            aload 2 /* value */
            ifnonnull 3
         2: .line 108
            aload 1 /* def */
            areturn
         3: .line 110
      StackMap locals: java.lang.String
      StackMap stack:
            aload 2 /* value */
            areturn
        end local 2 // java.lang.String value
        end local 1 // java.lang.String def
        end local 0 // java.lang.String name
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    4     0   name  Ljava/lang/String;
            0    4     1    def  Ljava/lang/String;
            1    4     2  value  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      name  
      def   

  protected static java.lang.String getProperty(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/lang/String;
    flags: (0x000c) ACC_PROTECTED, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // java.lang.String name
         0: .line 114
            aload 0 /* name */
            aconst_null
            invokestatic org.graalvm.compiler.hotspot.GraalHotSpotVMConfigAccess.getProperty:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
            areturn
        end local 0 // java.lang.String name
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  name  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      name  

  public static boolean jvmciGE(org.graalvm.compiler.hotspot.JVMCIVersionCheck$Version);
    descriptor: (Lorg/graalvm/compiler/hotspot/JVMCIVersionCheck$Version;)Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.graalvm.compiler.hotspot.JVMCIVersionCheck$Version v
         0: .line 140
            getstatic org.graalvm.compiler.hotspot.GraalHotSpotVMConfigAccess.JVMCI_VERSION:Lorg/graalvm/compiler/hotspot/JVMCIVersionCheck$Version;
            aload 0 /* v */
            invokeinterface org.graalvm.compiler.hotspot.JVMCIVersionCheck$Version.isLessThan:(Lorg/graalvm/compiler/hotspot/JVMCIVersionCheck$Version;)Z
            ifeq 1
            iconst_0
            goto 2
      StackMap locals:
      StackMap stack:
         1: iconst_1
      StackMap locals:
      StackMap stack: int
         2: ireturn
        end local 0 // org.graalvm.compiler.hotspot.JVMCIVersionCheck$Version v
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0     v  Lorg/graalvm/compiler/hotspot/JVMCIVersionCheck$Version;
    MethodParameters:
      Name  Flags
      v     

  private boolean isPresent(java.lang.String, java.util.Map<java.lang.String, ?>, );
    descriptor: (Ljava/lang/String;Ljava/util/Map;Z)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=4, args_size=4
        start local 0 // org.graalvm.compiler.hotspot.GraalHotSpotVMConfigAccess this
        start local 1 // java.lang.String name
        start local 2 // java.util.Map map
        start local 3 // boolean expectPresent
         0: .line 166
            aload 2 /* map */
            aload 1 /* name */
            invokeinterface java.util.Map.containsKey:(Ljava/lang/Object;)Z
            ifeq 4
         1: .line 167
            iload 3 /* expectPresent */
            ifne 3
         2: .line 168
            aload 0 /* this */
            aload 1 /* name */
            aload 0 /* this */
            getfield org.graalvm.compiler.hotspot.GraalHotSpotVMConfigAccess.unexpected:Ljava/util/List;
            aload 2 /* map */
            aload 1 /* name */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokevirtual org.graalvm.compiler.hotspot.GraalHotSpotVMConfigAccess.recordError:(Ljava/lang/String;Ljava/util/List;Ljava/lang/String;)V
         3: .line 170
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
         4: .line 172
      StackMap locals:
      StackMap stack:
            iload 3 /* expectPresent */
            ifeq 6
         5: .line 173
            aload 0 /* this */
            aload 1 /* name */
            aload 0 /* this */
            getfield org.graalvm.compiler.hotspot.GraalHotSpotVMConfigAccess.missing:Ljava/util/List;
            aconst_null
            invokevirtual org.graalvm.compiler.hotspot.GraalHotSpotVMConfigAccess.recordError:(Ljava/lang/String;Ljava/util/List;Ljava/lang/String;)V
         6: .line 176
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        end local 3 // boolean expectPresent
        end local 2 // java.util.Map map
        end local 1 // java.lang.String name
        end local 0 // org.graalvm.compiler.hotspot.GraalHotSpotVMConfigAccess this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    7     0           this  Lorg/graalvm/compiler/hotspot/GraalHotSpotVMConfigAccess;
            0    7     1           name  Ljava/lang/String;
            0    7     2            map  Ljava/util/Map<Ljava/lang/String;*>;
            0    7     3  expectPresent  Z
    Signature: (Ljava/lang/String;Ljava/util/Map<Ljava/lang/String;*>;Z)Z
    MethodParameters:
               Name  Flags
      name           
      map            
      expectPresent  

  private void recordError(java.lang.String, java.util.List<java.lang.String>, java.lang.String);
    descriptor: (Ljava/lang/String;Ljava/util/List;Ljava/lang/String;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=10, args_size=4
        start local 0 // org.graalvm.compiler.hotspot.GraalHotSpotVMConfigAccess this
        start local 1 // java.lang.String name
        start local 2 // java.util.List list
        start local 3 // java.lang.String unexpectedValue
         0: .line 184
            getstatic org.graalvm.compiler.hotspot.GraalHotSpotVMConfigAccess.JDK_PRERELEASE:Z
            ifeq 2
         1: .line 185
            return
         2: .line 187
      StackMap locals:
      StackMap stack:
            aload 1 /* name */
            astore 4 /* message */
        start local 4 // java.lang.String message
         3: .line 188
            aload 0 /* this */
            getfield org.graalvm.compiler.hotspot.GraalHotSpotVMConfigAccess.deferErrors:Z
            ifeq 14
         4: .line 189
            new java.lang.Exception
            dup
            invokespecial java.lang.Exception.<init>:()V
            invokevirtual java.lang.Exception.getStackTrace:()[Ljava/lang/StackTraceElement;
            astore 5 /* trace */
        start local 5 // java.lang.StackTraceElement[] trace
         5: .line 190
            aload 5 /* trace */
            dup
            astore 9
            arraylength
            istore 8
            iconst_0
            istore 7
            goto 13
      StackMap locals: org.graalvm.compiler.hotspot.GraalHotSpotVMConfigAccess java.lang.String java.util.List java.lang.String java.lang.String java.lang.StackTraceElement[] top int int java.lang.StackTraceElement[]
      StackMap stack:
         6: aload 9
            iload 7
            aaload
            astore 6 /* e */
        start local 6 // java.lang.StackTraceElement e
         7: .line 191
            aload 6 /* e */
            invokevirtual java.lang.StackTraceElement.getClassName:()Ljava/lang/String;
            ldc Lorg/graalvm/compiler/hotspot/GraalHotSpotVMConfigAccess;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 9
         8: .line 193
            goto 12
         9: .line 196
      StackMap locals: org.graalvm.compiler.hotspot.GraalHotSpotVMConfigAccess java.lang.String java.util.List java.lang.String java.lang.String java.lang.StackTraceElement[] java.lang.StackTraceElement int int java.lang.StackTraceElement[]
      StackMap stack:
            aload 6 /* e */
            invokevirtual java.lang.StackTraceElement.getMethodName:()Ljava/lang/String;
            ldc "<init>"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 12
        10: .line 197
            new java.lang.StringBuilder
            dup
            aload 4 /* message */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc " at "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 6 /* e */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 4 /* message */
        11: .line 198
            goto 14
        end local 6 // java.lang.StackTraceElement e
        12: .line 190
      StackMap locals: org.graalvm.compiler.hotspot.GraalHotSpotVMConfigAccess java.lang.String java.util.List java.lang.String java.lang.String java.lang.StackTraceElement[] top int int java.lang.StackTraceElement[]
      StackMap stack:
            iinc 7 1
      StackMap locals:
      StackMap stack:
        13: iload 7
            iload 8
            if_icmplt 6
        end local 5 // java.lang.StackTraceElement[] trace
        14: .line 202
      StackMap locals: org.graalvm.compiler.hotspot.GraalHotSpotVMConfigAccess java.lang.String java.util.List java.lang.String java.lang.String
      StackMap stack:
            aload 3 /* unexpectedValue */
            ifnull 16
        15: .line 203
            new java.lang.StringBuilder
            dup
            aload 4 /* message */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc " [value: "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 3 /* unexpectedValue */
            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 4 /* message */
        16: .line 205
      StackMap locals:
      StackMap stack:
            aload 2 /* list */
            aload 4 /* message */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        17: .line 206
            aload 0 /* this */
            getfield org.graalvm.compiler.hotspot.GraalHotSpotVMConfigAccess.deferErrors:Z
            ifne 19
        18: .line 207
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.hotspot.GraalHotSpotVMConfigAccess.reportErrors:()V
        19: .line 209
      StackMap locals:
      StackMap stack:
            return
        end local 4 // java.lang.String message
        end local 3 // java.lang.String unexpectedValue
        end local 2 // java.util.List list
        end local 1 // java.lang.String name
        end local 0 // org.graalvm.compiler.hotspot.GraalHotSpotVMConfigAccess this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0   20     0             this  Lorg/graalvm/compiler/hotspot/GraalHotSpotVMConfigAccess;
            0   20     1             name  Ljava/lang/String;
            0   20     2             list  Ljava/util/List<Ljava/lang/String;>;
            0   20     3  unexpectedValue  Ljava/lang/String;
            3   20     4          message  Ljava/lang/String;
            5   14     5            trace  [Ljava/lang/StackTraceElement;
            7   12     6                e  Ljava/lang/StackTraceElement;
    Signature: (Ljava/lang/String;Ljava/util/List<Ljava/lang/String;>;Ljava/lang/String;)V
    MethodParameters:
                 Name  Flags
      name             
      list             
      unexpectedValue  

  protected void reportErrors();
    descriptor: ()V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=9, locals=4, args_size=1
        start local 0 // org.graalvm.compiler.hotspot.GraalHotSpotVMConfigAccess this
         0: .line 212
            aload 0 /* this */
            iconst_0
            putfield org.graalvm.compiler.hotspot.GraalHotSpotVMConfigAccess.deferErrors:Z
         1: .line 213
            aload 0 /* this */
            getfield org.graalvm.compiler.hotspot.GraalHotSpotVMConfigAccess.missing:Ljava/util/List;
            invokeinterface java.util.List.isEmpty:()Z
            ifeq 2
            aload 0 /* this */
            getfield org.graalvm.compiler.hotspot.GraalHotSpotVMConfigAccess.unexpected:Ljava/util/List;
            invokeinterface java.util.List.isEmpty:()Z
            ifne 21
         2: .line 214
      StackMap locals:
      StackMap stack:
            getstatic org.graalvm.compiler.hotspot.GraalHotSpotVMConfigAccess.JVMCI_VERSION:Lorg/graalvm/compiler/hotspot/JVMCIVersionCheck$Version;
            ifnonnull 3
            ldc ""
            goto 4
      StackMap locals:
      StackMap stack:
         3: new java.lang.StringBuilder
            dup
            ldc " jvmci-"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            getstatic org.graalvm.compiler.hotspot.GraalHotSpotVMConfigAccess.JVMCI_VERSION:Lorg/graalvm/compiler/hotspot/JVMCIVersionCheck$Version;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
      StackMap locals:
      StackMap stack: java.lang.String
         4: astore 1 /* jvmci */
        start local 1 // java.lang.String jvmci
         5: .line 215
            ldc "JDK %d%s %s-%s (java.home=%s, java.vm.name=%s, java.vm.version=%s)"
            bipush 7
            anewarray java.lang.Object
            dup
            iconst_0
         6: .line 216
            getstatic org.graalvm.compiler.hotspot.GraalHotSpotVMConfigAccess.JDK:I
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            dup
            iconst_1
            aload 1 /* jvmci */
            aastore
            dup
            iconst_2
            aload 0 /* this */
            getfield org.graalvm.compiler.hotspot.GraalHotSpotVMConfigAccess.osName:Ljava/lang/String;
            aastore
            dup
            iconst_3
            aload 0 /* this */
            getfield org.graalvm.compiler.hotspot.GraalHotSpotVMConfigAccess.osArch:Ljava/lang/String;
            aastore
            dup
            iconst_4
         7: .line 217
            ldc "java.home"
            invokestatic org.graalvm.compiler.hotspot.GraalHotSpotVMConfigAccess.getProperty:(Ljava/lang/String;)Ljava/lang/String;
            aastore
            dup
            iconst_5
         8: .line 218
            ldc "java.vm.name"
            invokestatic org.graalvm.compiler.hotspot.GraalHotSpotVMConfigAccess.getProperty:(Ljava/lang/String;)Ljava/lang/String;
            aastore
            dup
            bipush 6
         9: .line 219
            ldc "java.vm.version"
            invokestatic org.graalvm.compiler.hotspot.GraalHotSpotVMConfigAccess.getProperty:(Ljava/lang/String;)Ljava/lang/String;
            aastore
        10: .line 215
            invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
            astore 2 /* runtime */
        start local 2 // java.lang.String runtime
        11: .line 220
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 3 /* messages */
        start local 3 // java.util.List messages
        12: .line 221
            aload 0 /* this */
            getfield org.graalvm.compiler.hotspot.GraalHotSpotVMConfigAccess.missing:Ljava/util/List;
            invokeinterface java.util.List.isEmpty:()Z
            ifne 16
        13: .line 222
            aload 3 /* messages */
            ldc "VM config values missing that should be present in %s:%n    %s"
            iconst_2
            anewarray java.lang.Object
            dup
            iconst_0
            aload 2 /* runtime */
            aastore
            dup
            iconst_1
        14: .line 223
            aload 0 /* this */
            getfield org.graalvm.compiler.hotspot.GraalHotSpotVMConfigAccess.missing:Ljava/util/List;
            invokeinterface java.util.List.stream:()Ljava/util/stream/Stream;
            invokeinterface java.util.stream.Stream.sorted:()Ljava/util/stream/Stream;
            new java.lang.StringBuilder
            dup
            invokestatic java.lang.System.lineSeparator:()Ljava/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;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokestatic java.util.stream.Collectors.joining:(Ljava/lang/CharSequence;)Ljava/util/stream/Collector;
            invokeinterface java.util.stream.Stream.collect:(Ljava/util/stream/Collector;)Ljava/lang/Object;
            aastore
        15: .line 222
            invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        16: .line 225
      StackMap locals: java.lang.String java.lang.String java.util.List
      StackMap stack:
            aload 0 /* this */
            getfield org.graalvm.compiler.hotspot.GraalHotSpotVMConfigAccess.unexpected:Ljava/util/List;
            invokeinterface java.util.List.isEmpty:()Z
            ifne 20
        17: .line 226
            aload 3 /* messages */
            ldc "VM config values not expected to be present in %s:%n    %s"
            iconst_2
            anewarray java.lang.Object
            dup
            iconst_0
            aload 2 /* runtime */
            aastore
            dup
            iconst_1
        18: .line 227
            aload 0 /* this */
            getfield org.graalvm.compiler.hotspot.GraalHotSpotVMConfigAccess.unexpected:Ljava/util/List;
            invokeinterface java.util.List.stream:()Ljava/util/stream/Stream;
            invokeinterface java.util.stream.Stream.sorted:()Ljava/util/stream/Stream;
            new java.lang.StringBuilder
            dup
            invokestatic java.lang.System.lineSeparator:()Ljava/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;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokestatic java.util.stream.Collectors.joining:(Ljava/lang/CharSequence;)Ljava/util/stream/Collector;
            invokeinterface java.util.stream.Stream.collect:(Ljava/util/stream/Collector;)Ljava/lang/Object;
            aastore
        19: .line 226
            invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        20: .line 229
      StackMap locals:
      StackMap stack:
            invokestatic java.lang.System.lineSeparator:()Ljava/lang/String;
            aload 3 /* messages */
            invokestatic java.lang.String.join:(Ljava/lang/CharSequence;Ljava/lang/Iterable;)Ljava/lang/String;
            invokestatic org.graalvm.compiler.hotspot.GraalHotSpotVMConfigAccess.reportError:(Ljava/lang/String;)V
        end local 3 // java.util.List messages
        end local 2 // java.lang.String runtime
        end local 1 // java.lang.String jvmci
        21: .line 231
      StackMap locals:
      StackMap stack:
            return
        end local 0 // org.graalvm.compiler.hotspot.GraalHotSpotVMConfigAccess this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   22     0      this  Lorg/graalvm/compiler/hotspot/GraalHotSpotVMConfigAccess;
            5   21     1     jvmci  Ljava/lang/String;
           11   21     2   runtime  Ljava/lang/String;
           12   21     3  messages  Ljava/util/List<Ljava/lang/String;>;

  static void reportError(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=6, locals=5, args_size=1
        start local 0 // java.lang.String rawErrorMessage
         0: .line 234
            ldc "JVMCI_CONFIG_CHECK"
            invokestatic org.graalvm.compiler.hotspot.GraalHotSpotVMConfigAccess.getProperty:(Ljava/lang/String;)Ljava/lang/String;
            astore 1 /* value */
        start local 1 // java.lang.String value
         1: .line 235
            new java.util.Formatter
            dup
            invokespecial java.util.Formatter.<init>:()V
            aload 0 /* rawErrorMessage */
            iconst_0
            anewarray java.lang.Object
            invokevirtual java.util.Formatter.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/util/Formatter;
            astore 2 /* errorMessage */
        start local 2 // java.util.Formatter errorMessage
         2: .line 236
            ldc "java.home"
            invokestatic org.graalvm.compiler.hotspot.GraalHotSpotVMConfigAccess.getProperty:(Ljava/lang/String;)Ljava/lang/String;
            astore 3 /* javaHome */
        start local 3 // java.lang.String javaHome
         3: .line 237
            ldc "java.vm.name"
            invokestatic org.graalvm.compiler.hotspot.GraalHotSpotVMConfigAccess.getProperty:(Ljava/lang/String;)Ljava/lang/String;
            astore 4 /* vmName */
        start local 4 // java.lang.String vmName
         4: .line 238
            aload 2 /* errorMessage */
            ldc "%nSet the JVMCI_CONFIG_CHECK system property to \"ignore\" to suppress "
            iconst_0
            anewarray java.lang.Object
            invokevirtual java.util.Formatter.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/util/Formatter;
            pop
         5: .line 239
            aload 2 /* errorMessage */
            ldc "this error or to \"warn\" to emit a warning and continue execution.%n"
            iconst_0
            anewarray java.lang.Object
            invokevirtual java.util.Formatter.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/util/Formatter;
            pop
         6: .line 240
            aload 2 /* errorMessage */
            ldc "Currently used Java home directory is %s.%n"
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 3 /* javaHome */
            aastore
            invokevirtual java.util.Formatter.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/util/Formatter;
            pop
         7: .line 241
            aload 2 /* errorMessage */
            ldc "Currently used VM configuration is: %s%n"
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 4 /* vmName */
            aastore
            invokevirtual java.util.Formatter.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/util/Formatter;
            pop
         8: .line 242
            ldc "ignore"
            aload 1 /* value */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 10
         9: .line 243
            return
        10: .line 244
      StackMap locals: java.lang.String java.lang.String java.util.Formatter java.lang.String java.lang.String
      StackMap stack:
            ldc "warn"
            aload 1 /* value */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 11
            getstatic org.graalvm.compiler.hotspot.GraalHotSpotVMConfigAccess.JDK_PRERELEASE:Z
            ifeq 13
        11: .line 245
      StackMap locals:
      StackMap stack:
            getstatic java.lang.System.err:Ljava/io/PrintStream;
            aload 2 /* errorMessage */
            invokevirtual java.util.Formatter.toString:()Ljava/lang/String;
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
        12: .line 246
            goto 14
        13: .line 247
      StackMap locals:
      StackMap stack:
            new jdk.vm.ci.common.JVMCIError
            dup
            aload 2 /* errorMessage */
            invokevirtual java.util.Formatter.toString:()Ljava/lang/String;
            invokespecial jdk.vm.ci.common.JVMCIError.<init>:(Ljava/lang/String;)V
            athrow
        14: .line 249
      StackMap locals:
      StackMap stack:
            return
        end local 4 // java.lang.String vmName
        end local 3 // java.lang.String javaHome
        end local 2 // java.util.Formatter errorMessage
        end local 1 // java.lang.String value
        end local 0 // java.lang.String rawErrorMessage
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0   15     0  rawErrorMessage  Ljava/lang/String;
            1   15     1            value  Ljava/lang/String;
            2   15     2     errorMessage  Ljava/util/Formatter;
            3   15     3         javaHome  Ljava/lang/String;
            4   15     4           vmName  Ljava/lang/String;
    MethodParameters:
                 Name  Flags
      rawErrorMessage  

  public long getAddress(java.lang.String, java.lang.Long, boolean);
    descriptor: (Ljava/lang/String;Ljava/lang/Long;Z)J
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=4, args_size=4
        start local 0 // org.graalvm.compiler.hotspot.GraalHotSpotVMConfigAccess this
        start local 1 // java.lang.String name
        start local 2 // java.lang.Long notPresent
        start local 3 // boolean expectPresent
         0: .line 255
            aload 0 /* this */
            aload 1 /* name */
            aload 0 /* this */
            getfield org.graalvm.compiler.hotspot.GraalHotSpotVMConfigAccess.vmAddresses:Ljava/util/Map;
            iload 3 /* expectPresent */
            invokevirtual org.graalvm.compiler.hotspot.GraalHotSpotVMConfigAccess.isPresent:(Ljava/lang/String;Ljava/util/Map;Z)Z
            ifeq 2
         1: .line 256
            aload 0 /* this */
            getfield org.graalvm.compiler.hotspot.GraalHotSpotVMConfigAccess.access:Ljdk/vm/ci/hotspot/HotSpotVMConfigAccess;
            aload 1 /* name */
            aload 2 /* notPresent */
            invokevirtual jdk.vm.ci.hotspot.HotSpotVMConfigAccess.getAddress:(Ljava/lang/String;Ljava/lang/Long;)J
            lreturn
         2: .line 258
      StackMap locals:
      StackMap stack:
            aload 2 /* notPresent */
            invokevirtual java.lang.Long.longValue:()J
            lreturn
        end local 3 // boolean expectPresent
        end local 2 // java.lang.Long notPresent
        end local 1 // java.lang.String name
        end local 0 // org.graalvm.compiler.hotspot.GraalHotSpotVMConfigAccess this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    3     0           this  Lorg/graalvm/compiler/hotspot/GraalHotSpotVMConfigAccess;
            0    3     1           name  Ljava/lang/String;
            0    3     2     notPresent  Ljava/lang/Long;
            0    3     3  expectPresent  Z
    MethodParameters:
               Name  Flags
      name           
      notPresent     
      expectPresent  

  public long getAddress(java.lang.String);
    descriptor: (Ljava/lang/String;)J
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // org.graalvm.compiler.hotspot.GraalHotSpotVMConfigAccess this
        start local 1 // java.lang.String name
         0: .line 265
            aload 0 /* this */
            aload 1 /* name */
            aload 0 /* this */
            getfield org.graalvm.compiler.hotspot.GraalHotSpotVMConfigAccess.vmAddresses:Ljava/util/Map;
            iconst_1
            invokevirtual org.graalvm.compiler.hotspot.GraalHotSpotVMConfigAccess.isPresent:(Ljava/lang/String;Ljava/util/Map;Z)Z
            ifeq 2
         1: .line 266
            aload 0 /* this */
            getfield org.graalvm.compiler.hotspot.GraalHotSpotVMConfigAccess.access:Ljdk/vm/ci/hotspot/HotSpotVMConfigAccess;
            aload 1 /* name */
            lconst_0
            invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
            invokevirtual jdk.vm.ci.hotspot.HotSpotVMConfigAccess.getAddress:(Ljava/lang/String;Ljava/lang/Long;)J
            lreturn
         2: .line 268
      StackMap locals:
      StackMap stack:
            lconst_0
            lreturn
        end local 1 // java.lang.String name
        end local 0 // org.graalvm.compiler.hotspot.GraalHotSpotVMConfigAccess this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/graalvm/compiler/hotspot/GraalHotSpotVMConfigAccess;
            0    3     1  name  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      name  

  public <T> T getConstant(java.lang.String, java.lang.Class<T>, T, );
    descriptor: (Ljava/lang/String;Ljava/lang/Class;Ljava/lang/Object;Z)Ljava/lang/Object;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=5, args_size=5
        start local 0 // org.graalvm.compiler.hotspot.GraalHotSpotVMConfigAccess this
        start local 1 // java.lang.String name
        start local 2 // java.lang.Class type
        start local 3 // java.lang.Object notPresent
        start local 4 // boolean expectPresent
         0: .line 275
            aload 0 /* this */
            aload 1 /* name */
            aload 0 /* this */
            getfield org.graalvm.compiler.hotspot.GraalHotSpotVMConfigAccess.vmConstants:Ljava/util/Map;
            iload 4 /* expectPresent */
            invokevirtual org.graalvm.compiler.hotspot.GraalHotSpotVMConfigAccess.isPresent:(Ljava/lang/String;Ljava/util/Map;Z)Z
            ifeq 2
         1: .line 276
            aload 0 /* this */
            getfield org.graalvm.compiler.hotspot.GraalHotSpotVMConfigAccess.access:Ljdk/vm/ci/hotspot/HotSpotVMConfigAccess;
            aload 1 /* name */
            aload 2 /* type */
            aload 3 /* notPresent */
            invokevirtual jdk.vm.ci.hotspot.HotSpotVMConfigAccess.getConstant:(Ljava/lang/String;Ljava/lang/Class;Ljava/lang/Object;)Ljava/lang/Object;
            areturn
         2: .line 278
      StackMap locals:
      StackMap stack:
            aload 3 /* notPresent */
            areturn
        end local 4 // boolean expectPresent
        end local 3 // java.lang.Object notPresent
        end local 2 // java.lang.Class type
        end local 1 // java.lang.String name
        end local 0 // org.graalvm.compiler.hotspot.GraalHotSpotVMConfigAccess this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    3     0           this  Lorg/graalvm/compiler/hotspot/GraalHotSpotVMConfigAccess;
            0    3     1           name  Ljava/lang/String;
            0    3     2           type  Ljava/lang/Class<TT;>;
            0    3     3     notPresent  TT;
            0    3     4  expectPresent  Z
    Signature: <T:Ljava/lang/Object;>(Ljava/lang/String;Ljava/lang/Class<TT;>;TT;Z)TT;
    MethodParameters:
               Name  Flags
      name           
      type           
      notPresent     
      expectPresent  

  public <T> T getConstant(java.lang.String, java.lang.Class<T>);
    descriptor: (Ljava/lang/String;Ljava/lang/Class;)Ljava/lang/Object;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // org.graalvm.compiler.hotspot.GraalHotSpotVMConfigAccess this
        start local 1 // java.lang.String name
        start local 2 // java.lang.Class type
         0: .line 285
            aload 0 /* this */
            aload 1 /* name */
            aload 0 /* this */
            getfield org.graalvm.compiler.hotspot.GraalHotSpotVMConfigAccess.vmConstants:Ljava/util/Map;
            iconst_1
            invokevirtual org.graalvm.compiler.hotspot.GraalHotSpotVMConfigAccess.isPresent:(Ljava/lang/String;Ljava/util/Map;Z)Z
            ifeq 2
         1: .line 286
            aload 0 /* this */
            getfield org.graalvm.compiler.hotspot.GraalHotSpotVMConfigAccess.access:Ljdk/vm/ci/hotspot/HotSpotVMConfigAccess;
            aload 1 /* name */
            aload 2 /* type */
            invokevirtual jdk.vm.ci.hotspot.HotSpotVMConfigAccess.getConstant:(Ljava/lang/String;Ljava/lang/Class;)Ljava/lang/Object;
            areturn
         2: .line 288
      StackMap locals:
      StackMap stack:
            aload 2 /* type */
            invokestatic org.graalvm.compiler.hotspot.GraalHotSpotVMConfigAccess.getDefault:(Ljava/lang/Class;)Ljava/lang/Object;
            areturn
        end local 2 // java.lang.Class type
        end local 1 // java.lang.String name
        end local 0 // org.graalvm.compiler.hotspot.GraalHotSpotVMConfigAccess this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/graalvm/compiler/hotspot/GraalHotSpotVMConfigAccess;
            0    3     1  name  Ljava/lang/String;
            0    3     2  type  Ljava/lang/Class<TT;>;
    Signature: <T:Ljava/lang/Object;>(Ljava/lang/String;Ljava/lang/Class<TT;>;)TT;
    MethodParameters:
      Name  Flags
      name  
      type  

  public <T> T getFieldOffset(java.lang.String, java.lang.Class<T>, java.lang.String, T, );
    descriptor: (Ljava/lang/String;Ljava/lang/Class;Ljava/lang/String;Ljava/lang/Object;Z)Ljava/lang/Object;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=6, args_size=6
        start local 0 // org.graalvm.compiler.hotspot.GraalHotSpotVMConfigAccess this
        start local 1 // java.lang.String name
        start local 2 // java.lang.Class type
        start local 3 // java.lang.String cppType
        start local 4 // java.lang.Object notPresent
        start local 5 // boolean expectPresent
         0: .line 295
            aload 0 /* this */
            aload 1 /* name */
            aload 0 /* this */
            getfield org.graalvm.compiler.hotspot.GraalHotSpotVMConfigAccess.vmFields:Ljava/util/Map;
            iload 5 /* expectPresent */
            invokevirtual org.graalvm.compiler.hotspot.GraalHotSpotVMConfigAccess.isPresent:(Ljava/lang/String;Ljava/util/Map;Z)Z
            ifeq 2
         1: .line 296
            aload 0 /* this */
            getfield org.graalvm.compiler.hotspot.GraalHotSpotVMConfigAccess.access:Ljdk/vm/ci/hotspot/HotSpotVMConfigAccess;
            aload 1 /* name */
            aload 2 /* type */
            aload 3 /* cppType */
            aload 4 /* notPresent */
            invokevirtual jdk.vm.ci.hotspot.HotSpotVMConfigAccess.getFieldOffset:(Ljava/lang/String;Ljava/lang/Class;Ljava/lang/String;Ljava/lang/Object;)Ljava/lang/Object;
            areturn
         2: .line 298
      StackMap locals:
      StackMap stack:
            aload 4 /* notPresent */
            areturn
        end local 5 // boolean expectPresent
        end local 4 // java.lang.Object notPresent
        end local 3 // java.lang.String cppType
        end local 2 // java.lang.Class type
        end local 1 // java.lang.String name
        end local 0 // org.graalvm.compiler.hotspot.GraalHotSpotVMConfigAccess this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    3     0           this  Lorg/graalvm/compiler/hotspot/GraalHotSpotVMConfigAccess;
            0    3     1           name  Ljava/lang/String;
            0    3     2           type  Ljava/lang/Class<TT;>;
            0    3     3        cppType  Ljava/lang/String;
            0    3     4     notPresent  TT;
            0    3     5  expectPresent  Z
    Signature: <T:Ljava/lang/Object;>(Ljava/lang/String;Ljava/lang/Class<TT;>;Ljava/lang/String;TT;Z)TT;
    MethodParameters:
               Name  Flags
      name           
      type           
      cppType        
      notPresent     
      expectPresent  

  public <T> T getFieldOffset(java.lang.String, java.lang.Class<T>, java.lang.String);
    descriptor: (Ljava/lang/String;Ljava/lang/Class;Ljava/lang/String;)Ljava/lang/Object;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=4, args_size=4
        start local 0 // org.graalvm.compiler.hotspot.GraalHotSpotVMConfigAccess this
        start local 1 // java.lang.String name
        start local 2 // java.lang.Class type
        start local 3 // java.lang.String cppType
         0: .line 305
            aload 0 /* this */
            aload 1 /* name */
            aload 0 /* this */
            getfield org.graalvm.compiler.hotspot.GraalHotSpotVMConfigAccess.vmFields:Ljava/util/Map;
            iconst_1
            invokevirtual org.graalvm.compiler.hotspot.GraalHotSpotVMConfigAccess.isPresent:(Ljava/lang/String;Ljava/util/Map;Z)Z
            ifeq 2
         1: .line 306
            aload 0 /* this */
            getfield org.graalvm.compiler.hotspot.GraalHotSpotVMConfigAccess.access:Ljdk/vm/ci/hotspot/HotSpotVMConfigAccess;
            aload 1 /* name */
            aload 2 /* type */
            aload 3 /* cppType */
            invokevirtual jdk.vm.ci.hotspot.HotSpotVMConfigAccess.getFieldOffset:(Ljava/lang/String;Ljava/lang/Class;Ljava/lang/String;)Ljava/lang/Object;
            areturn
         2: .line 308
      StackMap locals:
      StackMap stack:
            aload 2 /* type */
            invokestatic org.graalvm.compiler.hotspot.GraalHotSpotVMConfigAccess.getDefault:(Ljava/lang/Class;)Ljava/lang/Object;
            areturn
        end local 3 // java.lang.String cppType
        end local 2 // java.lang.Class type
        end local 1 // java.lang.String name
        end local 0 // org.graalvm.compiler.hotspot.GraalHotSpotVMConfigAccess this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    3     0     this  Lorg/graalvm/compiler/hotspot/GraalHotSpotVMConfigAccess;
            0    3     1     name  Ljava/lang/String;
            0    3     2     type  Ljava/lang/Class<TT;>;
            0    3     3  cppType  Ljava/lang/String;
    Signature: <T:Ljava/lang/Object;>(Ljava/lang/String;Ljava/lang/Class<TT;>;Ljava/lang/String;)TT;
    MethodParameters:
         Name  Flags
      name     
      type     
      cppType  

  public <T> T getFieldOffset(java.lang.String, java.lang.Class<T>);
    descriptor: (Ljava/lang/String;Ljava/lang/Class;)Ljava/lang/Object;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // org.graalvm.compiler.hotspot.GraalHotSpotVMConfigAccess this
        start local 1 // java.lang.String name
        start local 2 // java.lang.Class type
         0: .line 315
            aload 0 /* this */
            aload 1 /* name */
            aload 0 /* this */
            getfield org.graalvm.compiler.hotspot.GraalHotSpotVMConfigAccess.vmFields:Ljava/util/Map;
            iconst_1
            invokevirtual org.graalvm.compiler.hotspot.GraalHotSpotVMConfigAccess.isPresent:(Ljava/lang/String;Ljava/util/Map;Z)Z
            ifeq 2
         1: .line 316
            aload 0 /* this */
            getfield org.graalvm.compiler.hotspot.GraalHotSpotVMConfigAccess.access:Ljdk/vm/ci/hotspot/HotSpotVMConfigAccess;
            aload 1 /* name */
            aload 2 /* type */
            invokevirtual jdk.vm.ci.hotspot.HotSpotVMConfigAccess.getFieldOffset:(Ljava/lang/String;Ljava/lang/Class;)Ljava/lang/Object;
            areturn
         2: .line 318
      StackMap locals:
      StackMap stack:
            aload 2 /* type */
            invokestatic org.graalvm.compiler.hotspot.GraalHotSpotVMConfigAccess.getDefault:(Ljava/lang/Class;)Ljava/lang/Object;
            areturn
        end local 2 // java.lang.Class type
        end local 1 // java.lang.String name
        end local 0 // org.graalvm.compiler.hotspot.GraalHotSpotVMConfigAccess this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/graalvm/compiler/hotspot/GraalHotSpotVMConfigAccess;
            0    3     1  name  Ljava/lang/String;
            0    3     2  type  Ljava/lang/Class<TT;>;
    Signature: <T:Ljava/lang/Object;>(Ljava/lang/String;Ljava/lang/Class<TT;>;)TT;
    MethodParameters:
      Name  Flags
      name  
      type  

  public long getFieldAddress(java.lang.String, java.lang.String);
    descriptor: (Ljava/lang/String;Ljava/lang/String;)J
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // org.graalvm.compiler.hotspot.GraalHotSpotVMConfigAccess this
        start local 1 // java.lang.String name
        start local 2 // java.lang.String cppType
         0: .line 325
            aload 0 /* this */
            aload 1 /* name */
            aload 0 /* this */
            getfield org.graalvm.compiler.hotspot.GraalHotSpotVMConfigAccess.vmFields:Ljava/util/Map;
            iconst_1
            invokevirtual org.graalvm.compiler.hotspot.GraalHotSpotVMConfigAccess.isPresent:(Ljava/lang/String;Ljava/util/Map;Z)Z
            ifeq 2
         1: .line 326
            aload 0 /* this */
            getfield org.graalvm.compiler.hotspot.GraalHotSpotVMConfigAccess.access:Ljdk/vm/ci/hotspot/HotSpotVMConfigAccess;
            aload 1 /* name */
            aload 2 /* cppType */
            invokevirtual jdk.vm.ci.hotspot.HotSpotVMConfigAccess.getFieldAddress:(Ljava/lang/String;Ljava/lang/String;)J
            lreturn
         2: .line 328
      StackMap locals:
      StackMap stack:
            lconst_0
            lreturn
        end local 2 // java.lang.String cppType
        end local 1 // java.lang.String name
        end local 0 // org.graalvm.compiler.hotspot.GraalHotSpotVMConfigAccess this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    3     0     this  Lorg/graalvm/compiler/hotspot/GraalHotSpotVMConfigAccess;
            0    3     1     name  Ljava/lang/String;
            0    3     2  cppType  Ljava/lang/String;
    MethodParameters:
         Name  Flags
      name     
      cppType  

  public <T> T getFieldValue(java.lang.String, java.lang.Class<T>, java.lang.String, T, );
    descriptor: (Ljava/lang/String;Ljava/lang/Class;Ljava/lang/String;Ljava/lang/Object;Z)Ljava/lang/Object;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=6, args_size=6
        start local 0 // org.graalvm.compiler.hotspot.GraalHotSpotVMConfigAccess this
        start local 1 // java.lang.String name
        start local 2 // java.lang.Class type
        start local 3 // java.lang.String cppType
        start local 4 // java.lang.Object notPresent
        start local 5 // boolean expectPresent
         0: .line 335
            aload 0 /* this */
            aload 1 /* name */
            aload 0 /* this */
            getfield org.graalvm.compiler.hotspot.GraalHotSpotVMConfigAccess.vmFields:Ljava/util/Map;
            iload 5 /* expectPresent */
            invokevirtual org.graalvm.compiler.hotspot.GraalHotSpotVMConfigAccess.isPresent:(Ljava/lang/String;Ljava/util/Map;Z)Z
            ifeq 2
         1: .line 336
            aload 0 /* this */
            getfield org.graalvm.compiler.hotspot.GraalHotSpotVMConfigAccess.access:Ljdk/vm/ci/hotspot/HotSpotVMConfigAccess;
            aload 1 /* name */
            aload 2 /* type */
            aload 3 /* cppType */
            aload 4 /* notPresent */
            invokevirtual jdk.vm.ci.hotspot.HotSpotVMConfigAccess.getFieldValue:(Ljava/lang/String;Ljava/lang/Class;Ljava/lang/String;Ljava/lang/Object;)Ljava/lang/Object;
            areturn
         2: .line 338
      StackMap locals:
      StackMap stack:
            aload 4 /* notPresent */
            areturn
        end local 5 // boolean expectPresent
        end local 4 // java.lang.Object notPresent
        end local 3 // java.lang.String cppType
        end local 2 // java.lang.Class type
        end local 1 // java.lang.String name
        end local 0 // org.graalvm.compiler.hotspot.GraalHotSpotVMConfigAccess this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    3     0           this  Lorg/graalvm/compiler/hotspot/GraalHotSpotVMConfigAccess;
            0    3     1           name  Ljava/lang/String;
            0    3     2           type  Ljava/lang/Class<TT;>;
            0    3     3        cppType  Ljava/lang/String;
            0    3     4     notPresent  TT;
            0    3     5  expectPresent  Z
    Signature: <T:Ljava/lang/Object;>(Ljava/lang/String;Ljava/lang/Class<TT;>;Ljava/lang/String;TT;Z)TT;
    MethodParameters:
               Name  Flags
      name           
      type           
      cppType        
      notPresent     
      expectPresent  

  public <T> T getFieldValue(java.lang.String, java.lang.Class<T>, java.lang.String);
    descriptor: (Ljava/lang/String;Ljava/lang/Class;Ljava/lang/String;)Ljava/lang/Object;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=4, args_size=4
        start local 0 // org.graalvm.compiler.hotspot.GraalHotSpotVMConfigAccess this
        start local 1 // java.lang.String name
        start local 2 // java.lang.Class type
        start local 3 // java.lang.String cppType
         0: .line 345
            aload 0 /* this */
            aload 1 /* name */
            aload 0 /* this */
            getfield org.graalvm.compiler.hotspot.GraalHotSpotVMConfigAccess.vmFields:Ljava/util/Map;
            iconst_1
            invokevirtual org.graalvm.compiler.hotspot.GraalHotSpotVMConfigAccess.isPresent:(Ljava/lang/String;Ljava/util/Map;Z)Z
            ifeq 2
         1: .line 346
            aload 0 /* this */
            getfield org.graalvm.compiler.hotspot.GraalHotSpotVMConfigAccess.access:Ljdk/vm/ci/hotspot/HotSpotVMConfigAccess;
            aload 1 /* name */
            aload 2 /* type */
            aload 3 /* cppType */
            invokevirtual jdk.vm.ci.hotspot.HotSpotVMConfigAccess.getFieldValue:(Ljava/lang/String;Ljava/lang/Class;Ljava/lang/String;)Ljava/lang/Object;
            areturn
         2: .line 348
      StackMap locals:
      StackMap stack:
            aload 2 /* type */
            invokestatic org.graalvm.compiler.hotspot.GraalHotSpotVMConfigAccess.getDefault:(Ljava/lang/Class;)Ljava/lang/Object;
            areturn
        end local 3 // java.lang.String cppType
        end local 2 // java.lang.Class type
        end local 1 // java.lang.String name
        end local 0 // org.graalvm.compiler.hotspot.GraalHotSpotVMConfigAccess this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    3     0     this  Lorg/graalvm/compiler/hotspot/GraalHotSpotVMConfigAccess;
            0    3     1     name  Ljava/lang/String;
            0    3     2     type  Ljava/lang/Class<TT;>;
            0    3     3  cppType  Ljava/lang/String;
    Signature: <T:Ljava/lang/Object;>(Ljava/lang/String;Ljava/lang/Class<TT;>;Ljava/lang/String;)TT;
    MethodParameters:
         Name  Flags
      name     
      type     
      cppType  

  public <T> T getFieldValue(java.lang.String, java.lang.Class<T>);
    descriptor: (Ljava/lang/String;Ljava/lang/Class;)Ljava/lang/Object;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // org.graalvm.compiler.hotspot.GraalHotSpotVMConfigAccess this
        start local 1 // java.lang.String name
        start local 2 // java.lang.Class type
         0: .line 355
            aload 0 /* this */
            aload 1 /* name */
            aload 0 /* this */
            getfield org.graalvm.compiler.hotspot.GraalHotSpotVMConfigAccess.vmFields:Ljava/util/Map;
            iconst_1
            invokevirtual org.graalvm.compiler.hotspot.GraalHotSpotVMConfigAccess.isPresent:(Ljava/lang/String;Ljava/util/Map;Z)Z
            ifeq 2
         1: .line 356
            aload 0 /* this */
            getfield org.graalvm.compiler.hotspot.GraalHotSpotVMConfigAccess.access:Ljdk/vm/ci/hotspot/HotSpotVMConfigAccess;
            aload 1 /* name */
            aload 2 /* type */
            invokevirtual jdk.vm.ci.hotspot.HotSpotVMConfigAccess.getFieldValue:(Ljava/lang/String;Ljava/lang/Class;)Ljava/lang/Object;
            areturn
         2: .line 358
      StackMap locals:
      StackMap stack:
            aload 2 /* type */
            invokestatic org.graalvm.compiler.hotspot.GraalHotSpotVMConfigAccess.getDefault:(Ljava/lang/Class;)Ljava/lang/Object;
            areturn
        end local 2 // java.lang.Class type
        end local 1 // java.lang.String name
        end local 0 // org.graalvm.compiler.hotspot.GraalHotSpotVMConfigAccess this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/graalvm/compiler/hotspot/GraalHotSpotVMConfigAccess;
            0    3     1  name  Ljava/lang/String;
            0    3     2  type  Ljava/lang/Class<TT;>;
    Signature: <T:Ljava/lang/Object;>(Ljava/lang/String;Ljava/lang/Class<TT;>;)TT;
    MethodParameters:
      Name  Flags
      name  
      type  

  public <T> T getFlag(java.lang.String, java.lang.Class<T>);
    descriptor: (Ljava/lang/String;Ljava/lang/Class;)Ljava/lang/Object;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // org.graalvm.compiler.hotspot.GraalHotSpotVMConfigAccess this
        start local 1 // java.lang.String name
        start local 2 // java.lang.Class type
         0: .line 366
            aload 0 /* this */
            getfield org.graalvm.compiler.hotspot.GraalHotSpotVMConfigAccess.access:Ljdk/vm/ci/hotspot/HotSpotVMConfigAccess;
            aload 1 /* name */
            aload 2 /* type */
            invokevirtual jdk.vm.ci.hotspot.HotSpotVMConfigAccess.getFlag:(Ljava/lang/String;Ljava/lang/Class;)Ljava/lang/Object;
         1: areturn
         2: .line 367
      StackMap locals:
      StackMap stack: jdk.vm.ci.common.JVMCIError
            pop
         3: .line 368
            aload 0 /* this */
            aload 1 /* name */
            aload 0 /* this */
            getfield org.graalvm.compiler.hotspot.GraalHotSpotVMConfigAccess.missing:Ljava/util/List;
            aconst_null
            invokevirtual org.graalvm.compiler.hotspot.GraalHotSpotVMConfigAccess.recordError:(Ljava/lang/String;Ljava/util/List;Ljava/lang/String;)V
         4: .line 369
            aload 2 /* type */
            invokestatic org.graalvm.compiler.hotspot.GraalHotSpotVMConfigAccess.getDefault:(Ljava/lang/Class;)Ljava/lang/Object;
            areturn
        end local 2 // java.lang.Class type
        end local 1 // java.lang.String name
        end local 0 // org.graalvm.compiler.hotspot.GraalHotSpotVMConfigAccess this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lorg/graalvm/compiler/hotspot/GraalHotSpotVMConfigAccess;
            0    5     1  name  Ljava/lang/String;
            0    5     2  type  Ljava/lang/Class<TT;>;
      Exception table:
        from    to  target  type
           0     1       2  Class jdk.vm.ci.common.JVMCIError
    Signature: <T:Ljava/lang/Object;>(Ljava/lang/String;Ljava/lang/Class<TT;>;)TT;
    MethodParameters:
      Name  Flags
      name  
      type  

  public <T> T getFlag(java.lang.String, java.lang.Class<T>, T, );
    descriptor: (Ljava/lang/String;Ljava/lang/Class;Ljava/lang/Object;Z)Ljava/lang/Object;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=7, args_size=5
        start local 0 // org.graalvm.compiler.hotspot.GraalHotSpotVMConfigAccess this
        start local 1 // java.lang.String name
        start local 2 // java.lang.Class type
        start local 3 // java.lang.Object notPresent
        start local 4 // boolean expectPresent
         0: .line 378
            iload 4 /* expectPresent */
            ifeq 2
         1: .line 379
            aload 0 /* this */
            aload 1 /* name */
            aload 2 /* type */
            invokevirtual org.graalvm.compiler.hotspot.GraalHotSpotVMConfigAccess.getFlag:(Ljava/lang/String;Ljava/lang/Class;)Ljava/lang/Object;
            areturn
         2: .line 381
      StackMap locals:
      StackMap stack:
            invokestatic org.graalvm.compiler.debug.Assertions.assertionsEnabled:()Z
            ifeq 22
         3: .line 388
            aload 2 /* type */
            ldc Ljava/lang/Boolean;
            if_acmpne 6
         4: .line 389
            aload 2 /* type */
            new java.lang.Boolean
            dup
            iconst_0
            invokespecial java.lang.Boolean.<init>:(Z)V
            invokevirtual java.lang.Class.cast:(Ljava/lang/Object;)Ljava/lang/Object;
            astore 5 /* sentinel */
        start local 5 // java.lang.Object sentinel
         5: .line 390
            goto 19
        end local 5 // java.lang.Object sentinel
      StackMap locals:
      StackMap stack:
         6: aload 2 /* type */
            ldc Ljava/lang/Byte;
            if_acmpne 9
         7: .line 391
            aload 2 /* type */
            new java.lang.Byte
            dup
            bipush 123
            invokespecial java.lang.Byte.<init>:(B)V
            invokevirtual java.lang.Class.cast:(Ljava/lang/Object;)Ljava/lang/Object;
            astore 5 /* sentinel */
        start local 5 // java.lang.Object sentinel
         8: .line 392
            goto 19
        end local 5 // java.lang.Object sentinel
      StackMap locals:
      StackMap stack:
         9: aload 2 /* type */
            ldc Ljava/lang/Integer;
            if_acmpne 12
        10: .line 393
            aload 2 /* type */
            new java.lang.Integer
            dup
            ldc 1234567890
            invokespecial java.lang.Integer.<init>:(I)V
            invokevirtual java.lang.Class.cast:(Ljava/lang/Object;)Ljava/lang/Object;
            astore 5 /* sentinel */
        start local 5 // java.lang.Object sentinel
        11: .line 394
            goto 19
        end local 5 // java.lang.Object sentinel
      StackMap locals:
      StackMap stack:
        12: aload 2 /* type */
            ldc Ljava/lang/Long;
            if_acmpne 15
        13: .line 395
            aload 2 /* type */
            new java.lang.Long
            dup
            ldc 1234567890987654321
            invokespecial java.lang.Long.<init>:(J)V
            invokevirtual java.lang.Class.cast:(Ljava/lang/Object;)Ljava/lang/Object;
            astore 5 /* sentinel */
        start local 5 // java.lang.Object sentinel
        14: .line 396
            goto 19
        end local 5 // java.lang.Object sentinel
      StackMap locals:
      StackMap stack:
        15: aload 2 /* type */
            ldc Ljava/lang/String;
            if_acmpne 18
        16: .line 397
            aload 2 /* type */
            new java.lang.String
            dup
            ldc "1234567890987654321"
            invokespecial java.lang.String.<init>:(Ljava/lang/String;)V
            invokevirtual java.lang.Class.cast:(Ljava/lang/Object;)Ljava/lang/Object;
            astore 5 /* sentinel */
        start local 5 // java.lang.Object sentinel
        17: .line 398
            goto 19
        end local 5 // java.lang.Object sentinel
        18: .line 399
      StackMap locals:
      StackMap stack:
            new jdk.vm.ci.common.JVMCIError
            dup
            new java.lang.StringBuilder
            dup
            ldc "Unsupported flag type: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 2 /* type */
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial jdk.vm.ci.common.JVMCIError.<init>:(Ljava/lang/String;)V
            athrow
        start local 5 // java.lang.Object sentinel
        19: .line 401
      StackMap locals: java.lang.Object
      StackMap stack:
            aload 0 /* this */
            getfield org.graalvm.compiler.hotspot.GraalHotSpotVMConfigAccess.access:Ljdk/vm/ci/hotspot/HotSpotVMConfigAccess;
            aload 1 /* name */
            aload 2 /* type */
            aload 5 /* sentinel */
            invokevirtual jdk.vm.ci.hotspot.HotSpotVMConfigAccess.getFlag:(Ljava/lang/String;Ljava/lang/Class;Ljava/lang/Object;)Ljava/lang/Object;
            astore 6 /* value */
        start local 6 // java.lang.Object value
        20: .line 402
            aload 6 /* value */
            aload 5 /* sentinel */
            if_acmpeq 22
        21: .line 403
            aload 0 /* this */
            aload 1 /* name */
            aload 0 /* this */
            getfield org.graalvm.compiler.hotspot.GraalHotSpotVMConfigAccess.unexpected:Ljava/util/List;
            aload 6 /* value */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokevirtual org.graalvm.compiler.hotspot.GraalHotSpotVMConfigAccess.recordError:(Ljava/lang/String;Ljava/util/List;Ljava/lang/String;)V
        end local 6 // java.lang.Object value
        end local 5 // java.lang.Object sentinel
        22: .line 406
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.graalvm.compiler.hotspot.GraalHotSpotVMConfigAccess.access:Ljdk/vm/ci/hotspot/HotSpotVMConfigAccess;
            aload 1 /* name */
            aload 2 /* type */
            aload 3 /* notPresent */
            invokevirtual jdk.vm.ci.hotspot.HotSpotVMConfigAccess.getFlag:(Ljava/lang/String;Ljava/lang/Class;Ljava/lang/Object;)Ljava/lang/Object;
            areturn
        end local 4 // boolean expectPresent
        end local 3 // java.lang.Object notPresent
        end local 2 // java.lang.Class type
        end local 1 // java.lang.String name
        end local 0 // org.graalvm.compiler.hotspot.GraalHotSpotVMConfigAccess this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   23     0           this  Lorg/graalvm/compiler/hotspot/GraalHotSpotVMConfigAccess;
            0   23     1           name  Ljava/lang/String;
            0   23     2           type  Ljava/lang/Class<TT;>;
            0   23     3     notPresent  TT;
            0   23     4  expectPresent  Z
            5    6     5       sentinel  TT;
            8    9     5       sentinel  TT;
           11   12     5       sentinel  TT;
           14   15     5       sentinel  TT;
           17   18     5       sentinel  TT;
           19   22     5       sentinel  TT;
           20   22     6          value  TT;
    Signature: <T:Ljava/lang/Object;>(Ljava/lang/String;Ljava/lang/Class<TT;>;TT;Z)TT;
    MethodParameters:
               Name  Flags
      name           
      type           
      notPresent     
      expectPresent  

  private static <T> T getDefault(java.lang.Class<T>);
    descriptor: (Ljava/lang/Class;)Ljava/lang/Object;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=5, locals=1, args_size=1
        start local 0 // java.lang.Class type
         0: .line 410
            aload 0 /* type */
            ldc Ljava/lang/Boolean;
            if_acmpne 2
         1: .line 411
            aload 0 /* type */
            getstatic java.lang.Boolean.FALSE:Ljava/lang/Boolean;
            invokevirtual java.lang.Class.cast:(Ljava/lang/Object;)Ljava/lang/Object;
            areturn
         2: .line 413
      StackMap locals:
      StackMap stack:
            aload 0 /* type */
            ldc Ljava/lang/Byte;
            if_acmpne 4
         3: .line 414
            aload 0 /* type */
            iconst_0
            invokestatic java.lang.Byte.valueOf:(B)Ljava/lang/Byte;
            invokevirtual java.lang.Class.cast:(Ljava/lang/Object;)Ljava/lang/Object;
            areturn
         4: .line 416
      StackMap locals:
      StackMap stack:
            aload 0 /* type */
            ldc Ljava/lang/Integer;
            if_acmpne 6
         5: .line 417
            aload 0 /* type */
            iconst_0
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            invokevirtual java.lang.Class.cast:(Ljava/lang/Object;)Ljava/lang/Object;
            areturn
         6: .line 419
      StackMap locals:
      StackMap stack:
            aload 0 /* type */
            ldc Ljava/lang/Long;
            if_acmpne 8
         7: .line 420
            aload 0 /* type */
            lconst_0
            invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
            invokevirtual java.lang.Class.cast:(Ljava/lang/Object;)Ljava/lang/Object;
            areturn
         8: .line 422
      StackMap locals:
      StackMap stack:
            aload 0 /* type */
            ldc Ljava/lang/String;
            if_acmpne 10
         9: .line 423
            aload 0 /* type */
            aconst_null
            invokevirtual java.lang.Class.cast:(Ljava/lang/Object;)Ljava/lang/Object;
            areturn
        10: .line 425
      StackMap locals:
      StackMap stack:
            new jdk.vm.ci.common.JVMCIError
            dup
            new java.lang.StringBuilder
            dup
            ldc "Unsupported VM config value type: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* type */
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial jdk.vm.ci.common.JVMCIError.<init>:(Ljava/lang/String;)V
            athrow
        end local 0 // java.lang.Class type
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   11     0  type  Ljava/lang/Class<TT;>;
    Signature: <T:Ljava/lang/Object;>(Ljava/lang/Class<TT;>;)TT;
    MethodParameters:
      Name  Flags
      type  
}
SourceFile: "GraalHotSpotVMConfigAccess.java"
InnerClasses:
  public abstract Version = org.graalvm.compiler.hotspot.JVMCIVersionCheck$Version of org.graalvm.compiler.hotspot.JVMCIVersionCheck
  public Version2 = org.graalvm.compiler.hotspot.JVMCIVersionCheck$Version2 of org.graalvm.compiler.hotspot.JVMCIVersionCheck
  public Version3 = org.graalvm.compiler.hotspot.JVMCIVersionCheck$Version3 of org.graalvm.compiler.hotspot.JVMCIVersionCheck