public class jdk.vm.ci.hotspot.sparc.SPARCHotSpotRegisterConfig 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.sparc.SPARCHotSpotRegisterConfig
  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.RegisterAttributes[] attributesMap;
    descriptor: [Ljdk/vm/ci/code/RegisterAttributes;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

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

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

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

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

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

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

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

  private final jdk.vm.ci.code.RegisterArray windowSaveRegisters;
    descriptor: Ljdk/vm/ci/code/RegisterArray;
    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 114
            ldc Ljdk/vm/ci/hotspot/sparc/SPARCHotSpotRegisterConfig;
            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.sparc.SPARCHotSpotRegisterConfig.$assertionsDisabled:Z
         3: .line 168
            new jdk.vm.ci.code.RegisterArray
            dup
            iconst_3
            anewarray jdk.vm.ci.code.Register
            dup
            iconst_0
            getstatic jdk.vm.ci.sparc.SPARC.sp:Ljdk/vm/ci/code/Register;
            aastore
            dup
            iconst_1
            getstatic jdk.vm.ci.sparc.SPARC.g0:Ljdk/vm/ci/code/Register;
            aastore
            dup
            iconst_2
            getstatic jdk.vm.ci.sparc.SPARC.g2:Ljdk/vm/ci/code/Register;
            aastore
            invokespecial jdk.vm.ci.code.RegisterArray.<init>:([Ljdk/vm/ci/code/Register;)V
            putstatic jdk.vm.ci.hotspot.sparc.SPARCHotSpotRegisterConfig.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.sparc.SPARCHotSpotRegisterConfig this
         0: .line 124
            aload 0 /* this */
            getfield jdk.vm.ci.hotspot.sparc.SPARCHotSpotRegisterConfig.allocatable:Ljdk/vm/ci/code/RegisterArray;
            areturn
        end local 0 // jdk.vm.ci.hotspot.sparc.SPARCHotSpotRegisterConfig this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljdk/vm/ci/hotspot/sparc/SPARCHotSpotRegisterConfig;

  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.sparc.SPARCHotSpotRegisterConfig this
        start local 1 // jdk.vm.ci.meta.PlatformKind kind
        start local 2 // jdk.vm.ci.code.RegisterArray registers
         0: .line 129
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 3 /* list */
        start local 3 // java.util.ArrayList list
         1: .line 130
            aload 2 /* registers */
            invokevirtual jdk.vm.ci.code.RegisterArray.iterator:()Ljava/util/Iterator;
            astore 5
            goto 5
      StackMap locals: jdk.vm.ci.hotspot.sparc.SPARCHotSpotRegisterConfig 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 131
            aload 0 /* this */
            getfield jdk.vm.ci.hotspot.sparc.SPARCHotSpotRegisterConfig.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 132
            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 130
      StackMap locals:
      StackMap stack:
            aload 5
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 2
         6: .line 135
            new jdk.vm.ci.code.RegisterArray
            dup
            aload 3 /* list */
            invokespecial jdk.vm.ci.code.RegisterArray.<init>:(Ljava/util/Collection;)V
            areturn
        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.sparc.SPARCHotSpotRegisterConfig this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    7     0       this  Ljdk/vm/ci/hotspot/sparc/SPARCHotSpotRegisterConfig;
            0    7     1       kind  Ljdk/vm/ci/meta/PlatformKind;
            0    7     2  registers  Ljdk/vm/ci/code/RegisterArray;
            1    7     3       list  Ljava/util/ArrayList<Ljdk/vm/ci/code/Register;>;
            3    5     4        reg  Ljdk/vm/ci/code/Register;
    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.sparc.SPARCHotSpotRegisterConfig this
         0: .line 140
            aload 0 /* this */
            getfield jdk.vm.ci.hotspot.sparc.SPARCHotSpotRegisterConfig.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.sparc.SPARCHotSpotRegisterConfig this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljdk/vm/ci/hotspot/sparc/SPARCHotSpotRegisterConfig;

  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 171
            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 172
            aload 2 /* allRegisters */
            invokevirtual jdk.vm.ci.code.RegisterArray.size:()I
            getstatic jdk.vm.ci.hotspot.sparc.SPARCHotSpotRegisterConfig.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 173
            getstatic jdk.vm.ci.hotspot.sparc.SPARCHotSpotRegisterConfig.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 175
            iconst_0
            istore 5 /* idx */
        start local 5 // int idx
         6: .line 176
            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 177
            aload 4 /* reservedRegistersList */
            aload 6 /* reg */
            invokeinterface java.util.List.contains:(Ljava/lang/Object;)Z
            ifeq 10
         9: .line 179
            goto 13
        10: .line 181
      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.sparc.SPARC.g6:Ljdk/vm/ci/code/Register;
            invokevirtual jdk.vm.ci.code.Register.equals:(Ljava/lang/Object;)Z
            ifeq 12
        11: .line 183
            goto 13
        12: .line 186
      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 176
      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 189
            getstatic jdk.vm.ci.hotspot.sparc.SPARCHotSpotRegisterConfig.$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 190
      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);
    descriptor: (Ljdk/vm/ci/code/TargetDescription;Z)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // jdk.vm.ci.hotspot.sparc.SPARCHotSpotRegisterConfig this
        start local 1 // jdk.vm.ci.code.TargetDescription target
        start local 2 // boolean useCompressedOops
         0: .line 194
            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.sparc.SPARCHotSpotRegisterConfig.initAllocatable:(Ljdk/vm/ci/code/Architecture;Z)Ljdk/vm/ci/code/RegisterArray;
            invokespecial jdk.vm.ci.hotspot.sparc.SPARCHotSpotRegisterConfig.<init>:(Ljdk/vm/ci/code/TargetDescription;Ljdk/vm/ci/code/RegisterArray;)V
         1: .line 195
            return
        end local 2 // boolean useCompressedOops
        end local 1 // jdk.vm.ci.code.TargetDescription target
        end local 0 // jdk.vm.ci.hotspot.sparc.SPARCHotSpotRegisterConfig this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0    2     0               this  Ljdk/vm/ci/hotspot/sparc/SPARCHotSpotRegisterConfig;
            0    2     1             target  Ljdk/vm/ci/code/TargetDescription;
            0    2     2  useCompressedOops  Z
    MethodParameters:
                   Name  Flags
      target             
      useCompressedOops  

  public void <init>(jdk.vm.ci.code.TargetDescription, jdk.vm.ci.code.RegisterArray);
    descriptor: (Ljdk/vm/ci/code/TargetDescription;Ljdk/vm/ci/code/RegisterArray;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=6, args_size=3
        start local 0 // jdk.vm.ci.hotspot.sparc.SPARCHotSpotRegisterConfig this
        start local 1 // jdk.vm.ci.code.TargetDescription target
        start local 2 // jdk.vm.ci.code.RegisterArray allocatable
         0: .line 197
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 143
            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.sparc.SPARC.o0:Ljdk/vm/ci/code/Register;
            aastore
            dup
            iconst_1
            getstatic jdk.vm.ci.sparc.SPARC.o1:Ljdk/vm/ci/code/Register;
            aastore
            dup
            iconst_2
            getstatic jdk.vm.ci.sparc.SPARC.o2:Ljdk/vm/ci/code/Register;
            aastore
            dup
            iconst_3
            getstatic jdk.vm.ci.sparc.SPARC.o3:Ljdk/vm/ci/code/Register;
            aastore
            dup
            iconst_4
            getstatic jdk.vm.ci.sparc.SPARC.o4:Ljdk/vm/ci/code/Register;
            aastore
            dup
            iconst_5
            getstatic jdk.vm.ci.sparc.SPARC.o5:Ljdk/vm/ci/code/Register;
            aastore
            invokespecial jdk.vm.ci.code.RegisterArray.<init>:([Ljdk/vm/ci/code/Register;)V
            putfield jdk.vm.ci.hotspot.sparc.SPARCHotSpotRegisterConfig.cpuCallerParameterRegisters:Ljdk/vm/ci/code/RegisterArray;
         2: .line 144
            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.sparc.SPARC.i0:Ljdk/vm/ci/code/Register;
            aastore
            dup
            iconst_1
            getstatic jdk.vm.ci.sparc.SPARC.i1:Ljdk/vm/ci/code/Register;
            aastore
            dup
            iconst_2
            getstatic jdk.vm.ci.sparc.SPARC.i2:Ljdk/vm/ci/code/Register;
            aastore
            dup
            iconst_3
            getstatic jdk.vm.ci.sparc.SPARC.i3:Ljdk/vm/ci/code/Register;
            aastore
            dup
            iconst_4
            getstatic jdk.vm.ci.sparc.SPARC.i4:Ljdk/vm/ci/code/Register;
            aastore
            dup
            iconst_5
            getstatic jdk.vm.ci.sparc.SPARC.i5:Ljdk/vm/ci/code/Register;
            aastore
            invokespecial jdk.vm.ci.code.RegisterArray.<init>:([Ljdk/vm/ci/code/Register;)V
            putfield jdk.vm.ci.hotspot.sparc.SPARCHotSpotRegisterConfig.cpuCalleeParameterRegisters:Ljdk/vm/ci/code/RegisterArray;
         3: .line 146
            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.sparc.SPARC.f0:Ljdk/vm/ci/code/Register;
            aastore
            dup
            iconst_1
            getstatic jdk.vm.ci.sparc.SPARC.f1:Ljdk/vm/ci/code/Register;
            aastore
            dup
            iconst_2
            getstatic jdk.vm.ci.sparc.SPARC.f2:Ljdk/vm/ci/code/Register;
            aastore
            dup
            iconst_3
            getstatic jdk.vm.ci.sparc.SPARC.f3:Ljdk/vm/ci/code/Register;
            aastore
            dup
            iconst_4
            getstatic jdk.vm.ci.sparc.SPARC.f4:Ljdk/vm/ci/code/Register;
            aastore
            dup
            iconst_5
            getstatic jdk.vm.ci.sparc.SPARC.f5:Ljdk/vm/ci/code/Register;
            aastore
            dup
            bipush 6
            getstatic jdk.vm.ci.sparc.SPARC.f6:Ljdk/vm/ci/code/Register;
            aastore
            dup
            bipush 7
            getstatic jdk.vm.ci.sparc.SPARC.f7:Ljdk/vm/ci/code/Register;
            aastore
            invokespecial jdk.vm.ci.code.RegisterArray.<init>:([Ljdk/vm/ci/code/Register;)V
            putfield jdk.vm.ci.hotspot.sparc.SPARCHotSpotRegisterConfig.fpuFloatJavaParameterRegisters:Ljdk/vm/ci/code/RegisterArray;
         4: .line 147
            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.sparc.SPARC.d0:Ljdk/vm/ci/code/Register;
            aastore
            dup
            iconst_1
            aconst_null
            aastore
            dup
            iconst_2
            getstatic jdk.vm.ci.sparc.SPARC.d2:Ljdk/vm/ci/code/Register;
            aastore
            dup
            iconst_3
            aconst_null
            aastore
            dup
            iconst_4
            getstatic jdk.vm.ci.sparc.SPARC.d4:Ljdk/vm/ci/code/Register;
            aastore
            dup
            iconst_5
            aconst_null
            aastore
            dup
            bipush 6
            getstatic jdk.vm.ci.sparc.SPARC.d6:Ljdk/vm/ci/code/Register;
            aastore
            dup
            bipush 7
            aconst_null
            aastore
            invokespecial jdk.vm.ci.code.RegisterArray.<init>:([Ljdk/vm/ci/code/Register;)V
            putfield jdk.vm.ci.hotspot.sparc.SPARCHotSpotRegisterConfig.fpuDoubleJavaParameterRegisters:Ljdk/vm/ci/code/RegisterArray;
         5: .line 150
            aload 0 /* this */
            new jdk.vm.ci.code.RegisterArray
            dup
            bipush 16
            anewarray jdk.vm.ci.code.Register
            dup
            iconst_0
         6: .line 151
            getstatic jdk.vm.ci.sparc.SPARC.f1:Ljdk/vm/ci/code/Register;
            aastore
            dup
            iconst_1
            getstatic jdk.vm.ci.sparc.SPARC.f3:Ljdk/vm/ci/code/Register;
            aastore
            dup
            iconst_2
            getstatic jdk.vm.ci.sparc.SPARC.f5:Ljdk/vm/ci/code/Register;
            aastore
            dup
            iconst_3
            getstatic jdk.vm.ci.sparc.SPARC.f7:Ljdk/vm/ci/code/Register;
            aastore
            dup
            iconst_4
            getstatic jdk.vm.ci.sparc.SPARC.f9:Ljdk/vm/ci/code/Register;
            aastore
            dup
            iconst_5
            getstatic jdk.vm.ci.sparc.SPARC.f11:Ljdk/vm/ci/code/Register;
            aastore
            dup
            bipush 6
            getstatic jdk.vm.ci.sparc.SPARC.f13:Ljdk/vm/ci/code/Register;
            aastore
            dup
            bipush 7
            getstatic jdk.vm.ci.sparc.SPARC.f15:Ljdk/vm/ci/code/Register;
            aastore
            dup
            bipush 8
         7: .line 152
            getstatic jdk.vm.ci.sparc.SPARC.f17:Ljdk/vm/ci/code/Register;
            aastore
            dup
            bipush 9
            getstatic jdk.vm.ci.sparc.SPARC.f19:Ljdk/vm/ci/code/Register;
            aastore
            dup
            bipush 10
            getstatic jdk.vm.ci.sparc.SPARC.f21:Ljdk/vm/ci/code/Register;
            aastore
            dup
            bipush 11
            getstatic jdk.vm.ci.sparc.SPARC.f23:Ljdk/vm/ci/code/Register;
            aastore
            dup
            bipush 12
            getstatic jdk.vm.ci.sparc.SPARC.f25:Ljdk/vm/ci/code/Register;
            aastore
            dup
            bipush 13
            getstatic jdk.vm.ci.sparc.SPARC.f27:Ljdk/vm/ci/code/Register;
            aastore
            dup
            bipush 14
            getstatic jdk.vm.ci.sparc.SPARC.f29:Ljdk/vm/ci/code/Register;
            aastore
            dup
            bipush 15
            getstatic jdk.vm.ci.sparc.SPARC.f31:Ljdk/vm/ci/code/Register;
         8: .line 150
            aastore
            invokespecial jdk.vm.ci.code.RegisterArray.<init>:([Ljdk/vm/ci/code/Register;)V
            putfield jdk.vm.ci.hotspot.sparc.SPARCHotSpotRegisterConfig.fpuFloatNativeParameterRegisters:Ljdk/vm/ci/code/RegisterArray;
         9: .line 154
            aload 0 /* this */
            new jdk.vm.ci.code.RegisterArray
            dup
            bipush 16
            anewarray jdk.vm.ci.code.Register
            dup
            iconst_0
        10: .line 155
            getstatic jdk.vm.ci.sparc.SPARC.d0:Ljdk/vm/ci/code/Register;
            aastore
            dup
            iconst_1
            getstatic jdk.vm.ci.sparc.SPARC.d2:Ljdk/vm/ci/code/Register;
            aastore
            dup
            iconst_2
            getstatic jdk.vm.ci.sparc.SPARC.d4:Ljdk/vm/ci/code/Register;
            aastore
            dup
            iconst_3
            getstatic jdk.vm.ci.sparc.SPARC.d6:Ljdk/vm/ci/code/Register;
            aastore
            dup
            iconst_4
            getstatic jdk.vm.ci.sparc.SPARC.d8:Ljdk/vm/ci/code/Register;
            aastore
            dup
            iconst_5
            getstatic jdk.vm.ci.sparc.SPARC.d10:Ljdk/vm/ci/code/Register;
            aastore
            dup
            bipush 6
            getstatic jdk.vm.ci.sparc.SPARC.d12:Ljdk/vm/ci/code/Register;
            aastore
            dup
            bipush 7
            getstatic jdk.vm.ci.sparc.SPARC.d14:Ljdk/vm/ci/code/Register;
            aastore
            dup
            bipush 8
        11: .line 156
            getstatic jdk.vm.ci.sparc.SPARC.d16:Ljdk/vm/ci/code/Register;
            aastore
            dup
            bipush 9
            getstatic jdk.vm.ci.sparc.SPARC.d18:Ljdk/vm/ci/code/Register;
            aastore
            dup
            bipush 10
            getstatic jdk.vm.ci.sparc.SPARC.d20:Ljdk/vm/ci/code/Register;
            aastore
            dup
            bipush 11
            getstatic jdk.vm.ci.sparc.SPARC.d22:Ljdk/vm/ci/code/Register;
            aastore
            dup
            bipush 12
            getstatic jdk.vm.ci.sparc.SPARC.d24:Ljdk/vm/ci/code/Register;
            aastore
            dup
            bipush 13
            getstatic jdk.vm.ci.sparc.SPARC.d26:Ljdk/vm/ci/code/Register;
            aastore
            dup
            bipush 14
            getstatic jdk.vm.ci.sparc.SPARC.d28:Ljdk/vm/ci/code/Register;
            aastore
            dup
            bipush 15
            getstatic jdk.vm.ci.sparc.SPARC.d30:Ljdk/vm/ci/code/Register;
        12: .line 154
            aastore
            invokespecial jdk.vm.ci.code.RegisterArray.<init>:([Ljdk/vm/ci/code/Register;)V
            putfield jdk.vm.ci.hotspot.sparc.SPARCHotSpotRegisterConfig.fpuDoubleNativeParameterRegisters:Ljdk/vm/ci/code/RegisterArray;
        13: .line 163
            aload 0 /* this */
            new jdk.vm.ci.code.RegisterArray
            dup
            bipush 16
            anewarray jdk.vm.ci.code.Register
            dup
            iconst_0
        14: .line 164
            getstatic jdk.vm.ci.sparc.SPARC.l0:Ljdk/vm/ci/code/Register;
            aastore
            dup
            iconst_1
            getstatic jdk.vm.ci.sparc.SPARC.l1:Ljdk/vm/ci/code/Register;
            aastore
            dup
            iconst_2
            getstatic jdk.vm.ci.sparc.SPARC.l2:Ljdk/vm/ci/code/Register;
            aastore
            dup
            iconst_3
            getstatic jdk.vm.ci.sparc.SPARC.l3:Ljdk/vm/ci/code/Register;
            aastore
            dup
            iconst_4
            getstatic jdk.vm.ci.sparc.SPARC.l4:Ljdk/vm/ci/code/Register;
            aastore
            dup
            iconst_5
            getstatic jdk.vm.ci.sparc.SPARC.l5:Ljdk/vm/ci/code/Register;
            aastore
            dup
            bipush 6
            getstatic jdk.vm.ci.sparc.SPARC.l6:Ljdk/vm/ci/code/Register;
            aastore
            dup
            bipush 7
            getstatic jdk.vm.ci.sparc.SPARC.l7:Ljdk/vm/ci/code/Register;
            aastore
            dup
            bipush 8
        15: .line 165
            getstatic jdk.vm.ci.sparc.SPARC.i0:Ljdk/vm/ci/code/Register;
            aastore
            dup
            bipush 9
            getstatic jdk.vm.ci.sparc.SPARC.i1:Ljdk/vm/ci/code/Register;
            aastore
            dup
            bipush 10
            getstatic jdk.vm.ci.sparc.SPARC.i2:Ljdk/vm/ci/code/Register;
            aastore
            dup
            bipush 11
            getstatic jdk.vm.ci.sparc.SPARC.i3:Ljdk/vm/ci/code/Register;
            aastore
            dup
            bipush 12
            getstatic jdk.vm.ci.sparc.SPARC.i4:Ljdk/vm/ci/code/Register;
            aastore
            dup
            bipush 13
            getstatic jdk.vm.ci.sparc.SPARC.i5:Ljdk/vm/ci/code/Register;
            aastore
            dup
            bipush 14
            getstatic jdk.vm.ci.sparc.SPARC.i6:Ljdk/vm/ci/code/Register;
            aastore
            dup
            bipush 15
            getstatic jdk.vm.ci.sparc.SPARC.i7:Ljdk/vm/ci/code/Register;
        16: .line 163
            aastore
            invokespecial jdk.vm.ci.code.RegisterArray.<init>:([Ljdk/vm/ci/code/Register;)V
            putfield jdk.vm.ci.hotspot.sparc.SPARCHotSpotRegisterConfig.windowSaveRegisters:Ljdk/vm/ci/code/RegisterArray;
        17: .line 198
            aload 0 /* this */
            aload 1 /* target */
            putfield jdk.vm.ci.hotspot.sparc.SPARCHotSpotRegisterConfig.target:Ljdk/vm/ci/code/TargetDescription;
        18: .line 199
            aload 0 /* this */
            aload 2 /* allocatable */
            putfield jdk.vm.ci.hotspot.sparc.SPARCHotSpotRegisterConfig.allocatable:Ljdk/vm/ci/code/RegisterArray;
        19: .line 200
            new java.util.HashSet
            dup
            aload 1 /* target */
            getfield jdk.vm.ci.code.TargetDescription.arch:Ljdk/vm/ci/code/Architecture;
            invokevirtual jdk.vm.ci.code.Architecture.getAvailableValueRegisters:()Ljdk/vm/ci/code/RegisterArray;
            invokevirtual jdk.vm.ci.code.RegisterArray.asList:()Ljava/util/List;
            invokespecial java.util.HashSet.<init>:(Ljava/util/Collection;)V
            astore 3 /* callerSaveSet */
        start local 3 // java.util.HashSet callerSaveSet
        20: .line 201
            aload 0 /* this */
            getfield jdk.vm.ci.hotspot.sparc.SPARCHotSpotRegisterConfig.windowSaveRegisters:Ljdk/vm/ci/code/RegisterArray;
            invokevirtual jdk.vm.ci.code.RegisterArray.iterator:()Ljava/util/Iterator;
            astore 5
            goto 23
      StackMap locals: jdk.vm.ci.hotspot.sparc.SPARCHotSpotRegisterConfig jdk.vm.ci.code.TargetDescription jdk.vm.ci.code.RegisterArray java.util.HashSet top java.util.Iterator
      StackMap stack:
        21: aload 5
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast jdk.vm.ci.code.Register
            astore 4 /* cs */
        start local 4 // jdk.vm.ci.code.Register cs
        22: .line 202
            aload 3 /* callerSaveSet */
            aload 4 /* cs */
            invokevirtual java.util.HashSet.remove:(Ljava/lang/Object;)Z
            pop
        end local 4 // jdk.vm.ci.code.Register cs
        23: .line 201
      StackMap locals:
      StackMap stack:
            aload 5
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 21
        24: .line 204
            aload 0 /* this */
            new jdk.vm.ci.code.RegisterArray
            dup
            aload 3 /* callerSaveSet */
            invokespecial jdk.vm.ci.code.RegisterArray.<init>:(Ljava/util/Collection;)V
            putfield jdk.vm.ci.hotspot.sparc.SPARCHotSpotRegisterConfig.callerSaveRegisters:Ljdk/vm/ci/code/RegisterArray;
        25: .line 205
            aload 0 /* this */
            aload 0 /* this */
            getstatic jdk.vm.ci.sparc.SPARC.allRegisters: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.sparc.SPARCHotSpotRegisterConfig.attributesMap:[Ljdk/vm/ci/code/RegisterAttributes;
        26: .line 206
            return
        end local 3 // java.util.HashSet callerSaveSet
        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.sparc.SPARCHotSpotRegisterConfig this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   27     0           this  Ljdk/vm/ci/hotspot/sparc/SPARCHotSpotRegisterConfig;
            0   27     1         target  Ljdk/vm/ci/code/TargetDescription;
            0   27     2    allocatable  Ljdk/vm/ci/code/RegisterArray;
           20   27     3  callerSaveSet  Ljava/util/HashSet<Ljdk/vm/ci/code/Register;>;
           22   23     4             cs  Ljdk/vm/ci/code/Register;
    MethodParameters:
             Name  Flags
      target       
      allocatable  

  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.sparc.SPARCHotSpotRegisterConfig this
         0: .line 210
            aload 0 /* this */
            getfield jdk.vm.ci.hotspot.sparc.SPARCHotSpotRegisterConfig.callerSaveRegisters:Ljdk/vm/ci/code/RegisterArray;
            areturn
        end local 0 // jdk.vm.ci.hotspot.sparc.SPARCHotSpotRegisterConfig this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljdk/vm/ci/hotspot/sparc/SPARCHotSpotRegisterConfig;

  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.sparc.SPARCHotSpotRegisterConfig this
         0: .line 215
            aconst_null
            areturn
        end local 0 // jdk.vm.ci.hotspot.sparc.SPARCHotSpotRegisterConfig this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljdk/vm/ci/hotspot/sparc/SPARCHotSpotRegisterConfig;

  public boolean areAllAllocatableRegistersCallerSaved();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // jdk.vm.ci.hotspot.sparc.SPARCHotSpotRegisterConfig this
         0: .line 220
            iconst_0
            ireturn
        end local 0 // jdk.vm.ci.hotspot.sparc.SPARCHotSpotRegisterConfig this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljdk/vm/ci/hotspot/sparc/SPARCHotSpotRegisterConfig;

  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=6, locals=6, args_size=5
        start local 0 // jdk.vm.ci.hotspot.sparc.SPARCHotSpotRegisterConfig 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 225
            aload 1 /* type */
            checkcast jdk.vm.ci.hotspot.HotSpotCallingConventionType
            astore 5 /* hotspotType */
        start local 5 // jdk.vm.ci.hotspot.HotSpotCallingConventionType hotspotType
         1: .line 226
            aload 1 /* type */
            getstatic jdk.vm.ci.hotspot.HotSpotCallingConventionType.JavaCall:Ljdk/vm/ci/hotspot/HotSpotCallingConventionType;
            if_acmpeq 2
            aload 1 /* type */
            getstatic jdk.vm.ci.hotspot.HotSpotCallingConventionType.NativeCall:Ljdk/vm/ci/hotspot/HotSpotCallingConventionType;
            if_acmpne 3
         2: .line 227
      StackMap locals: jdk.vm.ci.hotspot.HotSpotCallingConventionType
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            getfield jdk.vm.ci.hotspot.sparc.SPARCHotSpotRegisterConfig.cpuCallerParameterRegisters:Ljdk/vm/ci/code/RegisterArray;
            aload 2 /* returnType */
            aload 3 /* parameterTypes */
            aload 5 /* hotspotType */
            aload 4 /* valueKindFactory */
            invokevirtual jdk.vm.ci.hotspot.sparc.SPARCHotSpotRegisterConfig.callingConvention:(Ljdk/vm/ci/code/RegisterArray;Ljdk/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 229
      StackMap locals:
      StackMap stack:
            aload 1 /* type */
            getstatic jdk.vm.ci.hotspot.HotSpotCallingConventionType.JavaCallee:Ljdk/vm/ci/hotspot/HotSpotCallingConventionType;
            if_acmpne 5
         4: .line 230
            aload 0 /* this */
            aload 0 /* this */
            getfield jdk.vm.ci.hotspot.sparc.SPARCHotSpotRegisterConfig.cpuCalleeParameterRegisters:Ljdk/vm/ci/code/RegisterArray;
            aload 2 /* returnType */
            aload 3 /* parameterTypes */
            aload 5 /* hotspotType */
            aload 4 /* valueKindFactory */
            invokevirtual jdk.vm.ci.hotspot.sparc.SPARCHotSpotRegisterConfig.callingConvention:(Ljdk/vm/ci/code/RegisterArray;Ljdk/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
         5: .line 232
      StackMap locals:
      StackMap stack:
            invokestatic jdk.vm.ci.common.JVMCIError.shouldNotReachHere:()Ljava/lang/RuntimeException;
            athrow
        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.sparc.SPARCHotSpotRegisterConfig this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0    6     0              this  Ljdk/vm/ci/hotspot/sparc/SPARCHotSpotRegisterConfig;
            0    6     1              type  Ljdk/vm/ci/code/CallingConvention$Type;
            0    6     2        returnType  Ljdk/vm/ci/meta/JavaType;
            0    6     3    parameterTypes  [Ljdk/vm/ci/meta/JavaType;
            0    6     4  valueKindFactory  Ljdk/vm/ci/code/ValueKindFactory<*>;
            1    6     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=3, locals=4, args_size=3
        start local 0 // jdk.vm.ci.hotspot.sparc.SPARCHotSpotRegisterConfig this
        start local 1 // jdk.vm.ci.code.CallingConvention$Type type
        start local 2 // jdk.vm.ci.meta.JavaKind kind
         0: .line 237
            aload 1 /* type */
            checkcast jdk.vm.ci.hotspot.HotSpotCallingConventionType
            astore 3 /* hotspotType */
        start local 3 // jdk.vm.ci.hotspot.HotSpotCallingConventionType hotspotType
         1: .line 238
            invokestatic jdk.vm.ci.hotspot.sparc.SPARCHotSpotRegisterConfig.$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: 6
          }
         2: .line 246
      StackMap locals: jdk.vm.ci.hotspot.HotSpotCallingConventionType
      StackMap stack:
            aload 3 /* hotspotType */
            getstatic jdk.vm.ci.hotspot.HotSpotCallingConventionType.JavaCallee:Ljdk/vm/ci/hotspot/HotSpotCallingConventionType;
            if_acmpne 3
            aload 0 /* this */
            getfield jdk.vm.ci.hotspot.sparc.SPARCHotSpotRegisterConfig.cpuCalleeParameterRegisters:Ljdk/vm/ci/code/RegisterArray;
            goto 4
      StackMap locals:
      StackMap stack:
         3: aload 0 /* this */
            getfield jdk.vm.ci.hotspot.sparc.SPARCHotSpotRegisterConfig.cpuCallerParameterRegisters:Ljdk/vm/ci/code/RegisterArray;
      StackMap locals:
      StackMap stack: jdk.vm.ci.code.RegisterArray
         4: areturn
         5: .line 249
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield jdk.vm.ci.hotspot.sparc.SPARCHotSpotRegisterConfig.fpuFloatJavaParameterRegisters:Ljdk/vm/ci/code/RegisterArray;
            areturn
         6: .line 251
      StackMap locals:
      StackMap stack:
            new java.lang.StringBuilder
            dup
            ldc "Unknown JavaKind "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 2 /* kind */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokestatic jdk.vm.ci.common.JVMCIError.shouldNotReachHere:(Ljava/lang/String;)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.sparc.SPARCHotSpotRegisterConfig this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    7     0         this  Ljdk/vm/ci/hotspot/sparc/SPARCHotSpotRegisterConfig;
            0    7     1         type  Ljdk/vm/ci/code/CallingConvention$Type;
            0    7     2         kind  Ljdk/vm/ci/meta/JavaKind;
            1    7     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.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/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=16, args_size=6
        start local 0 // jdk.vm.ci.hotspot.sparc.SPARCHotSpotRegisterConfig this
        start local 1 // jdk.vm.ci.code.RegisterArray generalParameterRegisters
        start local 2 // jdk.vm.ci.meta.JavaType returnType
        start local 3 // jdk.vm.ci.meta.JavaType[] parameterTypes
        start local 4 // jdk.vm.ci.hotspot.HotSpotCallingConventionType type
        start local 5 // jdk.vm.ci.code.ValueKindFactory valueKindFactory
         0: .line 257
            aload 3 /* parameterTypes */
            arraylength
            anewarray jdk.vm.ci.meta.AllocatableValue
            astore 6 /* locations */
        start local 6 // jdk.vm.ci.meta.AllocatableValue[] locations
         1: .line 259
            iconst_0
            istore 7 /* currentGeneral */
        start local 7 // int currentGeneral
         2: .line 260
            iconst_0
            istore 8 /* currentFloating */
        start local 8 // int currentFloating
         3: .line 261
            iconst_0
            istore 9 /* currentStackOffset */
        start local 9 // int currentStackOffset
         4: .line 262
            aload 4 /* type */
            getstatic jdk.vm.ci.hotspot.HotSpotCallingConventionType.NativeCall:Ljdk/vm/ci/hotspot/HotSpotCallingConventionType;
            if_acmpne 5
            iconst_1
            goto 6
      StackMap locals: jdk.vm.ci.hotspot.sparc.SPARCHotSpotRegisterConfig jdk.vm.ci.code.RegisterArray 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
      StackMap stack:
         5: iconst_0
      StackMap locals:
      StackMap stack: int
         6: istore 10 /* isNative */
        start local 10 // boolean isNative
         7: .line 264
            iconst_0
            istore 11 /* i */
        start local 11 // int i
         8: goto 52
         9: .line 265
      StackMap locals: int int
      StackMap stack:
            aload 3 /* parameterTypes */
            iload 11 /* 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 12 /* kind */
        start local 12 // jdk.vm.ci.meta.JavaKind kind
        10: .line 266
            iload 10 /* isNative */
            ifeq 23
        11: .line 268
            invokestatic jdk.vm.ci.hotspot.sparc.SPARCHotSpotRegisterConfig.$SWITCH_TABLE$jdk$vm$ci$meta$JavaKind:()[I
            aload 12 /* kind */
            invokevirtual jdk.vm.ci.meta.JavaKind.ordinal:()I
            iaload
            tableswitch { // 1 - 9
                    1: 12
                    2: 12
                    3: 12
                    4: 12
                    5: 12
                    6: 16
                    7: 12
                    8: 14
                    9: 12
              default: 18
          }
        12: .line 276
      StackMap locals: jdk.vm.ci.meta.JavaKind
      StackMap stack:
            aload 1 /* generalParameterRegisters */
            astore 13 /* registerSet */
        start local 13 // jdk.vm.ci.code.RegisterArray registerSet
        13: .line 277
            goto 19
        end local 13 // jdk.vm.ci.code.RegisterArray registerSet
        14: .line 279
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield jdk.vm.ci.hotspot.sparc.SPARCHotSpotRegisterConfig.fpuDoubleNativeParameterRegisters:Ljdk/vm/ci/code/RegisterArray;
            astore 13 /* registerSet */
        start local 13 // jdk.vm.ci.code.RegisterArray registerSet
        15: .line 280
            goto 19
        end local 13 // jdk.vm.ci.code.RegisterArray registerSet
        16: .line 282
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield jdk.vm.ci.hotspot.sparc.SPARCHotSpotRegisterConfig.fpuFloatNativeParameterRegisters:Ljdk/vm/ci/code/RegisterArray;
            astore 13 /* registerSet */
        start local 13 // jdk.vm.ci.code.RegisterArray registerSet
        17: .line 283
            goto 19
        end local 13 // jdk.vm.ci.code.RegisterArray registerSet
        18: .line 285
      StackMap locals:
      StackMap stack:
            invokestatic jdk.vm.ci.common.JVMCIError.shouldNotReachHere:()Ljava/lang/RuntimeException;
            athrow
        start local 13 // jdk.vm.ci.code.RegisterArray registerSet
        19: .line 287
      StackMap locals: jdk.vm.ci.code.RegisterArray
      StackMap stack:
            iload 11 /* i */
            aload 13 /* registerSet */
            invokevirtual jdk.vm.ci.code.RegisterArray.size:()I
            if_icmpge 40
        20: .line 288
            aload 6 /* locations */
            iload 11 /* i */
            aload 13 /* registerSet */
            iload 11 /* i */
            invokevirtual jdk.vm.ci.code.RegisterArray.get:(I)Ljdk/vm/ci/code/Register;
            aload 5 /* valueKindFactory */
            aload 12 /* 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
        21: .line 289
            iload 9 /* currentStackOffset */
            aload 0 /* this */
            getfield jdk.vm.ci.hotspot.sparc.SPARCHotSpotRegisterConfig.target:Ljdk/vm/ci/code/TargetDescription;
            getfield jdk.vm.ci.code.TargetDescription.arch:Ljdk/vm/ci/code/Architecture;
            invokevirtual jdk.vm.ci.code.Architecture.getWordSize:()I
            iadd
            istore 9 /* currentStackOffset */
        end local 13 // jdk.vm.ci.code.RegisterArray registerSet
        22: .line 291
            goto 40
        23: .line 292
      StackMap locals:
      StackMap stack:
            invokestatic jdk.vm.ci.hotspot.sparc.SPARCHotSpotRegisterConfig.$SWITCH_TABLE$jdk$vm$ci$meta$JavaKind:()[I
            aload 12 /* kind */
            invokevirtual jdk.vm.ci.meta.JavaKind.ordinal:()I
            iaload
            tableswitch { // 1 - 9
                    1: 24
                    2: 24
                    3: 24
                    4: 24
                    5: 24
                    6: 35
                    7: 24
                    8: 28
                    9: 24
              default: 39
          }
        24: .line 300
      StackMap locals:
      StackMap stack:
            iload 7 /* currentGeneral */
            aload 1 /* generalParameterRegisters */
            invokevirtual jdk.vm.ci.code.RegisterArray.size:()I
            if_icmpge 40
        25: .line 301
            aload 1 /* generalParameterRegisters */
            iload 7 /* currentGeneral */
            iinc 7 /* currentGeneral */ 1
            invokevirtual jdk.vm.ci.code.RegisterArray.get:(I)Ljdk/vm/ci/code/Register;
            astore 13 /* register */
        start local 13 // jdk.vm.ci.code.Register register
        26: .line 302
            aload 6 /* locations */
            iload 11 /* i */
            aload 13 /* register */
            aload 5 /* valueKindFactory */
            aload 12 /* 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 13 // jdk.vm.ci.code.Register register
        27: .line 304
            goto 40
        28: .line 306
      StackMap locals:
      StackMap stack:
            iload 8 /* currentFloating */
            aload 0 /* this */
            getfield jdk.vm.ci.hotspot.sparc.SPARCHotSpotRegisterConfig.fpuFloatJavaParameterRegisters:Ljdk/vm/ci/code/RegisterArray;
            invokevirtual jdk.vm.ci.code.RegisterArray.size:()I
            if_icmpge 40
        29: .line 307
            iload 8 /* currentFloating */
            iconst_2
            irem
            ifeq 31
        30: .line 309
            iinc 8 /* currentFloating */ 1
        31: .line 311
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield jdk.vm.ci.hotspot.sparc.SPARCHotSpotRegisterConfig.fpuDoubleJavaParameterRegisters:Ljdk/vm/ci/code/RegisterArray;
            iload 8 /* currentFloating */
            invokevirtual jdk.vm.ci.code.RegisterArray.get:(I)Ljdk/vm/ci/code/Register;
            astore 13 /* register */
        start local 13 // jdk.vm.ci.code.Register register
        32: .line 312
            iinc 8 /* currentFloating */ 2
        33: .line 313
            aload 6 /* locations */
            iload 11 /* i */
            aload 13 /* register */
            aload 5 /* valueKindFactory */
            aload 12 /* 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 13 // jdk.vm.ci.code.Register register
        34: .line 315
            goto 40
        35: .line 317
      StackMap locals:
      StackMap stack:
            iload 8 /* currentFloating */
            aload 0 /* this */
            getfield jdk.vm.ci.hotspot.sparc.SPARCHotSpotRegisterConfig.fpuFloatJavaParameterRegisters:Ljdk/vm/ci/code/RegisterArray;
            invokevirtual jdk.vm.ci.code.RegisterArray.size:()I
            if_icmpge 40
        36: .line 318
            aload 0 /* this */
            getfield jdk.vm.ci.hotspot.sparc.SPARCHotSpotRegisterConfig.fpuFloatJavaParameterRegisters:Ljdk/vm/ci/code/RegisterArray;
            iload 8 /* currentFloating */
            iinc 8 /* currentFloating */ 1
            invokevirtual jdk.vm.ci.code.RegisterArray.get:(I)Ljdk/vm/ci/code/Register;
            astore 13 /* register */
        start local 13 // jdk.vm.ci.code.Register register
        37: .line 319
            aload 6 /* locations */
            iload 11 /* i */
            aload 13 /* register */
            aload 5 /* valueKindFactory */
            aload 12 /* 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 13 // jdk.vm.ci.code.Register register
        38: .line 321
            goto 40
        39: .line 323
      StackMap locals:
      StackMap stack:
            invokestatic jdk.vm.ci.common.JVMCIError.shouldNotReachHere:()Ljava/lang/RuntimeException;
            athrow
        40: .line 327
      StackMap locals:
      StackMap stack:
            aload 6 /* locations */
            iload 11 /* i */
            aaload
            ifnonnull 51
        41: .line 328
            aload 5 /* valueKindFactory */
            aload 12 /* kind */
            invokeinterface jdk.vm.ci.code.ValueKindFactory.getValueKind:(Ljdk/vm/ci/meta/JavaKind;)Ljdk/vm/ci/meta/ValueKind;
            astore 13 /* valueKind */
        start local 13 // jdk.vm.ci.meta.ValueKind valueKind
        42: .line 329
            aload 13 /* valueKind */
            invokevirtual jdk.vm.ci.meta.ValueKind.getPlatformKind:()Ljdk/vm/ci/meta/PlatformKind;
            invokeinterface jdk.vm.ci.meta.PlatformKind.getSizeInBytes:()I
            istore 14 /* typeSize */
        start local 14 // int typeSize
        43: .line 330
            iload 10 /* isNative */
            ifeq 45
        44: .line 331
            iload 9 /* currentStackOffset */
            aload 0 /* this */
            getfield jdk.vm.ci.hotspot.sparc.SPARCHotSpotRegisterConfig.target:Ljdk/vm/ci/code/TargetDescription;
            getfield jdk.vm.ci.code.TargetDescription.arch:Ljdk/vm/ci/code/Architecture;
            invokevirtual jdk.vm.ci.code.Architecture.getWordSize:()I
            iload 14 /* typeSize */
            isub
            iadd
            istore 9 /* currentStackOffset */
        45: .line 333
      StackMap locals: jdk.vm.ci.meta.ValueKind int
      StackMap stack:
            iload 9 /* currentStackOffset */
            iload 14 /* typeSize */
            invokestatic jdk.vm.ci.hotspot.sparc.SPARCHotSpotRegisterConfig.roundUp:(II)I
            istore 9 /* currentStackOffset */
        46: .line 334
            iload 9 /* currentStackOffset */
            sipush 128
            iadd
            istore 15 /* slotOffset */
        start local 15 // int slotOffset
        47: .line 335
            aload 6 /* locations */
            iload 11 /* i */
            aload 13 /* valueKind */
            iload 15 /* slotOffset */
            aload 4 /* type */
            getfield jdk.vm.ci.hotspot.HotSpotCallingConventionType.out:Z
            ifeq 48
            iconst_0
            goto 49
      StackMap locals: jdk.vm.ci.hotspot.sparc.SPARCHotSpotRegisterConfig jdk.vm.ci.code.RegisterArray 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 int jdk.vm.ci.meta.JavaKind jdk.vm.ci.meta.ValueKind int int
      StackMap stack: jdk.vm.ci.meta.AllocatableValue[] int jdk.vm.ci.meta.ValueKind int
        48: iconst_1
      StackMap locals: jdk.vm.ci.hotspot.sparc.SPARCHotSpotRegisterConfig jdk.vm.ci.code.RegisterArray 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 int jdk.vm.ci.meta.JavaKind jdk.vm.ci.meta.ValueKind int int
      StackMap stack: jdk.vm.ci.meta.AllocatableValue[] int jdk.vm.ci.meta.ValueKind int int
        49: invokestatic jdk.vm.ci.code.StackSlot.get:(Ljdk/vm/ci/meta/ValueKind;IZ)Ljdk/vm/ci/code/StackSlot;
            aastore
        50: .line 336
            iload 9 /* currentStackOffset */
            iload 14 /* typeSize */
            iadd
            istore 9 /* currentStackOffset */
        end local 15 // int slotOffset
        end local 14 // int typeSize
        end local 13 // jdk.vm.ci.meta.ValueKind valueKind
        end local 12 // jdk.vm.ci.meta.JavaKind kind
        51: .line 264
      StackMap locals: jdk.vm.ci.hotspot.sparc.SPARCHotSpotRegisterConfig jdk.vm.ci.code.RegisterArray 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 int
      StackMap stack:
            iinc 11 /* i */ 1
      StackMap locals:
      StackMap stack:
        52: iload 11 /* i */
            aload 3 /* parameterTypes */
            arraylength
            if_icmplt 9
        end local 11 // int i
        53: .line 340
            aload 2 /* returnType */
            ifnonnull 54
            getstatic jdk.vm.ci.meta.JavaKind.Void:Ljdk/vm/ci/meta/JavaKind;
            goto 55
      StackMap locals:
      StackMap stack:
        54: aload 2 /* returnType */
            invokeinterface jdk.vm.ci.meta.JavaType.getJavaKind:()Ljdk/vm/ci/meta/JavaKind;
      StackMap locals:
      StackMap stack: jdk.vm.ci.meta.JavaKind
        55: astore 11 /* returnKind */
        start local 11 // jdk.vm.ci.meta.JavaKind returnKind
        56: .line 341
            aload 11 /* returnKind */
            getstatic jdk.vm.ci.meta.JavaKind.Void:Ljdk/vm/ci/meta/JavaKind;
            if_acmpne 57
            getstatic jdk.vm.ci.meta.Value.ILLEGAL:Ljdk/vm/ci/meta/AllocatableValue;
            goto 58
      StackMap locals: jdk.vm.ci.meta.JavaKind
      StackMap stack:
        57: aload 11 /* returnKind */
            aload 4 /* type */
            invokestatic jdk.vm.ci.hotspot.sparc.SPARCHotSpotRegisterConfig.getReturnRegister:(Ljdk/vm/ci/meta/JavaKind;Ljdk/vm/ci/hotspot/HotSpotCallingConventionType;)Ljdk/vm/ci/code/Register;
            aload 5 /* valueKindFactory */
            aload 11 /* 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
        58: astore 12 /* returnLocation */
        start local 12 // jdk.vm.ci.meta.AllocatableValue returnLocation
        59: .line 342
            new jdk.vm.ci.code.CallingConvention
            dup
            iload 9 /* currentStackOffset */
            aload 12 /* returnLocation */
            aload 6 /* locations */
            invokespecial jdk.vm.ci.code.CallingConvention.<init>:(ILjdk/vm/ci/meta/AllocatableValue;[Ljdk/vm/ci/meta/AllocatableValue;)V
            areturn
        end local 12 // jdk.vm.ci.meta.AllocatableValue returnLocation
        end local 11 // jdk.vm.ci.meta.JavaKind returnKind
        end local 10 // boolean isNative
        end local 9 // int currentStackOffset
        end local 8 // int currentFloating
        end local 7 // int currentGeneral
        end local 6 // jdk.vm.ci.meta.AllocatableValue[] locations
        end local 5 // jdk.vm.ci.code.ValueKindFactory valueKindFactory
        end local 4 // jdk.vm.ci.hotspot.HotSpotCallingConventionType type
        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.RegisterArray generalParameterRegisters
        end local 0 // jdk.vm.ci.hotspot.sparc.SPARCHotSpotRegisterConfig this
      LocalVariableTable:
        Start  End  Slot                       Name  Signature
            0   60     0                       this  Ljdk/vm/ci/hotspot/sparc/SPARCHotSpotRegisterConfig;
            0   60     1  generalParameterRegisters  Ljdk/vm/ci/code/RegisterArray;
            0   60     2                 returnType  Ljdk/vm/ci/meta/JavaType;
            0   60     3             parameterTypes  [Ljdk/vm/ci/meta/JavaType;
            0   60     4                       type  Ljdk/vm/ci/hotspot/HotSpotCallingConventionType;
            0   60     5           valueKindFactory  Ljdk/vm/ci/code/ValueKindFactory<*>;
            1   60     6                  locations  [Ljdk/vm/ci/meta/AllocatableValue;
            2   60     7             currentGeneral  I
            3   60     8            currentFloating  I
            4   60     9         currentStackOffset  I
            7   60    10                   isNative  Z
            8   53    11                          i  I
           10   51    12                       kind  Ljdk/vm/ci/meta/JavaKind;
           13   14    13                registerSet  Ljdk/vm/ci/code/RegisterArray;
           15   16    13                registerSet  Ljdk/vm/ci/code/RegisterArray;
           17   18    13                registerSet  Ljdk/vm/ci/code/RegisterArray;
           19   22    13                registerSet  Ljdk/vm/ci/code/RegisterArray;
           26   27    13                   register  Ljdk/vm/ci/code/Register;
           32   34    13                   register  Ljdk/vm/ci/code/Register;
           37   38    13                   register  Ljdk/vm/ci/code/Register;
           42   51    13                  valueKind  Ljdk/vm/ci/meta/ValueKind<*>;
           43   51    14                   typeSize  I
           47   51    15                 slotOffset  I
           56   60    11                 returnKind  Ljdk/vm/ci/meta/JavaKind;
           59   60    12             returnLocation  Ljdk/vm/ci/meta/AllocatableValue;
    Signature: (Ljdk/vm/ci/code/RegisterArray;Ljdk/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  
      returnType                 
      parameterTypes             
      type                       
      valueKindFactory           

  private static int roundUp(int, int);
    descriptor: (II)I
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // int number
        start local 1 // int mod
         0: .line 346
            iload 0 /* number */
            iload 1 /* mod */
            iadd
            iconst_1
            isub
            iload 1 /* mod */
            idiv
            iload 1 /* mod */
            imul
            ireturn
        end local 1 // int mod
        end local 0 // int number
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    1     0  number  I
            0    1     1     mod  I
    MethodParameters:
        Name  Flags
      number  
      mod     

  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=2, locals=2, args_size=2
        start local 0 // jdk.vm.ci.hotspot.sparc.SPARCHotSpotRegisterConfig this
        start local 1 // jdk.vm.ci.meta.JavaKind kind
         0: .line 351
            aload 1 /* kind */
            getstatic jdk.vm.ci.hotspot.HotSpotCallingConventionType.JavaCallee:Ljdk/vm/ci/hotspot/HotSpotCallingConventionType;
            invokestatic jdk.vm.ci.hotspot.sparc.SPARCHotSpotRegisterConfig.getReturnRegister:(Ljdk/vm/ci/meta/JavaKind;Ljdk/vm/ci/hotspot/HotSpotCallingConventionType;)Ljdk/vm/ci/code/Register;
            areturn
        end local 1 // jdk.vm.ci.meta.JavaKind kind
        end local 0 // jdk.vm.ci.hotspot.sparc.SPARCHotSpotRegisterConfig this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljdk/vm/ci/hotspot/sparc/SPARCHotSpotRegisterConfig;
            0    1     1  kind  Ljdk/vm/ci/meta/JavaKind;
    MethodParameters:
      Name  Flags
      kind  

  private static jdk.vm.ci.code.Register getReturnRegister(jdk.vm.ci.meta.JavaKind, jdk.vm.ci.hotspot.HotSpotCallingConventionType);
    descriptor: (Ljdk/vm/ci/meta/JavaKind;Ljdk/vm/ci/hotspot/HotSpotCallingConventionType;)Ljdk/vm/ci/code/Register;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=5, locals=2, args_size=2
        start local 0 // jdk.vm.ci.meta.JavaKind kind
        start local 1 // jdk.vm.ci.hotspot.HotSpotCallingConventionType type
         0: .line 355
            invokestatic jdk.vm.ci.hotspot.sparc.SPARCHotSpotRegisterConfig.$SWITCH_TABLE$jdk$vm$ci$meta$JavaKind:()[I
            aload 0 /* kind */
            invokevirtual jdk.vm.ci.meta.JavaKind.ordinal:()I
            iaload
            tableswitch { // 1 - 11
                    1: 1
                    2: 1
                    3: 1
                    4: 1
                    5: 1
                    6: 4
                    7: 1
                    8: 5
                    9: 1
                   10: 6
                   11: 6
              default: 7
          }
         1: .line 363
      StackMap locals:
      StackMap stack:
            aload 1 /* type */
            getstatic jdk.vm.ci.hotspot.HotSpotCallingConventionType.JavaCallee:Ljdk/vm/ci/hotspot/HotSpotCallingConventionType;
            if_acmpne 2
            getstatic jdk.vm.ci.sparc.SPARC.i0:Ljdk/vm/ci/code/Register;
            goto 3
      StackMap locals:
      StackMap stack:
         2: getstatic jdk.vm.ci.sparc.SPARC.o0:Ljdk/vm/ci/code/Register;
      StackMap locals:
      StackMap stack: jdk.vm.ci.code.Register
         3: areturn
         4: .line 365
      StackMap locals:
      StackMap stack:
            getstatic jdk.vm.ci.sparc.SPARC.f0:Ljdk/vm/ci/code/Register;
            areturn
         5: .line 367
      StackMap locals:
      StackMap stack:
            getstatic jdk.vm.ci.sparc.SPARC.d0:Ljdk/vm/ci/code/Register;
            areturn
         6: .line 370
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
         7: .line 372
      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 0 /* 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.hotspot.HotSpotCallingConventionType type
        end local 0 // jdk.vm.ci.meta.JavaKind kind
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    8     0  kind  Ljdk/vm/ci/meta/JavaKind;
            0    8     1  type  Ljdk/vm/ci/hotspot/HotSpotCallingConventionType;
    MethodParameters:
      Name  Flags
      kind  
      type  

  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.sparc.SPARCHotSpotRegisterConfig this
         0: .line 378
            getstatic jdk.vm.ci.sparc.SPARC.sp:Ljdk/vm/ci/code/Register;
            areturn
        end local 0 // jdk.vm.ci.hotspot.sparc.SPARCHotSpotRegisterConfig this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljdk/vm/ci/hotspot/sparc/SPARCHotSpotRegisterConfig;

  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.sparc.SPARCHotSpotRegisterConfig this
         0: .line 383
            new java.lang.StringBuilder
            dup
            ldc "Allocatable: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            invokevirtual jdk.vm.ci.hotspot.sparc.SPARCHotSpotRegisterConfig.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.sparc.SPARCHotSpotRegisterConfig.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.sparc.SPARCHotSpotRegisterConfig this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljdk/vm/ci/hotspot/sparc/SPARCHotSpotRegisterConfig;

  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 114
            getstatic jdk.vm.ci.hotspot.sparc.SPARCHotSpotRegisterConfig.$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.sparc.SPARCHotSpotRegisterConfig.$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: "SPARCHotSpotRegisterConfig.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