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