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