public final class org.graalvm.compiler.lir.alloc.trace.DefaultTraceRegisterAllocationPolicy$BottomUpNumVariablesStrategy extends org.graalvm.compiler.lir.alloc.trace.DefaultTraceRegisterAllocationPolicy$BottomUpStrategy
minor version: 0
major version: 59
flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
this_class: org.graalvm.compiler.lir.alloc.trace.DefaultTraceRegisterAllocationPolicy$BottomUpNumVariablesStrategy
super_class: org.graalvm.compiler.lir.alloc.trace.DefaultTraceRegisterAllocationPolicy$BottomUpStrategy
{
private final int numVarLimit;
descriptor: I
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
public void <init>(org.graalvm.compiler.lir.alloc.trace.TraceRegisterAllocationPolicy);
descriptor: (Lorg/graalvm/compiler/lir/alloc/trace/TraceRegisterAllocationPolicy;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=5, args_size=2
start local 0 // org.graalvm.compiler.lir.alloc.trace.DefaultTraceRegisterAllocationPolicy$BottomUpNumVariablesStrategy this
start local 1 // org.graalvm.compiler.lir.alloc.trace.TraceRegisterAllocationPolicy plan
0: .line 169
aload 0 /* this */
aload 1 /* plan */
invokespecial org.graalvm.compiler.lir.alloc.trace.DefaultTraceRegisterAllocationPolicy$BottomUpStrategy.<init>:(Lorg/graalvm/compiler/lir/alloc/trace/TraceRegisterAllocationPolicy;)V
1: .line 170
getstatic org.graalvm.compiler.lir.alloc.trace.DefaultTraceRegisterAllocationPolicy$Options.TraceRAnumVariables:Lorg/graalvm/compiler/options/OptionKey;
aload 1 /* plan */
invokevirtual org.graalvm.compiler.lir.alloc.trace.TraceRegisterAllocationPolicy.getOptions:()Lorg/graalvm/compiler/options/OptionValues;
invokevirtual org.graalvm.compiler.options.OptionKey.getValue:(Lorg/graalvm/compiler/options/OptionValues;)Ljava/lang/Object;
checkcast java.lang.Integer
astore 2 /* value */
start local 2 // java.lang.Integer value
2: .line 171
aload 2 /* value */
ifnull 5
3: .line 172
aload 0 /* this */
aload 2 /* value */
invokevirtual java.lang.Integer.intValue:()I
putfield org.graalvm.compiler.lir.alloc.trace.DefaultTraceRegisterAllocationPolicy$BottomUpNumVariablesStrategy.numVarLimit:I
4: .line 173
goto 8
5: .line 175
StackMap locals: org.graalvm.compiler.lir.alloc.trace.DefaultTraceRegisterAllocationPolicy$BottomUpNumVariablesStrategy org.graalvm.compiler.lir.alloc.trace.TraceRegisterAllocationPolicy java.lang.Integer
StackMap stack:
aload 0 /* this */
invokevirtual org.graalvm.compiler.lir.alloc.trace.DefaultTraceRegisterAllocationPolicy$BottomUpNumVariablesStrategy.getTarget:()Ljdk/vm/ci/code/TargetDescription;
getfield jdk.vm.ci.code.TargetDescription.arch:Ljdk/vm/ci/code/Architecture;
invokevirtual jdk.vm.ci.code.Architecture.getWordKind:()Ljdk/vm/ci/meta/PlatformKind;
astore 3 /* wordKind */
start local 3 // jdk.vm.ci.meta.PlatformKind wordKind
6: .line 176
aload 0 /* this */
invokevirtual org.graalvm.compiler.lir.alloc.trace.DefaultTraceRegisterAllocationPolicy$BottomUpNumVariablesStrategy.getRegisterAllocationConfig:()Lorg/graalvm/compiler/core/common/alloc/RegisterAllocationConfig;
aload 3 /* wordKind */
invokevirtual org.graalvm.compiler.core.common.alloc.RegisterAllocationConfig.getAllocatableRegisters:(Ljdk/vm/ci/meta/PlatformKind;)Lorg/graalvm/compiler/core/common/alloc/RegisterAllocationConfig$AllocatableRegisters;
getfield org.graalvm.compiler.core.common.alloc.RegisterAllocationConfig$AllocatableRegisters.allocatableRegisters:[Ljdk/vm/ci/code/Register;
arraylength
istore 4 /* numWordRegisters */
start local 4 // int numWordRegisters
7: .line 177
aload 0 /* this */
iload 4 /* numWordRegisters */
putfield org.graalvm.compiler.lir.alloc.trace.DefaultTraceRegisterAllocationPolicy$BottomUpNumVariablesStrategy.numVarLimit:I
end local 4 // int numWordRegisters
end local 3 // jdk.vm.ci.meta.PlatformKind wordKind
8: .line 179
StackMap locals:
StackMap stack:
return
end local 2 // java.lang.Integer value
end local 1 // org.graalvm.compiler.lir.alloc.trace.TraceRegisterAllocationPolicy plan
end local 0 // org.graalvm.compiler.lir.alloc.trace.DefaultTraceRegisterAllocationPolicy$BottomUpNumVariablesStrategy this
LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lorg/graalvm/compiler/lir/alloc/trace/DefaultTraceRegisterAllocationPolicy$BottomUpNumVariablesStrategy;
0 9 1 plan Lorg/graalvm/compiler/lir/alloc/trace/TraceRegisterAllocationPolicy;
2 9 2 value Ljava/lang/Integer;
6 8 3 wordKind Ljdk/vm/ci/meta/PlatformKind;
7 8 4 numWordRegisters I
MethodParameters:
Name Flags
plan
public boolean shouldApplyTo(org.graalvm.compiler.core.common.alloc.Trace);
descriptor: (Lorg/graalvm/compiler/core/common/alloc/Trace;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=8, args_size=2
start local 0 // org.graalvm.compiler.lir.alloc.trace.DefaultTraceRegisterAllocationPolicy$BottomUpNumVariablesStrategy this
start local 1 // org.graalvm.compiler.core.common.alloc.Trace trace
0: .line 183
aload 0 /* this */
aload 1 /* trace */
invokespecial org.graalvm.compiler.lir.alloc.trace.DefaultTraceRegisterAllocationPolicy$BottomUpStrategy.shouldApplyTo:(Lorg/graalvm/compiler/core/common/alloc/Trace;)Z
ifne 2
1: .line 184
iconst_0
ireturn
2: .line 186
StackMap locals:
StackMap stack:
aload 0 /* this */
invokevirtual org.graalvm.compiler.lir.alloc.trace.DefaultTraceRegisterAllocationPolicy$BottomUpNumVariablesStrategy.getGlobalLivenessInfo:()Lorg/graalvm/compiler/lir/alloc/trace/GlobalLivenessInfo;
astore 2 /* livenessInfo */
start local 2 // org.graalvm.compiler.lir.alloc.trace.GlobalLivenessInfo livenessInfo
3: .line 187
aload 2 /* livenessInfo */
aload 1 /* trace */
invokevirtual org.graalvm.compiler.core.common.alloc.Trace.getBlocks:()[Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;
iconst_0
aaload
invokevirtual org.graalvm.compiler.lir.alloc.trace.GlobalLivenessInfo.getBlockIn:(Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;)[I
arraylength
istore 3 /* maxNumVars */
start local 3 // int maxNumVars
4: .line 188
aload 1 /* trace */
invokevirtual org.graalvm.compiler.core.common.alloc.Trace.getBlocks:()[Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;
dup
astore 7
arraylength
istore 6
iconst_0
istore 5
goto 8
StackMap locals: org.graalvm.compiler.lir.alloc.trace.DefaultTraceRegisterAllocationPolicy$BottomUpNumVariablesStrategy org.graalvm.compiler.core.common.alloc.Trace org.graalvm.compiler.lir.alloc.trace.GlobalLivenessInfo int top int int org.graalvm.compiler.core.common.cfg.AbstractBlockBase[]
StackMap stack:
5: aload 7
iload 5
aaload
astore 4 /* block */
start local 4 // org.graalvm.compiler.core.common.cfg.AbstractBlockBase block
6: .line 189
iload 3 /* maxNumVars */
aload 2 /* livenessInfo */
aload 4 /* block */
invokevirtual org.graalvm.compiler.lir.alloc.trace.GlobalLivenessInfo.getBlockOut:(Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;)[I
arraylength
invokestatic java.lang.Math.max:(II)I
istore 3 /* maxNumVars */
end local 4 // org.graalvm.compiler.core.common.cfg.AbstractBlockBase block
7: .line 188
iinc 5 1
StackMap locals:
StackMap stack:
8: iload 5
iload 6
if_icmplt 5
9: .line 191
iload 3 /* maxNumVars */
aload 0 /* this */
getfield org.graalvm.compiler.lir.alloc.trace.DefaultTraceRegisterAllocationPolicy$BottomUpNumVariablesStrategy.numVarLimit:I
if_icmpgt 10
iconst_1
ireturn
StackMap locals: org.graalvm.compiler.lir.alloc.trace.DefaultTraceRegisterAllocationPolicy$BottomUpNumVariablesStrategy org.graalvm.compiler.core.common.alloc.Trace org.graalvm.compiler.lir.alloc.trace.GlobalLivenessInfo int
StackMap stack:
10: iconst_0
ireturn
end local 3 // int maxNumVars
end local 2 // org.graalvm.compiler.lir.alloc.trace.GlobalLivenessInfo livenessInfo
end local 1 // org.graalvm.compiler.core.common.alloc.Trace trace
end local 0 // org.graalvm.compiler.lir.alloc.trace.DefaultTraceRegisterAllocationPolicy$BottomUpNumVariablesStrategy this
LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Lorg/graalvm/compiler/lir/alloc/trace/DefaultTraceRegisterAllocationPolicy$BottomUpNumVariablesStrategy;
0 11 1 trace Lorg/graalvm/compiler/core/common/alloc/Trace;
3 11 2 livenessInfo Lorg/graalvm/compiler/lir/alloc/trace/GlobalLivenessInfo;
4 11 3 maxNumVars I
6 7 4 block Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase<*>;
MethodParameters:
Name Flags
trace
}
SourceFile: "DefaultTraceRegisterAllocationPolicy.java"
NestHost: org.graalvm.compiler.lir.alloc.trace.DefaultTraceRegisterAllocationPolicy
InnerClasses:
public final AllocatableRegisters = org.graalvm.compiler.core.common.alloc.RegisterAllocationConfig$AllocatableRegisters of org.graalvm.compiler.core.common.alloc.RegisterAllocationConfig
public final BottomUpNumVariablesStrategy = org.graalvm.compiler.lir.alloc.trace.DefaultTraceRegisterAllocationPolicy$BottomUpNumVariablesStrategy of org.graalvm.compiler.lir.alloc.trace.DefaultTraceRegisterAllocationPolicy
public BottomUpStrategy = org.graalvm.compiler.lir.alloc.trace.DefaultTraceRegisterAllocationPolicy$BottomUpStrategy of org.graalvm.compiler.lir.alloc.trace.DefaultTraceRegisterAllocationPolicy
public Options = org.graalvm.compiler.lir.alloc.trace.DefaultTraceRegisterAllocationPolicy$Options of org.graalvm.compiler.lir.alloc.trace.DefaultTraceRegisterAllocationPolicy