public final class org.graalvm.compiler.lir.alloc.trace.DefaultTraceRegisterAllocationPolicy$BottomUpMaxFrequencyStrategy 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$BottomUpMaxFrequencyStrategy
  super_class: org.graalvm.compiler.lir.alloc.trace.DefaultTraceRegisterAllocationPolicy$BottomUpStrategy
{
  private final double maxMethodProbability;
    descriptor: D
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final double probabilityThreshold;
    descriptor: D
    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=3, locals=2, args_size=2
        start local 0 // org.graalvm.compiler.lir.alloc.trace.DefaultTraceRegisterAllocationPolicy$BottomUpMaxFrequencyStrategy this
        start local 1 // org.graalvm.compiler.lir.alloc.trace.TraceRegisterAllocationPolicy plan
         0: .line 285
            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 286
            aload 0 /* this */
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.lir.alloc.trace.DefaultTraceRegisterAllocationPolicy$BottomUpMaxFrequencyStrategy.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.getBlocks:()[Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;
            invokestatic org.graalvm.compiler.lir.alloc.trace.DefaultTraceRegisterAllocationPolicy$BottomUpMaxFrequencyStrategy.maxProbability:([Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;)D
            putfield org.graalvm.compiler.lir.alloc.trace.DefaultTraceRegisterAllocationPolicy$BottomUpMaxFrequencyStrategy.maxMethodProbability:D
         2: .line 287
            aload 0 /* this */
            getstatic org.graalvm.compiler.lir.alloc.trace.DefaultTraceRegisterAllocationPolicy$Options.TraceRAprobalilityThreshold: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.Double
            invokevirtual java.lang.Double.doubleValue:()D
            putfield org.graalvm.compiler.lir.alloc.trace.DefaultTraceRegisterAllocationPolicy$BottomUpMaxFrequencyStrategy.probabilityThreshold:D
         3: .line 288
            return
        end local 1 // org.graalvm.compiler.lir.alloc.trace.TraceRegisterAllocationPolicy plan
        end local 0 // org.graalvm.compiler.lir.alloc.trace.DefaultTraceRegisterAllocationPolicy$BottomUpMaxFrequencyStrategy this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lorg/graalvm/compiler/lir/alloc/trace/DefaultTraceRegisterAllocationPolicy$BottomUpMaxFrequencyStrategy;
            0    4     1  plan  Lorg/graalvm/compiler/lir/alloc/trace/TraceRegisterAllocationPolicy;
    MethodParameters:
      Name  Flags
      plan  

  private static double maxProbability(org.graalvm.compiler.core.common.cfg.AbstractBlockBase<?>[]);
    descriptor: ([Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;)D
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=4, locals=9, args_size=1
        start local 0 // org.graalvm.compiler.core.common.cfg.AbstractBlockBase[] blocks
         0: .line 291
            dconst_0
            dstore 1 /* max */
        start local 1 // double max
         1: .line 292
            aload 0 /* blocks */
            dup
            astore 6
            arraylength
            istore 5
            iconst_0
            istore 4
            goto 7
      StackMap locals: org.graalvm.compiler.core.common.cfg.AbstractBlockBase[] double top int int org.graalvm.compiler.core.common.cfg.AbstractBlockBase[]
      StackMap stack:
         2: aload 6
            iload 4
            aaload
            astore 3 /* block */
        start local 3 // org.graalvm.compiler.core.common.cfg.AbstractBlockBase block
         3: .line 293
            aload 3 /* block */
            invokevirtual org.graalvm.compiler.core.common.cfg.AbstractBlockBase.probability:()D
            dstore 7 /* probability */
        start local 7 // double probability
         4: .line 294
            dload 7 /* probability */
            dload 1 /* max */
            dcmpl
            ifle 6
         5: .line 295
            dload 7 /* probability */
            dstore 1 /* max */
        end local 7 // double probability
        end local 3 // org.graalvm.compiler.core.common.cfg.AbstractBlockBase block
         6: .line 292
      StackMap locals:
      StackMap stack:
            iinc 4 1
      StackMap locals:
      StackMap stack:
         7: iload 4
            iload 5
            if_icmplt 2
         8: .line 298
            dload 1 /* max */
            dreturn
        end local 1 // double max
        end local 0 // org.graalvm.compiler.core.common.cfg.AbstractBlockBase[] blocks
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    9     0       blocks  [Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;
            1    9     1          max  D
            3    6     3        block  Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase<*>;
            4    6     7  probability  D
    Signature: ([Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase<*>;)D
    MethodParameters:
        Name  Flags
      blocks  

  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=4, locals=2, args_size=2
        start local 0 // org.graalvm.compiler.lir.alloc.trace.DefaultTraceRegisterAllocationPolicy$BottomUpMaxFrequencyStrategy this
        start local 1 // org.graalvm.compiler.core.common.alloc.Trace trace
         0: .line 303
            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 304
            iconst_0
            ireturn
         2: .line 306
      StackMap locals:
      StackMap stack:
            aload 1 /* trace */
            invokevirtual org.graalvm.compiler.core.common.alloc.Trace.getBlocks:()[Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;
            invokestatic org.graalvm.compiler.lir.alloc.trace.DefaultTraceRegisterAllocationPolicy$BottomUpMaxFrequencyStrategy.maxProbability:([Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;)D
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.alloc.trace.DefaultTraceRegisterAllocationPolicy$BottomUpMaxFrequencyStrategy.maxMethodProbability:D
            ddiv
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.alloc.trace.DefaultTraceRegisterAllocationPolicy$BottomUpMaxFrequencyStrategy.probabilityThreshold:D
            dcmpg
            ifgt 3
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         3: iconst_0
            ireturn
        end local 1 // org.graalvm.compiler.core.common.alloc.Trace trace
        end local 0 // org.graalvm.compiler.lir.alloc.trace.DefaultTraceRegisterAllocationPolicy$BottomUpMaxFrequencyStrategy this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    4     0   this  Lorg/graalvm/compiler/lir/alloc/trace/DefaultTraceRegisterAllocationPolicy$BottomUpMaxFrequencyStrategy;
            0    4     1  trace  Lorg/graalvm/compiler/core/common/alloc/Trace;
    MethodParameters:
       Name  Flags
      trace  
}
SourceFile: "DefaultTraceRegisterAllocationPolicy.java"
NestHost: org.graalvm.compiler.lir.alloc.trace.DefaultTraceRegisterAllocationPolicy
InnerClasses:
  public final BottomUpMaxFrequencyStrategy = org.graalvm.compiler.lir.alloc.trace.DefaultTraceRegisterAllocationPolicy$BottomUpMaxFrequencyStrategy 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