public abstract class org.graalvm.compiler.lir.alloc.trace.DefaultTraceRegisterAllocationPolicy$BottomUpLoopStrategyBase extends org.graalvm.compiler.lir.alloc.trace.DefaultTraceRegisterAllocationPolicy$BottomUpStrategy
minor version: 0
major version: 59
flags: flags: (0x0421) ACC_PUBLIC, ACC_SUPER, ACC_ABSTRACT
this_class: org.graalvm.compiler.lir.alloc.trace.DefaultTraceRegisterAllocationPolicy$BottomUpLoopStrategyBase
super_class: org.graalvm.compiler.lir.alloc.trace.DefaultTraceRegisterAllocationPolicy$BottomUpStrategy
{
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=2, args_size=2
start local 0 // org.graalvm.compiler.lir.alloc.trace.DefaultTraceRegisterAllocationPolicy$BottomUpLoopStrategyBase this
start local 1 // org.graalvm.compiler.lir.alloc.trace.TraceRegisterAllocationPolicy plan
0: .line 223
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 224
return
end local 1 // org.graalvm.compiler.lir.alloc.trace.TraceRegisterAllocationPolicy plan
end local 0 // org.graalvm.compiler.lir.alloc.trace.DefaultTraceRegisterAllocationPolicy$BottomUpLoopStrategyBase this
LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/graalvm/compiler/lir/alloc/trace/DefaultTraceRegisterAllocationPolicy$BottomUpLoopStrategyBase;
0 2 1 plan Lorg/graalvm/compiler/lir/alloc/trace/TraceRegisterAllocationPolicy;
MethodParameters:
Name Flags
plan
public final boolean shouldApplyTo(org.graalvm.compiler.core.common.alloc.Trace);
descriptor: (Lorg/graalvm/compiler/core/common/alloc/Trace;)Z
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=2, locals=6, args_size=2
start local 0 // org.graalvm.compiler.lir.alloc.trace.DefaultTraceRegisterAllocationPolicy$BottomUpLoopStrategyBase this
start local 1 // org.graalvm.compiler.core.common.alloc.Trace trace
0: .line 228
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 229
iconst_0
ireturn
2: .line 231
StackMap locals:
StackMap stack:
aload 0 /* this */
invokevirtual org.graalvm.compiler.lir.alloc.trace.DefaultTraceRegisterAllocationPolicy$BottomUpLoopStrategyBase.getLIR:()Lorg/graalvm/compiler/lir/LIR;
invokevirtual org.graalvm.compiler.lir.LIR.getControlFlowGraph:()Lorg/graalvm/compiler/core/common/cfg/AbstractControlFlowGraph;
invokeinterface org.graalvm.compiler.core.common.cfg.AbstractControlFlowGraph.getLoops:()Ljava/util/Collection;
invokeinterface java.util.Collection.isEmpty:()Z
ifeq 4
3: .line 232
aload 0 /* this */
aload 1 /* trace */
invokevirtual org.graalvm.compiler.lir.alloc.trace.DefaultTraceRegisterAllocationPolicy$BottomUpLoopStrategyBase.shouldApplyToNoLoop:(Lorg/graalvm/compiler/core/common/alloc/Trace;)Z
ireturn
4: .line 234
StackMap locals:
StackMap stack:
aload 1 /* trace */
invokevirtual org.graalvm.compiler.core.common.alloc.Trace.getBlocks:()[Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;
dup
astore 5
arraylength
istore 4
iconst_0
istore 3
goto 9
StackMap locals: org.graalvm.compiler.lir.alloc.trace.DefaultTraceRegisterAllocationPolicy$BottomUpLoopStrategyBase org.graalvm.compiler.core.common.alloc.Trace top int int org.graalvm.compiler.core.common.cfg.AbstractBlockBase[]
StackMap stack:
5: aload 5
iload 3
aaload
astore 2 /* block */
start local 2 // org.graalvm.compiler.core.common.cfg.AbstractBlockBase block
6: .line 235
aload 2 /* block */
invokevirtual org.graalvm.compiler.core.common.cfg.AbstractBlockBase.getLoopDepth:()I
ifle 8
7: .line 236
iconst_0
ireturn
end local 2 // org.graalvm.compiler.core.common.cfg.AbstractBlockBase block
8: .line 234
StackMap locals:
StackMap stack:
iinc 3 1
StackMap locals:
StackMap stack:
9: iload 3
iload 4
if_icmplt 5
10: .line 239
iconst_1
ireturn
end local 1 // org.graalvm.compiler.core.common.alloc.Trace trace
end local 0 // org.graalvm.compiler.lir.alloc.trace.DefaultTraceRegisterAllocationPolicy$BottomUpLoopStrategyBase this
LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Lorg/graalvm/compiler/lir/alloc/trace/DefaultTraceRegisterAllocationPolicy$BottomUpLoopStrategyBase;
0 11 1 trace Lorg/graalvm/compiler/core/common/alloc/Trace;
6 8 2 block Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase<*>;
MethodParameters:
Name Flags
trace
protected abstract boolean shouldApplyToNoLoop(org.graalvm.compiler.core.common.alloc.Trace);
descriptor: (Lorg/graalvm/compiler/core/common/alloc/Trace;)Z
flags: (0x0404) ACC_PROTECTED, ACC_ABSTRACT
MethodParameters:
Name Flags
trace
}
SourceFile: "DefaultTraceRegisterAllocationPolicy.java"
NestHost: org.graalvm.compiler.lir.alloc.trace.DefaultTraceRegisterAllocationPolicy
InnerClasses:
public abstract BottomUpLoopStrategyBase = org.graalvm.compiler.lir.alloc.trace.DefaultTraceRegisterAllocationPolicy$BottomUpLoopStrategyBase 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