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 35
            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 boolean 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)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=7, 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 39
            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 5 /* callTarget */
        start local 5 // org.graalvm.compiler.nodes.CallTargetNode callTarget
         1: .line 40
            aload 5 /* callTarget */
            instanceof org.graalvm.compiler.nodes.java.MethodCallTargetNode
            ifeq 5
         2: .line 41
            aload 5 /* callTarget */
            checkcast org.graalvm.compiler.nodes.java.MethodCallTargetNode
            invokevirtual org.graalvm.compiler.nodes.java.MethodCallTargetNode.targetMethod:()Ljdk/vm/ci/meta/ResolvedJavaMethod;
            astore 6 /* calleeMethod */
        start local 6 // jdk.vm.ci.meta.ResolvedJavaMethod calleeMethod
         3: .line 42
            aload 1 /* replacements */
            aload 6 /* 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.getSubstitution:(Ljdk/vm/ci/meta/ResolvedJavaMethod;I)Lorg/graalvm/compiler/nodes/StructuredGraph;
            ifnull 5
         4: .line 43
            iconst_1
            ireturn
        end local 6 // jdk.vm.ci.meta.ResolvedJavaMethod calleeMethod
         5: .line 46
      StackMap locals: org.graalvm.compiler.nodes.CallTargetNode
      StackMap stack:
            iconst_0
            ireturn
        end local 5 // org.graalvm.compiler.nodes.CallTargetNode callTarget
        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    6     0            this  Lorg/graalvm/compiler/phases/common/inlining/policy/InlineMethodSubstitutionsPolicy;
            0    6     1    replacements  Lorg/graalvm/compiler/nodes/spi/Replacements;
            0    6     2      invocation  Lorg/graalvm/compiler/phases/common/inlining/walker/MethodInvocation;
            0    6     3   inliningDepth  I
            0    6     4  fullyProcessed  Z
            1    6     5      callTarget  Lorg/graalvm/compiler/nodes/CallTargetNode;
            3    5     6    calleeMethod  Ljdk/vm/ci/meta/ResolvedJavaMethod;
    MethodParameters:
                Name  Flags
      replacements    
      invocation      
      inliningDepth   
      fullyProcessed  
}
SourceFile: "InlineMethodSubstitutionsPolicy.java"