public class jdk.vm.ci.hotspot.amd64.AMD64HotSpotJVMCIBackendFactory implements jdk.vm.ci.hotspot.HotSpotJVMCIBackendFactory
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: jdk.vm.ci.hotspot.amd64.AMD64HotSpotJVMCIBackendFactory
  super_class: java.lang.Object
{
  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=1, locals=0, args_size=0
         0: .line 44
            ldc Ljdk/vm/ci/hotspot/amd64/AMD64HotSpotJVMCIBackendFactory;
            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 jdk.vm.ci.hotspot.amd64.AMD64HotSpotJVMCIBackendFactory.$assertionsDisabled:Z
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

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

  protected java.util.EnumSet<jdk.vm.ci.amd64.AMD64$CPUFeature> computeFeatures(jdk.vm.ci.hotspot.amd64.AMD64HotSpotVMConfig);
    descriptor: (Ljdk/vm/ci/hotspot/amd64/AMD64HotSpotVMConfig;)Ljava/util/EnumSet;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=4, locals=3, args_size=2
        start local 0 // jdk.vm.ci.hotspot.amd64.AMD64HotSpotJVMCIBackendFactory this
        start local 1 // jdk.vm.ci.hotspot.amd64.AMD64HotSpotVMConfig config
         0: .line 48
            ldc Ljdk/vm/ci/amd64/AMD64$CPUFeature;
            invokestatic java.util.EnumSet.noneOf:(Ljava/lang/Class;)Ljava/util/EnumSet;
            astore 2 /* features */
        start local 2 // java.util.EnumSet features
         1: .line 49
            aload 1 /* config */
            getfield jdk.vm.ci.hotspot.amd64.AMD64HotSpotVMConfig.vmVersionFeatures:J
            aload 1 /* config */
            getfield jdk.vm.ci.hotspot.amd64.AMD64HotSpotVMConfig.amd643DNOWPREFETCH:J
            land
            lconst_0
            lcmp
            ifeq 3
         2: .line 50
            aload 2 /* features */
            getstatic jdk.vm.ci.amd64.AMD64$CPUFeature.AMD_3DNOW_PREFETCH:Ljdk/vm/ci/amd64/AMD64$CPUFeature;
            invokevirtual java.util.EnumSet.add:(Ljava/lang/Object;)Z
            pop
         3: .line 52
      StackMap locals: java.util.EnumSet
      StackMap stack:
            getstatic jdk.vm.ci.hotspot.amd64.AMD64HotSpotJVMCIBackendFactory.$assertionsDisabled:Z
            ifne 4
            aload 1 /* config */
            getfield jdk.vm.ci.hotspot.amd64.AMD64HotSpotVMConfig.useSSE:I
            iconst_2
            if_icmpge 4
            new java.lang.AssertionError
            dup
            ldc "minimum config for x64"
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
         4: .line 53
      StackMap locals:
      StackMap stack:
            aload 2 /* features */
            getstatic jdk.vm.ci.amd64.AMD64$CPUFeature.SSE:Ljdk/vm/ci/amd64/AMD64$CPUFeature;
            invokevirtual java.util.EnumSet.add:(Ljava/lang/Object;)Z
            pop
         5: .line 54
            aload 2 /* features */
            getstatic jdk.vm.ci.amd64.AMD64$CPUFeature.SSE2:Ljdk/vm/ci/amd64/AMD64$CPUFeature;
            invokevirtual java.util.EnumSet.add:(Ljava/lang/Object;)Z
            pop
         6: .line 55
            aload 1 /* config */
            getfield jdk.vm.ci.hotspot.amd64.AMD64HotSpotVMConfig.vmVersionFeatures:J
            aload 1 /* config */
            getfield jdk.vm.ci.hotspot.amd64.AMD64HotSpotVMConfig.amd64SSE3:J
            land
            lconst_0
            lcmp
            ifeq 8
         7: .line 56
            aload 2 /* features */
            getstatic jdk.vm.ci.amd64.AMD64$CPUFeature.SSE3:Ljdk/vm/ci/amd64/AMD64$CPUFeature;
            invokevirtual java.util.EnumSet.add:(Ljava/lang/Object;)Z
            pop
         8: .line 58
      StackMap locals:
      StackMap stack:
            aload 1 /* config */
            getfield jdk.vm.ci.hotspot.amd64.AMD64HotSpotVMConfig.vmVersionFeatures:J
            aload 1 /* config */
            getfield jdk.vm.ci.hotspot.amd64.AMD64HotSpotVMConfig.amd64SSSE3:J
            land
            lconst_0
            lcmp
            ifeq 10
         9: .line 59
            aload 2 /* features */
            getstatic jdk.vm.ci.amd64.AMD64$CPUFeature.SSSE3:Ljdk/vm/ci/amd64/AMD64$CPUFeature;
            invokevirtual java.util.EnumSet.add:(Ljava/lang/Object;)Z
            pop
        10: .line 61
      StackMap locals:
      StackMap stack:
            aload 1 /* config */
            getfield jdk.vm.ci.hotspot.amd64.AMD64HotSpotVMConfig.vmVersionFeatures:J
            aload 1 /* config */
            getfield jdk.vm.ci.hotspot.amd64.AMD64HotSpotVMConfig.amd64SSE4A:J
            land
            lconst_0
            lcmp
            ifeq 12
        11: .line 62
            aload 2 /* features */
            getstatic jdk.vm.ci.amd64.AMD64$CPUFeature.SSE4A:Ljdk/vm/ci/amd64/AMD64$CPUFeature;
            invokevirtual java.util.EnumSet.add:(Ljava/lang/Object;)Z
            pop
        12: .line 64
      StackMap locals:
      StackMap stack:
            aload 1 /* config */
            getfield jdk.vm.ci.hotspot.amd64.AMD64HotSpotVMConfig.vmVersionFeatures:J
            aload 1 /* config */
            getfield jdk.vm.ci.hotspot.amd64.AMD64HotSpotVMConfig.amd64SSE41:J
            land
            lconst_0
            lcmp
            ifeq 14
        13: .line 65
            aload 2 /* features */
            getstatic jdk.vm.ci.amd64.AMD64$CPUFeature.SSE4_1:Ljdk/vm/ci/amd64/AMD64$CPUFeature;
            invokevirtual java.util.EnumSet.add:(Ljava/lang/Object;)Z
            pop
        14: .line 67
      StackMap locals:
      StackMap stack:
            aload 1 /* config */
            getfield jdk.vm.ci.hotspot.amd64.AMD64HotSpotVMConfig.vmVersionFeatures:J
            aload 1 /* config */
            getfield jdk.vm.ci.hotspot.amd64.AMD64HotSpotVMConfig.amd64SSE42:J
            land
            lconst_0
            lcmp
            ifeq 16
        15: .line 68
            aload 2 /* features */
            getstatic jdk.vm.ci.amd64.AMD64$CPUFeature.SSE4_2:Ljdk/vm/ci/amd64/AMD64$CPUFeature;
            invokevirtual java.util.EnumSet.add:(Ljava/lang/Object;)Z
            pop
        16: .line 70
      StackMap locals:
      StackMap stack:
            aload 1 /* config */
            getfield jdk.vm.ci.hotspot.amd64.AMD64HotSpotVMConfig.vmVersionFeatures:J
            aload 1 /* config */
            getfield jdk.vm.ci.hotspot.amd64.AMD64HotSpotVMConfig.amd64POPCNT:J
            land
            lconst_0
            lcmp
            ifeq 18
        17: .line 71
            aload 2 /* features */
            getstatic jdk.vm.ci.amd64.AMD64$CPUFeature.POPCNT:Ljdk/vm/ci/amd64/AMD64$CPUFeature;
            invokevirtual java.util.EnumSet.add:(Ljava/lang/Object;)Z
            pop
        18: .line 73
      StackMap locals:
      StackMap stack:
            aload 1 /* config */
            getfield jdk.vm.ci.hotspot.amd64.AMD64HotSpotVMConfig.vmVersionFeatures:J
            aload 1 /* config */
            getfield jdk.vm.ci.hotspot.amd64.AMD64HotSpotVMConfig.amd64LZCNT:J
            land
            lconst_0
            lcmp
            ifeq 20
        19: .line 74
            aload 2 /* features */
            getstatic jdk.vm.ci.amd64.AMD64$CPUFeature.LZCNT:Ljdk/vm/ci/amd64/AMD64$CPUFeature;
            invokevirtual java.util.EnumSet.add:(Ljava/lang/Object;)Z
            pop
        20: .line 76
      StackMap locals:
      StackMap stack:
            aload 1 /* config */
            getfield jdk.vm.ci.hotspot.amd64.AMD64HotSpotVMConfig.vmVersionFeatures:J
            aload 1 /* config */
            getfield jdk.vm.ci.hotspot.amd64.AMD64HotSpotVMConfig.amd64ERMS:J
            land
            lconst_0
            lcmp
            ifeq 22
        21: .line 77
            aload 2 /* features */
            getstatic jdk.vm.ci.amd64.AMD64$CPUFeature.ERMS:Ljdk/vm/ci/amd64/AMD64$CPUFeature;
            invokevirtual java.util.EnumSet.add:(Ljava/lang/Object;)Z
            pop
        22: .line 79
      StackMap locals:
      StackMap stack:
            aload 1 /* config */
            getfield jdk.vm.ci.hotspot.amd64.AMD64HotSpotVMConfig.vmVersionFeatures:J
            aload 1 /* config */
            getfield jdk.vm.ci.hotspot.amd64.AMD64HotSpotVMConfig.amd64AVX:J
            land
            lconst_0
            lcmp
            ifeq 24
        23: .line 80
            aload 2 /* features */
            getstatic jdk.vm.ci.amd64.AMD64$CPUFeature.AVX:Ljdk/vm/ci/amd64/AMD64$CPUFeature;
            invokevirtual java.util.EnumSet.add:(Ljava/lang/Object;)Z
            pop
        24: .line 82
      StackMap locals:
      StackMap stack:
            aload 1 /* config */
            getfield jdk.vm.ci.hotspot.amd64.AMD64HotSpotVMConfig.vmVersionFeatures:J
            aload 1 /* config */
            getfield jdk.vm.ci.hotspot.amd64.AMD64HotSpotVMConfig.amd64AVX2:J
            land
            lconst_0
            lcmp
            ifeq 26
        25: .line 83
            aload 2 /* features */
            getstatic jdk.vm.ci.amd64.AMD64$CPUFeature.AVX2:Ljdk/vm/ci/amd64/AMD64$CPUFeature;
            invokevirtual java.util.EnumSet.add:(Ljava/lang/Object;)Z
            pop
        26: .line 85
      StackMap locals:
      StackMap stack:
            aload 1 /* config */
            getfield jdk.vm.ci.hotspot.amd64.AMD64HotSpotVMConfig.vmVersionFeatures:J
            aload 1 /* config */
            getfield jdk.vm.ci.hotspot.amd64.AMD64HotSpotVMConfig.amd64AES:J
            land
            lconst_0
            lcmp
            ifeq 28
        27: .line 86
            aload 2 /* features */
            getstatic jdk.vm.ci.amd64.AMD64$CPUFeature.AES:Ljdk/vm/ci/amd64/AMD64$CPUFeature;
            invokevirtual java.util.EnumSet.add:(Ljava/lang/Object;)Z
            pop
        28: .line 88
      StackMap locals:
      StackMap stack:
            aload 1 /* config */
            getfield jdk.vm.ci.hotspot.amd64.AMD64HotSpotVMConfig.vmVersionFeatures:J
            aload 1 /* config */
            getfield jdk.vm.ci.hotspot.amd64.AMD64HotSpotVMConfig.amd643DNOWPREFETCH:J
            land
            lconst_0
            lcmp
            ifeq 30
        29: .line 89
            aload 2 /* features */
            getstatic jdk.vm.ci.amd64.AMD64$CPUFeature.AMD_3DNOW_PREFETCH:Ljdk/vm/ci/amd64/AMD64$CPUFeature;
            invokevirtual java.util.EnumSet.add:(Ljava/lang/Object;)Z
            pop
        30: .line 91
      StackMap locals:
      StackMap stack:
            aload 1 /* config */
            getfield jdk.vm.ci.hotspot.amd64.AMD64HotSpotVMConfig.vmVersionFeatures:J
            aload 1 /* config */
            getfield jdk.vm.ci.hotspot.amd64.AMD64HotSpotVMConfig.amd64BMI1:J
            land
            lconst_0
            lcmp
            ifeq 32
        31: .line 92
            aload 2 /* features */
            getstatic jdk.vm.ci.amd64.AMD64$CPUFeature.BMI1:Ljdk/vm/ci/amd64/AMD64$CPUFeature;
            invokevirtual java.util.EnumSet.add:(Ljava/lang/Object;)Z
            pop
        32: .line 94
      StackMap locals:
      StackMap stack:
            aload 1 /* config */
            getfield jdk.vm.ci.hotspot.amd64.AMD64HotSpotVMConfig.vmVersionFeatures:J
            aload 1 /* config */
            getfield jdk.vm.ci.hotspot.amd64.AMD64HotSpotVMConfig.amd64BMI2:J
            land
            lconst_0
            lcmp
            ifeq 34
        33: .line 95
            aload 2 /* features */
            getstatic jdk.vm.ci.amd64.AMD64$CPUFeature.BMI2:Ljdk/vm/ci/amd64/AMD64$CPUFeature;
            invokevirtual java.util.EnumSet.add:(Ljava/lang/Object;)Z
            pop
        34: .line 97
      StackMap locals:
      StackMap stack:
            aload 1 /* config */
            getfield jdk.vm.ci.hotspot.amd64.AMD64HotSpotVMConfig.vmVersionFeatures:J
            aload 1 /* config */
            getfield jdk.vm.ci.hotspot.amd64.AMD64HotSpotVMConfig.amd64RTM:J
            land
            lconst_0
            lcmp
            ifeq 36
        35: .line 98
            aload 2 /* features */
            getstatic jdk.vm.ci.amd64.AMD64$CPUFeature.RTM:Ljdk/vm/ci/amd64/AMD64$CPUFeature;
            invokevirtual java.util.EnumSet.add:(Ljava/lang/Object;)Z
            pop
        36: .line 100
      StackMap locals:
      StackMap stack:
            aload 1 /* config */
            getfield jdk.vm.ci.hotspot.amd64.AMD64HotSpotVMConfig.vmVersionFeatures:J
            aload 1 /* config */
            getfield jdk.vm.ci.hotspot.amd64.AMD64HotSpotVMConfig.amd64ADX:J
            land
            lconst_0
            lcmp
            ifeq 38
        37: .line 101
            aload 2 /* features */
            getstatic jdk.vm.ci.amd64.AMD64$CPUFeature.ADX:Ljdk/vm/ci/amd64/AMD64$CPUFeature;
            invokevirtual java.util.EnumSet.add:(Ljava/lang/Object;)Z
            pop
        38: .line 103
      StackMap locals:
      StackMap stack:
            aload 1 /* config */
            getfield jdk.vm.ci.hotspot.amd64.AMD64HotSpotVMConfig.vmVersionFeatures:J
            aload 1 /* config */
            getfield jdk.vm.ci.hotspot.amd64.AMD64HotSpotVMConfig.amd64AVX512F:J
            land
            lconst_0
            lcmp
            ifeq 40
        39: .line 104
            aload 2 /* features */
            getstatic jdk.vm.ci.amd64.AMD64$CPUFeature.AVX512F:Ljdk/vm/ci/amd64/AMD64$CPUFeature;
            invokevirtual java.util.EnumSet.add:(Ljava/lang/Object;)Z
            pop
        40: .line 106
      StackMap locals:
      StackMap stack:
            aload 1 /* config */
            getfield jdk.vm.ci.hotspot.amd64.AMD64HotSpotVMConfig.vmVersionFeatures:J
            aload 1 /* config */
            getfield jdk.vm.ci.hotspot.amd64.AMD64HotSpotVMConfig.amd64AVX512DQ:J
            land
            lconst_0
            lcmp
            ifeq 42
        41: .line 107
            aload 2 /* features */
            getstatic jdk.vm.ci.amd64.AMD64$CPUFeature.AVX512DQ:Ljdk/vm/ci/amd64/AMD64$CPUFeature;
            invokevirtual java.util.EnumSet.add:(Ljava/lang/Object;)Z
            pop
        42: .line 109
      StackMap locals:
      StackMap stack:
            aload 1 /* config */
            getfield jdk.vm.ci.hotspot.amd64.AMD64HotSpotVMConfig.vmVersionFeatures:J
            aload 1 /* config */
            getfield jdk.vm.ci.hotspot.amd64.AMD64HotSpotVMConfig.amd64AVX512PF:J
            land
            lconst_0
            lcmp
            ifeq 44
        43: .line 110
            aload 2 /* features */
            getstatic jdk.vm.ci.amd64.AMD64$CPUFeature.AVX512PF:Ljdk/vm/ci/amd64/AMD64$CPUFeature;
            invokevirtual java.util.EnumSet.add:(Ljava/lang/Object;)Z
            pop
        44: .line 112
      StackMap locals:
      StackMap stack:
            aload 1 /* config */
            getfield jdk.vm.ci.hotspot.amd64.AMD64HotSpotVMConfig.vmVersionFeatures:J
            aload 1 /* config */
            getfield jdk.vm.ci.hotspot.amd64.AMD64HotSpotVMConfig.amd64AVX512ER:J
            land
            lconst_0
            lcmp
            ifeq 46
        45: .line 113
            aload 2 /* features */
            getstatic jdk.vm.ci.amd64.AMD64$CPUFeature.AVX512ER:Ljdk/vm/ci/amd64/AMD64$CPUFeature;
            invokevirtual java.util.EnumSet.add:(Ljava/lang/Object;)Z
            pop
        46: .line 115
      StackMap locals:
      StackMap stack:
            aload 1 /* config */
            getfield jdk.vm.ci.hotspot.amd64.AMD64HotSpotVMConfig.vmVersionFeatures:J
            aload 1 /* config */
            getfield jdk.vm.ci.hotspot.amd64.AMD64HotSpotVMConfig.amd64AVX512CD:J
            land
            lconst_0
            lcmp
            ifeq 48
        47: .line 116
            aload 2 /* features */
            getstatic jdk.vm.ci.amd64.AMD64$CPUFeature.AVX512CD:Ljdk/vm/ci/amd64/AMD64$CPUFeature;
            invokevirtual java.util.EnumSet.add:(Ljava/lang/Object;)Z
            pop
        48: .line 118
      StackMap locals:
      StackMap stack:
            aload 1 /* config */
            getfield jdk.vm.ci.hotspot.amd64.AMD64HotSpotVMConfig.vmVersionFeatures:J
            aload 1 /* config */
            getfield jdk.vm.ci.hotspot.amd64.AMD64HotSpotVMConfig.amd64AVX512BW:J
            land
            lconst_0
            lcmp
            ifeq 50
        49: .line 119
            aload 2 /* features */
            getstatic jdk.vm.ci.amd64.AMD64$CPUFeature.AVX512BW:Ljdk/vm/ci/amd64/AMD64$CPUFeature;
            invokevirtual java.util.EnumSet.add:(Ljava/lang/Object;)Z
            pop
        50: .line 121
      StackMap locals:
      StackMap stack:
            aload 1 /* config */
            getfield jdk.vm.ci.hotspot.amd64.AMD64HotSpotVMConfig.vmVersionFeatures:J
            aload 1 /* config */
            getfield jdk.vm.ci.hotspot.amd64.AMD64HotSpotVMConfig.amd64AVX512VL:J
            land
            lconst_0
            lcmp
            ifeq 52
        51: .line 122
            aload 2 /* features */
            getstatic jdk.vm.ci.amd64.AMD64$CPUFeature.AVX512VL:Ljdk/vm/ci/amd64/AMD64$CPUFeature;
            invokevirtual java.util.EnumSet.add:(Ljava/lang/Object;)Z
            pop
        52: .line 124
      StackMap locals:
      StackMap stack:
            aload 1 /* config */
            getfield jdk.vm.ci.hotspot.amd64.AMD64HotSpotVMConfig.vmVersionFeatures:J
            aload 1 /* config */
            getfield jdk.vm.ci.hotspot.amd64.AMD64HotSpotVMConfig.amd64SHA:J
            land
            lconst_0
            lcmp
            ifeq 54
        53: .line 125
            aload 2 /* features */
            getstatic jdk.vm.ci.amd64.AMD64$CPUFeature.SHA:Ljdk/vm/ci/amd64/AMD64$CPUFeature;
            invokevirtual java.util.EnumSet.add:(Ljava/lang/Object;)Z
            pop
        54: .line 127
      StackMap locals:
      StackMap stack:
            aload 1 /* config */
            getfield jdk.vm.ci.hotspot.amd64.AMD64HotSpotVMConfig.vmVersionFeatures:J
            aload 1 /* config */
            getfield jdk.vm.ci.hotspot.amd64.AMD64HotSpotVMConfig.amd64FMA:J
            land
            lconst_0
            lcmp
            ifeq 56
        55: .line 128
            aload 2 /* features */
            getstatic jdk.vm.ci.amd64.AMD64$CPUFeature.FMA:Ljdk/vm/ci/amd64/AMD64$CPUFeature;
            invokevirtual java.util.EnumSet.add:(Ljava/lang/Object;)Z
            pop
        56: .line 130
      StackMap locals:
      StackMap stack:
            aload 2 /* features */
            areturn
        end local 2 // java.util.EnumSet features
        end local 1 // jdk.vm.ci.hotspot.amd64.AMD64HotSpotVMConfig config
        end local 0 // jdk.vm.ci.hotspot.amd64.AMD64HotSpotJVMCIBackendFactory this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   57     0      this  Ljdk/vm/ci/hotspot/amd64/AMD64HotSpotJVMCIBackendFactory;
            0   57     1    config  Ljdk/vm/ci/hotspot/amd64/AMD64HotSpotVMConfig;
            1   57     2  features  Ljava/util/EnumSet<Ljdk/vm/ci/amd64/AMD64$CPUFeature;>;
    Signature: (Ljdk/vm/ci/hotspot/amd64/AMD64HotSpotVMConfig;)Ljava/util/EnumSet<Ljdk/vm/ci/amd64/AMD64$CPUFeature;>;
    MethodParameters:
        Name  Flags
      config  

  protected java.util.EnumSet<jdk.vm.ci.amd64.AMD64$Flag> computeFlags(jdk.vm.ci.hotspot.amd64.AMD64HotSpotVMConfig);
    descriptor: (Ljdk/vm/ci/hotspot/amd64/AMD64HotSpotVMConfig;)Ljava/util/EnumSet;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // jdk.vm.ci.hotspot.amd64.AMD64HotSpotJVMCIBackendFactory this
        start local 1 // jdk.vm.ci.hotspot.amd64.AMD64HotSpotVMConfig config
         0: .line 134
            ldc Ljdk/vm/ci/amd64/AMD64$Flag;
            invokestatic java.util.EnumSet.noneOf:(Ljava/lang/Class;)Ljava/util/EnumSet;
            astore 2 /* flags */
        start local 2 // java.util.EnumSet flags
         1: .line 135
            aload 1 /* config */
            getfield jdk.vm.ci.hotspot.amd64.AMD64HotSpotVMConfig.useCountLeadingZerosInstruction:Z
            ifeq 3
         2: .line 136
            aload 2 /* flags */
            getstatic jdk.vm.ci.amd64.AMD64$Flag.UseCountLeadingZerosInstruction:Ljdk/vm/ci/amd64/AMD64$Flag;
            invokevirtual java.util.EnumSet.add:(Ljava/lang/Object;)Z
            pop
         3: .line 138
      StackMap locals: java.util.EnumSet
      StackMap stack:
            aload 1 /* config */
            getfield jdk.vm.ci.hotspot.amd64.AMD64HotSpotVMConfig.useCountTrailingZerosInstruction:Z
            ifeq 5
         4: .line 139
            aload 2 /* flags */
            getstatic jdk.vm.ci.amd64.AMD64$Flag.UseCountTrailingZerosInstruction:Ljdk/vm/ci/amd64/AMD64$Flag;
            invokevirtual java.util.EnumSet.add:(Ljava/lang/Object;)Z
            pop
         5: .line 141
      StackMap locals:
      StackMap stack:
            aload 2 /* flags */
            areturn
        end local 2 // java.util.EnumSet flags
        end local 1 // jdk.vm.ci.hotspot.amd64.AMD64HotSpotVMConfig config
        end local 0 // jdk.vm.ci.hotspot.amd64.AMD64HotSpotJVMCIBackendFactory this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    6     0    this  Ljdk/vm/ci/hotspot/amd64/AMD64HotSpotJVMCIBackendFactory;
            0    6     1  config  Ljdk/vm/ci/hotspot/amd64/AMD64HotSpotVMConfig;
            1    6     2   flags  Ljava/util/EnumSet<Ljdk/vm/ci/amd64/AMD64$Flag;>;
    Signature: (Ljdk/vm/ci/hotspot/amd64/AMD64HotSpotVMConfig;)Ljava/util/EnumSet<Ljdk/vm/ci/amd64/AMD64$Flag;>;
    MethodParameters:
        Name  Flags
      config  

  protected jdk.vm.ci.code.TargetDescription createTarget(jdk.vm.ci.hotspot.amd64.AMD64HotSpotVMConfig);
    descriptor: (Ljdk/vm/ci/hotspot/amd64/AMD64HotSpotVMConfig;)Ljdk/vm/ci/code/TargetDescription;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=7, locals=3, args_size=2
        start local 0 // jdk.vm.ci.hotspot.amd64.AMD64HotSpotJVMCIBackendFactory this
        start local 1 // jdk.vm.ci.hotspot.amd64.AMD64HotSpotVMConfig config
         0: .line 148
            new jdk.vm.ci.amd64.AMD64
            dup
            aload 0 /* this */
            aload 1 /* config */
            invokevirtual jdk.vm.ci.hotspot.amd64.AMD64HotSpotJVMCIBackendFactory.computeFeatures:(Ljdk/vm/ci/hotspot/amd64/AMD64HotSpotVMConfig;)Ljava/util/EnumSet;
            aload 0 /* this */
            aload 1 /* config */
            invokevirtual jdk.vm.ci.hotspot.amd64.AMD64HotSpotJVMCIBackendFactory.computeFlags:(Ljdk/vm/ci/hotspot/amd64/AMD64HotSpotVMConfig;)Ljava/util/EnumSet;
            invokespecial jdk.vm.ci.amd64.AMD64.<init>:(Ljava/util/EnumSet;Ljava/util/EnumSet;)V
            astore 2 /* arch */
        start local 2 // jdk.vm.ci.code.Architecture arch
         1: .line 149
            new jdk.vm.ci.code.TargetDescription
            dup
            aload 2 /* arch */
            iconst_1
            bipush 16
            sipush 4096
            iconst_1
            invokespecial jdk.vm.ci.code.TargetDescription.<init>:(Ljdk/vm/ci/code/Architecture;ZIIZ)V
            areturn
        end local 2 // jdk.vm.ci.code.Architecture arch
        end local 1 // jdk.vm.ci.hotspot.amd64.AMD64HotSpotVMConfig config
        end local 0 // jdk.vm.ci.hotspot.amd64.AMD64HotSpotJVMCIBackendFactory this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    2     0    this  Ljdk/vm/ci/hotspot/amd64/AMD64HotSpotJVMCIBackendFactory;
            0    2     1  config  Ljdk/vm/ci/hotspot/amd64/AMD64HotSpotVMConfig;
            1    2     2    arch  Ljdk/vm/ci/code/Architecture;
    MethodParameters:
        Name  Flags
      config  

  protected jdk.vm.ci.hotspot.HotSpotConstantReflectionProvider createConstantReflection(jdk.vm.ci.hotspot.HotSpotJVMCIRuntimeProvider);
    descriptor: (Ljdk/vm/ci/hotspot/HotSpotJVMCIRuntimeProvider;)Ljdk/vm/ci/hotspot/HotSpotConstantReflectionProvider;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // jdk.vm.ci.hotspot.amd64.AMD64HotSpotJVMCIBackendFactory this
        start local 1 // jdk.vm.ci.hotspot.HotSpotJVMCIRuntimeProvider runtime
         0: .line 153
            new jdk.vm.ci.hotspot.HotSpotConstantReflectionProvider
            dup
            aload 1 /* runtime */
            invokespecial jdk.vm.ci.hotspot.HotSpotConstantReflectionProvider.<init>:(Ljdk/vm/ci/hotspot/HotSpotJVMCIRuntimeProvider;)V
            areturn
        end local 1 // jdk.vm.ci.hotspot.HotSpotJVMCIRuntimeProvider runtime
        end local 0 // jdk.vm.ci.hotspot.amd64.AMD64HotSpotJVMCIBackendFactory this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     this  Ljdk/vm/ci/hotspot/amd64/AMD64HotSpotJVMCIBackendFactory;
            0    1     1  runtime  Ljdk/vm/ci/hotspot/HotSpotJVMCIRuntimeProvider;
    MethodParameters:
         Name  Flags
      runtime  

  protected jdk.vm.ci.code.RegisterConfig createRegisterConfig(jdk.vm.ci.hotspot.amd64.AMD64HotSpotVMConfig, jdk.vm.ci.code.TargetDescription);
    descriptor: (Ljdk/vm/ci/hotspot/amd64/AMD64HotSpotVMConfig;Ljdk/vm/ci/code/TargetDescription;)Ljdk/vm/ci/code/RegisterConfig;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=5, locals=3, args_size=3
        start local 0 // jdk.vm.ci.hotspot.amd64.AMD64HotSpotJVMCIBackendFactory this
        start local 1 // jdk.vm.ci.hotspot.amd64.AMD64HotSpotVMConfig config
        start local 2 // jdk.vm.ci.code.TargetDescription target
         0: .line 157
            new jdk.vm.ci.hotspot.amd64.AMD64HotSpotRegisterConfig
            dup
            aload 2 /* target */
            aload 1 /* config */
            getfield jdk.vm.ci.hotspot.amd64.AMD64HotSpotVMConfig.useCompressedOops:Z
            aload 1 /* config */
            getfield jdk.vm.ci.hotspot.amd64.AMD64HotSpotVMConfig.windowsOs:Z
            invokespecial jdk.vm.ci.hotspot.amd64.AMD64HotSpotRegisterConfig.<init>:(Ljdk/vm/ci/code/TargetDescription;ZZ)V
            areturn
        end local 2 // jdk.vm.ci.code.TargetDescription target
        end local 1 // jdk.vm.ci.hotspot.amd64.AMD64HotSpotVMConfig config
        end local 0 // jdk.vm.ci.hotspot.amd64.AMD64HotSpotJVMCIBackendFactory this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    1     0    this  Ljdk/vm/ci/hotspot/amd64/AMD64HotSpotJVMCIBackendFactory;
            0    1     1  config  Ljdk/vm/ci/hotspot/amd64/AMD64HotSpotVMConfig;
            0    1     2  target  Ljdk/vm/ci/code/TargetDescription;
    MethodParameters:
        Name  Flags
      config  
      target  

  protected jdk.vm.ci.hotspot.HotSpotCodeCacheProvider createCodeCache(jdk.vm.ci.hotspot.HotSpotJVMCIRuntimeProvider, jdk.vm.ci.code.TargetDescription, jdk.vm.ci.code.RegisterConfig);
    descriptor: (Ljdk/vm/ci/hotspot/HotSpotJVMCIRuntimeProvider;Ljdk/vm/ci/code/TargetDescription;Ljdk/vm/ci/code/RegisterConfig;)Ljdk/vm/ci/hotspot/HotSpotCodeCacheProvider;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=6, locals=4, args_size=4
        start local 0 // jdk.vm.ci.hotspot.amd64.AMD64HotSpotJVMCIBackendFactory this
        start local 1 // jdk.vm.ci.hotspot.HotSpotJVMCIRuntimeProvider runtime
        start local 2 // jdk.vm.ci.code.TargetDescription target
        start local 3 // jdk.vm.ci.code.RegisterConfig regConfig
         0: .line 161
            new jdk.vm.ci.hotspot.HotSpotCodeCacheProvider
            dup
            aload 1 /* runtime */
            aload 1 /* runtime */
            invokeinterface jdk.vm.ci.hotspot.HotSpotJVMCIRuntimeProvider.getConfig:()Ljdk/vm/ci/hotspot/HotSpotVMConfig;
            aload 2 /* target */
            aload 3 /* regConfig */
            invokespecial jdk.vm.ci.hotspot.HotSpotCodeCacheProvider.<init>:(Ljdk/vm/ci/hotspot/HotSpotJVMCIRuntimeProvider;Ljdk/vm/ci/hotspot/HotSpotVMConfig;Ljdk/vm/ci/code/TargetDescription;Ljdk/vm/ci/code/RegisterConfig;)V
            areturn
        end local 3 // jdk.vm.ci.code.RegisterConfig regConfig
        end local 2 // jdk.vm.ci.code.TargetDescription target
        end local 1 // jdk.vm.ci.hotspot.HotSpotJVMCIRuntimeProvider runtime
        end local 0 // jdk.vm.ci.hotspot.amd64.AMD64HotSpotJVMCIBackendFactory this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    1     0       this  Ljdk/vm/ci/hotspot/amd64/AMD64HotSpotJVMCIBackendFactory;
            0    1     1    runtime  Ljdk/vm/ci/hotspot/HotSpotJVMCIRuntimeProvider;
            0    1     2     target  Ljdk/vm/ci/code/TargetDescription;
            0    1     3  regConfig  Ljdk/vm/ci/code/RegisterConfig;
    MethodParameters:
           Name  Flags
      runtime    
      target     
      regConfig  

  protected jdk.vm.ci.hotspot.HotSpotMetaAccessProvider createMetaAccess(jdk.vm.ci.hotspot.HotSpotJVMCIRuntimeProvider);
    descriptor: (Ljdk/vm/ci/hotspot/HotSpotJVMCIRuntimeProvider;)Ljdk/vm/ci/hotspot/HotSpotMetaAccessProvider;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // jdk.vm.ci.hotspot.amd64.AMD64HotSpotJVMCIBackendFactory this
        start local 1 // jdk.vm.ci.hotspot.HotSpotJVMCIRuntimeProvider runtime
         0: .line 165
            new jdk.vm.ci.hotspot.HotSpotMetaAccessProvider
            dup
            aload 1 /* runtime */
            invokespecial jdk.vm.ci.hotspot.HotSpotMetaAccessProvider.<init>:(Ljdk/vm/ci/hotspot/HotSpotJVMCIRuntimeProvider;)V
            areturn
        end local 1 // jdk.vm.ci.hotspot.HotSpotJVMCIRuntimeProvider runtime
        end local 0 // jdk.vm.ci.hotspot.amd64.AMD64HotSpotJVMCIBackendFactory this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     this  Ljdk/vm/ci/hotspot/amd64/AMD64HotSpotJVMCIBackendFactory;
            0    1     1  runtime  Ljdk/vm/ci/hotspot/HotSpotJVMCIRuntimeProvider;
    MethodParameters:
         Name  Flags
      runtime  

  public java.lang.String getArchitecture();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // jdk.vm.ci.hotspot.amd64.AMD64HotSpotJVMCIBackendFactory this
         0: .line 170
            ldc "AMD64"
            areturn
        end local 0 // jdk.vm.ci.hotspot.amd64.AMD64HotSpotJVMCIBackendFactory this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljdk/vm/ci/hotspot/amd64/AMD64HotSpotJVMCIBackendFactory;

  public java.lang.String toString();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // jdk.vm.ci.hotspot.amd64.AMD64HotSpotJVMCIBackendFactory this
         0: .line 175
            new java.lang.StringBuilder
            dup
            ldc "JVMCIBackend:"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            invokevirtual jdk.vm.ci.hotspot.amd64.AMD64HotSpotJVMCIBackendFactory.getArchitecture:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 0 // jdk.vm.ci.hotspot.amd64.AMD64HotSpotJVMCIBackendFactory this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljdk/vm/ci/hotspot/amd64/AMD64HotSpotJVMCIBackendFactory;

  public jdk.vm.ci.runtime.JVMCIBackend createJVMCIBackend(jdk.vm.ci.hotspot.HotSpotJVMCIRuntimeProvider, jdk.vm.ci.runtime.JVMCIBackend);
    descriptor: (Ljdk/vm/ci/hotspot/HotSpotJVMCIRuntimeProvider;Ljdk/vm/ci/runtime/JVMCIBackend;)Ljdk/vm/ci/runtime/JVMCIBackend;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=16, args_size=3
        start local 0 // jdk.vm.ci.hotspot.amd64.AMD64HotSpotJVMCIBackendFactory this
        start local 1 // jdk.vm.ci.hotspot.HotSpotJVMCIRuntimeProvider runtime
        start local 2 // jdk.vm.ci.runtime.JVMCIBackend host
         0: .line 180
            getstatic jdk.vm.ci.hotspot.amd64.AMD64HotSpotJVMCIBackendFactory.$assertionsDisabled:Z
            ifne 1
            aload 2 /* host */
            ifnull 1
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         1: .line 181
      StackMap locals:
      StackMap stack:
            new jdk.vm.ci.hotspot.amd64.AMD64HotSpotVMConfig
            dup
            aload 1 /* runtime */
            invokeinterface jdk.vm.ci.hotspot.HotSpotJVMCIRuntimeProvider.getConfigStore:()Ljdk/vm/ci/hotspot/HotSpotVMConfigStore;
            invokespecial jdk.vm.ci.hotspot.amd64.AMD64HotSpotVMConfig.<init>:(Ljdk/vm/ci/hotspot/HotSpotVMConfigStore;)V
            astore 3 /* config */
        start local 3 // jdk.vm.ci.hotspot.amd64.AMD64HotSpotVMConfig config
         2: .line 182
            aload 0 /* this */
            aload 3 /* config */
            invokevirtual jdk.vm.ci.hotspot.amd64.AMD64HotSpotJVMCIBackendFactory.createTarget:(Ljdk/vm/ci/hotspot/amd64/AMD64HotSpotVMConfig;)Ljdk/vm/ci/code/TargetDescription;
            astore 4 /* target */
        start local 4 // jdk.vm.ci.code.TargetDescription target
         3: .line 189
            aconst_null
            astore 10
            aconst_null
            astore 11
         4: ldc "create providers"
            invokestatic jdk.vm.ci.common.InitTimer.timer:(Ljava/lang/String;)Ljdk/vm/ci/common/InitTimer;
            astore 12 /* t */
        start local 12 // jdk.vm.ci.common.InitTimer t
         5: .line 190
            aconst_null
            astore 13
            aconst_null
            astore 14
         6: ldc "create MetaAccess provider"
            invokestatic jdk.vm.ci.common.InitTimer.timer:(Ljava/lang/String;)Ljdk/vm/ci/common/InitTimer;
            astore 15 /* rt */
        start local 15 // jdk.vm.ci.common.InitTimer rt
         7: .line 191
            aload 0 /* this */
            aload 1 /* runtime */
            invokevirtual jdk.vm.ci.hotspot.amd64.AMD64HotSpotJVMCIBackendFactory.createMetaAccess:(Ljdk/vm/ci/hotspot/HotSpotJVMCIRuntimeProvider;)Ljdk/vm/ci/hotspot/HotSpotMetaAccessProvider;
            astore 8 /* metaAccess */
        start local 8 // jdk.vm.ci.hotspot.HotSpotMetaAccessProvider metaAccess
         8: .line 192
            aload 15 /* rt */
            ifnull 14
            aload 15 /* rt */
            invokevirtual jdk.vm.ci.common.InitTimer.close:()V
            goto 14
        end local 8 // jdk.vm.ci.hotspot.HotSpotMetaAccessProvider metaAccess
      StackMap locals: jdk.vm.ci.hotspot.amd64.AMD64HotSpotJVMCIBackendFactory jdk.vm.ci.hotspot.HotSpotJVMCIRuntimeProvider jdk.vm.ci.runtime.JVMCIBackend jdk.vm.ci.hotspot.amd64.AMD64HotSpotVMConfig jdk.vm.ci.code.TargetDescription top top top top top java.lang.Throwable java.lang.Throwable jdk.vm.ci.common.InitTimer java.lang.Throwable java.lang.Throwable jdk.vm.ci.common.InitTimer
      StackMap stack: java.lang.Throwable
         9: astore 13
            aload 15 /* rt */
            ifnull 10
            aload 15 /* rt */
            invokevirtual jdk.vm.ci.common.InitTimer.close:()V
        end local 15 // jdk.vm.ci.common.InitTimer rt
      StackMap locals:
      StackMap stack:
        10: aload 13
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
        11: astore 14
            aload 13
            ifnonnull 12
            aload 14
            astore 13
            goto 13
      StackMap locals:
      StackMap stack:
        12: aload 13
            aload 14
            if_acmpeq 13
            aload 13
            aload 14
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        13: aload 13
            athrow
        start local 8 // jdk.vm.ci.hotspot.HotSpotMetaAccessProvider metaAccess
        14: .line 193
      StackMap locals: jdk.vm.ci.hotspot.amd64.AMD64HotSpotJVMCIBackendFactory jdk.vm.ci.hotspot.HotSpotJVMCIRuntimeProvider jdk.vm.ci.runtime.JVMCIBackend jdk.vm.ci.hotspot.amd64.AMD64HotSpotVMConfig jdk.vm.ci.code.TargetDescription top top top jdk.vm.ci.hotspot.HotSpotMetaAccessProvider top java.lang.Throwable java.lang.Throwable jdk.vm.ci.common.InitTimer
      StackMap stack:
            aconst_null
            astore 13
            aconst_null
            astore 14
        15: ldc "create RegisterConfig"
            invokestatic jdk.vm.ci.common.InitTimer.timer:(Ljava/lang/String;)Ljdk/vm/ci/common/InitTimer;
            astore 15 /* rt */
        start local 15 // jdk.vm.ci.common.InitTimer rt
        16: .line 194
            aload 0 /* this */
            aload 3 /* config */
            aload 4 /* target */
            invokevirtual jdk.vm.ci.hotspot.amd64.AMD64HotSpotJVMCIBackendFactory.createRegisterConfig:(Ljdk/vm/ci/hotspot/amd64/AMD64HotSpotVMConfig;Ljdk/vm/ci/code/TargetDescription;)Ljdk/vm/ci/code/RegisterConfig;
            astore 5 /* regConfig */
        start local 5 // jdk.vm.ci.code.RegisterConfig regConfig
        17: .line 195
            aload 15 /* rt */
            ifnull 23
            aload 15 /* rt */
            invokevirtual jdk.vm.ci.common.InitTimer.close:()V
            goto 23
        end local 5 // jdk.vm.ci.code.RegisterConfig regConfig
      StackMap locals: jdk.vm.ci.hotspot.amd64.AMD64HotSpotJVMCIBackendFactory jdk.vm.ci.hotspot.HotSpotJVMCIRuntimeProvider jdk.vm.ci.runtime.JVMCIBackend jdk.vm.ci.hotspot.amd64.AMD64HotSpotVMConfig jdk.vm.ci.code.TargetDescription top top top jdk.vm.ci.hotspot.HotSpotMetaAccessProvider top java.lang.Throwable java.lang.Throwable jdk.vm.ci.common.InitTimer java.lang.Throwable java.lang.Throwable jdk.vm.ci.common.InitTimer
      StackMap stack: java.lang.Throwable
        18: astore 13
            aload 15 /* rt */
            ifnull 19
            aload 15 /* rt */
            invokevirtual jdk.vm.ci.common.InitTimer.close:()V
        end local 15 // jdk.vm.ci.common.InitTimer rt
      StackMap locals:
      StackMap stack:
        19: aload 13
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
        20: astore 14
            aload 13
            ifnonnull 21
            aload 14
            astore 13
            goto 22
      StackMap locals:
      StackMap stack:
        21: aload 13
            aload 14
            if_acmpeq 22
            aload 13
            aload 14
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        22: aload 13
            athrow
        start local 5 // jdk.vm.ci.code.RegisterConfig regConfig
        23: .line 196
      StackMap locals: jdk.vm.ci.hotspot.amd64.AMD64HotSpotJVMCIBackendFactory jdk.vm.ci.hotspot.HotSpotJVMCIRuntimeProvider jdk.vm.ci.runtime.JVMCIBackend jdk.vm.ci.hotspot.amd64.AMD64HotSpotVMConfig jdk.vm.ci.code.TargetDescription jdk.vm.ci.code.RegisterConfig top top jdk.vm.ci.hotspot.HotSpotMetaAccessProvider top java.lang.Throwable java.lang.Throwable jdk.vm.ci.common.InitTimer
      StackMap stack:
            aconst_null
            astore 13
            aconst_null
            astore 14
        24: ldc "create CodeCache provider"
            invokestatic jdk.vm.ci.common.InitTimer.timer:(Ljava/lang/String;)Ljdk/vm/ci/common/InitTimer;
            astore 15 /* rt */
        start local 15 // jdk.vm.ci.common.InitTimer rt
        25: .line 197
            aload 0 /* this */
            aload 1 /* runtime */
            aload 4 /* target */
            aload 5 /* regConfig */
            invokevirtual jdk.vm.ci.hotspot.amd64.AMD64HotSpotJVMCIBackendFactory.createCodeCache:(Ljdk/vm/ci/hotspot/HotSpotJVMCIRuntimeProvider;Ljdk/vm/ci/code/TargetDescription;Ljdk/vm/ci/code/RegisterConfig;)Ljdk/vm/ci/hotspot/HotSpotCodeCacheProvider;
            astore 6 /* codeCache */
        start local 6 // jdk.vm.ci.hotspot.HotSpotCodeCacheProvider codeCache
        26: .line 198
            aload 15 /* rt */
            ifnull 32
            aload 15 /* rt */
            invokevirtual jdk.vm.ci.common.InitTimer.close:()V
            goto 32
        end local 6 // jdk.vm.ci.hotspot.HotSpotCodeCacheProvider codeCache
      StackMap locals: jdk.vm.ci.hotspot.amd64.AMD64HotSpotJVMCIBackendFactory jdk.vm.ci.hotspot.HotSpotJVMCIRuntimeProvider jdk.vm.ci.runtime.JVMCIBackend jdk.vm.ci.hotspot.amd64.AMD64HotSpotVMConfig jdk.vm.ci.code.TargetDescription jdk.vm.ci.code.RegisterConfig top top jdk.vm.ci.hotspot.HotSpotMetaAccessProvider top java.lang.Throwable java.lang.Throwable jdk.vm.ci.common.InitTimer java.lang.Throwable java.lang.Throwable jdk.vm.ci.common.InitTimer
      StackMap stack: java.lang.Throwable
        27: astore 13
            aload 15 /* rt */
            ifnull 28
            aload 15 /* rt */
            invokevirtual jdk.vm.ci.common.InitTimer.close:()V
        end local 15 // jdk.vm.ci.common.InitTimer rt
      StackMap locals:
      StackMap stack:
        28: aload 13
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
        29: astore 14
            aload 13
            ifnonnull 30
            aload 14
            astore 13
            goto 31
      StackMap locals:
      StackMap stack:
        30: aload 13
            aload 14
            if_acmpeq 31
            aload 13
            aload 14
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        31: aload 13
            athrow
        start local 6 // jdk.vm.ci.hotspot.HotSpotCodeCacheProvider codeCache
        32: .line 199
      StackMap locals: jdk.vm.ci.hotspot.amd64.AMD64HotSpotJVMCIBackendFactory jdk.vm.ci.hotspot.HotSpotJVMCIRuntimeProvider jdk.vm.ci.runtime.JVMCIBackend jdk.vm.ci.hotspot.amd64.AMD64HotSpotVMConfig jdk.vm.ci.code.TargetDescription jdk.vm.ci.code.RegisterConfig jdk.vm.ci.hotspot.HotSpotCodeCacheProvider top jdk.vm.ci.hotspot.HotSpotMetaAccessProvider top java.lang.Throwable java.lang.Throwable jdk.vm.ci.common.InitTimer
      StackMap stack:
            aconst_null
            astore 13
            aconst_null
            astore 14
        33: ldc "create ConstantReflection provider"
            invokestatic jdk.vm.ci.common.InitTimer.timer:(Ljava/lang/String;)Ljdk/vm/ci/common/InitTimer;
            astore 15 /* rt */
        start local 15 // jdk.vm.ci.common.InitTimer rt
        34: .line 200
            aload 0 /* this */
            aload 1 /* runtime */
            invokevirtual jdk.vm.ci.hotspot.amd64.AMD64HotSpotJVMCIBackendFactory.createConstantReflection:(Ljdk/vm/ci/hotspot/HotSpotJVMCIRuntimeProvider;)Ljdk/vm/ci/hotspot/HotSpotConstantReflectionProvider;
            astore 7 /* constantReflection */
        start local 7 // jdk.vm.ci.meta.ConstantReflectionProvider constantReflection
        35: .line 201
            aload 15 /* rt */
            ifnull 41
            aload 15 /* rt */
            invokevirtual jdk.vm.ci.common.InitTimer.close:()V
            goto 41
        end local 7 // jdk.vm.ci.meta.ConstantReflectionProvider constantReflection
      StackMap locals: jdk.vm.ci.hotspot.amd64.AMD64HotSpotJVMCIBackendFactory jdk.vm.ci.hotspot.HotSpotJVMCIRuntimeProvider jdk.vm.ci.runtime.JVMCIBackend jdk.vm.ci.hotspot.amd64.AMD64HotSpotVMConfig jdk.vm.ci.code.TargetDescription jdk.vm.ci.code.RegisterConfig jdk.vm.ci.hotspot.HotSpotCodeCacheProvider top jdk.vm.ci.hotspot.HotSpotMetaAccessProvider top java.lang.Throwable java.lang.Throwable jdk.vm.ci.common.InitTimer java.lang.Throwable java.lang.Throwable jdk.vm.ci.common.InitTimer
      StackMap stack: java.lang.Throwable
        36: astore 13
            aload 15 /* rt */
            ifnull 37
            aload 15 /* rt */
            invokevirtual jdk.vm.ci.common.InitTimer.close:()V
        end local 15 // jdk.vm.ci.common.InitTimer rt
      StackMap locals:
      StackMap stack:
        37: aload 13
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
        38: astore 14
            aload 13
            ifnonnull 39
            aload 14
            astore 13
            goto 40
      StackMap locals:
      StackMap stack:
        39: aload 13
            aload 14
            if_acmpeq 40
            aload 13
            aload 14
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        40: aload 13
            athrow
        start local 7 // jdk.vm.ci.meta.ConstantReflectionProvider constantReflection
        41: .line 202
      StackMap locals: jdk.vm.ci.hotspot.amd64.AMD64HotSpotJVMCIBackendFactory jdk.vm.ci.hotspot.HotSpotJVMCIRuntimeProvider jdk.vm.ci.runtime.JVMCIBackend jdk.vm.ci.hotspot.amd64.AMD64HotSpotVMConfig jdk.vm.ci.code.TargetDescription jdk.vm.ci.code.RegisterConfig jdk.vm.ci.hotspot.HotSpotCodeCacheProvider jdk.vm.ci.meta.ConstantReflectionProvider jdk.vm.ci.hotspot.HotSpotMetaAccessProvider top java.lang.Throwable java.lang.Throwable jdk.vm.ci.common.InitTimer
      StackMap stack:
            aconst_null
            astore 13
            aconst_null
            astore 14
        42: ldc "create StackIntrospection provider"
            invokestatic jdk.vm.ci.common.InitTimer.timer:(Ljava/lang/String;)Ljdk/vm/ci/common/InitTimer;
            astore 15 /* rt */
        start local 15 // jdk.vm.ci.common.InitTimer rt
        43: .line 203
            new jdk.vm.ci.hotspot.HotSpotStackIntrospection
            dup
            aload 1 /* runtime */
            invokespecial jdk.vm.ci.hotspot.HotSpotStackIntrospection.<init>:(Ljdk/vm/ci/hotspot/HotSpotJVMCIRuntimeProvider;)V
            astore 9 /* stackIntrospection */
        start local 9 // jdk.vm.ci.code.stack.StackIntrospection stackIntrospection
        44: .line 204
            aload 15 /* rt */
            ifnull 50
            aload 15 /* rt */
            invokevirtual jdk.vm.ci.common.InitTimer.close:()V
            goto 50
        end local 9 // jdk.vm.ci.code.stack.StackIntrospection stackIntrospection
      StackMap locals: jdk.vm.ci.hotspot.amd64.AMD64HotSpotJVMCIBackendFactory jdk.vm.ci.hotspot.HotSpotJVMCIRuntimeProvider jdk.vm.ci.runtime.JVMCIBackend jdk.vm.ci.hotspot.amd64.AMD64HotSpotVMConfig jdk.vm.ci.code.TargetDescription jdk.vm.ci.code.RegisterConfig jdk.vm.ci.hotspot.HotSpotCodeCacheProvider jdk.vm.ci.meta.ConstantReflectionProvider jdk.vm.ci.hotspot.HotSpotMetaAccessProvider top java.lang.Throwable java.lang.Throwable jdk.vm.ci.common.InitTimer java.lang.Throwable java.lang.Throwable jdk.vm.ci.common.InitTimer
      StackMap stack: java.lang.Throwable
        45: astore 13
            aload 15 /* rt */
            ifnull 46
            aload 15 /* rt */
            invokevirtual jdk.vm.ci.common.InitTimer.close:()V
        end local 15 // jdk.vm.ci.common.InitTimer rt
      StackMap locals:
      StackMap stack:
        46: aload 13
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
        47: astore 14
            aload 13
            ifnonnull 48
            aload 14
            astore 13
            goto 49
      StackMap locals:
      StackMap stack:
        48: aload 13
            aload 14
            if_acmpeq 49
            aload 13
            aload 14
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        49: aload 13
            athrow
        start local 9 // jdk.vm.ci.code.stack.StackIntrospection stackIntrospection
        50: .line 205
      StackMap locals: jdk.vm.ci.hotspot.amd64.AMD64HotSpotJVMCIBackendFactory jdk.vm.ci.hotspot.HotSpotJVMCIRuntimeProvider jdk.vm.ci.runtime.JVMCIBackend jdk.vm.ci.hotspot.amd64.AMD64HotSpotVMConfig jdk.vm.ci.code.TargetDescription jdk.vm.ci.code.RegisterConfig jdk.vm.ci.hotspot.HotSpotCodeCacheProvider jdk.vm.ci.meta.ConstantReflectionProvider jdk.vm.ci.hotspot.HotSpotMetaAccessProvider jdk.vm.ci.code.stack.StackIntrospection java.lang.Throwable java.lang.Throwable jdk.vm.ci.common.InitTimer
      StackMap stack:
            aload 12 /* t */
            ifnull 56
            aload 12 /* t */
            invokevirtual jdk.vm.ci.common.InitTimer.close:()V
            goto 56
        end local 9 // jdk.vm.ci.code.stack.StackIntrospection stackIntrospection
        end local 8 // jdk.vm.ci.hotspot.HotSpotMetaAccessProvider metaAccess
        end local 7 // jdk.vm.ci.meta.ConstantReflectionProvider constantReflection
        end local 6 // jdk.vm.ci.hotspot.HotSpotCodeCacheProvider codeCache
        end local 5 // jdk.vm.ci.code.RegisterConfig regConfig
      StackMap locals: jdk.vm.ci.hotspot.amd64.AMD64HotSpotJVMCIBackendFactory jdk.vm.ci.hotspot.HotSpotJVMCIRuntimeProvider jdk.vm.ci.runtime.JVMCIBackend jdk.vm.ci.hotspot.amd64.AMD64HotSpotVMConfig jdk.vm.ci.code.TargetDescription top top top top top java.lang.Throwable java.lang.Throwable jdk.vm.ci.common.InitTimer
      StackMap stack: java.lang.Throwable
        51: astore 10
            aload 12 /* t */
            ifnull 52
            aload 12 /* t */
            invokevirtual jdk.vm.ci.common.InitTimer.close:()V
        end local 12 // jdk.vm.ci.common.InitTimer t
      StackMap locals:
      StackMap stack:
        52: aload 10
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
        53: astore 11
            aload 10
            ifnonnull 54
            aload 11
            astore 10
            goto 55
      StackMap locals:
      StackMap stack:
        54: aload 10
            aload 11
            if_acmpeq 55
            aload 10
            aload 11
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        55: aload 10
            athrow
        start local 5 // jdk.vm.ci.code.RegisterConfig regConfig
        start local 6 // jdk.vm.ci.hotspot.HotSpotCodeCacheProvider codeCache
        start local 7 // jdk.vm.ci.meta.ConstantReflectionProvider constantReflection
        start local 8 // jdk.vm.ci.hotspot.HotSpotMetaAccessProvider metaAccess
        start local 9 // jdk.vm.ci.code.stack.StackIntrospection stackIntrospection
        56: .line 206
      StackMap locals: jdk.vm.ci.hotspot.amd64.AMD64HotSpotJVMCIBackendFactory jdk.vm.ci.hotspot.HotSpotJVMCIRuntimeProvider jdk.vm.ci.runtime.JVMCIBackend jdk.vm.ci.hotspot.amd64.AMD64HotSpotVMConfig jdk.vm.ci.code.TargetDescription jdk.vm.ci.code.RegisterConfig jdk.vm.ci.hotspot.HotSpotCodeCacheProvider jdk.vm.ci.meta.ConstantReflectionProvider jdk.vm.ci.hotspot.HotSpotMetaAccessProvider jdk.vm.ci.code.stack.StackIntrospection
      StackMap stack:
            aconst_null
            astore 10
            aconst_null
            astore 11
        57: ldc "instantiate backend"
            invokestatic jdk.vm.ci.common.InitTimer.timer:(Ljava/lang/String;)Ljdk/vm/ci/common/InitTimer;
            astore 12 /* rt */
        start local 12 // jdk.vm.ci.common.InitTimer rt
        58: .line 207
            aload 0 /* this */
            aload 8 /* metaAccess */
            aload 6 /* codeCache */
            aload 7 /* constantReflection */
            aload 9 /* stackIntrospection */
            invokevirtual jdk.vm.ci.hotspot.amd64.AMD64HotSpotJVMCIBackendFactory.createBackend:(Ljdk/vm/ci/hotspot/HotSpotMetaAccessProvider;Ljdk/vm/ci/hotspot/HotSpotCodeCacheProvider;Ljdk/vm/ci/meta/ConstantReflectionProvider;Ljdk/vm/ci/code/stack/StackIntrospection;)Ljdk/vm/ci/runtime/JVMCIBackend;
        59: .line 208
            aload 12 /* rt */
            ifnull 60
            aload 12 /* rt */
            invokevirtual jdk.vm.ci.common.InitTimer.close:()V
        60: .line 207
      StackMap locals: jdk.vm.ci.hotspot.amd64.AMD64HotSpotJVMCIBackendFactory jdk.vm.ci.hotspot.HotSpotJVMCIRuntimeProvider jdk.vm.ci.runtime.JVMCIBackend jdk.vm.ci.hotspot.amd64.AMD64HotSpotVMConfig jdk.vm.ci.code.TargetDescription jdk.vm.ci.code.RegisterConfig jdk.vm.ci.hotspot.HotSpotCodeCacheProvider jdk.vm.ci.meta.ConstantReflectionProvider jdk.vm.ci.hotspot.HotSpotMetaAccessProvider jdk.vm.ci.code.stack.StackIntrospection java.lang.Throwable java.lang.Throwable jdk.vm.ci.common.InitTimer
      StackMap stack: jdk.vm.ci.runtime.JVMCIBackend
            areturn
      StackMap locals:
      StackMap stack: java.lang.Throwable
        61: astore 10
        62: .line 208
            aload 12 /* rt */
            ifnull 63
            aload 12 /* rt */
            invokevirtual jdk.vm.ci.common.InitTimer.close:()V
        end local 12 // jdk.vm.ci.common.InitTimer rt
      StackMap locals:
      StackMap stack:
        63: aload 10
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
        64: astore 11
            aload 10
            ifnonnull 65
            aload 11
            astore 10
            goto 66
      StackMap locals:
      StackMap stack:
        65: aload 10
            aload 11
            if_acmpeq 66
            aload 10
            aload 11
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        66: aload 10
            athrow
        end local 9 // jdk.vm.ci.code.stack.StackIntrospection stackIntrospection
        end local 8 // jdk.vm.ci.hotspot.HotSpotMetaAccessProvider metaAccess
        end local 7 // jdk.vm.ci.meta.ConstantReflectionProvider constantReflection
        end local 6 // jdk.vm.ci.hotspot.HotSpotCodeCacheProvider codeCache
        end local 5 // jdk.vm.ci.code.RegisterConfig regConfig
        end local 4 // jdk.vm.ci.code.TargetDescription target
        end local 3 // jdk.vm.ci.hotspot.amd64.AMD64HotSpotVMConfig config
        end local 2 // jdk.vm.ci.runtime.JVMCIBackend host
        end local 1 // jdk.vm.ci.hotspot.HotSpotJVMCIRuntimeProvider runtime
        end local 0 // jdk.vm.ci.hotspot.amd64.AMD64HotSpotJVMCIBackendFactory this
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0   67     0                this  Ljdk/vm/ci/hotspot/amd64/AMD64HotSpotJVMCIBackendFactory;
            0   67     1             runtime  Ljdk/vm/ci/hotspot/HotSpotJVMCIRuntimeProvider;
            0   67     2                host  Ljdk/vm/ci/runtime/JVMCIBackend;
            2   67     3              config  Ljdk/vm/ci/hotspot/amd64/AMD64HotSpotVMConfig;
            3   67     4              target  Ljdk/vm/ci/code/TargetDescription;
           17   18     5           regConfig  Ljdk/vm/ci/code/RegisterConfig;
           23   51     5           regConfig  Ljdk/vm/ci/code/RegisterConfig;
           56   67     5           regConfig  Ljdk/vm/ci/code/RegisterConfig;
           26   27     6           codeCache  Ljdk/vm/ci/hotspot/HotSpotCodeCacheProvider;
           32   51     6           codeCache  Ljdk/vm/ci/hotspot/HotSpotCodeCacheProvider;
           56   67     6           codeCache  Ljdk/vm/ci/hotspot/HotSpotCodeCacheProvider;
           35   36     7  constantReflection  Ljdk/vm/ci/meta/ConstantReflectionProvider;
           41   51     7  constantReflection  Ljdk/vm/ci/meta/ConstantReflectionProvider;
           56   67     7  constantReflection  Ljdk/vm/ci/meta/ConstantReflectionProvider;
            8    9     8          metaAccess  Ljdk/vm/ci/hotspot/HotSpotMetaAccessProvider;
           14   51     8          metaAccess  Ljdk/vm/ci/hotspot/HotSpotMetaAccessProvider;
           56   67     8          metaAccess  Ljdk/vm/ci/hotspot/HotSpotMetaAccessProvider;
           44   45     9  stackIntrospection  Ljdk/vm/ci/code/stack/StackIntrospection;
           50   51     9  stackIntrospection  Ljdk/vm/ci/code/stack/StackIntrospection;
           56   67     9  stackIntrospection  Ljdk/vm/ci/code/stack/StackIntrospection;
            5   52    12                   t  Ljdk/vm/ci/common/InitTimer;
            7   10    15                  rt  Ljdk/vm/ci/common/InitTimer;
           16   19    15                  rt  Ljdk/vm/ci/common/InitTimer;
           25   28    15                  rt  Ljdk/vm/ci/common/InitTimer;
           34   37    15                  rt  Ljdk/vm/ci/common/InitTimer;
           43   46    15                  rt  Ljdk/vm/ci/common/InitTimer;
           58   63    12                  rt  Ljdk/vm/ci/common/InitTimer;
      Exception table:
        from    to  target  type
           7     8       9  any
           6    11      11  any
          16    17      18  any
          15    20      20  any
          25    26      27  any
          24    29      29  any
          34    35      36  any
          33    38      38  any
          43    44      45  any
          42    47      47  any
           5    50      51  any
           4    53      53  any
          58    59      61  any
          57    60      64  any
          61    64      64  any
    MethodParameters:
         Name  Flags
      runtime  
      host     

  protected jdk.vm.ci.runtime.JVMCIBackend createBackend(jdk.vm.ci.hotspot.HotSpotMetaAccessProvider, jdk.vm.ci.hotspot.HotSpotCodeCacheProvider, jdk.vm.ci.meta.ConstantReflectionProvider, jdk.vm.ci.code.stack.StackIntrospection);
    descriptor: (Ljdk/vm/ci/hotspot/HotSpotMetaAccessProvider;Ljdk/vm/ci/hotspot/HotSpotCodeCacheProvider;Ljdk/vm/ci/meta/ConstantReflectionProvider;Ljdk/vm/ci/code/stack/StackIntrospection;)Ljdk/vm/ci/runtime/JVMCIBackend;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=6, locals=5, args_size=5
        start local 0 // jdk.vm.ci.hotspot.amd64.AMD64HotSpotJVMCIBackendFactory this
        start local 1 // jdk.vm.ci.hotspot.HotSpotMetaAccessProvider metaAccess
        start local 2 // jdk.vm.ci.hotspot.HotSpotCodeCacheProvider codeCache
        start local 3 // jdk.vm.ci.meta.ConstantReflectionProvider constantReflection
        start local 4 // jdk.vm.ci.code.stack.StackIntrospection stackIntrospection
         0: .line 213
            new jdk.vm.ci.runtime.JVMCIBackend
            dup
            aload 1 /* metaAccess */
            aload 2 /* codeCache */
            aload 3 /* constantReflection */
            aload 4 /* stackIntrospection */
            invokespecial jdk.vm.ci.runtime.JVMCIBackend.<init>:(Ljdk/vm/ci/meta/MetaAccessProvider;Ljdk/vm/ci/code/CodeCacheProvider;Ljdk/vm/ci/meta/ConstantReflectionProvider;Ljdk/vm/ci/code/stack/StackIntrospection;)V
            areturn
        end local 4 // jdk.vm.ci.code.stack.StackIntrospection stackIntrospection
        end local 3 // jdk.vm.ci.meta.ConstantReflectionProvider constantReflection
        end local 2 // jdk.vm.ci.hotspot.HotSpotCodeCacheProvider codeCache
        end local 1 // jdk.vm.ci.hotspot.HotSpotMetaAccessProvider metaAccess
        end local 0 // jdk.vm.ci.hotspot.amd64.AMD64HotSpotJVMCIBackendFactory this
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0    1     0                this  Ljdk/vm/ci/hotspot/amd64/AMD64HotSpotJVMCIBackendFactory;
            0    1     1          metaAccess  Ljdk/vm/ci/hotspot/HotSpotMetaAccessProvider;
            0    1     2           codeCache  Ljdk/vm/ci/hotspot/HotSpotCodeCacheProvider;
            0    1     3  constantReflection  Ljdk/vm/ci/meta/ConstantReflectionProvider;
            0    1     4  stackIntrospection  Ljdk/vm/ci/code/stack/StackIntrospection;
    MethodParameters:
                    Name  Flags
      metaAccess          
      codeCache           
      constantReflection  
      stackIntrospection  
}
SourceFile: "AMD64HotSpotJVMCIBackendFactory.java"
InnerClasses:
  public final CPUFeature = jdk.vm.ci.amd64.AMD64$CPUFeature of jdk.vm.ci.amd64.AMD64
  public final Flag = jdk.vm.ci.amd64.AMD64$Flag of jdk.vm.ci.amd64.AMD64