public final class org.graalvm.compiler.phases.common.inlining.policy.InlineMethodSubstitutionsPolicy extends org.graalvm.compiler.phases.common.inlining.policy.InlineEverythingPolicy
minor version: 0
major version: 59
flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
this_class: org.graalvm.compiler.phases.common.inlining.policy.InlineMethodSubstitutionsPolicy
super_class: org.graalvm.compiler.phases.common.inlining.policy.InlineEverythingPolicy
{
public void <init>();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokespecial org.graalvm.compiler.phases.common.inlining.policy.InlineEverythingPolicy.<init>:()V
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/graalvm/compiler/phases/common/inlining/policy/InlineMethodSubstitutionsPolicy;
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=3, locals=9, args_size=6
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 0: getstatic org.graalvm.compiler.core.common.GraalOptions.TraceInlining:Lorg/graalvm/compiler/options/OptionKey;
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;
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
ifne 1
aload 3
invokeinterface org.graalvm.compiler.phases.common.inlining.info.InlineInfo.graph:()Lorg/graalvm/compiler/nodes/StructuredGraph;
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.getDebug:()Lorg/graalvm/compiler/debug/DebugContext;
invokevirtual org.graalvm.compiler.debug.DebugContext.hasCompilationListener:()Z
ifne 1
iconst_0
goto 2
StackMap locals:
StackMap stack:
1: iconst_1
StackMap locals:
StackMap stack: int
2: istore 6
start local 6 3: aload 2
invokevirtual org.graalvm.compiler.phases.common.inlining.walker.MethodInvocation.callee:()Lorg/graalvm/compiler/phases/common/inlining/info/InlineInfo;
invokeinterface org.graalvm.compiler.phases.common.inlining.info.InlineInfo.invoke:()Lorg/graalvm/compiler/nodes/Invoke;
invokeinterface org.graalvm.compiler.nodes.Invoke.callTarget:()Lorg/graalvm/compiler/nodes/CallTargetNode;
astore 7
start local 7 4: aload 7
instanceof org.graalvm.compiler.nodes.java.MethodCallTargetNode
ifeq 8
5: aload 7
invokevirtual org.graalvm.compiler.nodes.CallTargetNode.targetMethod:()Ljdk/vm/ci/meta/ResolvedJavaMethod;
astore 8
start local 8 6: aload 1
aload 8
aload 2
invokevirtual org.graalvm.compiler.phases.common.inlining.walker.MethodInvocation.callee:()Lorg/graalvm/compiler/phases/common/inlining/info/InlineInfo;
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
ifeq 8
7: getstatic org.graalvm.compiler.phases.common.inlining.policy.InliningPolicy$Decision.YES:Lorg/graalvm/compiler/phases/common/inlining/policy/InliningPolicy$Decision;
iload 6
ldc "has a method subtitution"
invokevirtual org.graalvm.compiler.phases.common.inlining.policy.InliningPolicy$Decision.withReason:(ZLjava/lang/String;)Lorg/graalvm/compiler/phases/common/inlining/policy/InliningPolicy$Decision;
areturn
end local 8 8: StackMap locals: int org.graalvm.compiler.nodes.CallTargetNode
StackMap stack:
getstatic org.graalvm.compiler.phases.common.inlining.policy.InliningPolicy$Decision.NO:Lorg/graalvm/compiler/phases/common/inlining/policy/InliningPolicy$Decision;
iload 6
ldc "does not have a method substitution"
invokevirtual org.graalvm.compiler.phases.common.inlining.policy.InliningPolicy$Decision.withReason:(ZLjava/lang/String;)Lorg/graalvm/compiler/phases/common/inlining/policy/InliningPolicy$Decision;
areturn
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 9 0 this Lorg/graalvm/compiler/phases/common/inlining/policy/InlineMethodSubstitutionsPolicy;
0 9 1 replacements Lorg/graalvm/compiler/nodes/spi/Replacements;
0 9 2 invocation Lorg/graalvm/compiler/phases/common/inlining/walker/MethodInvocation;
0 9 3 calleeInfo Lorg/graalvm/compiler/phases/common/inlining/info/InlineInfo;
0 9 4 inliningDepth I
0 9 5 fullyProcessed Z
3 9 6 isTracing Z
4 9 7 callTarget Lorg/graalvm/compiler/nodes/CallTargetNode;
6 8 8 calleeMethod Ljdk/vm/ci/meta/ResolvedJavaMethod;
MethodParameters:
Name Flags
replacements
invocation
calleeInfo
inliningDepth
fullyProcessed
}
SourceFile: "InlineMethodSubstitutionsPolicy.java"
InnerClasses:
public Decision = org.graalvm.compiler.phases.common.inlining.policy.InliningPolicy$Decision of org.graalvm.compiler.phases.common.inlining.policy.InliningPolicy