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 start local 2 start local 3 start local 4 start local 5 0: aload 0
aload 1
putfield org.graalvm.compiler.lir.sparc.SPARCControlFlow$StrategySwitchOp$SwitchClosure.this$1:Lorg/graalvm/compiler/lir/sparc/SPARCControlFlow$StrategySwitchOp;
1: aload 0
aload 4
aload 5
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: aload 0
iconst_0
putfield org.graalvm.compiler.lir.sparc.SPARCControlFlow$StrategySwitchOp$SwitchClosure.conditionalLabelPointer:I
3: aload 0
aload 2
putfield org.graalvm.compiler.lir.sparc.SPARCControlFlow$StrategySwitchOp$SwitchClosure.keyRegister:Ljdk/vm/ci/code/Register;
4: aload 0
aload 3
putfield org.graalvm.compiler.lir.sparc.SPARCControlFlow$StrategySwitchOp$SwitchClosure.constantBaseRegister:Ljdk/vm/ci/code/Register;
5: aload 0
aload 4
putfield org.graalvm.compiler.lir.sparc.SPARCControlFlow$StrategySwitchOp$SwitchClosure.crb:Lorg/graalvm/compiler/lir/asm/CompilationResultBuilder;
6: aload 0
aload 5
putfield org.graalvm.compiler.lir.sparc.SPARCControlFlow$StrategySwitchOp$SwitchClosure.masm:Lorg/graalvm/compiler/asm/sparc/SPARCMacroAssembler;
7: return
end local 5 end local 4 end local 3 end local 2 end local 0 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 start local 1 start local 2 0: aload 0
getfield org.graalvm.compiler.lir.sparc.SPARCControlFlow$StrategySwitchOp$SwitchClosure.conditionalLabelPointer:I
aload 0
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: new org.graalvm.compiler.asm.Label
dup
invokespecial org.graalvm.compiler.asm.Label.<init>:()V
astore 3
start local 3 2: aload 0
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
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
3: aload 0
aload 0
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: goto 6
end local 3 5: StackMap locals:
StackMap stack:
aload 0
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
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
start local 3 6: StackMap locals: org.graalvm.compiler.asm.Label
StackMap stack:
aload 0
iload 1
aload 2
aload 3
invokevirtual org.graalvm.compiler.lir.sparc.SPARCControlFlow$StrategySwitchOp$SwitchClosure.conditionalJump:(ILorg/graalvm/compiler/core/common/calc/Condition;Lorg/graalvm/compiler/asm/Label;)V
7: aload 3
areturn
end local 3 end local 2 end local 1 end local 0 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 start local 1 start local 2 start local 3 0: aload 0
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
aaload
checkcast jdk.vm.ci.meta.JavaConstant
astore 4
start local 4 1: aload 4
invokeinterface jdk.vm.ci.meta.JavaConstant.asLong:()J
invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
astore 6
start local 6 2: invokestatic org.graalvm.compiler.lir.sparc.SPARCControlFlow$StrategySwitchOp$SwitchClosure.$SWITCH_TABLE$jdk$vm$ci$meta$JavaKind:()[I
aload 4
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: 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
start local 5 4: goto 8
end local 5 5: StackMap locals:
StackMap stack:
getstatic org.graalvm.compiler.asm.sparc.SPARCAssembler$CC.Xcc:Lorg/graalvm/compiler/asm/sparc/SPARCAssembler$CC;
astore 5
start local 5 6: goto 8
end local 5 7: 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 8: 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
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
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
start local 7 9: aload 0
getfield org.graalvm.compiler.lir.sparc.SPARCControlFlow$StrategySwitchOp$SwitchClosure.this$1:Lorg/graalvm/compiler/lir/sparc/SPARCControlFlow$StrategySwitchOp;
aload 0
getfield org.graalvm.compiler.lir.sparc.SPARCControlFlow$StrategySwitchOp$SwitchClosure.masm:Lorg/graalvm/compiler/asm/sparc/SPARCMacroAssembler;
aload 3
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
start local 8 10: aload 4
invokestatic org.graalvm.compiler.asm.sparc.SPARCAssembler.isSimm5:(Ljdk/vm/ci/meta/JavaConstant;)Z
istore 9
start local 9 11: aload 0
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
start local 10 12: iload 9
ifne 14
13: iinc 10 4
14: 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
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
getfield org.graalvm.compiler.lir.sparc.SPARCControlFlow$StrategySwitchOp$SwitchClosure.masm:Lorg/graalvm/compiler/asm/sparc/SPARCMacroAssembler;
iload 10
aload 8
aload 3
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
start local 11 17: aload 6
ifnull 29
iload 11
ifeq 29
18: iload 9
ifeq 23
19: getstatic org.graalvm.compiler.asm.sparc.SPARCAssembler.CBCOND:Lorg/graalvm/compiler/asm/sparc/SPARCAssembler$CBCond;
aload 0
getfield org.graalvm.compiler.lir.sparc.SPARCControlFlow$StrategySwitchOp$SwitchClosure.masm:Lorg/graalvm/compiler/asm/sparc/SPARCMacroAssembler;
aload 7
aload 5
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
getfield org.graalvm.compiler.lir.sparc.SPARCControlFlow$StrategySwitchOp$SwitchClosure.keyRegister:Ljdk/vm/ci/code/Register;
aload 6
invokevirtual java.lang.Long.longValue:()J
l2i
aload 3
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: goto 37
23: StackMap locals:
StackMap stack:
aload 0
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
start local 12 24: aload 0
getfield org.graalvm.compiler.lir.sparc.SPARCControlFlow$StrategySwitchOp$SwitchClosure.crb:Lorg/graalvm/compiler/lir/asm/CompilationResultBuilder;
aload 0
getfield org.graalvm.compiler.lir.sparc.SPARCControlFlow$StrategySwitchOp$SwitchClosure.masm:Lorg/graalvm/compiler/asm/sparc/SPARCMacroAssembler;
aload 0
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
getfield org.graalvm.compiler.lir.sparc.SPARCControlFlow$StrategySwitchOp$SwitchClosure.constantBaseRegister:Ljdk/vm/ci/code/Register;
aload 0
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
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: getstatic org.graalvm.compiler.asm.sparc.SPARCAssembler.CBCOND:Lorg/graalvm/compiler/asm/sparc/SPARCAssembler$CBCond;
aload 0
getfield org.graalvm.compiler.lir.sparc.SPARCControlFlow$StrategySwitchOp$SwitchClosure.masm:Lorg/graalvm/compiler/asm/sparc/SPARCMacroAssembler;
aload 7
aload 5
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
getfield org.graalvm.compiler.lir.sparc.SPARCControlFlow$StrategySwitchOp$SwitchClosure.keyRegister:Ljdk/vm/ci/code/Register;
aload 12
aload 3
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 28: goto 37
29: StackMap locals:
StackMap stack:
aload 6
ifnull 32
aload 4
invokestatic org.graalvm.compiler.asm.sparc.SPARCAssembler.isSimm13:(Ljdk/vm/ci/meta/JavaConstant;)Z
ifeq 32
30: aload 0
getfield org.graalvm.compiler.lir.sparc.SPARCControlFlow$StrategySwitchOp$SwitchClosure.masm:Lorg/graalvm/compiler/asm/sparc/SPARCMacroAssembler;
aload 0
getfield org.graalvm.compiler.lir.sparc.SPARCControlFlow$StrategySwitchOp$SwitchClosure.keyRegister:Ljdk/vm/ci/code/Register;
aload 6
invokevirtual java.lang.Long.longValue:()J
l2i
invokevirtual org.graalvm.compiler.asm.sparc.SPARCMacroAssembler.cmp:(Ljdk/vm/ci/code/Register;I)V
31: goto 35
32: StackMap locals:
StackMap stack:
aload 0
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
start local 12 33: aload 0
getfield org.graalvm.compiler.lir.sparc.SPARCControlFlow$StrategySwitchOp$SwitchClosure.crb:Lorg/graalvm/compiler/lir/asm/CompilationResultBuilder;
aload 0
getfield org.graalvm.compiler.lir.sparc.SPARCControlFlow$StrategySwitchOp$SwitchClosure.masm:Lorg/graalvm/compiler/asm/sparc/SPARCMacroAssembler;
aload 0
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
getfield org.graalvm.compiler.lir.sparc.SPARCControlFlow$StrategySwitchOp$SwitchClosure.constantBaseRegister:Ljdk/vm/ci/code/Register;
aload 0
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
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: aload 0
getfield org.graalvm.compiler.lir.sparc.SPARCControlFlow$StrategySwitchOp$SwitchClosure.masm:Lorg/graalvm/compiler/asm/sparc/SPARCMacroAssembler;
aload 0
getfield org.graalvm.compiler.lir.sparc.SPARCControlFlow$StrategySwitchOp$SwitchClosure.keyRegister:Ljdk/vm/ci/code/Register;
aload 12
invokevirtual org.graalvm.compiler.asm.sparc.SPARCMacroAssembler.cmp:(Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;)V
end local 12 35: StackMap locals:
StackMap stack:
getstatic org.graalvm.compiler.asm.sparc.SPARCAssembler.BPCC:Lorg/graalvm/compiler/asm/sparc/SPARCAssembler$Bpcc;
aload 0
getfield org.graalvm.compiler.lir.sparc.SPARCControlFlow$StrategySwitchOp$SwitchClosure.masm:Lorg/graalvm/compiler/asm/sparc/SPARCMacroAssembler;
aload 5
aload 7
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
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: aload 0
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: StackMap locals:
StackMap stack:
return
end local 11 end local 10 end local 9 end local 8 end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 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: 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