public final class org.graalvm.compiler.lir.alloc.trace.DefaultTraceRegisterAllocationPolicy$BottomUpFrequencyBudgetStrategy 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$BottomUpFrequencyBudgetStrategy
super_class: org.graalvm.compiler.lir.alloc.trace.DefaultTraceRegisterAllocationPolicy$BottomUpStrategy
{
private final double[] cumulativeTraceProbability;
descriptor: [D
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final double budget;
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=5, locals=5, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokespecial org.graalvm.compiler.lir.alloc.trace.DefaultTraceRegisterAllocationPolicy$BottomUpStrategy.<init>:(Lorg/graalvm/compiler/lir/alloc/trace/TraceRegisterAllocationPolicy;)V
1: aload 0
invokevirtual org.graalvm.compiler.lir.alloc.trace.DefaultTraceRegisterAllocationPolicy$BottomUpFrequencyBudgetStrategy.getTraceBuilderResult:()Lorg/graalvm/compiler/core/common/alloc/TraceBuilderResult;
invokevirtual org.graalvm.compiler.core.common.alloc.TraceBuilderResult.getTraces:()Ljava/util/ArrayList;
astore 2
start local 2 2: aload 0
aload 2
invokevirtual java.util.ArrayList.size:()I
newarray 7
putfield org.graalvm.compiler.lir.alloc.trace.DefaultTraceRegisterAllocationPolicy$BottomUpFrequencyBudgetStrategy.cumulativeTraceProbability:[D
3: aload 2
aload 0
getfield org.graalvm.compiler.lir.alloc.trace.DefaultTraceRegisterAllocationPolicy$BottomUpFrequencyBudgetStrategy.cumulativeTraceProbability:[D
invokestatic org.graalvm.compiler.lir.alloc.trace.DefaultTraceRegisterAllocationPolicy$BottomUpFrequencyBudgetStrategy.init:(Ljava/util/ArrayList;[D)D
dstore 3
start local 3 4: aload 0
dload 3
getstatic org.graalvm.compiler.lir.alloc.trace.DefaultTraceRegisterAllocationPolicy$Options.TraceRAsumBudget:Lorg/graalvm/compiler/options/OptionKey;
aload 1
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
dmul
putfield org.graalvm.compiler.lir.alloc.trace.DefaultTraceRegisterAllocationPolicy$BottomUpFrequencyBudgetStrategy.budget:D
5: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lorg/graalvm/compiler/lir/alloc/trace/DefaultTraceRegisterAllocationPolicy$BottomUpFrequencyBudgetStrategy;
0 6 1 plan Lorg/graalvm/compiler/lir/alloc/trace/TraceRegisterAllocationPolicy;
2 6 2 traces Ljava/util/ArrayList<Lorg/graalvm/compiler/core/common/alloc/Trace;>;
4 6 3 sumMethodProbability D
MethodParameters:
Name Flags
plan
private static double init(java.util.ArrayList<org.graalvm.compiler.core.common.alloc.Trace>, );
descriptor: (Ljava/util/ArrayList;[D)D
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=4, locals=12, args_size=2
start local 0 start local 1 0: dconst_0
dstore 2
start local 2 1: aload 0
invokevirtual java.util.ArrayList.iterator:()Ljava/util/Iterator;
astore 5
goto 11
StackMap locals: java.util.ArrayList double[] double top java.util.Iterator
StackMap stack:
2: aload 5
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.graalvm.compiler.core.common.alloc.Trace
astore 4
start local 4 3: dconst_0
dstore 6
start local 6 4: aload 4
invokevirtual org.graalvm.compiler.core.common.alloc.Trace.getBlocks:()[Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;
dup
astore 11
arraylength
istore 10
iconst_0
istore 9
goto 8
StackMap locals: java.util.ArrayList double[] double org.graalvm.compiler.core.common.alloc.Trace java.util.Iterator double top int int org.graalvm.compiler.core.common.cfg.AbstractBlockBase[]
StackMap stack:
5: aload 11
iload 9
aaload
astore 8
start local 8 6: dload 6
aload 8
invokevirtual org.graalvm.compiler.core.common.cfg.AbstractBlockBase.probability:()D
dadd
dstore 6
end local 8 7: iinc 9 1
StackMap locals:
StackMap stack:
8: iload 9
iload 10
if_icmplt 5
9: dload 2
dload 6
dadd
dstore 2
10: aload 1
aload 4
invokevirtual org.graalvm.compiler.core.common.alloc.Trace.getId:()I
dload 2
dastore
end local 6 end local 4 11: StackMap locals: java.util.ArrayList double[] double top java.util.Iterator
StackMap stack:
aload 5
invokeinterface java.util.Iterator.hasNext:()Z
ifne 2
12: dload 2
dreturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 13 0 traces Ljava/util/ArrayList<Lorg/graalvm/compiler/core/common/alloc/Trace;>;
0 13 1 sumTraces [D
1 13 2 sumMethod D
3 11 4 trace Lorg/graalvm/compiler/core/common/alloc/Trace;
4 11 6 traceSum D
6 7 8 block Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase<*>;
Signature: (Ljava/util/ArrayList<Lorg/graalvm/compiler/core/common/alloc/Trace;>;[D)D
MethodParameters:
Name Flags
traces
sumTraces
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=4, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokespecial org.graalvm.compiler.lir.alloc.trace.DefaultTraceRegisterAllocationPolicy$BottomUpStrategy.shouldApplyTo:(Lorg/graalvm/compiler/core/common/alloc/Trace;)Z
ifne 2
1: iconst_0
ireturn
2: StackMap locals:
StackMap stack:
aload 0
getfield org.graalvm.compiler.lir.alloc.trace.DefaultTraceRegisterAllocationPolicy$BottomUpFrequencyBudgetStrategy.cumulativeTraceProbability:[D
aload 1
invokevirtual org.graalvm.compiler.core.common.alloc.Trace.getId:()I
daload
dstore 2
start local 2 3: dload 2
aload 0
getfield org.graalvm.compiler.lir.alloc.trace.DefaultTraceRegisterAllocationPolicy$BottomUpFrequencyBudgetStrategy.budget:D
dcmpl
ifle 4
iconst_1
ireturn
StackMap locals: double
StackMap stack:
4: iconst_0
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lorg/graalvm/compiler/lir/alloc/trace/DefaultTraceRegisterAllocationPolicy$BottomUpFrequencyBudgetStrategy;
0 5 1 trace Lorg/graalvm/compiler/core/common/alloc/Trace;
3 5 2 cumTraceProb D
MethodParameters:
Name Flags
trace
}
SourceFile: "DefaultTraceRegisterAllocationPolicy.java"
NestHost: org.graalvm.compiler.lir.alloc.trace.DefaultTraceRegisterAllocationPolicy
InnerClasses:
public final BottomUpFrequencyBudgetStrategy = org.graalvm.compiler.lir.alloc.trace.DefaultTraceRegisterAllocationPolicy$BottomUpFrequencyBudgetStrategy 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