public class org.graalvm.compiler.hotspot.phases.aot.AOTInliningPolicy extends org.graalvm.compiler.phases.common.inlining.policy.GreedyInliningPolicy
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: org.graalvm.compiler.hotspot.phases.aot.AOTInliningPolicy
super_class: org.graalvm.compiler.phases.common.inlining.policy.GreedyInliningPolicy
{
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
aload 1
invokespecial org.graalvm.compiler.phases.common.inlining.policy.GreedyInliningPolicy.<init>:(Ljava/util/Map;)V
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/graalvm/compiler/hotspot/phases/aot/AOTInliningPolicy;
0 2 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 maxInliningSize(int, org.graalvm.compiler.options.OptionValues);
descriptor: (ILorg/graalvm/compiler/options/OptionValues;)D
flags: (0x0004) ACC_PROTECTED
Code:
stack=6, locals=3, args_size=3
start local 0 start local 1 start local 2 0: getstatic org.graalvm.compiler.hotspot.phases.aot.AOTInliningPolicy$Options.AOTInliningSizeMaximum:Lorg/graalvm/compiler/options/OptionKey;
aload 2
invokevirtual org.graalvm.compiler.options.OptionKey.getValue:(Lorg/graalvm/compiler/options/OptionValues;)Ljava/lang/Object;
checkcast java.lang.Integer
invokevirtual java.lang.Integer.intValue:()I
i2d
iload 1
i2d
getstatic org.graalvm.compiler.hotspot.phases.aot.AOTInliningPolicy$Options.AOTInliningDepthToSizeRate:Lorg/graalvm/compiler/options/OptionKey;
aload 2
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
ddiv
getstatic org.graalvm.compiler.hotspot.phases.aot.AOTInliningPolicy$Options.AOTInliningSizeMinimum:Lorg/graalvm/compiler/options/OptionKey;
aload 2
invokevirtual org.graalvm.compiler.options.OptionKey.getValue:(Lorg/graalvm/compiler/options/OptionValues;)Ljava/lang/Object;
checkcast java.lang.Integer
invokevirtual java.lang.Integer.intValue:()I
i2d
invokestatic java.lang.Math.max:(DD)D
dreturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/graalvm/compiler/hotspot/phases/aot/AOTInliningPolicy;
0 1 1 inliningDepth I
0 1 2 options Lorg/graalvm/compiler/options/OptionValues;
MethodParameters:
Name Flags
inliningDepth
options
public org.graalvm.compiler.phases.common.inlining.policy.InliningPolicy$Decision isWorthInlining(org.graalvm.compiler.nodes.spi.Replacements, org.graalvm.compiler.phases.common.inlining.walker.MethodInvocation, org.graalvm.compiler.phases.common.inlining.info.InlineInfo, int, boolean);
descriptor: (Lorg/graalvm/compiler/nodes/spi/Replacements;Lorg/graalvm/compiler/phases/common/inlining/walker/MethodInvocation;Lorg/graalvm/compiler/phases/common/inlining/info/InlineInfo;IZ)Lorg/graalvm/compiler/phases/common/inlining/policy/InliningPolicy$Decision;
flags: (0x0001) ACC_PUBLIC
Code:
stack=9, locals=18, args_size=6
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 0: aload 3
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;
astore 6
start local 6 1: getstatic org.graalvm.compiler.core.common.GraalOptions.TraceInlining:Lorg/graalvm/compiler/options/OptionKey;
aload 6
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
istore 7
start local 7 2: aload 2
invokevirtual org.graalvm.compiler.phases.common.inlining.walker.MethodInvocation.callee:()Lorg/graalvm/compiler/phases/common/inlining/info/InlineInfo;
astore 8
start local 8 3: iconst_0
istore 9
start local 9 4: goto 9
5: StackMap locals: org.graalvm.compiler.hotspot.phases.aot.AOTInliningPolicy org.graalvm.compiler.nodes.spi.Replacements org.graalvm.compiler.phases.common.inlining.walker.MethodInvocation org.graalvm.compiler.phases.common.inlining.info.InlineInfo int int org.graalvm.compiler.options.OptionValues int org.graalvm.compiler.phases.common.inlining.info.InlineInfo int
StackMap stack:
aload 8
iload 9
invokeinterface org.graalvm.compiler.phases.common.inlining.info.InlineInfo.methodAt:(I)Ljdk/vm/ci/meta/ResolvedJavaMethod;
invokeinterface jdk.vm.ci.meta.ResolvedJavaMethod.getDeclaringClass:()Ljdk/vm/ci/meta/ResolvedJavaType;
checkcast jdk.vm.ci.hotspot.HotSpotResolvedObjectType
astore 10
start local 10 6: aload 10
invokeinterface jdk.vm.ci.hotspot.HotSpotResolvedObjectType.getFingerprint:()J
lconst_0
lcmp
ifne 8
7: getstatic org.graalvm.compiler.phases.common.inlining.policy.InliningPolicy$Decision.NO:Lorg/graalvm/compiler/phases/common/inlining/policy/InliningPolicy$Decision;
areturn
end local 10 8: StackMap locals:
StackMap stack:
iinc 9 1
StackMap locals:
StackMap stack:
9: iload 9
aload 8
invokeinterface org.graalvm.compiler.phases.common.inlining.info.InlineInfo.numberOfMethods:()I
if_icmplt 5
end local 9 10: aload 2
invokevirtual org.graalvm.compiler.phases.common.inlining.walker.MethodInvocation.probability:()D
dstore 9
start local 9 11: aload 2
invokevirtual org.graalvm.compiler.phases.common.inlining.walker.MethodInvocation.relevance:()D
dstore 11
start local 11 12: getstatic org.graalvm.compiler.core.common.GraalOptions.InlineEverything:Lorg/graalvm/compiler/options/OptionKey;
aload 6
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 15
13: aload 8
iload 4
iload 5
ldc "inline everything"
iconst_0
anewarray java.lang.Object
invokestatic org.graalvm.compiler.phases.common.inlining.InliningUtil.traceInlinedMethod:(Lorg/graalvm/compiler/phases/common/inlining/info/InlineInfo;IZLjava/lang/String;[Ljava/lang/Object;)V
14: getstatic org.graalvm.compiler.phases.common.inlining.policy.InliningPolicy$Decision.YES:Lorg/graalvm/compiler/phases/common/inlining/policy/InliningPolicy$Decision;
iload 7
ldc "inline everything"
iconst_0
anewarray java.lang.Object
invokevirtual org.graalvm.compiler.phases.common.inlining.policy.InliningPolicy$Decision.withReason:(ZLjava/lang/String;[Ljava/lang/Object;)Lorg/graalvm/compiler/phases/common/inlining/policy/InliningPolicy$Decision;
areturn
15: StackMap locals: org.graalvm.compiler.hotspot.phases.aot.AOTInliningPolicy org.graalvm.compiler.nodes.spi.Replacements org.graalvm.compiler.phases.common.inlining.walker.MethodInvocation org.graalvm.compiler.phases.common.inlining.info.InlineInfo int int org.graalvm.compiler.options.OptionValues int org.graalvm.compiler.phases.common.inlining.info.InlineInfo double double
StackMap stack:
aload 0
aload 1
aload 8
invokevirtual org.graalvm.compiler.hotspot.phases.aot.AOTInliningPolicy.isIntrinsic:(Lorg/graalvm/compiler/nodes/spi/Replacements;Lorg/graalvm/compiler/phases/common/inlining/info/InlineInfo;)Z
ifeq 18
16: aload 8
iload 4
iload 5
ldc "intrinsic"
iconst_0
anewarray java.lang.Object
invokestatic org.graalvm.compiler.phases.common.inlining.InliningUtil.traceInlinedMethod:(Lorg/graalvm/compiler/phases/common/inlining/info/InlineInfo;IZLjava/lang/String;[Ljava/lang/Object;)V
17: getstatic org.graalvm.compiler.phases.common.inlining.policy.InliningPolicy$Decision.YES:Lorg/graalvm/compiler/phases/common/inlining/policy/InliningPolicy$Decision;
iload 7
ldc "intrinsic"
iconst_0
anewarray java.lang.Object
invokevirtual org.graalvm.compiler.phases.common.inlining.policy.InliningPolicy$Decision.withReason:(ZLjava/lang/String;[Ljava/lang/Object;)Lorg/graalvm/compiler/phases/common/inlining/policy/InliningPolicy$Decision;
areturn
18: StackMap locals:
StackMap stack:
aload 8
invokeinterface org.graalvm.compiler.phases.common.inlining.info.InlineInfo.shouldInline:()Z
ifeq 21
19: aload 8
iload 4
iload 5
ldc "forced inlining"
iconst_0
anewarray java.lang.Object
invokestatic org.graalvm.compiler.phases.common.inlining.InliningUtil.traceInlinedMethod:(Lorg/graalvm/compiler/phases/common/inlining/info/InlineInfo;IZLjava/lang/String;[Ljava/lang/Object;)V
20: getstatic org.graalvm.compiler.phases.common.inlining.policy.InliningPolicy$Decision.YES:Lorg/graalvm/compiler/phases/common/inlining/policy/InliningPolicy$Decision;
iload 7
ldc "forced inlining"
iconst_0
anewarray java.lang.Object
invokevirtual org.graalvm.compiler.phases.common.inlining.policy.InliningPolicy$Decision.withReason:(ZLjava/lang/String;[Ljava/lang/Object;)Lorg/graalvm/compiler/phases/common/inlining/policy/InliningPolicy$Decision;
areturn
21: StackMap locals:
StackMap stack:
aload 0
aload 8
invokevirtual org.graalvm.compiler.hotspot.phases.aot.AOTInliningPolicy.getInliningBonus:(Lorg/graalvm/compiler/phases/common/inlining/info/InlineInfo;)D
dstore 13
start local 13 22: aload 8
invokeinterface org.graalvm.compiler.phases.common.inlining.info.InlineInfo.determineNodeCount:()I
istore 15
start local 15 23: iload 15
i2d
getstatic org.graalvm.compiler.core.common.GraalOptions.TrivialInliningSize:Lorg/graalvm/compiler/options/OptionKey;
aload 6
invokevirtual org.graalvm.compiler.options.OptionKey.getValue:(Lorg/graalvm/compiler/options/OptionValues;)Ljava/lang/Object;
checkcast java.lang.Integer
invokevirtual java.lang.Integer.intValue:()I
i2d
dload 13
dmul
dcmpg
ifge 26
24: aload 8
iload 4
iload 5
ldc "trivial (relevance=%f, probability=%f, bonus=%f, nodes=%d)"
iconst_4
anewarray java.lang.Object
dup
iconst_0
dload 11
invokestatic java.lang.Double.valueOf:(D)Ljava/lang/Double;
aastore
dup
iconst_1
dload 9
invokestatic java.lang.Double.valueOf:(D)Ljava/lang/Double;
aastore
dup
iconst_2
dload 13
invokestatic java.lang.Double.valueOf:(D)Ljava/lang/Double;
aastore
dup
iconst_3
iload 15
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
invokestatic org.graalvm.compiler.phases.common.inlining.InliningUtil.traceInlinedMethod:(Lorg/graalvm/compiler/phases/common/inlining/info/InlineInfo;IZLjava/lang/String;[Ljava/lang/Object;)V
25: getstatic org.graalvm.compiler.phases.common.inlining.policy.InliningPolicy$Decision.YES:Lorg/graalvm/compiler/phases/common/inlining/policy/InliningPolicy$Decision;
iload 7
ldc "trivial (relevance=%f, probability=%f, bonus=%f, nodes=%d)"
iconst_4
anewarray java.lang.Object
dup
iconst_0
dload 11
invokestatic java.lang.Double.valueOf:(D)Ljava/lang/Double;
aastore
dup
iconst_1
dload 9
invokestatic java.lang.Double.valueOf:(D)Ljava/lang/Double;
aastore
dup
iconst_2
dload 13
invokestatic java.lang.Double.valueOf:(D)Ljava/lang/Double;
aastore
dup
iconst_3
iload 15
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
invokevirtual org.graalvm.compiler.phases.common.inlining.policy.InliningPolicy$Decision.withReason:(ZLjava/lang/String;[Ljava/lang/Object;)Lorg/graalvm/compiler/phases/common/inlining/policy/InliningPolicy$Decision;
areturn
26: StackMap locals: double int
StackMap stack:
aload 0
dload 11
aload 0
iload 4
aload 6
invokevirtual org.graalvm.compiler.hotspot.phases.aot.AOTInliningPolicy.maxInliningSize:(ILorg/graalvm/compiler/options/OptionValues;)D
dload 13
dmul
d2i
invokevirtual org.graalvm.compiler.hotspot.phases.aot.AOTInliningPolicy.computeMaximumSize:(DI)D
dstore 16
start local 16 27: iload 15
i2d
dload 16
dcmpg
ifgt 34
28: aload 8
iload 4
iload 5
ldc "relevance-based (relevance=%f, probability=%f, bonus=%f, nodes=%d <= %f)"
iconst_5
anewarray java.lang.Object
dup
iconst_0
dload 11
invokestatic java.lang.Double.valueOf:(D)Ljava/lang/Double;
aastore
dup
iconst_1
dload 9
invokestatic java.lang.Double.valueOf:(D)Ljava/lang/Double;
aastore
dup
iconst_2
dload 13
invokestatic java.lang.Double.valueOf:(D)Ljava/lang/Double;
aastore
dup
iconst_3
29: iload 15
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
dup
iconst_4
dload 16
invokestatic java.lang.Double.valueOf:(D)Ljava/lang/Double;
aastore
30: invokestatic org.graalvm.compiler.phases.common.inlining.InliningUtil.traceInlinedMethod:(Lorg/graalvm/compiler/phases/common/inlining/info/InlineInfo;IZLjava/lang/String;[Ljava/lang/Object;)V
31: getstatic org.graalvm.compiler.phases.common.inlining.policy.InliningPolicy$Decision.YES:Lorg/graalvm/compiler/phases/common/inlining/policy/InliningPolicy$Decision;
iload 7
ldc "relevance-based (relevance=%f, probability=%f, bonus=%f, nodes=%d <= %f)"
iconst_5
anewarray java.lang.Object
dup
iconst_0
dload 11
invokestatic java.lang.Double.valueOf:(D)Ljava/lang/Double;
aastore
dup
iconst_1
dload 9
invokestatic java.lang.Double.valueOf:(D)Ljava/lang/Double;
aastore
dup
iconst_2
dload 13
invokestatic java.lang.Double.valueOf:(D)Ljava/lang/Double;
aastore
dup
iconst_3
32: iload 15
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
dup
iconst_4
dload 16
invokestatic java.lang.Double.valueOf:(D)Ljava/lang/Double;
aastore
33: invokevirtual org.graalvm.compiler.phases.common.inlining.policy.InliningPolicy$Decision.withReason:(ZLjava/lang/String;[Ljava/lang/Object;)Lorg/graalvm/compiler/phases/common/inlining/policy/InliningPolicy$Decision;
areturn
34: StackMap locals: double
StackMap stack:
aload 8
iload 4
ldc "relevance-based (relevance=%f, probability=%f, bonus=%f, nodes=%d > %f)"
iconst_5
anewarray java.lang.Object
dup
iconst_0
dload 11
invokestatic java.lang.Double.valueOf:(D)Ljava/lang/Double;
aastore
dup
iconst_1
dload 9
invokestatic java.lang.Double.valueOf:(D)Ljava/lang/Double;
aastore
dup
iconst_2
dload 13
invokestatic java.lang.Double.valueOf:(D)Ljava/lang/Double;
aastore
dup
iconst_3
iload 15
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
dup
iconst_4
dload 16
invokestatic java.lang.Double.valueOf:(D)Ljava/lang/Double;
aastore
invokestatic org.graalvm.compiler.phases.common.inlining.InliningUtil.traceNotInlinedMethod:(Lorg/graalvm/compiler/phases/common/inlining/info/InlineInfo;ILjava/lang/String;[Ljava/lang/Object;)V
35: getstatic org.graalvm.compiler.phases.common.inlining.policy.InliningPolicy$Decision.NO:Lorg/graalvm/compiler/phases/common/inlining/policy/InliningPolicy$Decision;
iload 7
ldc "relevance-based (relevance=%f, probability=%f, bonus=%f, nodes=%d > %f)"
iconst_5
anewarray java.lang.Object
dup
iconst_0
dload 11
invokestatic java.lang.Double.valueOf:(D)Ljava/lang/Double;
aastore
dup
iconst_1
dload 9
invokestatic java.lang.Double.valueOf:(D)Ljava/lang/Double;
aastore
dup
iconst_2
dload 13
invokestatic java.lang.Double.valueOf:(D)Ljava/lang/Double;
aastore
dup
iconst_3
iload 15
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
dup
iconst_4
dload 16
invokestatic java.lang.Double.valueOf:(D)Ljava/lang/Double;
aastore
invokevirtual org.graalvm.compiler.phases.common.inlining.policy.InliningPolicy$Decision.withReason:(ZLjava/lang/String;[Ljava/lang/Object;)Lorg/graalvm/compiler/phases/common/inlining/policy/InliningPolicy$Decision;
areturn
end local 16 end local 15 end local 13 end local 11 end local 9 end local 8 end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 36 0 this Lorg/graalvm/compiler/hotspot/phases/aot/AOTInliningPolicy;
0 36 1 replacements Lorg/graalvm/compiler/nodes/spi/Replacements;
0 36 2 invocation Lorg/graalvm/compiler/phases/common/inlining/walker/MethodInvocation;
0 36 3 calleeInfo Lorg/graalvm/compiler/phases/common/inlining/info/InlineInfo;
0 36 4 inliningDepth I
0 36 5 fullyProcessed Z
1 36 6 options Lorg/graalvm/compiler/options/OptionValues;
2 36 7 isTracing Z
3 36 8 info Lorg/graalvm/compiler/phases/common/inlining/info/InlineInfo;
4 10 9 i I
6 8 10 t Ljdk/vm/ci/hotspot/HotSpotResolvedObjectType;
11 36 9 probability D
12 36 11 relevance D
22 36 13 inliningBonus D
23 36 15 nodes I
27 36 16 maximumNodes D
MethodParameters:
Name Flags
replacements
invocation
calleeInfo
inliningDepth
fullyProcessed
}
SourceFile: "AOTInliningPolicy.java"
NestMembers:
org.graalvm.compiler.hotspot.phases.aot.AOTInliningPolicy$Options
InnerClasses:
public Options = org.graalvm.compiler.hotspot.phases.aot.AOTInliningPolicy$Options of org.graalvm.compiler.hotspot.phases.aot.AOTInliningPolicy
public Decision = org.graalvm.compiler.phases.common.inlining.policy.InliningPolicy$Decision of org.graalvm.compiler.phases.common.inlining.policy.InliningPolicy