public abstract class org.graalvm.compiler.phases.common.inlining.policy.AbstractInliningPolicy implements org.graalvm.compiler.phases.common.inlining.policy.InliningPolicy
minor version: 0
major version: 59
flags: flags: (0x0421) ACC_PUBLIC, ACC_SUPER, ACC_ABSTRACT
this_class: org.graalvm.compiler.phases.common.inlining.policy.AbstractInliningPolicy
super_class: java.lang.Object
{
public static final float RelevanceCapForInlining;
descriptor: F
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 1.0
public static final float CapInheritedRelevance;
descriptor: F
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 1.0
protected final java.util.Map<org.graalvm.compiler.nodes.Invoke, java.lang.Double> hints;
descriptor: Ljava/util/Map;
flags: (0x0014) ACC_PROTECTED, ACC_FINAL
Signature: Ljava/util/Map<Lorg/graalvm/compiler/nodes/Invoke;Ljava/lang/Double;>;
public void <init>(java.util.Map<org.graalvm.compiler.nodes.Invoke, java.lang.Double>);
descriptor: (Ljava/util/Map;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
aload 1
putfield org.graalvm.compiler.phases.common.inlining.policy.AbstractInliningPolicy.hints:Ljava/util/Map;
2: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/graalvm/compiler/phases/common/inlining/policy/AbstractInliningPolicy;
0 3 1 hints Ljava/util/Map<Lorg/graalvm/compiler/nodes/Invoke;Ljava/lang/Double;>;
Signature: (Ljava/util/Map<Lorg/graalvm/compiler/nodes/Invoke;Ljava/lang/Double;>;)V
MethodParameters:
Name Flags
hints
protected double computeMaximumSize(double, int);
descriptor: (DI)D
flags: (0x0004) ACC_PROTECTED
Code:
stack=4, locals=6, args_size=3
start local 0 start local 1 start local 3 0: dconst_1
dload 1
invokestatic java.lang.Math.min:(DD)D
dstore 4
start local 4 1: iload 3
i2d
dload 4
dmul
dreturn
end local 4 end local 3 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/graalvm/compiler/phases/common/inlining/policy/AbstractInliningPolicy;
0 2 1 relevance D
0 2 3 configuredMaximum I
1 2 4 inlineRatio D
MethodParameters:
Name Flags
relevance
configuredMaximum
protected double getInliningBonus(org.graalvm.compiler.phases.common.inlining.info.InlineInfo);
descriptor: (Lorg/graalvm/compiler/phases/common/inlining/info/InlineInfo;)D
flags: (0x0004) ACC_PROTECTED
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield org.graalvm.compiler.phases.common.inlining.policy.AbstractInliningPolicy.hints:Ljava/util/Map;
ifnull 2
aload 0
getfield org.graalvm.compiler.phases.common.inlining.policy.AbstractInliningPolicy.hints:Ljava/util/Map;
aload 1
invokeinterface org.graalvm.compiler.phases.common.inlining.info.InlineInfo.invoke:()Lorg/graalvm/compiler/nodes/Invoke;
invokeinterface java.util.Map.containsKey:(Ljava/lang/Object;)Z
ifeq 2
1: aload 0
getfield org.graalvm.compiler.phases.common.inlining.policy.AbstractInliningPolicy.hints:Ljava/util/Map;
aload 1
invokeinterface org.graalvm.compiler.phases.common.inlining.info.InlineInfo.invoke:()Lorg/graalvm/compiler/nodes/Invoke;
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.lang.Double
invokevirtual java.lang.Double.doubleValue:()D
dreturn
2: StackMap locals:
StackMap stack:
dconst_1
dreturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/graalvm/compiler/phases/common/inlining/policy/AbstractInliningPolicy;
0 3 1 info Lorg/graalvm/compiler/phases/common/inlining/info/InlineInfo;
MethodParameters:
Name Flags
info
protected boolean isIntrinsic(org.graalvm.compiler.nodes.spi.Replacements, org.graalvm.compiler.phases.common.inlining.info.InlineInfo);
descriptor: (Lorg/graalvm/compiler/nodes/spi/Replacements;Lorg/graalvm/compiler/phases/common/inlining/info/InlineInfo;)Z
flags: (0x0004) ACC_PROTECTED
Code:
stack=2, locals=3, args_size=3
start local 0 start local 1 start local 2 0: getstatic org.graalvm.compiler.phases.common.inlining.InliningPhase$Options.AlwaysInlineIntrinsics:Lorg/graalvm/compiler/options/OptionKey;
aload 2
invokeinterface org.graalvm.compiler.phases.common.inlining.info.InlineInfo.graph:()Lorg/graalvm/compiler/nodes/StructuredGraph;
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.getOptions:()Lorg/graalvm/compiler/options/OptionValues;
invokevirtual org.graalvm.compiler.options.OptionKey.getValue:(Lorg/graalvm/compiler/options/OptionValues;)Ljava/lang/Object;
checkcast java.lang.Boolean
invokevirtual java.lang.Boolean.booleanValue:()Z
ifeq 2
1: aload 1
aload 2
invokestatic org.graalvm.compiler.phases.common.inlining.policy.AbstractInliningPolicy.onlyIntrinsics:(Lorg/graalvm/compiler/nodes/spi/Replacements;Lorg/graalvm/compiler/phases/common/inlining/info/InlineInfo;)Z
ireturn
2: StackMap locals:
StackMap stack:
aload 1
aload 2
invokestatic org.graalvm.compiler.phases.common.inlining.policy.AbstractInliningPolicy.onlyForcedIntrinsics:(Lorg/graalvm/compiler/nodes/spi/Replacements;Lorg/graalvm/compiler/phases/common/inlining/info/InlineInfo;)Z
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/graalvm/compiler/phases/common/inlining/policy/AbstractInliningPolicy;
0 3 1 replacements Lorg/graalvm/compiler/nodes/spi/Replacements;
0 3 2 info Lorg/graalvm/compiler/phases/common/inlining/info/InlineInfo;
MethodParameters:
Name Flags
replacements
info
private static boolean onlyIntrinsics(org.graalvm.compiler.nodes.spi.Replacements, org.graalvm.compiler.phases.common.inlining.info.InlineInfo);
descriptor: (Lorg/graalvm/compiler/nodes/spi/Replacements;Lorg/graalvm/compiler/phases/common/inlining/info/InlineInfo;)Z
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=3, locals=3, args_size=2
start local 0 start local 1 0: iconst_0
istore 2
start local 2 1: goto 5
2: StackMap locals: int
StackMap stack:
aload 0
aload 1
iload 2
invokeinterface org.graalvm.compiler.phases.common.inlining.info.InlineInfo.methodAt:(I)Ljdk/vm/ci/meta/ResolvedJavaMethod;
aload 1
invokeinterface org.graalvm.compiler.phases.common.inlining.info.InlineInfo.invoke:()Lorg/graalvm/compiler/nodes/Invoke;
invokeinterface org.graalvm.compiler.nodes.Invoke.bci:()I
invokeinterface org.graalvm.compiler.nodes.spi.Replacements.hasSubstitution:(Ljdk/vm/ci/meta/ResolvedJavaMethod;I)Z
ifne 4
3: iconst_0
ireturn
4: StackMap locals:
StackMap stack:
iinc 2 1
StackMap locals:
StackMap stack:
5: iload 2
aload 1
invokeinterface org.graalvm.compiler.phases.common.inlining.info.InlineInfo.numberOfMethods:()I
if_icmplt 2
end local 2 6: iconst_1
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 replacements Lorg/graalvm/compiler/nodes/spi/Replacements;
0 7 1 info Lorg/graalvm/compiler/phases/common/inlining/info/InlineInfo;
1 6 2 i I
MethodParameters:
Name Flags
replacements
info
private static boolean onlyForcedIntrinsics(org.graalvm.compiler.nodes.spi.Replacements, org.graalvm.compiler.phases.common.inlining.info.InlineInfo);
descriptor: (Lorg/graalvm/compiler/nodes/spi/Replacements;Lorg/graalvm/compiler/phases/common/inlining/info/InlineInfo;)Z
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokestatic org.graalvm.compiler.phases.common.inlining.policy.AbstractInliningPolicy.onlyIntrinsics:(Lorg/graalvm/compiler/nodes/spi/Replacements;Lorg/graalvm/compiler/phases/common/inlining/info/InlineInfo;)Z
ifne 2
1: iconst_0
ireturn
2: StackMap locals:
StackMap stack:
aload 1
invokeinterface org.graalvm.compiler.phases.common.inlining.info.InlineInfo.shouldInline:()Z
ifne 4
3: iconst_0
ireturn
4: StackMap locals:
StackMap stack:
iconst_1
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 replacements Lorg/graalvm/compiler/nodes/spi/Replacements;
0 5 1 info Lorg/graalvm/compiler/phases/common/inlining/info/InlineInfo;
MethodParameters:
Name Flags
replacements
info
protected int previousLowLevelGraphSize(org.graalvm.compiler.phases.common.inlining.info.InlineInfo);
descriptor: (Lorg/graalvm/compiler/phases/common/inlining/info/InlineInfo;)I
flags: (0x0004) ACC_PROTECTED
Code:
stack=2, locals=7, args_size=2
start local 0 start local 1 0: iconst_0
istore 2
start local 2 1: iconst_0
istore 3
start local 3 2: goto 9
3: StackMap locals: int int
StackMap stack:
aload 1
iload 3
invokeinterface org.graalvm.compiler.phases.common.inlining.info.InlineInfo.methodAt:(I)Ljdk/vm/ci/meta/ResolvedJavaMethod;
astore 4
start local 4 4: aload 1
invokeinterface org.graalvm.compiler.phases.common.inlining.info.InlineInfo.graph:()Lorg/graalvm/compiler/nodes/StructuredGraph;
aload 4
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.getProfilingInfo:(Ljdk/vm/ci/meta/ResolvedJavaMethod;)Ljdk/vm/ci/meta/ProfilingInfo;
astore 5
start local 5 5: aload 5
ldc Lorg/graalvm/compiler/nodes/StructuredGraph;
invokeinterface jdk.vm.ci.meta.ProfilingInfo.getCompilerIRSize:(Ljava/lang/Class;)I
istore 6
start local 6 6: iload 6
ifle 8
7: iload 2
iload 6
iadd
istore 2
end local 6 end local 5 end local 4 8: StackMap locals:
StackMap stack:
iinc 3 1
StackMap locals:
StackMap stack:
9: iload 3
aload 1
invokeinterface org.graalvm.compiler.phases.common.inlining.info.InlineInfo.numberOfMethods:()I
if_icmplt 3
end local 3 10: iload 2
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Lorg/graalvm/compiler/phases/common/inlining/policy/AbstractInliningPolicy;
0 11 1 info Lorg/graalvm/compiler/phases/common/inlining/info/InlineInfo;
1 11 2 size I
2 10 3 i I
4 8 4 m Ljdk/vm/ci/meta/ResolvedJavaMethod;
5 8 5 profile Ljdk/vm/ci/meta/ProfilingInfo;
6 8 6 compiledGraphSize I
MethodParameters:
Name Flags
info
protected double determineInvokeProbability(org.graalvm.compiler.phases.common.inlining.info.InlineInfo);
descriptor: (Lorg/graalvm/compiler/phases/common/inlining/info/InlineInfo;)D
flags: (0x0004) ACC_PROTECTED
Code:
stack=4, locals=9, args_size=2
start local 0 start local 1 0: dconst_0
dstore 2
start local 2 1: iconst_0
istore 4
start local 4 2: goto 11
3: StackMap locals: double int
StackMap stack:
aload 1
iload 4
invokeinterface org.graalvm.compiler.phases.common.inlining.info.InlineInfo.inlineableElementAt:(I)Lorg/graalvm/compiler/phases/common/inlining/info/elem/Inlineable;
astore 5
start local 5 4: aload 5
invokeinterface org.graalvm.compiler.phases.common.inlining.info.elem.Inlineable.getInvokes:()Ljava/lang/Iterable;
astore 6
start local 6 5: aload 6
invokeinterface java.lang.Iterable.iterator:()Ljava/util/Iterator;
invokeinterface java.util.Iterator.hasNext:()Z
ifeq 10
6: aload 6
invokeinterface java.lang.Iterable.iterator:()Ljava/util/Iterator;
astore 8
goto 9
StackMap locals: org.graalvm.compiler.phases.common.inlining.policy.AbstractInliningPolicy org.graalvm.compiler.phases.common.inlining.info.InlineInfo double int org.graalvm.compiler.phases.common.inlining.info.elem.Inlineable java.lang.Iterable top java.util.Iterator
StackMap stack:
7: aload 8
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.graalvm.compiler.nodes.Invoke
astore 7
start local 7 8: dload 2
aload 5
aload 7
invokeinterface org.graalvm.compiler.phases.common.inlining.info.elem.Inlineable.getProbability:(Lorg/graalvm/compiler/nodes/Invoke;)D
dadd
dstore 2
end local 7 9: StackMap locals:
StackMap stack:
aload 8
invokeinterface java.util.Iterator.hasNext:()Z
ifne 7
end local 6 end local 5 10: StackMap locals: org.graalvm.compiler.phases.common.inlining.policy.AbstractInliningPolicy org.graalvm.compiler.phases.common.inlining.info.InlineInfo double int
StackMap stack:
iinc 4 1
StackMap locals:
StackMap stack:
11: iload 4
aload 1
invokeinterface org.graalvm.compiler.phases.common.inlining.info.InlineInfo.numberOfMethods:()I
if_icmplt 3
end local 4 12: dload 2
dreturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 13 0 this Lorg/graalvm/compiler/phases/common/inlining/policy/AbstractInliningPolicy;
0 13 1 info Lorg/graalvm/compiler/phases/common/inlining/info/InlineInfo;
1 13 2 invokeProbability D
2 12 4 i I
4 10 5 callee Lorg/graalvm/compiler/phases/common/inlining/info/elem/Inlineable;
5 10 6 invokes Ljava/lang/Iterable<Lorg/graalvm/compiler/nodes/Invoke;>;
8 9 7 invoke Lorg/graalvm/compiler/nodes/Invoke;
MethodParameters:
Name Flags
info
}
SourceFile: "AbstractInliningPolicy.java"
InnerClasses:
public Options = org.graalvm.compiler.phases.common.inlining.InliningPhase$Options of org.graalvm.compiler.phases.common.inlining.InliningPhase