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 // org.graalvm.compiler.phases.common.inlining.policy.InlineMethodSubstitutionsPolicy this
0: .line 38
aload 0 /* this */
invokespecial org.graalvm.compiler.phases.common.inlining.policy.InlineEverythingPolicy.<init>:()V
return
end local 0 // org.graalvm.compiler.phases.common.inlining.policy.InlineMethodSubstitutionsPolicy this
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, int, boolean);
descriptor: (Lorg/graalvm/compiler/nodes/spi/Replacements;Lorg/graalvm/compiler/phases/common/inlining/walker/MethodInvocation;IZ)Lorg/graalvm/compiler/phases/common/inlining/policy/InliningPolicy$Decision;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=8, args_size=5
start local 0 // org.graalvm.compiler.phases.common.inlining.policy.InlineMethodSubstitutionsPolicy this
start local 1 // org.graalvm.compiler.nodes.spi.Replacements replacements
start local 2 // org.graalvm.compiler.phases.common.inlining.walker.MethodInvocation invocation
start local 3 // int inliningDepth
start local 4 // boolean fullyProcessed
0: .line 42
getstatic org.graalvm.compiler.core.common.GraalOptions.TraceInlining:Lorg/graalvm/compiler/options/OptionKey;
aload 1 /* replacements */
invokeinterface org.graalvm.compiler.nodes.spi.Replacements.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
istore 5 /* isTracing */
start local 5 // boolean isTracing
1: .line 43
aload 2 /* invocation */
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 6 /* callTarget */
start local 6 // org.graalvm.compiler.nodes.CallTargetNode callTarget
2: .line 44
aload 6 /* callTarget */
instanceof org.graalvm.compiler.nodes.java.MethodCallTargetNode
ifeq 6
3: .line 45
aload 6 /* callTarget */
checkcast org.graalvm.compiler.nodes.java.MethodCallTargetNode
invokevirtual org.graalvm.compiler.nodes.java.MethodCallTargetNode.targetMethod:()Ljdk/vm/ci/meta/ResolvedJavaMethod;
astore 7 /* calleeMethod */
start local 7 // jdk.vm.ci.meta.ResolvedJavaMethod calleeMethod
4: .line 46
aload 1 /* replacements */
aload 7 /* calleeMethod */
aload 2 /* invocation */
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 6
5: .line 47
getstatic org.graalvm.compiler.phases.common.inlining.policy.InliningPolicy$Decision.YES:Lorg/graalvm/compiler/phases/common/inlining/policy/InliningPolicy$Decision;
iload 5 /* isTracing */
ldc "has a method subtitution"
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
end local 7 // jdk.vm.ci.meta.ResolvedJavaMethod calleeMethod
6: .line 50
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 5 /* isTracing */
ldc "does not have a method substitution"
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
end local 6 // org.graalvm.compiler.nodes.CallTargetNode callTarget
end local 5 // boolean isTracing
end local 4 // boolean fullyProcessed
end local 3 // int inliningDepth
end local 2 // org.graalvm.compiler.phases.common.inlining.walker.MethodInvocation invocation
end local 1 // org.graalvm.compiler.nodes.spi.Replacements replacements
end local 0 // org.graalvm.compiler.phases.common.inlining.policy.InlineMethodSubstitutionsPolicy this
LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lorg/graalvm/compiler/phases/common/inlining/policy/InlineMethodSubstitutionsPolicy;
0 7 1 replacements Lorg/graalvm/compiler/nodes/spi/Replacements;
0 7 2 invocation Lorg/graalvm/compiler/phases/common/inlining/walker/MethodInvocation;
0 7 3 inliningDepth I
0 7 4 fullyProcessed Z
1 7 5 isTracing Z
2 7 6 callTarget Lorg/graalvm/compiler/nodes/CallTargetNode;
4 6 7 calleeMethod Ljdk/vm/ci/meta/ResolvedJavaMethod;
MethodParameters:
Name Flags
replacements
invocation
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