public class jdk.vm.ci.hotspot.amd64.AMD64HotSpotRegisterConfig implements jdk.vm.ci.code.RegisterConfig
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: jdk.vm.ci.hotspot.amd64.AMD64HotSpotRegisterConfig
  super_class: java.lang.Object
{
  private final jdk.vm.ci.code.TargetDescription target;
    descriptor: Ljdk/vm/ci/code/TargetDescription;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final jdk.vm.ci.code.RegisterArray allocatable;
    descriptor: Ljdk/vm/ci/code/RegisterArray;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final jdk.vm.ci.code.RegisterArray callerSaved;
    descriptor: Ljdk/vm/ci/code/RegisterArray;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final boolean allAllocatableAreCallerSaved;
    descriptor: Z
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final jdk.vm.ci.code.RegisterAttributes[] attributesMap;
    descriptor: [Ljdk/vm/ci/code/RegisterAttributes;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final jdk.vm.ci.code.RegisterArray javaGeneralParameterRegisters;
    descriptor: Ljdk/vm/ci/code/RegisterArray;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final jdk.vm.ci.code.RegisterArray nativeGeneralParameterRegisters;
    descriptor: Ljdk/vm/ci/code/RegisterArray;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final jdk.vm.ci.code.RegisterArray javaXMMParameterRegisters;
    descriptor: Ljdk/vm/ci/code/RegisterArray;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final jdk.vm.ci.code.RegisterArray nativeXMMParameterRegisters;
    descriptor: Ljdk/vm/ci/code/RegisterArray;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final boolean windowsOS;
    descriptor: Z
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final boolean needsNativeStackHomeSpace;
    descriptor: Z
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private static final jdk.vm.ci.code.RegisterArray reservedRegisters;
    descriptor: Ljdk/vm/ci/code/RegisterArray;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

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

  private static volatile int[] $SWITCH_TABLE$jdk$vm$ci$meta$JavaKind;
    descriptor: [I
    flags: (0x104a) ACC_PRIVATE, ACC_STATIC, ACC_VOLATILE, ACC_SYNTHETIC

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=6, locals=0, args_size=0
         0: .line 68
            ldc Ljdk/vm/ci/hotspot/amd64/AMD64HotSpotRegisterConfig;
            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.AMD64HotSpotRegisterConfig.$assertionsDisabled:Z
         3: .line 118
            new jdk.vm.ci.code.RegisterArray
            dup
            iconst_2
            anewarray jdk.vm.ci.code.Register
            dup
            iconst_0
            getstatic jdk.vm.ci.amd64.AMD64.rsp:Ljdk/vm/ci/code/Register;
            aastore
            dup
            iconst_1
            getstatic jdk.vm.ci.amd64.AMD64.r15:Ljdk/vm/ci/code/Register;
            aastore
            invokespecial jdk.vm.ci.code.RegisterArray.<init>:([Ljdk/vm/ci/code/Register;)V
            putstatic jdk.vm.ci.hotspot.amd64.AMD64HotSpotRegisterConfig.reservedRegisters:Ljdk/vm/ci/code/RegisterArray;
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public jdk.vm.ci.code.RegisterArray getAllocatableRegisters();
    descriptor: ()Ljdk/vm/ci/code/RegisterArray;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // jdk.vm.ci.hotspot.amd64.AMD64HotSpotRegisterConfig this
         0: .line 85
            aload 0 /* this */
            getfield jdk.vm.ci.hotspot.amd64.AMD64HotSpotRegisterConfig.allocatable:Ljdk/vm/ci/code/RegisterArray;
            areturn
        end local 0 // jdk.vm.ci.hotspot.amd64.AMD64HotSpotRegisterConfig this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljdk/vm/ci/hotspot/amd64/AMD64HotSpotRegisterConfig;

  public jdk.vm.ci.code.RegisterArray filterAllocatableRegisters(jdk.vm.ci.meta.PlatformKind, jdk.vm.ci.code.RegisterArray);
    descriptor: (Ljdk/vm/ci/meta/PlatformKind;Ljdk/vm/ci/code/RegisterArray;)Ljdk/vm/ci/code/RegisterArray;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=6, args_size=3
        start local 0 // jdk.vm.ci.hotspot.amd64.AMD64HotSpotRegisterConfig this
        start local 1 // jdk.vm.ci.meta.PlatformKind kind
        start local 2 // jdk.vm.ci.code.RegisterArray registers
         0: .line 90
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 3 /* list */
        start local 3 // java.util.ArrayList list
         1: .line 91
            aload 2 /* registers */
            invokevirtual jdk.vm.ci.code.RegisterArray.iterator:()Ljava/util/Iterator;
            astore 5
            goto 5
      StackMap locals: jdk.vm.ci.hotspot.amd64.AMD64HotSpotRegisterConfig jdk.vm.ci.meta.PlatformKind jdk.vm.ci.code.RegisterArray java.util.ArrayList top java.util.Iterator
      StackMap stack:
         2: aload 5
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast jdk.vm.ci.code.Register
            astore 4 /* reg */
        start local 4 // jdk.vm.ci.code.Register reg
         3: .line 92
            aload 0 /* this */
            getfield jdk.vm.ci.hotspot.amd64.AMD64HotSpotRegisterConfig.target:Ljdk/vm/ci/code/TargetDescription;
            getfield jdk.vm.ci.code.TargetDescription.arch:Ljdk/vm/ci/code/Architecture;
            aload 4 /* reg */
            invokevirtual jdk.vm.ci.code.Register.getRegisterCategory:()Ljdk/vm/ci/code/Register$RegisterCategory;
            aload 1 /* kind */
            invokevirtual jdk.vm.ci.code.Architecture.canStoreValue:(Ljdk/vm/ci/code/Register$RegisterCategory;Ljdk/vm/ci/meta/PlatformKind;)Z
            ifeq 5
         4: .line 93
            aload 3 /* list */
            aload 4 /* reg */
            invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
            pop
        end local 4 // jdk.vm.ci.code.Register reg
         5: .line 91
      StackMap locals:
      StackMap stack:
            aload 5
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 2
         6: .line 97
            new jdk.vm.ci.code.RegisterArray
            dup
            aload 3 /* list */
            invokespecial jdk.vm.ci.code.RegisterArray.<init>:(Ljava/util/Collection;)V
            astore 4 /* ret */
        start local 4 // jdk.vm.ci.code.RegisterArray ret
         7: .line 98
            aload 4 /* ret */
            areturn
        end local 4 // jdk.vm.ci.code.RegisterArray ret
        end local 3 // java.util.ArrayList list
        end local 2 // jdk.vm.ci.code.RegisterArray registers
        end local 1 // jdk.vm.ci.meta.PlatformKind kind
        end local 0 // jdk.vm.ci.hotspot.amd64.AMD64HotSpotRegisterConfig this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    8     0       this  Ljdk/vm/ci/hotspot/amd64/AMD64HotSpotRegisterConfig;
            0    8     1       kind  Ljdk/vm/ci/meta/PlatformKind;
            0    8     2  registers  Ljdk/vm/ci/code/RegisterArray;
            1    8     3       list  Ljava/util/ArrayList<Ljdk/vm/ci/code/Register;>;
            3    5     4        reg  Ljdk/vm/ci/code/Register;
            7    8     4        ret  Ljdk/vm/ci/code/RegisterArray;
    MethodParameters:
           Name  Flags
      kind       
      registers  

  public jdk.vm.ci.code.RegisterAttributes[] getAttributesMap();
    descriptor: ()[Ljdk/vm/ci/code/RegisterAttributes;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // jdk.vm.ci.hotspot.amd64.AMD64HotSpotRegisterConfig this
         0: .line 103
            aload 0 /* this */
            getfield jdk.vm.ci.hotspot.amd64.AMD64HotSpotRegisterConfig.attributesMap:[Ljdk/vm/ci/code/RegisterAttributes;
            invokevirtual jdk.vm.ci.code.RegisterAttributes[].clone:()Ljava/lang/Object;
            checkcast jdk.vm.ci.code.RegisterAttributes[]
            areturn
        end local 0 // jdk.vm.ci.hotspot.amd64.AMD64HotSpotRegisterConfig this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljdk/vm/ci/hotspot/amd64/AMD64HotSpotRegisterConfig;

  private static jdk.vm.ci.code.RegisterArray initAllocatable(jdk.vm.ci.code.Architecture, boolean);
    descriptor: (Ljdk/vm/ci/code/Architecture;Z)Ljdk/vm/ci/code/RegisterArray;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=8, args_size=2
        start local 0 // jdk.vm.ci.code.Architecture arch
        start local 1 // boolean reserveForHeapBase
         0: .line 121
            aload 0 /* arch */
            invokevirtual jdk.vm.ci.code.Architecture.getAvailableValueRegisters:()Ljdk/vm/ci/code/RegisterArray;
            astore 2 /* allRegisters */
        start local 2 // jdk.vm.ci.code.RegisterArray allRegisters
         1: .line 122
            aload 2 /* allRegisters */
            invokevirtual jdk.vm.ci.code.RegisterArray.size:()I
            getstatic jdk.vm.ci.hotspot.amd64.AMD64HotSpotRegisterConfig.reservedRegisters:Ljdk/vm/ci/code/RegisterArray;
            invokevirtual jdk.vm.ci.code.RegisterArray.size:()I
            isub
            iload 1 /* reserveForHeapBase */
            ifeq 2
            iconst_1
            goto 3
      StackMap locals: jdk.vm.ci.code.Architecture int jdk.vm.ci.code.RegisterArray
      StackMap stack: int
         2: iconst_0
      StackMap locals: jdk.vm.ci.code.Architecture int jdk.vm.ci.code.RegisterArray
      StackMap stack: int int
         3: isub
            anewarray jdk.vm.ci.code.Register
            astore 3 /* registers */
        start local 3 // jdk.vm.ci.code.Register[] registers
         4: .line 123
            getstatic jdk.vm.ci.hotspot.amd64.AMD64HotSpotRegisterConfig.reservedRegisters:Ljdk/vm/ci/code/RegisterArray;
            invokevirtual jdk.vm.ci.code.RegisterArray.asList:()Ljava/util/List;
            astore 4 /* reservedRegistersList */
        start local 4 // java.util.List reservedRegistersList
         5: .line 125
            iconst_0
            istore 5 /* idx */
        start local 5 // int idx
         6: .line 126
            aload 2 /* allRegisters */
            invokevirtual jdk.vm.ci.code.RegisterArray.iterator:()Ljava/util/Iterator;
            astore 7
            goto 13
      StackMap locals: jdk.vm.ci.code.Architecture int jdk.vm.ci.code.RegisterArray jdk.vm.ci.code.Register[] java.util.List int top java.util.Iterator
      StackMap stack:
         7: aload 7
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast jdk.vm.ci.code.Register
            astore 6 /* reg */
        start local 6 // jdk.vm.ci.code.Register reg
         8: .line 127
            aload 4 /* reservedRegistersList */
            aload 6 /* reg */
            invokeinterface java.util.List.contains:(Ljava/lang/Object;)Z
            ifeq 10
         9: .line 129
            goto 13
        10: .line 131
      StackMap locals: jdk.vm.ci.code.Architecture int jdk.vm.ci.code.RegisterArray jdk.vm.ci.code.Register[] java.util.List int jdk.vm.ci.code.Register java.util.Iterator
      StackMap stack:
            iload 1 /* reserveForHeapBase */
            ifeq 12
            aload 6 /* reg */
            getstatic jdk.vm.ci.amd64.AMD64.r12:Ljdk/vm/ci/code/Register;
            invokevirtual jdk.vm.ci.code.Register.equals:(Ljava/lang/Object;)Z
            ifeq 12
        11: .line 133
            goto 13
        12: .line 136
      StackMap locals:
      StackMap stack:
            aload 3 /* registers */
            iload 5 /* idx */
            iinc 5 /* idx */ 1
            aload 6 /* reg */
            aastore
        end local 6 // jdk.vm.ci.code.Register reg
        13: .line 126
      StackMap locals: jdk.vm.ci.code.Architecture int jdk.vm.ci.code.RegisterArray jdk.vm.ci.code.Register[] java.util.List int top java.util.Iterator
      StackMap stack:
            aload 7
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 7
        14: .line 139
            getstatic jdk.vm.ci.hotspot.amd64.AMD64HotSpotRegisterConfig.$assertionsDisabled:Z
            ifne 15
            iload 5 /* idx */
            aload 3 /* registers */
            arraylength
            if_icmpeq 15
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        15: .line 140
      StackMap locals: jdk.vm.ci.code.Architecture int jdk.vm.ci.code.RegisterArray jdk.vm.ci.code.Register[] java.util.List int
      StackMap stack:
            new jdk.vm.ci.code.RegisterArray
            dup
            aload 3 /* registers */
            invokespecial jdk.vm.ci.code.RegisterArray.<init>:([Ljdk/vm/ci/code/Register;)V
            areturn
        end local 5 // int idx
        end local 4 // java.util.List reservedRegistersList
        end local 3 // jdk.vm.ci.code.Register[] registers
        end local 2 // jdk.vm.ci.code.RegisterArray allRegisters
        end local 1 // boolean reserveForHeapBase
        end local 0 // jdk.vm.ci.code.Architecture arch
      LocalVariableTable:
        Start  End  Slot                   Name  Signature
            0   16     0                   arch  Ljdk/vm/ci/code/Architecture;
            0   16     1     reserveForHeapBase  Z
            1   16     2           allRegisters  Ljdk/vm/ci/code/RegisterArray;
            4   16     3              registers  [Ljdk/vm/ci/code/Register;
            5   16     4  reservedRegistersList  Ljava/util/List<Ljdk/vm/ci/code/Register;>;
            6   16     5                    idx  I
            8   13     6                    reg  Ljdk/vm/ci/code/Register;
    MethodParameters:
                    Name  Flags
      arch                
      reserveForHeapBase  

  public void <init>(jdk.vm.ci.code.TargetDescription, boolean, boolean);
    descriptor: (Ljdk/vm/ci/code/TargetDescription;ZZ)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=4, args_size=4
        start local 0 // jdk.vm.ci.hotspot.amd64.AMD64HotSpotRegisterConfig this
        start local 1 // jdk.vm.ci.code.TargetDescription target
        start local 2 // boolean useCompressedOops
        start local 3 // boolean windowsOs
         0: .line 144
            aload 0 /* this */
            aload 1 /* target */
            aload 1 /* target */
            getfield jdk.vm.ci.code.TargetDescription.arch:Ljdk/vm/ci/code/Architecture;
            iload 2 /* useCompressedOops */
            invokestatic jdk.vm.ci.hotspot.amd64.AMD64HotSpotRegisterConfig.initAllocatable:(Ljdk/vm/ci/code/Architecture;Z)Ljdk/vm/ci/code/RegisterArray;
            iload 3 /* windowsOs */
            invokespecial jdk.vm.ci.hotspot.amd64.AMD64HotSpotRegisterConfig.<init>:(Ljdk/vm/ci/code/TargetDescription;Ljdk/vm/ci/code/RegisterArray;Z)V
         1: .line 145
            getstatic jdk.vm.ci.hotspot.amd64.AMD64HotSpotRegisterConfig.$assertionsDisabled:Z
            ifne 2
            aload 0 /* this */
            getfield jdk.vm.ci.hotspot.amd64.AMD64HotSpotRegisterConfig.callerSaved:Ljdk/vm/ci/code/RegisterArray;
            invokevirtual jdk.vm.ci.code.RegisterArray.size:()I
            aload 0 /* this */
            getfield jdk.vm.ci.hotspot.amd64.AMD64HotSpotRegisterConfig.allocatable:Ljdk/vm/ci/code/RegisterArray;
            invokevirtual jdk.vm.ci.code.RegisterArray.size:()I
            if_icmpge 2
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         2: .line 146
      StackMap locals: jdk.vm.ci.hotspot.amd64.AMD64HotSpotRegisterConfig jdk.vm.ci.code.TargetDescription int int
      StackMap stack:
            return
        end local 3 // boolean windowsOs
        end local 2 // boolean useCompressedOops
        end local 1 // jdk.vm.ci.code.TargetDescription target
        end local 0 // jdk.vm.ci.hotspot.amd64.AMD64HotSpotRegisterConfig this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0    3     0               this  Ljdk/vm/ci/hotspot/amd64/AMD64HotSpotRegisterConfig;
            0    3     1             target  Ljdk/vm/ci/code/TargetDescription;
            0    3     2  useCompressedOops  Z
            0    3     3          windowsOs  Z
    MethodParameters:
                   Name  Flags
      target             
      useCompressedOops  
      windowsOs          

  public void <init>(jdk.vm.ci.code.TargetDescription, jdk.vm.ci.code.RegisterArray, boolean);
    descriptor: (Ljdk/vm/ci/code/TargetDescription;Ljdk/vm/ci/code/RegisterArray;Z)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=5, args_size=4
        start local 0 // jdk.vm.ci.hotspot.amd64.AMD64HotSpotRegisterConfig this
        start local 1 // jdk.vm.ci.code.TargetDescription target
        start local 2 // jdk.vm.ci.code.RegisterArray allocatable
        start local 3 // boolean windowsOS
         0: .line 148
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 149
            aload 0 /* this */
            aload 1 /* target */
            putfield jdk.vm.ci.hotspot.amd64.AMD64HotSpotRegisterConfig.target:Ljdk/vm/ci/code/TargetDescription;
         2: .line 150
            aload 0 /* this */
            iload 3 /* windowsOS */
            putfield jdk.vm.ci.hotspot.amd64.AMD64HotSpotRegisterConfig.windowsOS:Z
         3: .line 152
            iload 3 /* windowsOS */
            ifeq 9
         4: .line 153
            aload 0 /* this */
            new jdk.vm.ci.code.RegisterArray
            dup
            bipush 6
            anewarray jdk.vm.ci.code.Register
            dup
            iconst_0
            getstatic jdk.vm.ci.amd64.AMD64.rdx:Ljdk/vm/ci/code/Register;
            aastore
            dup
            iconst_1
            getstatic jdk.vm.ci.amd64.AMD64.r8:Ljdk/vm/ci/code/Register;
            aastore
            dup
            iconst_2
            getstatic jdk.vm.ci.amd64.AMD64.r9:Ljdk/vm/ci/code/Register;
            aastore
            dup
            iconst_3
            getstatic jdk.vm.ci.amd64.AMD64.rdi:Ljdk/vm/ci/code/Register;
            aastore
            dup
            iconst_4
            getstatic jdk.vm.ci.amd64.AMD64.rsi:Ljdk/vm/ci/code/Register;
            aastore
            dup
            iconst_5
            getstatic jdk.vm.ci.amd64.AMD64.rcx:Ljdk/vm/ci/code/Register;
            aastore
            invokespecial jdk.vm.ci.code.RegisterArray.<init>:([Ljdk/vm/ci/code/Register;)V
            putfield jdk.vm.ci.hotspot.amd64.AMD64HotSpotRegisterConfig.javaGeneralParameterRegisters:Ljdk/vm/ci/code/RegisterArray;
         5: .line 154
            aload 0 /* this */
            new jdk.vm.ci.code.RegisterArray
            dup
            iconst_4
            anewarray jdk.vm.ci.code.Register
            dup
            iconst_0
            getstatic jdk.vm.ci.amd64.AMD64.rcx:Ljdk/vm/ci/code/Register;
            aastore
            dup
            iconst_1
            getstatic jdk.vm.ci.amd64.AMD64.rdx:Ljdk/vm/ci/code/Register;
            aastore
            dup
            iconst_2
            getstatic jdk.vm.ci.amd64.AMD64.r8:Ljdk/vm/ci/code/Register;
            aastore
            dup
            iconst_3
            getstatic jdk.vm.ci.amd64.AMD64.r9:Ljdk/vm/ci/code/Register;
            aastore
            invokespecial jdk.vm.ci.code.RegisterArray.<init>:([Ljdk/vm/ci/code/Register;)V
            putfield jdk.vm.ci.hotspot.amd64.AMD64HotSpotRegisterConfig.nativeGeneralParameterRegisters:Ljdk/vm/ci/code/RegisterArray;
         6: .line 155
            aload 0 /* this */
            new jdk.vm.ci.code.RegisterArray
            dup
            iconst_4
            anewarray jdk.vm.ci.code.Register
            dup
            iconst_0
            getstatic jdk.vm.ci.amd64.AMD64.xmm0:Ljdk/vm/ci/code/Register;
            aastore
            dup
            iconst_1
            getstatic jdk.vm.ci.amd64.AMD64.xmm1:Ljdk/vm/ci/code/Register;
            aastore
            dup
            iconst_2
            getstatic jdk.vm.ci.amd64.AMD64.xmm2:Ljdk/vm/ci/code/Register;
            aastore
            dup
            iconst_3
            getstatic jdk.vm.ci.amd64.AMD64.xmm3:Ljdk/vm/ci/code/Register;
            aastore
            invokespecial jdk.vm.ci.code.RegisterArray.<init>:([Ljdk/vm/ci/code/Register;)V
            putfield jdk.vm.ci.hotspot.amd64.AMD64HotSpotRegisterConfig.nativeXMMParameterRegisters:Ljdk/vm/ci/code/RegisterArray;
         7: .line 156
            aload 0 /* this */
            iconst_1
            putfield jdk.vm.ci.hotspot.amd64.AMD64HotSpotRegisterConfig.needsNativeStackHomeSpace:Z
         8: .line 157
            goto 13
         9: .line 158
      StackMap locals: jdk.vm.ci.hotspot.amd64.AMD64HotSpotRegisterConfig jdk.vm.ci.code.TargetDescription jdk.vm.ci.code.RegisterArray int
      StackMap stack:
            aload 0 /* this */
            new jdk.vm.ci.code.RegisterArray
            dup
            bipush 6
            anewarray jdk.vm.ci.code.Register
            dup
            iconst_0
            getstatic jdk.vm.ci.amd64.AMD64.rsi:Ljdk/vm/ci/code/Register;
            aastore
            dup
            iconst_1
            getstatic jdk.vm.ci.amd64.AMD64.rdx:Ljdk/vm/ci/code/Register;
            aastore
            dup
            iconst_2
            getstatic jdk.vm.ci.amd64.AMD64.rcx:Ljdk/vm/ci/code/Register;
            aastore
            dup
            iconst_3
            getstatic jdk.vm.ci.amd64.AMD64.r8:Ljdk/vm/ci/code/Register;
            aastore
            dup
            iconst_4
            getstatic jdk.vm.ci.amd64.AMD64.r9:Ljdk/vm/ci/code/Register;
            aastore
            dup
            iconst_5
            getstatic jdk.vm.ci.amd64.AMD64.rdi:Ljdk/vm/ci/code/Register;
            aastore
            invokespecial jdk.vm.ci.code.RegisterArray.<init>:([Ljdk/vm/ci/code/Register;)V
            putfield jdk.vm.ci.hotspot.amd64.AMD64HotSpotRegisterConfig.javaGeneralParameterRegisters:Ljdk/vm/ci/code/RegisterArray;
        10: .line 159
            aload 0 /* this */
            new jdk.vm.ci.code.RegisterArray
            dup
            bipush 6
            anewarray jdk.vm.ci.code.Register
            dup
            iconst_0
            getstatic jdk.vm.ci.amd64.AMD64.rdi:Ljdk/vm/ci/code/Register;
            aastore
            dup
            iconst_1
            getstatic jdk.vm.ci.amd64.AMD64.rsi:Ljdk/vm/ci/code/Register;
            aastore
            dup
            iconst_2
            getstatic jdk.vm.ci.amd64.AMD64.rdx:Ljdk/vm/ci/code/Register;
            aastore
            dup
            iconst_3
            getstatic jdk.vm.ci.amd64.AMD64.rcx:Ljdk/vm/ci/code/Register;
            aastore
            dup
            iconst_4
            getstatic jdk.vm.ci.amd64.AMD64.r8:Ljdk/vm/ci/code/Register;
            aastore
            dup
            iconst_5
            getstatic jdk.vm.ci.amd64.AMD64.r9:Ljdk/vm/ci/code/Register;
            aastore
            invokespecial jdk.vm.ci.code.RegisterArray.<init>:([Ljdk/vm/ci/code/Register;)V
            putfield jdk.vm.ci.hotspot.amd64.AMD64HotSpotRegisterConfig.nativeGeneralParameterRegisters:Ljdk/vm/ci/code/RegisterArray;
        11: .line 160
            aload 0 /* this */
            new jdk.vm.ci.code.RegisterArray
            dup
            bipush 8
            anewarray jdk.vm.ci.code.Register
            dup
            iconst_0
            getstatic jdk.vm.ci.amd64.AMD64.xmm0:Ljdk/vm/ci/code/Register;
            aastore
            dup
            iconst_1
            getstatic jdk.vm.ci.amd64.AMD64.xmm1:Ljdk/vm/ci/code/Register;
            aastore
            dup
            iconst_2
            getstatic jdk.vm.ci.amd64.AMD64.xmm2:Ljdk/vm/ci/code/Register;
            aastore
            dup
            iconst_3
            getstatic jdk.vm.ci.amd64.AMD64.xmm3:Ljdk/vm/ci/code/Register;
            aastore
            dup
            iconst_4
            getstatic jdk.vm.ci.amd64.AMD64.xmm4:Ljdk/vm/ci/code/Register;
            aastore
            dup
            iconst_5
            getstatic jdk.vm.ci.amd64.AMD64.xmm5:Ljdk/vm/ci/code/Register;
            aastore
            dup
            bipush 6
            getstatic jdk.vm.ci.amd64.AMD64.xmm6:Ljdk/vm/ci/code/Register;
            aastore
            dup
            bipush 7
            getstatic jdk.vm.ci.amd64.AMD64.xmm7:Ljdk/vm/ci/code/Register;
            aastore
            invokespecial jdk.vm.ci.code.RegisterArray.<init>:([Ljdk/vm/ci/code/Register;)V
            putfield jdk.vm.ci.hotspot.amd64.AMD64HotSpotRegisterConfig.nativeXMMParameterRegisters:Ljdk/vm/ci/code/RegisterArray;
        12: .line 161
            aload 0 /* this */
            iconst_0
            putfield jdk.vm.ci.hotspot.amd64.AMD64HotSpotRegisterConfig.needsNativeStackHomeSpace:Z
        13: .line 163
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            new jdk.vm.ci.code.RegisterArray
            dup
            bipush 8
            anewarray jdk.vm.ci.code.Register
            dup
            iconst_0
            getstatic jdk.vm.ci.amd64.AMD64.xmm0:Ljdk/vm/ci/code/Register;
            aastore
            dup
            iconst_1
            getstatic jdk.vm.ci.amd64.AMD64.xmm1:Ljdk/vm/ci/code/Register;
            aastore
            dup
            iconst_2
            getstatic jdk.vm.ci.amd64.AMD64.xmm2:Ljdk/vm/ci/code/Register;
            aastore
            dup
            iconst_3
            getstatic jdk.vm.ci.amd64.AMD64.xmm3:Ljdk/vm/ci/code/Register;
            aastore
            dup
            iconst_4
            getstatic jdk.vm.ci.amd64.AMD64.xmm4:Ljdk/vm/ci/code/Register;
            aastore
            dup
            iconst_5
            getstatic jdk.vm.ci.amd64.AMD64.xmm5:Ljdk/vm/ci/code/Register;
            aastore
            dup
            bipush 6
            getstatic jdk.vm.ci.amd64.AMD64.xmm6:Ljdk/vm/ci/code/Register;
            aastore
            dup
            bipush 7
            getstatic jdk.vm.ci.amd64.AMD64.xmm7:Ljdk/vm/ci/code/Register;
            aastore
            invokespecial jdk.vm.ci.code.RegisterArray.<init>:([Ljdk/vm/ci/code/Register;)V
            putfield jdk.vm.ci.hotspot.amd64.AMD64HotSpotRegisterConfig.javaXMMParameterRegisters:Ljdk/vm/ci/code/RegisterArray;
        14: .line 165
            aload 0 /* this */
            aload 2 /* allocatable */
            putfield jdk.vm.ci.hotspot.amd64.AMD64HotSpotRegisterConfig.allocatable:Ljdk/vm/ci/code/RegisterArray;
        15: .line 166
            new java.util.HashSet
            dup
            invokespecial java.util.HashSet.<init>:()V
            astore 4 /* callerSaveSet */
        start local 4 // java.util.Set callerSaveSet
        16: .line 167
            aload 2 /* allocatable */
            aload 4 /* callerSaveSet */
            invokevirtual jdk.vm.ci.code.RegisterArray.addTo:(Ljava/util/Collection;)V
        17: .line 168
            aload 0 /* this */
            getfield jdk.vm.ci.hotspot.amd64.AMD64HotSpotRegisterConfig.javaXMMParameterRegisters:Ljdk/vm/ci/code/RegisterArray;
            aload 4 /* callerSaveSet */
            invokevirtual jdk.vm.ci.code.RegisterArray.addTo:(Ljava/util/Collection;)V
        18: .line 169
            aload 4 /* callerSaveSet */
            aload 0 /* this */
            getfield jdk.vm.ci.hotspot.amd64.AMD64HotSpotRegisterConfig.javaGeneralParameterRegisters:Ljdk/vm/ci/code/RegisterArray;
            invokevirtual jdk.vm.ci.code.RegisterArray.asList:()Ljava/util/List;
            invokeinterface java.util.Set.addAll:(Ljava/util/Collection;)Z
            pop
        19: .line 170
            aload 0 /* this */
            getfield jdk.vm.ci.hotspot.amd64.AMD64HotSpotRegisterConfig.nativeGeneralParameterRegisters:Ljdk/vm/ci/code/RegisterArray;
            aload 4 /* callerSaveSet */
            invokevirtual jdk.vm.ci.code.RegisterArray.addTo:(Ljava/util/Collection;)V
        20: .line 171
            aload 0 /* this */
            new jdk.vm.ci.code.RegisterArray
            dup
            aload 4 /* callerSaveSet */
            invokespecial jdk.vm.ci.code.RegisterArray.<init>:(Ljava/util/Collection;)V
            putfield jdk.vm.ci.hotspot.amd64.AMD64HotSpotRegisterConfig.callerSaved:Ljdk/vm/ci/code/RegisterArray;
        21: .line 173
            aload 0 /* this */
            iconst_1
            putfield jdk.vm.ci.hotspot.amd64.AMD64HotSpotRegisterConfig.allAllocatableAreCallerSaved:Z
        22: .line 174
            aload 0 /* this */
            aload 0 /* this */
            aload 1 /* target */
            getfield jdk.vm.ci.code.TargetDescription.arch:Ljdk/vm/ci/code/Architecture;
            invokevirtual jdk.vm.ci.code.Architecture.getRegisters:()Ljdk/vm/ci/code/RegisterArray;
            invokestatic jdk.vm.ci.code.RegisterAttributes.createMap:(Ljdk/vm/ci/code/RegisterConfig;Ljdk/vm/ci/code/RegisterArray;)[Ljdk/vm/ci/code/RegisterAttributes;
            putfield jdk.vm.ci.hotspot.amd64.AMD64HotSpotRegisterConfig.attributesMap:[Ljdk/vm/ci/code/RegisterAttributes;
        23: .line 175
            return
        end local 4 // java.util.Set callerSaveSet
        end local 3 // boolean windowsOS
        end local 2 // jdk.vm.ci.code.RegisterArray allocatable
        end local 1 // jdk.vm.ci.code.TargetDescription target
        end local 0 // jdk.vm.ci.hotspot.amd64.AMD64HotSpotRegisterConfig this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   24     0           this  Ljdk/vm/ci/hotspot/amd64/AMD64HotSpotRegisterConfig;
            0   24     1         target  Ljdk/vm/ci/code/TargetDescription;
            0   24     2    allocatable  Ljdk/vm/ci/code/RegisterArray;
            0   24     3      windowsOS  Z
           16   24     4  callerSaveSet  Ljava/util/Set<Ljdk/vm/ci/code/Register;>;
    MethodParameters:
             Name  Flags
      target       
      allocatable  
      windowsOS    

  public jdk.vm.ci.code.RegisterArray getCallerSaveRegisters();
    descriptor: ()Ljdk/vm/ci/code/RegisterArray;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // jdk.vm.ci.hotspot.amd64.AMD64HotSpotRegisterConfig this
         0: .line 179
            aload 0 /* this */
            getfield jdk.vm.ci.hotspot.amd64.AMD64HotSpotRegisterConfig.callerSaved:Ljdk/vm/ci/code/RegisterArray;
            areturn
        end local 0 // jdk.vm.ci.hotspot.amd64.AMD64HotSpotRegisterConfig this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljdk/vm/ci/hotspot/amd64/AMD64HotSpotRegisterConfig;

  public jdk.vm.ci.code.RegisterArray getCalleeSaveRegisters();
    descriptor: ()Ljdk/vm/ci/code/RegisterArray;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // jdk.vm.ci.hotspot.amd64.AMD64HotSpotRegisterConfig this
         0: .line 184
            aconst_null
            areturn
        end local 0 // jdk.vm.ci.hotspot.amd64.AMD64HotSpotRegisterConfig this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljdk/vm/ci/hotspot/amd64/AMD64HotSpotRegisterConfig;

  public boolean areAllAllocatableRegistersCallerSaved();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // jdk.vm.ci.hotspot.amd64.AMD64HotSpotRegisterConfig this
         0: .line 189
            aload 0 /* this */
            getfield jdk.vm.ci.hotspot.amd64.AMD64HotSpotRegisterConfig.allAllocatableAreCallerSaved:Z
            ireturn
        end local 0 // jdk.vm.ci.hotspot.amd64.AMD64HotSpotRegisterConfig this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljdk/vm/ci/hotspot/amd64/AMD64HotSpotRegisterConfig;

  public jdk.vm.ci.code.CallingConvention getCallingConvention(jdk.vm.ci.code.CallingConvention$Type, jdk.vm.ci.meta.JavaType, jdk.vm.ci.meta.JavaType[], jdk.vm.ci.code.ValueKindFactory<?>);
    descriptor: (Ljdk/vm/ci/code/CallingConvention$Type;Ljdk/vm/ci/meta/JavaType;[Ljdk/vm/ci/meta/JavaType;Ljdk/vm/ci/code/ValueKindFactory;)Ljdk/vm/ci/code/CallingConvention;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=8, locals=6, args_size=5
        start local 0 // jdk.vm.ci.hotspot.amd64.AMD64HotSpotRegisterConfig this
        start local 1 // jdk.vm.ci.code.CallingConvention$Type type
        start local 2 // jdk.vm.ci.meta.JavaType returnType
        start local 3 // jdk.vm.ci.meta.JavaType[] parameterTypes
        start local 4 // jdk.vm.ci.code.ValueKindFactory valueKindFactory
         0: .line 194
            aload 1 /* type */
            checkcast jdk.vm.ci.hotspot.HotSpotCallingConventionType
            astore 5 /* hotspotType */
        start local 5 // jdk.vm.ci.hotspot.HotSpotCallingConventionType hotspotType
         1: .line 195
            aload 1 /* type */
            getstatic jdk.vm.ci.hotspot.HotSpotCallingConventionType.NativeCall:Ljdk/vm/ci/hotspot/HotSpotCallingConventionType;
            if_acmpne 3
         2: .line 196
            aload 0 /* this */
            aload 0 /* this */
            getfield jdk.vm.ci.hotspot.amd64.AMD64HotSpotRegisterConfig.nativeGeneralParameterRegisters:Ljdk/vm/ci/code/RegisterArray;
            aload 0 /* this */
            getfield jdk.vm.ci.hotspot.amd64.AMD64HotSpotRegisterConfig.nativeXMMParameterRegisters:Ljdk/vm/ci/code/RegisterArray;
            aload 0 /* this */
            getfield jdk.vm.ci.hotspot.amd64.AMD64HotSpotRegisterConfig.windowsOS:Z
            aload 2 /* returnType */
            aload 3 /* parameterTypes */
            aload 5 /* hotspotType */
            aload 4 /* valueKindFactory */
            invokevirtual jdk.vm.ci.hotspot.amd64.AMD64HotSpotRegisterConfig.callingConvention:(Ljdk/vm/ci/code/RegisterArray;Ljdk/vm/ci/code/RegisterArray;ZLjdk/vm/ci/meta/JavaType;[Ljdk/vm/ci/meta/JavaType;Ljdk/vm/ci/hotspot/HotSpotCallingConventionType;Ljdk/vm/ci/code/ValueKindFactory;)Ljdk/vm/ci/code/CallingConvention;
            areturn
         3: .line 200
      StackMap locals: jdk.vm.ci.hotspot.HotSpotCallingConventionType
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            getfield jdk.vm.ci.hotspot.amd64.AMD64HotSpotRegisterConfig.javaGeneralParameterRegisters:Ljdk/vm/ci/code/RegisterArray;
            aload 0 /* this */
            getfield jdk.vm.ci.hotspot.amd64.AMD64HotSpotRegisterConfig.javaXMMParameterRegisters:Ljdk/vm/ci/code/RegisterArray;
            iconst_0
            aload 2 /* returnType */
            aload 3 /* parameterTypes */
            aload 5 /* hotspotType */
            aload 4 /* valueKindFactory */
            invokevirtual jdk.vm.ci.hotspot.amd64.AMD64HotSpotRegisterConfig.callingConvention:(Ljdk/vm/ci/code/RegisterArray;Ljdk/vm/ci/code/RegisterArray;ZLjdk/vm/ci/meta/JavaType;[Ljdk/vm/ci/meta/JavaType;Ljdk/vm/ci/hotspot/HotSpotCallingConventionType;Ljdk/vm/ci/code/ValueKindFactory;)Ljdk/vm/ci/code/CallingConvention;
            areturn
        end local 5 // jdk.vm.ci.hotspot.HotSpotCallingConventionType hotspotType
        end local 4 // jdk.vm.ci.code.ValueKindFactory valueKindFactory
        end local 3 // jdk.vm.ci.meta.JavaType[] parameterTypes
        end local 2 // jdk.vm.ci.meta.JavaType returnType
        end local 1 // jdk.vm.ci.code.CallingConvention$Type type
        end local 0 // jdk.vm.ci.hotspot.amd64.AMD64HotSpotRegisterConfig this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0    4     0              this  Ljdk/vm/ci/hotspot/amd64/AMD64HotSpotRegisterConfig;
            0    4     1              type  Ljdk/vm/ci/code/CallingConvention$Type;
            0    4     2        returnType  Ljdk/vm/ci/meta/JavaType;
            0    4     3    parameterTypes  [Ljdk/vm/ci/meta/JavaType;
            0    4     4  valueKindFactory  Ljdk/vm/ci/code/ValueKindFactory<*>;
            1    4     5       hotspotType  Ljdk/vm/ci/hotspot/HotSpotCallingConventionType;
    Signature: (Ljdk/vm/ci/code/CallingConvention$Type;Ljdk/vm/ci/meta/JavaType;[Ljdk/vm/ci/meta/JavaType;Ljdk/vm/ci/code/ValueKindFactory<*>;)Ljdk/vm/ci/code/CallingConvention;
    MethodParameters:
                  Name  Flags
      type              
      returnType        
      parameterTypes    
      valueKindFactory  

  public jdk.vm.ci.code.RegisterArray getCallingConventionRegisters(jdk.vm.ci.code.CallingConvention$Type, jdk.vm.ci.meta.JavaKind);
    descriptor: (Ljdk/vm/ci/code/CallingConvention$Type;Ljdk/vm/ci/meta/JavaKind;)Ljdk/vm/ci/code/RegisterArray;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=4, args_size=3
        start local 0 // jdk.vm.ci.hotspot.amd64.AMD64HotSpotRegisterConfig this
        start local 1 // jdk.vm.ci.code.CallingConvention$Type type
        start local 2 // jdk.vm.ci.meta.JavaKind kind
         0: .line 205
            aload 1 /* type */
            checkcast jdk.vm.ci.hotspot.HotSpotCallingConventionType
            astore 3 /* hotspotType */
        start local 3 // jdk.vm.ci.hotspot.HotSpotCallingConventionType hotspotType
         1: .line 206
            invokestatic jdk.vm.ci.hotspot.amd64.AMD64HotSpotRegisterConfig.$SWITCH_TABLE$jdk$vm$ci$meta$JavaKind:()[I
            aload 2 /* kind */
            invokevirtual jdk.vm.ci.meta.JavaKind.ordinal:()I
            iaload
            tableswitch { // 1 - 9
                    1: 2
                    2: 2
                    3: 2
                    4: 2
                    5: 2
                    6: 5
                    7: 2
                    8: 5
                    9: 2
              default: 8
          }
         2: .line 214
      StackMap locals: jdk.vm.ci.hotspot.HotSpotCallingConventionType
      StackMap stack:
            aload 3 /* hotspotType */
            getstatic jdk.vm.ci.hotspot.HotSpotCallingConventionType.NativeCall:Ljdk/vm/ci/hotspot/HotSpotCallingConventionType;
            if_acmpne 3
            aload 0 /* this */
            getfield jdk.vm.ci.hotspot.amd64.AMD64HotSpotRegisterConfig.nativeGeneralParameterRegisters:Ljdk/vm/ci/code/RegisterArray;
            goto 4
      StackMap locals:
      StackMap stack:
         3: aload 0 /* this */
            getfield jdk.vm.ci.hotspot.amd64.AMD64HotSpotRegisterConfig.javaGeneralParameterRegisters:Ljdk/vm/ci/code/RegisterArray;
      StackMap locals:
      StackMap stack: jdk.vm.ci.code.RegisterArray
         4: areturn
         5: .line 217
      StackMap locals:
      StackMap stack:
            aload 3 /* hotspotType */
            getstatic jdk.vm.ci.hotspot.HotSpotCallingConventionType.NativeCall:Ljdk/vm/ci/hotspot/HotSpotCallingConventionType;
            if_acmpne 6
            aload 0 /* this */
            getfield jdk.vm.ci.hotspot.amd64.AMD64HotSpotRegisterConfig.nativeXMMParameterRegisters:Ljdk/vm/ci/code/RegisterArray;
            goto 7
      StackMap locals:
      StackMap stack:
         6: aload 0 /* this */
            getfield jdk.vm.ci.hotspot.amd64.AMD64HotSpotRegisterConfig.javaXMMParameterRegisters:Ljdk/vm/ci/code/RegisterArray;
      StackMap locals:
      StackMap stack: jdk.vm.ci.code.RegisterArray
         7: areturn
         8: .line 219
      StackMap locals:
      StackMap stack:
            invokestatic jdk.vm.ci.common.JVMCIError.shouldNotReachHere:()Ljava/lang/RuntimeException;
            athrow
        end local 3 // jdk.vm.ci.hotspot.HotSpotCallingConventionType hotspotType
        end local 2 // jdk.vm.ci.meta.JavaKind kind
        end local 1 // jdk.vm.ci.code.CallingConvention$Type type
        end local 0 // jdk.vm.ci.hotspot.amd64.AMD64HotSpotRegisterConfig this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    9     0         this  Ljdk/vm/ci/hotspot/amd64/AMD64HotSpotRegisterConfig;
            0    9     1         type  Ljdk/vm/ci/code/CallingConvention$Type;
            0    9     2         kind  Ljdk/vm/ci/meta/JavaKind;
            1    9     3  hotspotType  Ljdk/vm/ci/hotspot/HotSpotCallingConventionType;
    MethodParameters:
      Name  Flags
      type  
      kind  

  private jdk.vm.ci.code.CallingConvention callingConvention(jdk.vm.ci.code.RegisterArray, jdk.vm.ci.code.RegisterArray, boolean, jdk.vm.ci.meta.JavaType, jdk.vm.ci.meta.JavaType[], jdk.vm.ci.hotspot.HotSpotCallingConventionType, jdk.vm.ci.code.ValueKindFactory<?>);
    descriptor: (Ljdk/vm/ci/code/RegisterArray;Ljdk/vm/ci/code/RegisterArray;ZLjdk/vm/ci/meta/JavaType;[Ljdk/vm/ci/meta/JavaType;Ljdk/vm/ci/hotspot/HotSpotCallingConventionType;Ljdk/vm/ci/code/ValueKindFactory;)Ljdk/vm/ci/code/CallingConvention;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=15, args_size=8
        start local 0 // jdk.vm.ci.hotspot.amd64.AMD64HotSpotRegisterConfig this
        start local 1 // jdk.vm.ci.code.RegisterArray generalParameterRegisters
        start local 2 // jdk.vm.ci.code.RegisterArray xmmParameterRegisters
        start local 3 // boolean unified
        start local 4 // jdk.vm.ci.meta.JavaType returnType
        start local 5 // jdk.vm.ci.meta.JavaType[] parameterTypes
        start local 6 // jdk.vm.ci.hotspot.HotSpotCallingConventionType type
        start local 7 // jdk.vm.ci.code.ValueKindFactory valueKindFactory
         0: .line 243
            getstatic jdk.vm.ci.hotspot.amd64.AMD64HotSpotRegisterConfig.$assertionsDisabled:Z
            ifne 1
            iload 3 /* unified */
            ifeq 1
            aload 1 /* generalParameterRegisters */
            invokevirtual jdk.vm.ci.code.RegisterArray.size:()I
            aload 2 /* xmmParameterRegisters */
            invokevirtual jdk.vm.ci.code.RegisterArray.size:()I
            if_icmpeq 1
            new java.lang.AssertionError
            dup
            ldc "must be same size in unified mode"
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
         1: .line 244
      StackMap locals:
      StackMap stack:
            aload 5 /* parameterTypes */
            arraylength
            anewarray jdk.vm.ci.meta.AllocatableValue
            astore 8 /* locations */
        start local 8 // jdk.vm.ci.meta.AllocatableValue[] locations
         2: .line 246
            iconst_0
            istore 9 /* currentGeneral */
        start local 9 // int currentGeneral
         3: .line 247
            iconst_0
            istore 10 /* currentXMM */
        start local 10 // int currentXMM
         4: .line 248
            aload 6 /* type */
            getstatic jdk.vm.ci.hotspot.HotSpotCallingConventionType.NativeCall:Ljdk/vm/ci/hotspot/HotSpotCallingConventionType;
            if_acmpne 5
            aload 0 /* this */
            getfield jdk.vm.ci.hotspot.amd64.AMD64HotSpotRegisterConfig.needsNativeStackHomeSpace:Z
            ifeq 5
            aload 1 /* generalParameterRegisters */
            invokevirtual jdk.vm.ci.code.RegisterArray.size:()I
            aload 0 /* this */
            getfield jdk.vm.ci.hotspot.amd64.AMD64HotSpotRegisterConfig.target:Ljdk/vm/ci/code/TargetDescription;
            getfield jdk.vm.ci.code.TargetDescription.wordSize:I
            imul
            goto 6
      StackMap locals: jdk.vm.ci.meta.AllocatableValue[] int int
      StackMap stack:
         5: iconst_0
      StackMap locals:
      StackMap stack: int
         6: istore 11 /* currentStackOffset */
        start local 11 // int currentStackOffset
         7: .line 250
            iconst_0
            istore 12 /* i */
        start local 12 // int i
         8: goto 31
         9: .line 251
      StackMap locals: int int
      StackMap stack:
            aload 5 /* parameterTypes */
            iload 12 /* i */
            aaload
            invokeinterface jdk.vm.ci.meta.JavaType.getJavaKind:()Ljdk/vm/ci/meta/JavaKind;
            invokevirtual jdk.vm.ci.meta.JavaKind.getStackKind:()Ljdk/vm/ci/meta/JavaKind;
            astore 13 /* kind */
        start local 13 // jdk.vm.ci.meta.JavaKind kind
        10: .line 253
            invokestatic jdk.vm.ci.hotspot.amd64.AMD64HotSpotRegisterConfig.$SWITCH_TABLE$jdk$vm$ci$meta$JavaKind:()[I
            aload 13 /* kind */
            invokevirtual jdk.vm.ci.meta.JavaKind.ordinal:()I
            iaload
            tableswitch { // 1 - 9
                    1: 11
                    2: 11
                    3: 11
                    4: 11
                    5: 11
                    6: 15
                    7: 11
                    8: 15
                    9: 11
              default: 23
          }
        11: .line 261
      StackMap locals: jdk.vm.ci.meta.JavaKind
      StackMap stack:
            iload 9 /* currentGeneral */
            aload 1 /* generalParameterRegisters */
            invokevirtual jdk.vm.ci.code.RegisterArray.size:()I
            if_icmpge 24
        12: .line 262
            aload 1 /* generalParameterRegisters */
            iload 9 /* currentGeneral */
            iinc 9 /* currentGeneral */ 1
            invokevirtual jdk.vm.ci.code.RegisterArray.get:(I)Ljdk/vm/ci/code/Register;
            astore 14 /* register */
        start local 14 // jdk.vm.ci.code.Register register
        13: .line 263
            aload 8 /* locations */
            iload 12 /* i */
            aload 14 /* register */
            aload 7 /* valueKindFactory */
            aload 13 /* kind */
            invokeinterface jdk.vm.ci.code.ValueKindFactory.getValueKind:(Ljdk/vm/ci/meta/JavaKind;)Ljdk/vm/ci/meta/ValueKind;
            invokevirtual jdk.vm.ci.code.Register.asValue:(Ljdk/vm/ci/meta/ValueKind;)Ljdk/vm/ci/code/RegisterValue;
            aastore
        end local 14 // jdk.vm.ci.code.Register register
        14: .line 265
            goto 24
        15: .line 268
      StackMap locals:
      StackMap stack:
            iload 3 /* unified */
            ifeq 16
            iload 9 /* currentGeneral */
            goto 17
      StackMap locals:
      StackMap stack:
        16: iload 10 /* currentXMM */
      StackMap locals:
      StackMap stack: int
        17: aload 2 /* xmmParameterRegisters */
            invokevirtual jdk.vm.ci.code.RegisterArray.size:()I
            if_icmpge 24
        18: .line 269
            aload 2 /* xmmParameterRegisters */
            iload 3 /* unified */
            ifeq 19
            iload 9 /* currentGeneral */
            iinc 9 /* currentGeneral */ 1
            goto 20
      StackMap locals:
      StackMap stack: jdk.vm.ci.code.RegisterArray
        19: iload 10 /* currentXMM */
            iinc 10 /* currentXMM */ 1
      StackMap locals: jdk.vm.ci.hotspot.amd64.AMD64HotSpotRegisterConfig jdk.vm.ci.code.RegisterArray jdk.vm.ci.code.RegisterArray int jdk.vm.ci.meta.JavaType jdk.vm.ci.meta.JavaType[] jdk.vm.ci.hotspot.HotSpotCallingConventionType jdk.vm.ci.code.ValueKindFactory jdk.vm.ci.meta.AllocatableValue[] int int int int jdk.vm.ci.meta.JavaKind
      StackMap stack: jdk.vm.ci.code.RegisterArray int
        20: invokevirtual jdk.vm.ci.code.RegisterArray.get:(I)Ljdk/vm/ci/code/Register;
            astore 14 /* register */
        start local 14 // jdk.vm.ci.code.Register register
        21: .line 270
            aload 8 /* locations */
            iload 12 /* i */
            aload 14 /* register */
            aload 7 /* valueKindFactory */
            aload 13 /* kind */
            invokeinterface jdk.vm.ci.code.ValueKindFactory.getValueKind:(Ljdk/vm/ci/meta/JavaKind;)Ljdk/vm/ci/meta/ValueKind;
            invokevirtual jdk.vm.ci.code.Register.asValue:(Ljdk/vm/ci/meta/ValueKind;)Ljdk/vm/ci/code/RegisterValue;
            aastore
        end local 14 // jdk.vm.ci.code.Register register
        22: .line 272
            goto 24
        23: .line 274
      StackMap locals:
      StackMap stack:
            invokestatic jdk.vm.ci.common.JVMCIError.shouldNotReachHere:()Ljava/lang/RuntimeException;
            athrow
        24: .line 277
      StackMap locals:
      StackMap stack:
            aload 8 /* locations */
            iload 12 /* i */
            aaload
            ifnonnull 30
        25: .line 278
            aload 7 /* valueKindFactory */
            aload 13 /* kind */
            invokeinterface jdk.vm.ci.code.ValueKindFactory.getValueKind:(Ljdk/vm/ci/meta/JavaKind;)Ljdk/vm/ci/meta/ValueKind;
            astore 14 /* valueKind */
        start local 14 // jdk.vm.ci.meta.ValueKind valueKind
        26: .line 279
            aload 8 /* locations */
            iload 12 /* i */
            aload 14 /* valueKind */
            iload 11 /* currentStackOffset */
            aload 6 /* type */
            getfield jdk.vm.ci.hotspot.HotSpotCallingConventionType.out:Z
            ifeq 27
            iconst_0
            goto 28
      StackMap locals: jdk.vm.ci.hotspot.amd64.AMD64HotSpotRegisterConfig jdk.vm.ci.code.RegisterArray jdk.vm.ci.code.RegisterArray int jdk.vm.ci.meta.JavaType jdk.vm.ci.meta.JavaType[] jdk.vm.ci.hotspot.HotSpotCallingConventionType jdk.vm.ci.code.ValueKindFactory jdk.vm.ci.meta.AllocatableValue[] int int int int jdk.vm.ci.meta.JavaKind jdk.vm.ci.meta.ValueKind
      StackMap stack: jdk.vm.ci.meta.AllocatableValue[] int jdk.vm.ci.meta.ValueKind int
        27: iconst_1
      StackMap locals: jdk.vm.ci.hotspot.amd64.AMD64HotSpotRegisterConfig jdk.vm.ci.code.RegisterArray jdk.vm.ci.code.RegisterArray int jdk.vm.ci.meta.JavaType jdk.vm.ci.meta.JavaType[] jdk.vm.ci.hotspot.HotSpotCallingConventionType jdk.vm.ci.code.ValueKindFactory jdk.vm.ci.meta.AllocatableValue[] int int int int jdk.vm.ci.meta.JavaKind jdk.vm.ci.meta.ValueKind
      StackMap stack: jdk.vm.ci.meta.AllocatableValue[] int jdk.vm.ci.meta.ValueKind int int
        28: invokestatic jdk.vm.ci.code.StackSlot.get:(Ljdk/vm/ci/meta/ValueKind;IZ)Ljdk/vm/ci/code/StackSlot;
            aastore
        29: .line 280
            iload 11 /* currentStackOffset */
            aload 14 /* valueKind */
            invokevirtual jdk.vm.ci.meta.ValueKind.getPlatformKind:()Ljdk/vm/ci/meta/PlatformKind;
            invokeinterface jdk.vm.ci.meta.PlatformKind.getSizeInBytes:()I
            aload 0 /* this */
            getfield jdk.vm.ci.hotspot.amd64.AMD64HotSpotRegisterConfig.target:Ljdk/vm/ci/code/TargetDescription;
            getfield jdk.vm.ci.code.TargetDescription.wordSize:I
            invokestatic java.lang.Math.max:(II)I
            iadd
            istore 11 /* currentStackOffset */
        end local 14 // jdk.vm.ci.meta.ValueKind valueKind
        end local 13 // jdk.vm.ci.meta.JavaKind kind
        30: .line 250
      StackMap locals:
      StackMap stack:
            iinc 12 /* i */ 1
      StackMap locals:
      StackMap stack:
        31: iload 12 /* i */
            aload 5 /* parameterTypes */
            arraylength
            if_icmplt 9
        end local 12 // int i
        32: .line 283
            getstatic jdk.vm.ci.hotspot.amd64.AMD64HotSpotRegisterConfig.$assertionsDisabled:Z
            ifne 33
            iload 3 /* unified */
            ifeq 33
            iload 10 /* currentXMM */
            ifeq 33
            new java.lang.AssertionError
            dup
            ldc "shouldn't be used in unified mode"
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
        33: .line 285
      StackMap locals:
      StackMap stack:
            aload 4 /* returnType */
            ifnonnull 34
            getstatic jdk.vm.ci.meta.JavaKind.Void:Ljdk/vm/ci/meta/JavaKind;
            goto 35
      StackMap locals:
      StackMap stack:
        34: aload 4 /* returnType */
            invokeinterface jdk.vm.ci.meta.JavaType.getJavaKind:()Ljdk/vm/ci/meta/JavaKind;
      StackMap locals:
      StackMap stack: jdk.vm.ci.meta.JavaKind
        35: astore 12 /* returnKind */
        start local 12 // jdk.vm.ci.meta.JavaKind returnKind
        36: .line 286
            aload 12 /* returnKind */
            getstatic jdk.vm.ci.meta.JavaKind.Void:Ljdk/vm/ci/meta/JavaKind;
            if_acmpne 37
            getstatic jdk.vm.ci.meta.Value.ILLEGAL:Ljdk/vm/ci/meta/AllocatableValue;
            goto 38
      StackMap locals: jdk.vm.ci.meta.JavaKind
      StackMap stack:
        37: aload 0 /* this */
            aload 12 /* returnKind */
            invokevirtual jdk.vm.ci.hotspot.amd64.AMD64HotSpotRegisterConfig.getReturnRegister:(Ljdk/vm/ci/meta/JavaKind;)Ljdk/vm/ci/code/Register;
            aload 7 /* valueKindFactory */
            aload 12 /* returnKind */
            invokevirtual jdk.vm.ci.meta.JavaKind.getStackKind:()Ljdk/vm/ci/meta/JavaKind;
            invokeinterface jdk.vm.ci.code.ValueKindFactory.getValueKind:(Ljdk/vm/ci/meta/JavaKind;)Ljdk/vm/ci/meta/ValueKind;
            invokevirtual jdk.vm.ci.code.Register.asValue:(Ljdk/vm/ci/meta/ValueKind;)Ljdk/vm/ci/code/RegisterValue;
      StackMap locals:
      StackMap stack: jdk.vm.ci.meta.AllocatableValue
        38: astore 13 /* returnLocation */
        start local 13 // jdk.vm.ci.meta.AllocatableValue returnLocation
        39: .line 287
            new jdk.vm.ci.code.CallingConvention
            dup
            iload 11 /* currentStackOffset */
            aload 13 /* returnLocation */
            aload 8 /* locations */
            invokespecial jdk.vm.ci.code.CallingConvention.<init>:(ILjdk/vm/ci/meta/AllocatableValue;[Ljdk/vm/ci/meta/AllocatableValue;)V
            areturn
        end local 13 // jdk.vm.ci.meta.AllocatableValue returnLocation
        end local 12 // jdk.vm.ci.meta.JavaKind returnKind
        end local 11 // int currentStackOffset
        end local 10 // int currentXMM
        end local 9 // int currentGeneral
        end local 8 // jdk.vm.ci.meta.AllocatableValue[] locations
        end local 7 // jdk.vm.ci.code.ValueKindFactory valueKindFactory
        end local 6 // jdk.vm.ci.hotspot.HotSpotCallingConventionType type
        end local 5 // jdk.vm.ci.meta.JavaType[] parameterTypes
        end local 4 // jdk.vm.ci.meta.JavaType returnType
        end local 3 // boolean unified
        end local 2 // jdk.vm.ci.code.RegisterArray xmmParameterRegisters
        end local 1 // jdk.vm.ci.code.RegisterArray generalParameterRegisters
        end local 0 // jdk.vm.ci.hotspot.amd64.AMD64HotSpotRegisterConfig this
      LocalVariableTable:
        Start  End  Slot                       Name  Signature
            0   40     0                       this  Ljdk/vm/ci/hotspot/amd64/AMD64HotSpotRegisterConfig;
            0   40     1  generalParameterRegisters  Ljdk/vm/ci/code/RegisterArray;
            0   40     2      xmmParameterRegisters  Ljdk/vm/ci/code/RegisterArray;
            0   40     3                    unified  Z
            0   40     4                 returnType  Ljdk/vm/ci/meta/JavaType;
            0   40     5             parameterTypes  [Ljdk/vm/ci/meta/JavaType;
            0   40     6                       type  Ljdk/vm/ci/hotspot/HotSpotCallingConventionType;
            0   40     7           valueKindFactory  Ljdk/vm/ci/code/ValueKindFactory<*>;
            2   40     8                  locations  [Ljdk/vm/ci/meta/AllocatableValue;
            3   40     9             currentGeneral  I
            4   40    10                 currentXMM  I
            7   40    11         currentStackOffset  I
            8   32    12                          i  I
           10   30    13                       kind  Ljdk/vm/ci/meta/JavaKind;
           13   14    14                   register  Ljdk/vm/ci/code/Register;
           21   22    14                   register  Ljdk/vm/ci/code/Register;
           26   30    14                  valueKind  Ljdk/vm/ci/meta/ValueKind<*>;
           36   40    12                 returnKind  Ljdk/vm/ci/meta/JavaKind;
           39   40    13             returnLocation  Ljdk/vm/ci/meta/AllocatableValue;
    Signature: (Ljdk/vm/ci/code/RegisterArray;Ljdk/vm/ci/code/RegisterArray;ZLjdk/vm/ci/meta/JavaType;[Ljdk/vm/ci/meta/JavaType;Ljdk/vm/ci/hotspot/HotSpotCallingConventionType;Ljdk/vm/ci/code/ValueKindFactory<*>;)Ljdk/vm/ci/code/CallingConvention;
    MethodParameters:
                           Name  Flags
      generalParameterRegisters  
      xmmParameterRegisters      
      unified                    
      returnType                 
      parameterTypes             
      type                       
      valueKindFactory           

  public jdk.vm.ci.code.Register getReturnRegister(jdk.vm.ci.meta.JavaKind);
    descriptor: (Ljdk/vm/ci/meta/JavaKind;)Ljdk/vm/ci/code/Register;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=2, args_size=2
        start local 0 // jdk.vm.ci.hotspot.amd64.AMD64HotSpotRegisterConfig this
        start local 1 // jdk.vm.ci.meta.JavaKind kind
         0: .line 292
            invokestatic jdk.vm.ci.hotspot.amd64.AMD64HotSpotRegisterConfig.$SWITCH_TABLE$jdk$vm$ci$meta$JavaKind:()[I
            aload 1 /* kind */
            invokevirtual jdk.vm.ci.meta.JavaKind.ordinal:()I
            iaload
            tableswitch { // 1 - 11
                    1: 1
                    2: 1
                    3: 1
                    4: 1
                    5: 1
                    6: 2
                    7: 1
                    8: 2
                    9: 1
                   10: 3
                   11: 3
              default: 4
          }
         1: .line 300
      StackMap locals:
      StackMap stack:
            getstatic jdk.vm.ci.amd64.AMD64.rax:Ljdk/vm/ci/code/Register;
            areturn
         2: .line 303
      StackMap locals:
      StackMap stack:
            getstatic jdk.vm.ci.amd64.AMD64.xmm0:Ljdk/vm/ci/code/Register;
            areturn
         3: .line 306
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
         4: .line 308
      StackMap locals:
      StackMap stack:
            new java.lang.UnsupportedOperationException
            dup
            new java.lang.StringBuilder
            dup
            ldc "no return register for type "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* kind */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.UnsupportedOperationException.<init>:(Ljava/lang/String;)V
            athrow
        end local 1 // jdk.vm.ci.meta.JavaKind kind
        end local 0 // jdk.vm.ci.hotspot.amd64.AMD64HotSpotRegisterConfig this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Ljdk/vm/ci/hotspot/amd64/AMD64HotSpotRegisterConfig;
            0    5     1  kind  Ljdk/vm/ci/meta/JavaKind;
    MethodParameters:
      Name  Flags
      kind  

  public jdk.vm.ci.code.Register getFrameRegister();
    descriptor: ()Ljdk/vm/ci/code/Register;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // jdk.vm.ci.hotspot.amd64.AMD64HotSpotRegisterConfig this
         0: .line 314
            getstatic jdk.vm.ci.amd64.AMD64.rsp:Ljdk/vm/ci/code/Register;
            areturn
        end local 0 // jdk.vm.ci.hotspot.amd64.AMD64HotSpotRegisterConfig this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljdk/vm/ci/hotspot/amd64/AMD64HotSpotRegisterConfig;

  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.AMD64HotSpotRegisterConfig this
         0: .line 319
            new java.lang.StringBuilder
            dup
            ldc "Allocatable: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            invokevirtual jdk.vm.ci.hotspot.amd64.AMD64HotSpotRegisterConfig.getAllocatableRegisters:()Ljdk/vm/ci/code/RegisterArray;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc "%n"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "CallerSave:  "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            invokevirtual jdk.vm.ci.hotspot.amd64.AMD64HotSpotRegisterConfig.getCallerSaveRegisters:()Ljdk/vm/ci/code/RegisterArray;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc "%n"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            iconst_0
            anewarray java.lang.Object
            invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
            areturn
        end local 0 // jdk.vm.ci.hotspot.amd64.AMD64HotSpotRegisterConfig this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljdk/vm/ci/hotspot/amd64/AMD64HotSpotRegisterConfig;

  static int[] $SWITCH_TABLE$jdk$vm$ci$meta$JavaKind();
    descriptor: ()[I
    flags: (0x1008) ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=3, locals=1, args_size=0
         0: .line 68
            getstatic jdk.vm.ci.hotspot.amd64.AMD64HotSpotRegisterConfig.$SWITCH_TABLE$jdk$vm$ci$meta$JavaKind:[I
            dup
            ifnull 1
            areturn
      StackMap locals:
      StackMap stack: int[]
         1: pop
            invokestatic jdk.vm.ci.meta.JavaKind.values:()[Ljdk/vm/ci/meta/JavaKind;
            arraylength
            newarray 10
            astore 0
         2: aload 0
            getstatic jdk.vm.ci.meta.JavaKind.Boolean:Ljdk/vm/ci/meta/JavaKind;
            invokevirtual jdk.vm.ci.meta.JavaKind.ordinal:()I
            iconst_1
            iastore
         3: goto 5
      StackMap locals: int[]
      StackMap stack: java.lang.NoSuchFieldError
         4: pop
      StackMap locals:
      StackMap stack:
         5: aload 0
            getstatic jdk.vm.ci.meta.JavaKind.Byte:Ljdk/vm/ci/meta/JavaKind;
            invokevirtual jdk.vm.ci.meta.JavaKind.ordinal:()I
            iconst_2
            iastore
         6: goto 8
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
         7: pop
      StackMap locals:
      StackMap stack:
         8: aload 0
            getstatic jdk.vm.ci.meta.JavaKind.Char:Ljdk/vm/ci/meta/JavaKind;
            invokevirtual jdk.vm.ci.meta.JavaKind.ordinal:()I
            iconst_4
            iastore
         9: goto 11
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        10: pop
      StackMap locals:
      StackMap stack:
        11: aload 0
            getstatic jdk.vm.ci.meta.JavaKind.Double:Ljdk/vm/ci/meta/JavaKind;
            invokevirtual jdk.vm.ci.meta.JavaKind.ordinal:()I
            bipush 8
            iastore
        12: goto 14
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        13: pop
      StackMap locals:
      StackMap stack:
        14: aload 0
            getstatic jdk.vm.ci.meta.JavaKind.Float:Ljdk/vm/ci/meta/JavaKind;
            invokevirtual jdk.vm.ci.meta.JavaKind.ordinal:()I
            bipush 6
            iastore
        15: goto 17
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        16: pop
      StackMap locals:
      StackMap stack:
        17: aload 0
            getstatic jdk.vm.ci.meta.JavaKind.Illegal:Ljdk/vm/ci/meta/JavaKind;
            invokevirtual jdk.vm.ci.meta.JavaKind.ordinal:()I
            bipush 11
            iastore
        18: goto 20
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        19: pop
      StackMap locals:
      StackMap stack:
        20: aload 0
            getstatic jdk.vm.ci.meta.JavaKind.Int:Ljdk/vm/ci/meta/JavaKind;
            invokevirtual jdk.vm.ci.meta.JavaKind.ordinal:()I
            iconst_5
            iastore
        21: goto 23
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        22: pop
      StackMap locals:
      StackMap stack:
        23: aload 0
            getstatic jdk.vm.ci.meta.JavaKind.Long:Ljdk/vm/ci/meta/JavaKind;
            invokevirtual jdk.vm.ci.meta.JavaKind.ordinal:()I
            bipush 7
            iastore
        24: goto 26
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        25: pop
      StackMap locals:
      StackMap stack:
        26: aload 0
            getstatic jdk.vm.ci.meta.JavaKind.Object:Ljdk/vm/ci/meta/JavaKind;
            invokevirtual jdk.vm.ci.meta.JavaKind.ordinal:()I
            bipush 9
            iastore
        27: goto 29
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        28: pop
      StackMap locals:
      StackMap stack:
        29: aload 0
            getstatic jdk.vm.ci.meta.JavaKind.Short:Ljdk/vm/ci/meta/JavaKind;
            invokevirtual jdk.vm.ci.meta.JavaKind.ordinal:()I
            iconst_3
            iastore
        30: goto 32
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        31: pop
      StackMap locals:
      StackMap stack:
        32: aload 0
            getstatic jdk.vm.ci.meta.JavaKind.Void:Ljdk/vm/ci/meta/JavaKind;
            invokevirtual jdk.vm.ci.meta.JavaKind.ordinal:()I
            bipush 10
            iastore
        33: goto 35
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        34: pop
      StackMap locals:
      StackMap stack:
        35: aload 0
            dup
            putstatic jdk.vm.ci.hotspot.amd64.AMD64HotSpotRegisterConfig.$SWITCH_TABLE$jdk$vm$ci$meta$JavaKind:[I
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
      Exception table:
        from    to  target  type
           2     3       4  Class java.lang.NoSuchFieldError
           5     6       7  Class java.lang.NoSuchFieldError
           8     9      10  Class java.lang.NoSuchFieldError
          11    12      13  Class java.lang.NoSuchFieldError
          14    15      16  Class java.lang.NoSuchFieldError
          17    18      19  Class java.lang.NoSuchFieldError
          20    21      22  Class java.lang.NoSuchFieldError
          23    24      25  Class java.lang.NoSuchFieldError
          26    27      28  Class java.lang.NoSuchFieldError
          29    30      31  Class java.lang.NoSuchFieldError
          32    33      34  Class java.lang.NoSuchFieldError
}
SourceFile: "AMD64HotSpotRegisterConfig.java"
InnerClasses:
  public abstract Type = jdk.vm.ci.code.CallingConvention$Type of jdk.vm.ci.code.CallingConvention
  public RegisterCategory = jdk.vm.ci.code.Register$RegisterCategory of jdk.vm.ci.code.Register