public class org.graalvm.compiler.lir.sparc.SPARCControlFlow$StrategySwitchOp$SwitchClosure extends org.graalvm.compiler.lir.SwitchStrategy$BaseSwitchClosure
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.graalvm.compiler.lir.sparc.SPARCControlFlow$StrategySwitchOp$SwitchClosure
  super_class: org.graalvm.compiler.lir.SwitchStrategy$BaseSwitchClosure
{
  private int conditionalLabelPointer;
    descriptor: I
    flags: (0x0002) ACC_PRIVATE

  protected final jdk.vm.ci.code.Register keyRegister;
    descriptor: Ljdk/vm/ci/code/Register;
    flags: (0x0014) ACC_PROTECTED, ACC_FINAL

  protected final jdk.vm.ci.code.Register constantBaseRegister;
    descriptor: Ljdk/vm/ci/code/Register;
    flags: (0x0014) ACC_PROTECTED, ACC_FINAL

  protected final org.graalvm.compiler.lir.asm.CompilationResultBuilder crb;
    descriptor: Lorg/graalvm/compiler/lir/asm/CompilationResultBuilder;
    flags: (0x0014) ACC_PROTECTED, ACC_FINAL

  protected final org.graalvm.compiler.asm.sparc.SPARCMacroAssembler masm;
    descriptor: Lorg/graalvm/compiler/asm/sparc/SPARCMacroAssembler;
    flags: (0x0014) ACC_PROTECTED, ACC_FINAL

  final org.graalvm.compiler.lir.sparc.SPARCControlFlow$StrategySwitchOp this$1;
    descriptor: Lorg/graalvm/compiler/lir/sparc/SPARCControlFlow$StrategySwitchOp;
    flags: (0x1010) 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

  protected void <init>(org.graalvm.compiler.lir.sparc.SPARCControlFlow$StrategySwitchOp, jdk.vm.ci.code.Register, jdk.vm.ci.code.Register, org.graalvm.compiler.lir.asm.CompilationResultBuilder, org.graalvm.compiler.asm.sparc.SPARCMacroAssembler);
    descriptor: (Lorg/graalvm/compiler/lir/sparc/SPARCControlFlow$StrategySwitchOp;Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;Lorg/graalvm/compiler/lir/asm/CompilationResultBuilder;Lorg/graalvm/compiler/asm/sparc/SPARCMacroAssembler;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=5, locals=6, args_size=6
        start local 0 // org.graalvm.compiler.lir.sparc.SPARCControlFlow$StrategySwitchOp$SwitchClosure this
        start local 2 // jdk.vm.ci.code.Register keyRegister
        start local 3 // jdk.vm.ci.code.Register constantBaseRegister
        start local 4 // org.graalvm.compiler.lir.asm.CompilationResultBuilder crb
        start local 5 // org.graalvm.compiler.asm.sparc.SPARCMacroAssembler masm
         0: .line 479
            aload 0 /* this */
            aload 1
            putfield org.graalvm.compiler.lir.sparc.SPARCControlFlow$StrategySwitchOp$SwitchClosure.this$1:Lorg/graalvm/compiler/lir/sparc/SPARCControlFlow$StrategySwitchOp;
         1: .line 480
            aload 0 /* this */
            aload 4 /* crb */
            aload 5 /* masm */
            aload 1
            getfield org.graalvm.compiler.lir.sparc.SPARCControlFlow$StrategySwitchOp.keyTargets:[Lorg/graalvm/compiler/lir/LabelRef;
            aload 1
            getfield org.graalvm.compiler.lir.sparc.SPARCControlFlow$StrategySwitchOp.defaultTarget:Lorg/graalvm/compiler/lir/LabelRef;
            invokespecial org.graalvm.compiler.lir.SwitchStrategy$BaseSwitchClosure.<init>:(Lorg/graalvm/compiler/lir/asm/CompilationResultBuilder;Lorg/graalvm/compiler/asm/Assembler;[Lorg/graalvm/compiler/lir/LabelRef;Lorg/graalvm/compiler/lir/LabelRef;)V
         2: .line 472
            aload 0 /* this */
            iconst_0
            putfield org.graalvm.compiler.lir.sparc.SPARCControlFlow$StrategySwitchOp$SwitchClosure.conditionalLabelPointer:I
         3: .line 481
            aload 0 /* this */
            aload 2 /* keyRegister */
            putfield org.graalvm.compiler.lir.sparc.SPARCControlFlow$StrategySwitchOp$SwitchClosure.keyRegister:Ljdk/vm/ci/code/Register;
         4: .line 482
            aload 0 /* this */
            aload 3 /* constantBaseRegister */
            putfield org.graalvm.compiler.lir.sparc.SPARCControlFlow$StrategySwitchOp$SwitchClosure.constantBaseRegister:Ljdk/vm/ci/code/Register;
         5: .line 483
            aload 0 /* this */
            aload 4 /* crb */
            putfield org.graalvm.compiler.lir.sparc.SPARCControlFlow$StrategySwitchOp$SwitchClosure.crb:Lorg/graalvm/compiler/lir/asm/CompilationResultBuilder;
         6: .line 484
            aload 0 /* this */
            aload 5 /* masm */
            putfield org.graalvm.compiler.lir.sparc.SPARCControlFlow$StrategySwitchOp$SwitchClosure.masm:Lorg/graalvm/compiler/asm/sparc/SPARCMacroAssembler;
         7: .line 485
            return
        end local 5 // org.graalvm.compiler.asm.sparc.SPARCMacroAssembler masm
        end local 4 // org.graalvm.compiler.lir.asm.CompilationResultBuilder crb
        end local 3 // jdk.vm.ci.code.Register constantBaseRegister
        end local 2 // jdk.vm.ci.code.Register keyRegister
        end local 0 // org.graalvm.compiler.lir.sparc.SPARCControlFlow$StrategySwitchOp$SwitchClosure this
      LocalVariableTable:
        Start  End  Slot                  Name  Signature
            0    8     0                  this  Lorg/graalvm/compiler/lir/sparc/SPARCControlFlow$StrategySwitchOp$SwitchClosure;
            0    8     2           keyRegister  Ljdk/vm/ci/code/Register;
            0    8     3  constantBaseRegister  Ljdk/vm/ci/code/Register;
            0    8     4                   crb  Lorg/graalvm/compiler/lir/asm/CompilationResultBuilder;
            0    8     5                  masm  Lorg/graalvm/compiler/asm/sparc/SPARCMacroAssembler;
    MethodParameters:
                      Name  Flags
      this$0                final
      keyRegister           
      constantBaseRegister  
      crb                   
      masm                  

  public org.graalvm.compiler.asm.Label conditionalJump(int, org.graalvm.compiler.core.common.calc.Condition);
    descriptor: (ILorg/graalvm/compiler/core/common/calc/Condition;)Lorg/graalvm/compiler/asm/Label;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=4, args_size=3
        start local 0 // org.graalvm.compiler.lir.sparc.SPARCControlFlow$StrategySwitchOp$SwitchClosure this
        start local 1 // int index
        start local 2 // org.graalvm.compiler.core.common.calc.Condition condition
         0: .line 494
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.sparc.SPARCControlFlow$StrategySwitchOp$SwitchClosure.conditionalLabelPointer:I
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.sparc.SPARCControlFlow$StrategySwitchOp$SwitchClosure.this$1:Lorg/graalvm/compiler/lir/sparc/SPARCControlFlow$StrategySwitchOp;
            getfield org.graalvm.compiler.lir.sparc.SPARCControlFlow$StrategySwitchOp.conditionalLabels:Ljava/util/List;
            invokeinterface java.util.List.size:()I
            if_icmpgt 5
         1: .line 495
            new org.graalvm.compiler.asm.Label
            dup
            invokespecial org.graalvm.compiler.asm.Label.<init>:()V
            astore 3 /* label */
        start local 3 // org.graalvm.compiler.asm.Label label
         2: .line 496
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.sparc.SPARCControlFlow$StrategySwitchOp$SwitchClosure.this$1:Lorg/graalvm/compiler/lir/sparc/SPARCControlFlow$StrategySwitchOp;
            getfield org.graalvm.compiler.lir.sparc.SPARCControlFlow$StrategySwitchOp.conditionalLabels:Ljava/util/List;
            aload 3 /* label */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
         3: .line 497
            aload 0 /* this */
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.sparc.SPARCControlFlow$StrategySwitchOp$SwitchClosure.this$1:Lorg/graalvm/compiler/lir/sparc/SPARCControlFlow$StrategySwitchOp;
            getfield org.graalvm.compiler.lir.sparc.SPARCControlFlow$StrategySwitchOp.conditionalLabels:Ljava/util/List;
            invokeinterface java.util.List.size:()I
            putfield org.graalvm.compiler.lir.sparc.SPARCControlFlow$StrategySwitchOp$SwitchClosure.conditionalLabelPointer:I
         4: .line 498
            goto 6
        end local 3 // org.graalvm.compiler.asm.Label label
         5: .line 502
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.sparc.SPARCControlFlow$StrategySwitchOp$SwitchClosure.this$1:Lorg/graalvm/compiler/lir/sparc/SPARCControlFlow$StrategySwitchOp;
            getfield org.graalvm.compiler.lir.sparc.SPARCControlFlow$StrategySwitchOp.conditionalLabels:Ljava/util/List;
            aload 0 /* this */
            dup
            getfield org.graalvm.compiler.lir.sparc.SPARCControlFlow$StrategySwitchOp$SwitchClosure.conditionalLabelPointer:I
            dup_x1
            iconst_1
            iadd
            putfield org.graalvm.compiler.lir.sparc.SPARCControlFlow$StrategySwitchOp$SwitchClosure.conditionalLabelPointer:I
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast org.graalvm.compiler.asm.Label
            astore 3 /* label */
        start local 3 // org.graalvm.compiler.asm.Label label
         6: .line 504
      StackMap locals: org.graalvm.compiler.asm.Label
      StackMap stack:
            aload 0 /* this */
            iload 1 /* index */
            aload 2 /* condition */
            aload 3 /* label */
            invokevirtual org.graalvm.compiler.lir.sparc.SPARCControlFlow$StrategySwitchOp$SwitchClosure.conditionalJump:(ILorg/graalvm/compiler/core/common/calc/Condition;Lorg/graalvm/compiler/asm/Label;)V
         7: .line 505
            aload 3 /* label */
            areturn
        end local 3 // org.graalvm.compiler.asm.Label label
        end local 2 // org.graalvm.compiler.core.common.calc.Condition condition
        end local 1 // int index
        end local 0 // org.graalvm.compiler.lir.sparc.SPARCControlFlow$StrategySwitchOp$SwitchClosure this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    8     0       this  Lorg/graalvm/compiler/lir/sparc/SPARCControlFlow$StrategySwitchOp$SwitchClosure;
            0    8     1      index  I
            0    8     2  condition  Lorg/graalvm/compiler/core/common/calc/Condition;
            2    5     3      label  Lorg/graalvm/compiler/asm/Label;
            6    8     3      label  Lorg/graalvm/compiler/asm/Label;
    MethodParameters:
           Name  Flags
      index      
      condition  

  protected void conditionalJump(int, org.graalvm.compiler.core.common.calc.Condition, org.graalvm.compiler.asm.Label);
    descriptor: (ILorg/graalvm/compiler/core/common/calc/Condition;Lorg/graalvm/compiler/asm/Label;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=7, locals=13, args_size=4
        start local 0 // org.graalvm.compiler.lir.sparc.SPARCControlFlow$StrategySwitchOp$SwitchClosure this
        start local 1 // int index
        start local 2 // org.graalvm.compiler.core.common.calc.Condition condition
        start local 3 // org.graalvm.compiler.asm.Label target
         0: .line 510
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.sparc.SPARCControlFlow$StrategySwitchOp$SwitchClosure.this$1:Lorg/graalvm/compiler/lir/sparc/SPARCControlFlow$StrategySwitchOp;
            getfield org.graalvm.compiler.lir.sparc.SPARCControlFlow$StrategySwitchOp.keyConstants:[Ljdk/vm/ci/meta/Constant;
            iload 1 /* index */
            aaload
            checkcast jdk.vm.ci.meta.JavaConstant
            astore 4 /* constant */
        start local 4 // jdk.vm.ci.meta.JavaConstant constant
         1: .line 512
            aload 4 /* constant */
            invokeinterface jdk.vm.ci.meta.JavaConstant.asLong:()J
            invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
            astore 6 /* bits */
        start local 6 // java.lang.Long bits
         2: .line 513
            invokestatic org.graalvm.compiler.lir.sparc.SPARCControlFlow$StrategySwitchOp$SwitchClosure.$SWITCH_TABLE$jdk$vm$ci$meta$JavaKind:()[I
            aload 4 /* constant */
            invokeinterface jdk.vm.ci.meta.JavaConstant.getJavaKind:()Ljdk/vm/ci/meta/JavaKind;
            invokevirtual jdk.vm.ci.meta.JavaKind.ordinal:()I
            iaload
            tableswitch { // 2 - 7
                    2: 3
                    3: 3
                    4: 3
                    5: 3
                    6: 7
                    7: 5
              default: 7
          }
         3: .line 518
      StackMap locals: org.graalvm.compiler.lir.sparc.SPARCControlFlow$StrategySwitchOp$SwitchClosure int org.graalvm.compiler.core.common.calc.Condition org.graalvm.compiler.asm.Label jdk.vm.ci.meta.JavaConstant top java.lang.Long
      StackMap stack:
            getstatic org.graalvm.compiler.asm.sparc.SPARCAssembler$CC.Icc:Lorg/graalvm/compiler/asm/sparc/SPARCAssembler$CC;
            astore 5 /* conditionCode */
        start local 5 // org.graalvm.compiler.asm.sparc.SPARCAssembler$CC conditionCode
         4: .line 519
            goto 8
        end local 5 // org.graalvm.compiler.asm.sparc.SPARCAssembler$CC conditionCode
         5: .line 521
      StackMap locals:
      StackMap stack:
            getstatic org.graalvm.compiler.asm.sparc.SPARCAssembler$CC.Xcc:Lorg/graalvm/compiler/asm/sparc/SPARCAssembler$CC;
            astore 5 /* conditionCode */
        start local 5 // org.graalvm.compiler.asm.sparc.SPARCAssembler$CC conditionCode
         6: .line 522
            goto 8
        end local 5 // org.graalvm.compiler.asm.sparc.SPARCAssembler$CC conditionCode
         7: .line 524
      StackMap locals:
      StackMap stack:
            new org.graalvm.compiler.debug.GraalError
            dup
            ldc "switch only supported for int, long and object"
            invokespecial org.graalvm.compiler.debug.GraalError.<init>:(Ljava/lang/String;)V
            athrow
        start local 5 // org.graalvm.compiler.asm.sparc.SPARCAssembler$CC conditionCode
         8: .line 526
      StackMap locals: org.graalvm.compiler.lir.sparc.SPARCControlFlow$StrategySwitchOp$SwitchClosure int org.graalvm.compiler.core.common.calc.Condition org.graalvm.compiler.asm.Label jdk.vm.ci.meta.JavaConstant org.graalvm.compiler.asm.sparc.SPARCAssembler$CC java.lang.Long
      StackMap stack:
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.sparc.SPARCControlFlow$StrategySwitchOp$SwitchClosure.keyRegister:Ljdk/vm/ci/code/Register;
            invokevirtual jdk.vm.ci.code.Register.getRegisterCategory:()Ljdk/vm/ci/code/Register$RegisterCategory;
            getstatic jdk.vm.ci.sparc.SPARC.CPU:Ljdk/vm/ci/code/Register$RegisterCategory;
            invokevirtual jdk.vm.ci.code.Register$RegisterCategory.equals:(Ljava/lang/Object;)Z
            aload 2 /* condition */
            iconst_0
            invokestatic org.graalvm.compiler.lir.sparc.SPARCControlFlow.fromCondition:(ZLorg/graalvm/compiler/core/common/calc/Condition;Z)Lorg/graalvm/compiler/asm/sparc/SPARCAssembler$ConditionFlag;
            astore 7 /* conditionFlag */
        start local 7 // org.graalvm.compiler.asm.sparc.SPARCAssembler$ConditionFlag conditionFlag
         9: .line 527
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.sparc.SPARCControlFlow$StrategySwitchOp$SwitchClosure.this$1:Lorg/graalvm/compiler/lir/sparc/SPARCControlFlow$StrategySwitchOp;
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.sparc.SPARCControlFlow$StrategySwitchOp$SwitchClosure.masm:Lorg/graalvm/compiler/asm/sparc/SPARCMacroAssembler;
            aload 3 /* target */
            invokevirtual org.graalvm.compiler.lir.sparc.SPARCControlFlow$StrategySwitchOp.requestHint:(Lorg/graalvm/compiler/asm/sparc/SPARCMacroAssembler;Lorg/graalvm/compiler/asm/Label;)Lorg/graalvm/compiler/asm/Assembler$LabelHint;
            astore 8 /* hint */
        start local 8 // org.graalvm.compiler.asm.Assembler$LabelHint hint
        10: .line 528
            aload 4 /* constant */
            invokestatic org.graalvm.compiler.asm.sparc.SPARCAssembler.isSimm5:(Ljdk/vm/ci/meta/JavaConstant;)Z
            istore 9 /* isShortConstant */
        start local 9 // boolean isShortConstant
        11: .line 529
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.sparc.SPARCControlFlow$StrategySwitchOp$SwitchClosure.masm:Lorg/graalvm/compiler/asm/sparc/SPARCMacroAssembler;
            invokevirtual org.graalvm.compiler.asm.sparc.SPARCMacroAssembler.position:()I
            istore 10 /* cbCondPosition */
        start local 10 // int cbCondPosition
        12: .line 530
            iload 9 /* isShortConstant */
            ifne 14
        13: .line 531
            iinc 10 /* cbCondPosition */ 4
        14: .line 533
      StackMap locals: org.graalvm.compiler.lir.sparc.SPARCControlFlow$StrategySwitchOp$SwitchClosure int org.graalvm.compiler.core.common.calc.Condition org.graalvm.compiler.asm.Label jdk.vm.ci.meta.JavaConstant org.graalvm.compiler.asm.sparc.SPARCAssembler$CC java.lang.Long org.graalvm.compiler.asm.sparc.SPARCAssembler$ConditionFlag org.graalvm.compiler.asm.Assembler$LabelHint int int
      StackMap stack:
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.sparc.SPARCControlFlow$StrategySwitchOp$SwitchClosure.masm:Lorg/graalvm/compiler/asm/sparc/SPARCMacroAssembler;
            getstatic jdk.vm.ci.sparc.SPARC$CPUFeature.CBCOND:Ljdk/vm/ci/sparc/SPARC$CPUFeature;
            invokevirtual org.graalvm.compiler.asm.sparc.SPARCMacroAssembler.hasFeature:(Ljdk/vm/ci/sparc/SPARC$CPUFeature;)Z
            ifeq 15
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.sparc.SPARCControlFlow$StrategySwitchOp$SwitchClosure.masm:Lorg/graalvm/compiler/asm/sparc/SPARCMacroAssembler;
            iload 10 /* cbCondPosition */
            aload 8 /* hint */
            aload 3 /* target */
            invokestatic org.graalvm.compiler.lir.sparc.SPARCControlFlow.isShortBranch:(Lorg/graalvm/compiler/asm/sparc/SPARCAssembler;ILorg/graalvm/compiler/asm/Assembler$LabelHint;Lorg/graalvm/compiler/asm/Label;)Z
            ifeq 15
            iconst_1
            goto 16
      StackMap locals:
      StackMap stack:
        15: iconst_0
      StackMap locals:
      StackMap stack: int
        16: istore 11 /* canUseShortBranch */
        start local 11 // boolean canUseShortBranch
        17: .line 534
            aload 6 /* bits */
            ifnull 29
            iload 11 /* canUseShortBranch */
            ifeq 29
        18: .line 535
            iload 9 /* isShortConstant */
            ifeq 23
        19: .line 536
            getstatic org.graalvm.compiler.asm.sparc.SPARCAssembler.CBCOND:Lorg/graalvm/compiler/asm/sparc/SPARCAssembler$CBCond;
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.sparc.SPARCControlFlow$StrategySwitchOp$SwitchClosure.masm:Lorg/graalvm/compiler/asm/sparc/SPARCMacroAssembler;
            aload 7 /* conditionFlag */
            aload 5 /* conditionCode */
            getstatic org.graalvm.compiler.asm.sparc.SPARCAssembler$CC.Xcc:Lorg/graalvm/compiler/asm/sparc/SPARCAssembler$CC;
            if_acmpne 20
            iconst_1
            goto 21
      StackMap locals: org.graalvm.compiler.lir.sparc.SPARCControlFlow$StrategySwitchOp$SwitchClosure int org.graalvm.compiler.core.common.calc.Condition org.graalvm.compiler.asm.Label jdk.vm.ci.meta.JavaConstant org.graalvm.compiler.asm.sparc.SPARCAssembler$CC java.lang.Long org.graalvm.compiler.asm.sparc.SPARCAssembler$ConditionFlag org.graalvm.compiler.asm.Assembler$LabelHint int int int
      StackMap stack: org.graalvm.compiler.asm.sparc.SPARCAssembler$CBCond org.graalvm.compiler.asm.sparc.SPARCMacroAssembler org.graalvm.compiler.asm.sparc.SPARCAssembler$ConditionFlag
        20: iconst_0
      StackMap locals: org.graalvm.compiler.lir.sparc.SPARCControlFlow$StrategySwitchOp$SwitchClosure int org.graalvm.compiler.core.common.calc.Condition org.graalvm.compiler.asm.Label jdk.vm.ci.meta.JavaConstant org.graalvm.compiler.asm.sparc.SPARCAssembler$CC java.lang.Long org.graalvm.compiler.asm.sparc.SPARCAssembler$ConditionFlag org.graalvm.compiler.asm.Assembler$LabelHint int int int
      StackMap stack: org.graalvm.compiler.asm.sparc.SPARCAssembler$CBCond org.graalvm.compiler.asm.sparc.SPARCMacroAssembler org.graalvm.compiler.asm.sparc.SPARCAssembler$ConditionFlag int
        21: aload 0 /* this */
            getfield org.graalvm.compiler.lir.sparc.SPARCControlFlow$StrategySwitchOp$SwitchClosure.keyRegister:Ljdk/vm/ci/code/Register;
            aload 6 /* bits */
            invokevirtual java.lang.Long.longValue:()J
            l2i
            aload 3 /* target */
            invokevirtual org.graalvm.compiler.asm.sparc.SPARCAssembler$CBCond.emit:(Lorg/graalvm/compiler/asm/sparc/SPARCMacroAssembler;Lorg/graalvm/compiler/asm/sparc/SPARCAssembler$ConditionFlag;ZLjdk/vm/ci/code/Register;ILorg/graalvm/compiler/asm/Label;)V
        22: .line 537
            goto 37
        23: .line 538
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.sparc.SPARCControlFlow$StrategySwitchOp$SwitchClosure.this$1:Lorg/graalvm/compiler/lir/sparc/SPARCControlFlow$StrategySwitchOp;
            getfield org.graalvm.compiler.lir.sparc.SPARCControlFlow$StrategySwitchOp.scratch:Ljdk/vm/ci/meta/Value;
            invokestatic jdk.vm.ci.code.ValueUtil.asRegister:(Ljdk/vm/ci/meta/Value;)Ljdk/vm/ci/code/Register;
            astore 12 /* scratchRegister */
        start local 12 // jdk.vm.ci.code.Register scratchRegister
        24: .line 539
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.sparc.SPARCControlFlow$StrategySwitchOp$SwitchClosure.crb:Lorg/graalvm/compiler/lir/asm/CompilationResultBuilder;
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.sparc.SPARCControlFlow$StrategySwitchOp$SwitchClosure.masm:Lorg/graalvm/compiler/asm/sparc/SPARCMacroAssembler;
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.sparc.SPARCControlFlow$StrategySwitchOp$SwitchClosure.this$1:Lorg/graalvm/compiler/lir/sparc/SPARCControlFlow$StrategySwitchOp;
            getfield org.graalvm.compiler.lir.sparc.SPARCControlFlow$StrategySwitchOp.scratch:Ljdk/vm/ci/meta/Value;
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.sparc.SPARCControlFlow$StrategySwitchOp$SwitchClosure.constantBaseRegister:Ljdk/vm/ci/code/Register;
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.sparc.SPARCControlFlow$StrategySwitchOp$SwitchClosure.this$1:Lorg/graalvm/compiler/lir/sparc/SPARCControlFlow$StrategySwitchOp;
            getfield org.graalvm.compiler.lir.sparc.SPARCControlFlow$StrategySwitchOp.keyConstants:[Ljdk/vm/ci/meta/Constant;
            iload 1 /* index */
            aaload
            checkcast jdk.vm.ci.meta.JavaConstant
            getstatic org.graalvm.compiler.lir.sparc.SPARCDelayedControlTransfer.DUMMY:Lorg/graalvm/compiler/lir/sparc/SPARCDelayedControlTransfer;
            invokestatic org.graalvm.compiler.lir.sparc.SPARCMove.const2reg:(Lorg/graalvm/compiler/lir/asm/CompilationResultBuilder;Lorg/graalvm/compiler/asm/sparc/SPARCMacroAssembler;Ljdk/vm/ci/meta/Value;Ljdk/vm/ci/code/Register;Ljdk/vm/ci/meta/JavaConstant;Lorg/graalvm/compiler/lir/sparc/SPARCDelayedControlTransfer;)V
        25: .line 540
            getstatic org.graalvm.compiler.asm.sparc.SPARCAssembler.CBCOND:Lorg/graalvm/compiler/asm/sparc/SPARCAssembler$CBCond;
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.sparc.SPARCControlFlow$StrategySwitchOp$SwitchClosure.masm:Lorg/graalvm/compiler/asm/sparc/SPARCMacroAssembler;
            aload 7 /* conditionFlag */
            aload 5 /* conditionCode */
            getstatic org.graalvm.compiler.asm.sparc.SPARCAssembler$CC.Xcc:Lorg/graalvm/compiler/asm/sparc/SPARCAssembler$CC;
            if_acmpne 26
            iconst_1
            goto 27
      StackMap locals: org.graalvm.compiler.lir.sparc.SPARCControlFlow$StrategySwitchOp$SwitchClosure int org.graalvm.compiler.core.common.calc.Condition org.graalvm.compiler.asm.Label jdk.vm.ci.meta.JavaConstant org.graalvm.compiler.asm.sparc.SPARCAssembler$CC java.lang.Long org.graalvm.compiler.asm.sparc.SPARCAssembler$ConditionFlag org.graalvm.compiler.asm.Assembler$LabelHint int int int jdk.vm.ci.code.Register
      StackMap stack: org.graalvm.compiler.asm.sparc.SPARCAssembler$CBCond org.graalvm.compiler.asm.sparc.SPARCMacroAssembler org.graalvm.compiler.asm.sparc.SPARCAssembler$ConditionFlag
        26: iconst_0
      StackMap locals: org.graalvm.compiler.lir.sparc.SPARCControlFlow$StrategySwitchOp$SwitchClosure int org.graalvm.compiler.core.common.calc.Condition org.graalvm.compiler.asm.Label jdk.vm.ci.meta.JavaConstant org.graalvm.compiler.asm.sparc.SPARCAssembler$CC java.lang.Long org.graalvm.compiler.asm.sparc.SPARCAssembler$ConditionFlag org.graalvm.compiler.asm.Assembler$LabelHint int int int jdk.vm.ci.code.Register
      StackMap stack: org.graalvm.compiler.asm.sparc.SPARCAssembler$CBCond org.graalvm.compiler.asm.sparc.SPARCMacroAssembler org.graalvm.compiler.asm.sparc.SPARCAssembler$ConditionFlag int
        27: aload 0 /* this */
            getfield org.graalvm.compiler.lir.sparc.SPARCControlFlow$StrategySwitchOp$SwitchClosure.keyRegister:Ljdk/vm/ci/code/Register;
            aload 12 /* scratchRegister */
            aload 3 /* target */
            invokevirtual org.graalvm.compiler.asm.sparc.SPARCAssembler$CBCond.emit:(Lorg/graalvm/compiler/asm/sparc/SPARCMacroAssembler;Lorg/graalvm/compiler/asm/sparc/SPARCAssembler$ConditionFlag;ZLjdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;Lorg/graalvm/compiler/asm/Label;)V
        end local 12 // jdk.vm.ci.code.Register scratchRegister
        28: .line 542
            goto 37
        29: .line 543
      StackMap locals:
      StackMap stack:
            aload 6 /* bits */
            ifnull 32
            aload 4 /* constant */
            invokestatic org.graalvm.compiler.asm.sparc.SPARCAssembler.isSimm13:(Ljdk/vm/ci/meta/JavaConstant;)Z
            ifeq 32
        30: .line 544
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.sparc.SPARCControlFlow$StrategySwitchOp$SwitchClosure.masm:Lorg/graalvm/compiler/asm/sparc/SPARCMacroAssembler;
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.sparc.SPARCControlFlow$StrategySwitchOp$SwitchClosure.keyRegister:Ljdk/vm/ci/code/Register;
            aload 6 /* bits */
            invokevirtual java.lang.Long.longValue:()J
            l2i
            invokevirtual org.graalvm.compiler.asm.sparc.SPARCMacroAssembler.cmp:(Ljdk/vm/ci/code/Register;I)V
        31: .line 545
            goto 35
        32: .line 546
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.sparc.SPARCControlFlow$StrategySwitchOp$SwitchClosure.this$1:Lorg/graalvm/compiler/lir/sparc/SPARCControlFlow$StrategySwitchOp;
            getfield org.graalvm.compiler.lir.sparc.SPARCControlFlow$StrategySwitchOp.scratch:Ljdk/vm/ci/meta/Value;
            invokestatic jdk.vm.ci.code.ValueUtil.asRegister:(Ljdk/vm/ci/meta/Value;)Ljdk/vm/ci/code/Register;
            astore 12 /* scratchRegister */
        start local 12 // jdk.vm.ci.code.Register scratchRegister
        33: .line 547
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.sparc.SPARCControlFlow$StrategySwitchOp$SwitchClosure.crb:Lorg/graalvm/compiler/lir/asm/CompilationResultBuilder;
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.sparc.SPARCControlFlow$StrategySwitchOp$SwitchClosure.masm:Lorg/graalvm/compiler/asm/sparc/SPARCMacroAssembler;
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.sparc.SPARCControlFlow$StrategySwitchOp$SwitchClosure.this$1:Lorg/graalvm/compiler/lir/sparc/SPARCControlFlow$StrategySwitchOp;
            getfield org.graalvm.compiler.lir.sparc.SPARCControlFlow$StrategySwitchOp.scratch:Ljdk/vm/ci/meta/Value;
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.sparc.SPARCControlFlow$StrategySwitchOp$SwitchClosure.constantBaseRegister:Ljdk/vm/ci/code/Register;
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.sparc.SPARCControlFlow$StrategySwitchOp$SwitchClosure.this$1:Lorg/graalvm/compiler/lir/sparc/SPARCControlFlow$StrategySwitchOp;
            getfield org.graalvm.compiler.lir.sparc.SPARCControlFlow$StrategySwitchOp.keyConstants:[Ljdk/vm/ci/meta/Constant;
            iload 1 /* index */
            aaload
            checkcast jdk.vm.ci.meta.JavaConstant
            getstatic org.graalvm.compiler.lir.sparc.SPARCDelayedControlTransfer.DUMMY:Lorg/graalvm/compiler/lir/sparc/SPARCDelayedControlTransfer;
            invokestatic org.graalvm.compiler.lir.sparc.SPARCMove.const2reg:(Lorg/graalvm/compiler/lir/asm/CompilationResultBuilder;Lorg/graalvm/compiler/asm/sparc/SPARCMacroAssembler;Ljdk/vm/ci/meta/Value;Ljdk/vm/ci/code/Register;Ljdk/vm/ci/meta/JavaConstant;Lorg/graalvm/compiler/lir/sparc/SPARCDelayedControlTransfer;)V
        34: .line 548
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.sparc.SPARCControlFlow$StrategySwitchOp$SwitchClosure.masm:Lorg/graalvm/compiler/asm/sparc/SPARCMacroAssembler;
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.sparc.SPARCControlFlow$StrategySwitchOp$SwitchClosure.keyRegister:Ljdk/vm/ci/code/Register;
            aload 12 /* scratchRegister */
            invokevirtual org.graalvm.compiler.asm.sparc.SPARCMacroAssembler.cmp:(Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;)V
        end local 12 // jdk.vm.ci.code.Register scratchRegister
        35: .line 550
      StackMap locals:
      StackMap stack:
            getstatic org.graalvm.compiler.asm.sparc.SPARCAssembler.BPCC:Lorg/graalvm/compiler/asm/sparc/SPARCAssembler$Bpcc;
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.sparc.SPARCControlFlow$StrategySwitchOp$SwitchClosure.masm:Lorg/graalvm/compiler/asm/sparc/SPARCMacroAssembler;
            aload 5 /* conditionCode */
            aload 7 /* conditionFlag */
            getstatic org.graalvm.compiler.asm.sparc.SPARCAssembler$Annul.ANNUL:Lorg/graalvm/compiler/asm/sparc/SPARCAssembler$Annul;
            getstatic org.graalvm.compiler.asm.sparc.SPARCAssembler$BranchPredict.PREDICT_TAKEN:Lorg/graalvm/compiler/asm/sparc/SPARCAssembler$BranchPredict;
            aload 3 /* target */
            invokevirtual org.graalvm.compiler.asm.sparc.SPARCAssembler$Bpcc.emit:(Lorg/graalvm/compiler/asm/sparc/SPARCMacroAssembler;Lorg/graalvm/compiler/asm/sparc/SPARCAssembler$CC;Lorg/graalvm/compiler/asm/sparc/SPARCAssembler$ConditionFlag;Lorg/graalvm/compiler/asm/sparc/SPARCAssembler$Annul;Lorg/graalvm/compiler/asm/sparc/SPARCAssembler$BranchPredict;Lorg/graalvm/compiler/asm/Label;)V
        36: .line 551
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.sparc.SPARCControlFlow$StrategySwitchOp$SwitchClosure.masm:Lorg/graalvm/compiler/asm/sparc/SPARCMacroAssembler;
            invokevirtual org.graalvm.compiler.asm.sparc.SPARCMacroAssembler.nop:()V
        37: .line 553
      StackMap locals:
      StackMap stack:
            return
        end local 11 // boolean canUseShortBranch
        end local 10 // int cbCondPosition
        end local 9 // boolean isShortConstant
        end local 8 // org.graalvm.compiler.asm.Assembler$LabelHint hint
        end local 7 // org.graalvm.compiler.asm.sparc.SPARCAssembler$ConditionFlag conditionFlag
        end local 6 // java.lang.Long bits
        end local 5 // org.graalvm.compiler.asm.sparc.SPARCAssembler$CC conditionCode
        end local 4 // jdk.vm.ci.meta.JavaConstant constant
        end local 3 // org.graalvm.compiler.asm.Label target
        end local 2 // org.graalvm.compiler.core.common.calc.Condition condition
        end local 1 // int index
        end local 0 // org.graalvm.compiler.lir.sparc.SPARCControlFlow$StrategySwitchOp$SwitchClosure this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0   38     0               this  Lorg/graalvm/compiler/lir/sparc/SPARCControlFlow$StrategySwitchOp$SwitchClosure;
            0   38     1              index  I
            0   38     2          condition  Lorg/graalvm/compiler/core/common/calc/Condition;
            0   38     3             target  Lorg/graalvm/compiler/asm/Label;
            1   38     4           constant  Ljdk/vm/ci/meta/JavaConstant;
            4    5     5      conditionCode  Lorg/graalvm/compiler/asm/sparc/SPARCAssembler$CC;
            6    7     5      conditionCode  Lorg/graalvm/compiler/asm/sparc/SPARCAssembler$CC;
            8   38     5      conditionCode  Lorg/graalvm/compiler/asm/sparc/SPARCAssembler$CC;
            2   38     6               bits  Ljava/lang/Long;
            9   38     7      conditionFlag  Lorg/graalvm/compiler/asm/sparc/SPARCAssembler$ConditionFlag;
           10   38     8               hint  Lorg/graalvm/compiler/asm/Assembler$LabelHint;
           11   38     9    isShortConstant  Z
           12   38    10     cbCondPosition  I
           17   38    11  canUseShortBranch  Z
           24   28    12    scratchRegister  Ljdk/vm/ci/code/Register;
           33   35    12    scratchRegister  Ljdk/vm/ci/code/Register;
    MethodParameters:
           Name  Flags
      index      
      condition  
      target     

  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 471
            getstatic org.graalvm.compiler.lir.sparc.SPARCControlFlow$StrategySwitchOp$SwitchClosure.$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 org.graalvm.compiler.lir.sparc.SPARCControlFlow$StrategySwitchOp$SwitchClosure.$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: "SPARCControlFlow.java"
NestHost: org.graalvm.compiler.lir.sparc.SPARCControlFlow
InnerClasses:
  public RegisterCategory = jdk.vm.ci.code.Register$RegisterCategory of jdk.vm.ci.code.Register
  public final CPUFeature = jdk.vm.ci.sparc.SPARC$CPUFeature of jdk.vm.ci.sparc.SPARC
  public LabelHint = org.graalvm.compiler.asm.Assembler$LabelHint of org.graalvm.compiler.asm.Assembler
  public final Annul = org.graalvm.compiler.asm.sparc.SPARCAssembler$Annul of org.graalvm.compiler.asm.sparc.SPARCAssembler
  public final Bpcc = org.graalvm.compiler.asm.sparc.SPARCAssembler$Bpcc of org.graalvm.compiler.asm.sparc.SPARCAssembler
  public final BranchPredict = org.graalvm.compiler.asm.sparc.SPARCAssembler$BranchPredict of org.graalvm.compiler.asm.sparc.SPARCAssembler
  public final CBCond = org.graalvm.compiler.asm.sparc.SPARCAssembler$CBCond of org.graalvm.compiler.asm.sparc.SPARCAssembler
  public final CC = org.graalvm.compiler.asm.sparc.SPARCAssembler$CC of org.graalvm.compiler.asm.sparc.SPARCAssembler
  public final ConditionFlag = org.graalvm.compiler.asm.sparc.SPARCAssembler$ConditionFlag of org.graalvm.compiler.asm.sparc.SPARCAssembler
  public abstract BaseSwitchClosure = org.graalvm.compiler.lir.SwitchStrategy$BaseSwitchClosure of org.graalvm.compiler.lir.SwitchStrategy
  public StrategySwitchOp = org.graalvm.compiler.lir.sparc.SPARCControlFlow$StrategySwitchOp of org.graalvm.compiler.lir.sparc.SPARCControlFlow
  public SwitchClosure = org.graalvm.compiler.lir.sparc.SPARCControlFlow$StrategySwitchOp$SwitchClosure of org.graalvm.compiler.lir.sparc.SPARCControlFlow$StrategySwitchOp