public final class org.graalvm.compiler.replacements.nodes.MethodHandleNode extends org.graalvm.compiler.replacements.nodes.MacroStateSplitNode implements org.graalvm.compiler.graph.spi.Simplifiable
  minor version: 0
  major version: 59
  flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
  this_class: org.graalvm.compiler.replacements.nodes.MethodHandleNode
  super_class: org.graalvm.compiler.replacements.nodes.MacroStateSplitNode
{
  public static final org.graalvm.compiler.graph.NodeClass<org.graalvm.compiler.replacements.nodes.MethodHandleNode> TYPE;
    descriptor: Lorg/graalvm/compiler/graph/NodeClass;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    Signature: Lorg/graalvm/compiler/graph/NodeClass<Lorg/graalvm/compiler/replacements/nodes/MethodHandleNode;>;

  protected final jdk.vm.ci.meta.MethodHandleAccessProvider$IntrinsicMethod intrinsicMethod;
    descriptor: Ljdk/vm/ci/meta/MethodHandleAccessProvider$IntrinsicMethod;
    flags: (0x0014) ACC_PROTECTED, ACC_FINAL

  private static volatile int[] $SWITCH_TABLE$jdk$vm$ci$meta$MethodHandleAccessProvider$IntrinsicMethod;
    descriptor: [I
    flags: (0x104a) ACC_PRIVATE, ACC_STATIC, ACC_VOLATILE, ACC_SYNTHETIC

  static final boolean $assertionsDisabled;
    descriptor: Z
    flags: (0x1018) ACC_STATIC, ACC_FINAL, ACC_SYNTHETIC

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 76
            ldc Lorg/graalvm/compiler/replacements/nodes/MethodHandleNode;
            invokevirtual java.lang.Class.desiredAssertionStatus:()Z
            ifne 1
            iconst_1
            goto 2
      StackMap locals:
      StackMap stack:
         1: iconst_0
      StackMap locals:
      StackMap stack: int
         2: putstatic org.graalvm.compiler.replacements.nodes.MethodHandleNode.$assertionsDisabled:Z
         3: .line 77
            ldc Lorg/graalvm/compiler/replacements/nodes/MethodHandleNode;
            invokestatic org.graalvm.compiler.graph.NodeClass.create:(Ljava/lang/Class;)Lorg/graalvm/compiler/graph/NodeClass;
            putstatic org.graalvm.compiler.replacements.nodes.MethodHandleNode.TYPE:Lorg/graalvm/compiler/graph/NodeClass;
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public void <init>(jdk.vm.ci.meta.MethodHandleAccessProvider$IntrinsicMethod, org.graalvm.compiler.nodes.CallTargetNode$InvokeKind, jdk.vm.ci.meta.ResolvedJavaMethod, int, org.graalvm.compiler.core.common.type.StampPair, org.graalvm.compiler.nodes.ValueNode[]);
    descriptor: (Ljdk/vm/ci/meta/MethodHandleAccessProvider$IntrinsicMethod;Lorg/graalvm/compiler/nodes/CallTargetNode$InvokeKind;Ljdk/vm/ci/meta/ResolvedJavaMethod;ILorg/graalvm/compiler/core/common/type/StampPair;[Lorg/graalvm/compiler/nodes/ValueNode;)V
    flags: (0x0081) ACC_PUBLIC, ACC_VARARGS
    Code:
      stack=7, locals=7, args_size=7
        start local 0 // org.graalvm.compiler.replacements.nodes.MethodHandleNode this
        start local 1 // jdk.vm.ci.meta.MethodHandleAccessProvider$IntrinsicMethod intrinsicMethod
        start local 2 // org.graalvm.compiler.nodes.CallTargetNode$InvokeKind invokeKind
        start local 3 // jdk.vm.ci.meta.ResolvedJavaMethod targetMethod
        start local 4 // int bci
        start local 5 // org.graalvm.compiler.core.common.type.StampPair returnStamp
        start local 6 // org.graalvm.compiler.nodes.ValueNode[] arguments
         0: .line 82
            aload 0 /* this */
            getstatic org.graalvm.compiler.replacements.nodes.MethodHandleNode.TYPE:Lorg/graalvm/compiler/graph/NodeClass;
            aload 2 /* invokeKind */
            aload 3 /* targetMethod */
            iload 4 /* bci */
            aload 5 /* returnStamp */
            aload 6 /* arguments */
            invokespecial org.graalvm.compiler.replacements.nodes.MacroStateSplitNode.<init>:(Lorg/graalvm/compiler/graph/NodeClass;Lorg/graalvm/compiler/nodes/CallTargetNode$InvokeKind;Ljdk/vm/ci/meta/ResolvedJavaMethod;ILorg/graalvm/compiler/core/common/type/StampPair;[Lorg/graalvm/compiler/nodes/ValueNode;)V
         1: .line 83
            aload 0 /* this */
            aload 1 /* intrinsicMethod */
            putfield org.graalvm.compiler.replacements.nodes.MethodHandleNode.intrinsicMethod:Ljdk/vm/ci/meta/MethodHandleAccessProvider$IntrinsicMethod;
         2: .line 84
            return
        end local 6 // org.graalvm.compiler.nodes.ValueNode[] arguments
        end local 5 // org.graalvm.compiler.core.common.type.StampPair returnStamp
        end local 4 // int bci
        end local 3 // jdk.vm.ci.meta.ResolvedJavaMethod targetMethod
        end local 2 // org.graalvm.compiler.nodes.CallTargetNode$InvokeKind invokeKind
        end local 1 // jdk.vm.ci.meta.MethodHandleAccessProvider$IntrinsicMethod intrinsicMethod
        end local 0 // org.graalvm.compiler.replacements.nodes.MethodHandleNode this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    3     0             this  Lorg/graalvm/compiler/replacements/nodes/MethodHandleNode;
            0    3     1  intrinsicMethod  Ljdk/vm/ci/meta/MethodHandleAccessProvider$IntrinsicMethod;
            0    3     2       invokeKind  Lorg/graalvm/compiler/nodes/CallTargetNode$InvokeKind;
            0    3     3     targetMethod  Ljdk/vm/ci/meta/ResolvedJavaMethod;
            0    3     4              bci  I
            0    3     5      returnStamp  Lorg/graalvm/compiler/core/common/type/StampPair;
            0    3     6        arguments  [Lorg/graalvm/compiler/nodes/ValueNode;
    MethodParameters:
                 Name  Flags
      intrinsicMethod  
      invokeKind       
      targetMethod     
      bci              
      returnStamp      
      arguments        

  public static org.graalvm.compiler.nodes.InvokeNode tryResolveTargetInvoke(org.graalvm.compiler.replacements.nodes.MethodHandleNode$GraphAdder, jdk.vm.ci.meta.MethodHandleAccessProvider, jdk.vm.ci.meta.MethodHandleAccessProvider$IntrinsicMethod, jdk.vm.ci.meta.ResolvedJavaMethod, int, org.graalvm.compiler.core.common.type.StampPair, org.graalvm.compiler.nodes.ValueNode[]);
    descriptor: (Lorg/graalvm/compiler/replacements/nodes/MethodHandleNode$GraphAdder;Ljdk/vm/ci/meta/MethodHandleAccessProvider;Ljdk/vm/ci/meta/MethodHandleAccessProvider$IntrinsicMethod;Ljdk/vm/ci/meta/ResolvedJavaMethod;ILorg/graalvm/compiler/core/common/type/StampPair;[Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/nodes/InvokeNode;
    flags: (0x0089) ACC_PUBLIC, ACC_STATIC, ACC_VARARGS
    Code:
      stack=7, locals=7, args_size=7
        start local 0 // org.graalvm.compiler.replacements.nodes.MethodHandleNode$GraphAdder adder
        start local 1 // jdk.vm.ci.meta.MethodHandleAccessProvider methodHandleAccess
        start local 2 // jdk.vm.ci.meta.MethodHandleAccessProvider$IntrinsicMethod intrinsicMethod
        start local 3 // jdk.vm.ci.meta.ResolvedJavaMethod original
        start local 4 // int bci
        start local 5 // org.graalvm.compiler.core.common.type.StampPair returnStamp
        start local 6 // org.graalvm.compiler.nodes.ValueNode[] arguments
         0: .line 101
            invokestatic org.graalvm.compiler.replacements.nodes.MethodHandleNode.$SWITCH_TABLE$jdk$vm$ci$meta$MethodHandleAccessProvider$IntrinsicMethod:()[I
            aload 2 /* intrinsicMethod */
            invokevirtual jdk.vm.ci.meta.MethodHandleAccessProvider$IntrinsicMethod.ordinal:()I
            iaload
            tableswitch { // 1 - 5
                    1: 1
                    2: 2
                    3: 2
                    4: 2
                    5: 2
              default: 3
          }
         1: .line 103
      StackMap locals:
      StackMap stack:
            aload 0 /* adder */
            aload 2 /* intrinsicMethod */
            aload 1 /* methodHandleAccess */
            aload 3 /* original */
            iload 4 /* bci */
            aload 5 /* returnStamp */
            aload 6 /* arguments */
            invokestatic org.graalvm.compiler.replacements.nodes.MethodHandleNode.getInvokeBasicTarget:(Lorg/graalvm/compiler/replacements/nodes/MethodHandleNode$GraphAdder;Ljdk/vm/ci/meta/MethodHandleAccessProvider$IntrinsicMethod;Ljdk/vm/ci/meta/MethodHandleAccessProvider;Ljdk/vm/ci/meta/ResolvedJavaMethod;ILorg/graalvm/compiler/core/common/type/StampPair;[Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/nodes/InvokeNode;
            areturn
         2: .line 108
      StackMap locals:
      StackMap stack:
            aload 0 /* adder */
            aload 2 /* intrinsicMethod */
            aload 1 /* methodHandleAccess */
            aload 3 /* original */
            iload 4 /* bci */
            aload 5 /* returnStamp */
            aload 6 /* arguments */
            invokestatic org.graalvm.compiler.replacements.nodes.MethodHandleNode.getLinkToTarget:(Lorg/graalvm/compiler/replacements/nodes/MethodHandleNode$GraphAdder;Ljdk/vm/ci/meta/MethodHandleAccessProvider$IntrinsicMethod;Ljdk/vm/ci/meta/MethodHandleAccessProvider;Ljdk/vm/ci/meta/ResolvedJavaMethod;ILorg/graalvm/compiler/core/common/type/StampPair;[Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/nodes/InvokeNode;
            areturn
         3: .line 110
      StackMap locals:
      StackMap stack:
            invokestatic org.graalvm.compiler.debug.GraalError.shouldNotReachHere:()Ljava/lang/RuntimeException;
            athrow
        end local 6 // org.graalvm.compiler.nodes.ValueNode[] arguments
        end local 5 // org.graalvm.compiler.core.common.type.StampPair returnStamp
        end local 4 // int bci
        end local 3 // jdk.vm.ci.meta.ResolvedJavaMethod original
        end local 2 // jdk.vm.ci.meta.MethodHandleAccessProvider$IntrinsicMethod intrinsicMethod
        end local 1 // jdk.vm.ci.meta.MethodHandleAccessProvider methodHandleAccess
        end local 0 // org.graalvm.compiler.replacements.nodes.MethodHandleNode$GraphAdder adder
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0    4     0               adder  Lorg/graalvm/compiler/replacements/nodes/MethodHandleNode$GraphAdder;
            0    4     1  methodHandleAccess  Ljdk/vm/ci/meta/MethodHandleAccessProvider;
            0    4     2     intrinsicMethod  Ljdk/vm/ci/meta/MethodHandleAccessProvider$IntrinsicMethod;
            0    4     3            original  Ljdk/vm/ci/meta/ResolvedJavaMethod;
            0    4     4                 bci  I
            0    4     5         returnStamp  Lorg/graalvm/compiler/core/common/type/StampPair;
            0    4     6           arguments  [Lorg/graalvm/compiler/nodes/ValueNode;
    MethodParameters:
                    Name  Flags
      adder               
      methodHandleAccess  
      intrinsicMethod     
      original            
      bci                 
      returnStamp         
      arguments           

  public void simplify(org.graalvm.compiler.graph.spi.SimplifierTool);
    descriptor: (Lorg/graalvm/compiler/graph/spi/SimplifierTool;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=8, args_size=2
        start local 0 // org.graalvm.compiler.replacements.nodes.MethodHandleNode this
        start local 1 // org.graalvm.compiler.graph.spi.SimplifierTool tool
         0: .line 148
            aload 1 /* tool */
            invokeinterface org.graalvm.compiler.graph.spi.SimplifierTool.getConstantReflection:()Ljdk/vm/ci/meta/ConstantReflectionProvider;
            invokeinterface jdk.vm.ci.meta.ConstantReflectionProvider.getMethodHandleAccess:()Ljdk/vm/ci/meta/MethodHandleAccessProvider;
            astore 2 /* methodHandleAccess */
        start local 2 // jdk.vm.ci.meta.MethodHandleAccessProvider methodHandleAccess
         1: .line 149
            aload 0 /* this */
            getfield org.graalvm.compiler.replacements.nodes.MethodHandleNode.arguments:Lorg/graalvm/compiler/graph/NodeInputList;
            aload 0 /* this */
            getfield org.graalvm.compiler.replacements.nodes.MethodHandleNode.arguments:Lorg/graalvm/compiler/graph/NodeInputList;
            invokevirtual org.graalvm.compiler.graph.NodeInputList.size:()I
            anewarray org.graalvm.compiler.nodes.ValueNode
            invokevirtual org.graalvm.compiler.graph.NodeInputList.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
            checkcast org.graalvm.compiler.nodes.ValueNode[]
            astore 3 /* argumentsArray */
        start local 3 // org.graalvm.compiler.nodes.ValueNode[] argumentsArray
         2: .line 151
            aload 0 /* this */
            astore 4 /* before */
        start local 4 // org.graalvm.compiler.nodes.FixedNode before
         3: .line 152
            new org.graalvm.compiler.replacements.nodes.MethodHandleNode$1
            dup
            aload 0 /* this */
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.replacements.nodes.MethodHandleNode.graph:()Lorg/graalvm/compiler/nodes/StructuredGraph;
            aload 4 /* before */
            invokespecial org.graalvm.compiler.replacements.nodes.MethodHandleNode$1.<init>:(Lorg/graalvm/compiler/replacements/nodes/MethodHandleNode;Lorg/graalvm/compiler/nodes/StructuredGraph;Lorg/graalvm/compiler/nodes/FixedNode;)V
            astore 5 /* adder */
        start local 5 // org.graalvm.compiler.replacements.nodes.MethodHandleNode$GraphAdder adder
         4: .line 162
            aload 5 /* adder */
            aload 2 /* methodHandleAccess */
            aload 0 /* this */
            getfield org.graalvm.compiler.replacements.nodes.MethodHandleNode.intrinsicMethod:Ljdk/vm/ci/meta/MethodHandleAccessProvider$IntrinsicMethod;
            aload 0 /* this */
            getfield org.graalvm.compiler.replacements.nodes.MethodHandleNode.targetMethod:Ljdk/vm/ci/meta/ResolvedJavaMethod;
            aload 0 /* this */
            getfield org.graalvm.compiler.replacements.nodes.MethodHandleNode.bci:I
            aload 0 /* this */
            getfield org.graalvm.compiler.replacements.nodes.MethodHandleNode.returnStamp:Lorg/graalvm/compiler/core/common/type/StampPair;
            aload 3 /* argumentsArray */
            invokestatic org.graalvm.compiler.replacements.nodes.MethodHandleNode.tryResolveTargetInvoke:(Lorg/graalvm/compiler/replacements/nodes/MethodHandleNode$GraphAdder;Ljdk/vm/ci/meta/MethodHandleAccessProvider;Ljdk/vm/ci/meta/MethodHandleAccessProvider$IntrinsicMethod;Ljdk/vm/ci/meta/ResolvedJavaMethod;ILorg/graalvm/compiler/core/common/type/StampPair;[Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/nodes/InvokeNode;
            astore 6 /* invoke */
        start local 6 // org.graalvm.compiler.nodes.InvokeNode invoke
         5: .line 163
            aload 6 /* invoke */
            ifnull 13
         6: .line 164
            getstatic org.graalvm.compiler.replacements.nodes.MethodHandleNode.$assertionsDisabled:Z
            ifne 7
            aload 6 /* invoke */
            invokevirtual org.graalvm.compiler.nodes.InvokeNode.graph:()Lorg/graalvm/compiler/nodes/StructuredGraph;
            ifnull 7
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         7: .line 165
      StackMap locals: org.graalvm.compiler.replacements.nodes.MethodHandleNode org.graalvm.compiler.graph.spi.SimplifierTool jdk.vm.ci.meta.MethodHandleAccessProvider org.graalvm.compiler.nodes.ValueNode[] org.graalvm.compiler.nodes.FixedNode org.graalvm.compiler.replacements.nodes.MethodHandleNode$GraphAdder org.graalvm.compiler.nodes.InvokeNode
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.replacements.nodes.MethodHandleNode.graph:()Lorg/graalvm/compiler/nodes/StructuredGraph;
            aload 6 /* invoke */
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph.addOrUniqueWithInputs:(Lorg/graalvm/compiler/graph/Node;)Lorg/graalvm/compiler/graph/Node;
            checkcast org.graalvm.compiler.nodes.InvokeNode
            astore 6 /* invoke */
         8: .line 166
            aload 6 /* invoke */
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.replacements.nodes.MethodHandleNode.stateAfter:()Lorg/graalvm/compiler/nodes/FrameState;
            invokevirtual org.graalvm.compiler.nodes.InvokeNode.setStateAfter:(Lorg/graalvm/compiler/nodes/FrameState;)V
         9: .line 167
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.replacements.nodes.MethodHandleNode.next:()Lorg/graalvm/compiler/nodes/FixedNode;
            astore 7 /* currentNext */
        start local 7 // org.graalvm.compiler.nodes.FixedNode currentNext
        10: .line 168
            aload 0 /* this */
            aload 6 /* invoke */
            invokevirtual org.graalvm.compiler.replacements.nodes.MethodHandleNode.replaceAtUsages:(Lorg/graalvm/compiler/graph/Node;)V
        11: .line 169
            aload 0 /* this */
            invokestatic org.graalvm.compiler.nodes.util.GraphUtil.removeFixedWithUnusedInputs:(Lorg/graalvm/compiler/nodes/FixedWithNextNode;)V
        12: .line 170
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.replacements.nodes.MethodHandleNode.graph:()Lorg/graalvm/compiler/nodes/StructuredGraph;
            aload 7 /* currentNext */
            aload 6 /* invoke */
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph.addBeforeFixed:(Lorg/graalvm/compiler/nodes/FixedNode;Lorg/graalvm/compiler/nodes/FixedWithNextNode;)V
        end local 7 // org.graalvm.compiler.nodes.FixedNode currentNext
        13: .line 172
      StackMap locals:
      StackMap stack:
            return
        end local 6 // org.graalvm.compiler.nodes.InvokeNode invoke
        end local 5 // org.graalvm.compiler.replacements.nodes.MethodHandleNode$GraphAdder adder
        end local 4 // org.graalvm.compiler.nodes.FixedNode before
        end local 3 // org.graalvm.compiler.nodes.ValueNode[] argumentsArray
        end local 2 // jdk.vm.ci.meta.MethodHandleAccessProvider methodHandleAccess
        end local 1 // org.graalvm.compiler.graph.spi.SimplifierTool tool
        end local 0 // org.graalvm.compiler.replacements.nodes.MethodHandleNode this
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0   14     0                this  Lorg/graalvm/compiler/replacements/nodes/MethodHandleNode;
            0   14     1                tool  Lorg/graalvm/compiler/graph/spi/SimplifierTool;
            1   14     2  methodHandleAccess  Ljdk/vm/ci/meta/MethodHandleAccessProvider;
            2   14     3      argumentsArray  [Lorg/graalvm/compiler/nodes/ValueNode;
            3   14     4              before  Lorg/graalvm/compiler/nodes/FixedNode;
            4   14     5               adder  Lorg/graalvm/compiler/replacements/nodes/MethodHandleNode$GraphAdder;
            5   14     6              invoke  Lorg/graalvm/compiler/nodes/InvokeNode;
           10   13     7         currentNext  Lorg/graalvm/compiler/nodes/FixedNode;
    MethodParameters:
      Name  Flags
      tool  

  private static org.graalvm.compiler.nodes.ValueNode getReceiver(org.graalvm.compiler.nodes.ValueNode[]);
    descriptor: ([Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/nodes/ValueNode;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.graalvm.compiler.nodes.ValueNode[] arguments
         0: .line 180
            aload 0 /* arguments */
            iconst_0
            aaload
            areturn
        end local 0 // org.graalvm.compiler.nodes.ValueNode[] arguments
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    1     0  arguments  [Lorg/graalvm/compiler/nodes/ValueNode;
    MethodParameters:
           Name  Flags
      arguments  

  private static org.graalvm.compiler.nodes.ValueNode getMemberName(org.graalvm.compiler.nodes.ValueNode[]);
    descriptor: ([Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/nodes/ValueNode;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // org.graalvm.compiler.nodes.ValueNode[] arguments
         0: .line 189
            aload 0 /* arguments */
            aload 0 /* arguments */
            arraylength
            iconst_1
            isub
            aaload
            areturn
        end local 0 // org.graalvm.compiler.nodes.ValueNode[] arguments
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    1     0  arguments  [Lorg/graalvm/compiler/nodes/ValueNode;
    MethodParameters:
           Name  Flags
      arguments  

  private static org.graalvm.compiler.nodes.InvokeNode getInvokeBasicTarget(org.graalvm.compiler.replacements.nodes.MethodHandleNode$GraphAdder, jdk.vm.ci.meta.MethodHandleAccessProvider$IntrinsicMethod, jdk.vm.ci.meta.MethodHandleAccessProvider, jdk.vm.ci.meta.ResolvedJavaMethod, int, org.graalvm.compiler.core.common.type.StampPair, org.graalvm.compiler.nodes.ValueNode[]);
    descriptor: (Lorg/graalvm/compiler/replacements/nodes/MethodHandleNode$GraphAdder;Ljdk/vm/ci/meta/MethodHandleAccessProvider$IntrinsicMethod;Ljdk/vm/ci/meta/MethodHandleAccessProvider;Ljdk/vm/ci/meta/ResolvedJavaMethod;ILorg/graalvm/compiler/core/common/type/StampPair;[Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/nodes/InvokeNode;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=8, locals=8, args_size=7
        start local 0 // org.graalvm.compiler.replacements.nodes.MethodHandleNode$GraphAdder adder
        start local 1 // jdk.vm.ci.meta.MethodHandleAccessProvider$IntrinsicMethod intrinsicMethod
        start local 2 // jdk.vm.ci.meta.MethodHandleAccessProvider methodHandleAccess
        start local 3 // jdk.vm.ci.meta.ResolvedJavaMethod original
        start local 4 // int bci
        start local 5 // org.graalvm.compiler.core.common.type.StampPair returnStamp
        start local 6 // org.graalvm.compiler.nodes.ValueNode[] arguments
         0: .line 204
            aload 6 /* arguments */
            invokestatic org.graalvm.compiler.replacements.nodes.MethodHandleNode.getReceiver:([Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/nodes/ValueNode;
            astore 7 /* methodHandleNode */
        start local 7 // org.graalvm.compiler.nodes.ValueNode methodHandleNode
         1: .line 205
            aload 7 /* methodHandleNode */
            invokevirtual org.graalvm.compiler.nodes.ValueNode.isConstant:()Z
            ifeq 3
         2: .line 206
            aload 0 /* adder */
            aload 1 /* intrinsicMethod */
            iload 4 /* bci */
            aload 5 /* returnStamp */
            aload 6 /* arguments */
            aload 2 /* methodHandleAccess */
            aload 7 /* methodHandleNode */
            invokevirtual org.graalvm.compiler.nodes.ValueNode.asJavaConstant:()Ljdk/vm/ci/meta/JavaConstant;
            iconst_1
            invokeinterface jdk.vm.ci.meta.MethodHandleAccessProvider.resolveInvokeBasicTarget:(Ljdk/vm/ci/meta/JavaConstant;Z)Ljdk/vm/ci/meta/ResolvedJavaMethod;
            aload 3 /* original */
            invokestatic org.graalvm.compiler.replacements.nodes.MethodHandleNode.getTargetInvokeNode:(Lorg/graalvm/compiler/replacements/nodes/MethodHandleNode$GraphAdder;Ljdk/vm/ci/meta/MethodHandleAccessProvider$IntrinsicMethod;ILorg/graalvm/compiler/core/common/type/StampPair;[Lorg/graalvm/compiler/nodes/ValueNode;Ljdk/vm/ci/meta/ResolvedJavaMethod;Ljdk/vm/ci/meta/ResolvedJavaMethod;)Lorg/graalvm/compiler/nodes/InvokeNode;
            areturn
         3: .line 208
      StackMap locals: org.graalvm.compiler.nodes.ValueNode
      StackMap stack:
            aconst_null
            areturn
        end local 7 // org.graalvm.compiler.nodes.ValueNode methodHandleNode
        end local 6 // org.graalvm.compiler.nodes.ValueNode[] arguments
        end local 5 // org.graalvm.compiler.core.common.type.StampPair returnStamp
        end local 4 // int bci
        end local 3 // jdk.vm.ci.meta.ResolvedJavaMethod original
        end local 2 // jdk.vm.ci.meta.MethodHandleAccessProvider methodHandleAccess
        end local 1 // jdk.vm.ci.meta.MethodHandleAccessProvider$IntrinsicMethod intrinsicMethod
        end local 0 // org.graalvm.compiler.replacements.nodes.MethodHandleNode$GraphAdder adder
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0    4     0               adder  Lorg/graalvm/compiler/replacements/nodes/MethodHandleNode$GraphAdder;
            0    4     1     intrinsicMethod  Ljdk/vm/ci/meta/MethodHandleAccessProvider$IntrinsicMethod;
            0    4     2  methodHandleAccess  Ljdk/vm/ci/meta/MethodHandleAccessProvider;
            0    4     3            original  Ljdk/vm/ci/meta/ResolvedJavaMethod;
            0    4     4                 bci  I
            0    4     5         returnStamp  Lorg/graalvm/compiler/core/common/type/StampPair;
            0    4     6           arguments  [Lorg/graalvm/compiler/nodes/ValueNode;
            1    4     7    methodHandleNode  Lorg/graalvm/compiler/nodes/ValueNode;
    MethodParameters:
                    Name  Flags
      adder               
      intrinsicMethod     
      methodHandleAccess  
      original            
      bci                 
      returnStamp         
      arguments           

  private static org.graalvm.compiler.nodes.InvokeNode getLinkToTarget(org.graalvm.compiler.replacements.nodes.MethodHandleNode$GraphAdder, jdk.vm.ci.meta.MethodHandleAccessProvider$IntrinsicMethod, jdk.vm.ci.meta.MethodHandleAccessProvider, jdk.vm.ci.meta.ResolvedJavaMethod, int, org.graalvm.compiler.core.common.type.StampPair, org.graalvm.compiler.nodes.ValueNode[]);
    descriptor: (Lorg/graalvm/compiler/replacements/nodes/MethodHandleNode$GraphAdder;Ljdk/vm/ci/meta/MethodHandleAccessProvider$IntrinsicMethod;Ljdk/vm/ci/meta/MethodHandleAccessProvider;Ljdk/vm/ci/meta/ResolvedJavaMethod;ILorg/graalvm/compiler/core/common/type/StampPair;[Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/nodes/InvokeNode;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=7, locals=8, args_size=7
        start local 0 // org.graalvm.compiler.replacements.nodes.MethodHandleNode$GraphAdder adder
        start local 1 // jdk.vm.ci.meta.MethodHandleAccessProvider$IntrinsicMethod intrinsicMethod
        start local 2 // jdk.vm.ci.meta.MethodHandleAccessProvider methodHandleAccess
        start local 3 // jdk.vm.ci.meta.ResolvedJavaMethod original
        start local 4 // int bci
        start local 5 // org.graalvm.compiler.core.common.type.StampPair returnStamp
        start local 6 // org.graalvm.compiler.nodes.ValueNode[] arguments
         0: .line 225
            aload 6 /* arguments */
            invokestatic org.graalvm.compiler.replacements.nodes.MethodHandleNode.getMemberName:([Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/nodes/ValueNode;
            astore 7 /* memberNameNode */
        start local 7 // org.graalvm.compiler.nodes.ValueNode memberNameNode
         1: .line 226
            aload 7 /* memberNameNode */
            invokevirtual org.graalvm.compiler.nodes.ValueNode.isConstant:()Z
            ifeq 3
         2: .line 227
            aload 0 /* adder */
            aload 1 /* intrinsicMethod */
            iload 4 /* bci */
            aload 5 /* returnStamp */
            aload 6 /* arguments */
            aload 2 /* methodHandleAccess */
            aload 7 /* memberNameNode */
            invokevirtual org.graalvm.compiler.nodes.ValueNode.asJavaConstant:()Ljdk/vm/ci/meta/JavaConstant;
            invokeinterface jdk.vm.ci.meta.MethodHandleAccessProvider.resolveLinkToTarget:(Ljdk/vm/ci/meta/JavaConstant;)Ljdk/vm/ci/meta/ResolvedJavaMethod;
            aload 3 /* original */
            invokestatic org.graalvm.compiler.replacements.nodes.MethodHandleNode.getTargetInvokeNode:(Lorg/graalvm/compiler/replacements/nodes/MethodHandleNode$GraphAdder;Ljdk/vm/ci/meta/MethodHandleAccessProvider$IntrinsicMethod;ILorg/graalvm/compiler/core/common/type/StampPair;[Lorg/graalvm/compiler/nodes/ValueNode;Ljdk/vm/ci/meta/ResolvedJavaMethod;Ljdk/vm/ci/meta/ResolvedJavaMethod;)Lorg/graalvm/compiler/nodes/InvokeNode;
            areturn
         3: .line 229
      StackMap locals: org.graalvm.compiler.nodes.ValueNode
      StackMap stack:
            aconst_null
            areturn
        end local 7 // org.graalvm.compiler.nodes.ValueNode memberNameNode
        end local 6 // org.graalvm.compiler.nodes.ValueNode[] arguments
        end local 5 // org.graalvm.compiler.core.common.type.StampPair returnStamp
        end local 4 // int bci
        end local 3 // jdk.vm.ci.meta.ResolvedJavaMethod original
        end local 2 // jdk.vm.ci.meta.MethodHandleAccessProvider methodHandleAccess
        end local 1 // jdk.vm.ci.meta.MethodHandleAccessProvider$IntrinsicMethod intrinsicMethod
        end local 0 // org.graalvm.compiler.replacements.nodes.MethodHandleNode$GraphAdder adder
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0    4     0               adder  Lorg/graalvm/compiler/replacements/nodes/MethodHandleNode$GraphAdder;
            0    4     1     intrinsicMethod  Ljdk/vm/ci/meta/MethodHandleAccessProvider$IntrinsicMethod;
            0    4     2  methodHandleAccess  Ljdk/vm/ci/meta/MethodHandleAccessProvider;
            0    4     3            original  Ljdk/vm/ci/meta/ResolvedJavaMethod;
            0    4     4                 bci  I
            0    4     5         returnStamp  Lorg/graalvm/compiler/core/common/type/StampPair;
            0    4     6           arguments  [Lorg/graalvm/compiler/nodes/ValueNode;
            1    4     7      memberNameNode  Lorg/graalvm/compiler/nodes/ValueNode;
    MethodParameters:
                    Name  Flags
      adder               
      intrinsicMethod     
      methodHandleAccess  
      original            
      bci                 
      returnStamp         
      arguments           

  private static org.graalvm.compiler.nodes.InvokeNode getTargetInvokeNode(org.graalvm.compiler.replacements.nodes.MethodHandleNode$GraphAdder, jdk.vm.ci.meta.MethodHandleAccessProvider$IntrinsicMethod, int, org.graalvm.compiler.core.common.type.StampPair, org.graalvm.compiler.nodes.ValueNode[], jdk.vm.ci.meta.ResolvedJavaMethod, jdk.vm.ci.meta.ResolvedJavaMethod);
    descriptor: (Lorg/graalvm/compiler/replacements/nodes/MethodHandleNode$GraphAdder;Ljdk/vm/ci/meta/MethodHandleAccessProvider$IntrinsicMethod;ILorg/graalvm/compiler/core/common/type/StampPair;[Lorg/graalvm/compiler/nodes/ValueNode;Ljdk/vm/ci/meta/ResolvedJavaMethod;Ljdk/vm/ci/meta/ResolvedJavaMethod;)Lorg/graalvm/compiler/nodes/InvokeNode;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=7, locals=16, args_size=7
        start local 0 // org.graalvm.compiler.replacements.nodes.MethodHandleNode$GraphAdder adder
        start local 1 // jdk.vm.ci.meta.MethodHandleAccessProvider$IntrinsicMethod intrinsicMethod
        start local 2 // int bci
        start local 3 // org.graalvm.compiler.core.common.type.StampPair returnStamp
        start local 4 // org.graalvm.compiler.nodes.ValueNode[] originalArguments
        start local 5 // jdk.vm.ci.meta.ResolvedJavaMethod target
        start local 6 // jdk.vm.ci.meta.ResolvedJavaMethod original
         0: .line 243
            aload 5 /* target */
            ifnonnull 2
         1: .line 244
            aconst_null
            areturn
         2: .line 251
      StackMap locals:
      StackMap stack:
            aload 5 /* target */
            invokeinterface jdk.vm.ci.meta.ResolvedJavaMethod.getSignature:()Ljdk/vm/ci/meta/Signature;
            astore 7 /* signature */
        start local 7 // jdk.vm.ci.meta.Signature signature
         3: .line 252
            aload 5 /* target */
            invokeinterface jdk.vm.ci.meta.ResolvedJavaMethod.isStatic:()Z
            istore 8 /* isStatic */
        start local 8 // boolean isStatic
         4: .line 253
            iload 8 /* isStatic */
            ifeq 5
            iconst_0
            goto 6
      StackMap locals: jdk.vm.ci.meta.Signature int
      StackMap stack:
         5: iconst_1
      StackMap locals:
      StackMap stack: int
         6: istore 9 /* receiverSkip */
        start local 9 // int receiverSkip
         7: .line 255
            aload 0 /* adder */
            invokevirtual org.graalvm.compiler.replacements.nodes.MethodHandleNode$GraphAdder.getAssumptions:()Ljdk/vm/ci/meta/Assumptions;
            astore 10 /* assumptions */
        start local 10 // jdk.vm.ci.meta.Assumptions assumptions
         8: .line 256
            aconst_null
            astore 11 /* realTarget */
        start local 11 // jdk.vm.ci.meta.ResolvedJavaMethod realTarget
         9: .line 257
            aload 5 /* target */
            invokeinterface jdk.vm.ci.meta.ResolvedJavaMethod.canBeStaticallyBound:()Z
            ifeq 12
        10: .line 258
            aload 5 /* target */
            astore 11 /* realTarget */
        11: .line 259
            goto 23
        12: .line 260
      StackMap locals: int jdk.vm.ci.meta.Assumptions jdk.vm.ci.meta.ResolvedJavaMethod
      StackMap stack:
            aload 5 /* target */
            invokeinterface jdk.vm.ci.meta.ResolvedJavaMethod.getDeclaringClass:()Ljdk/vm/ci/meta/ResolvedJavaType;
            astore 12 /* targetType */
        start local 12 // jdk.vm.ci.meta.ResolvedJavaType targetType
        13: .line 262
            aload 12 /* targetType */
            aload 5 /* target */
            invokeinterface jdk.vm.ci.meta.ResolvedJavaType.findUniqueConcreteMethod:(Ljdk/vm/ci/meta/ResolvedJavaMethod;)Ljdk/vm/ci/meta/Assumptions$AssumptionResult;
            astore 13 /* concreteMethod */
        start local 13 // jdk.vm.ci.meta.Assumptions$AssumptionResult concreteMethod
        14: .line 263
            aload 13 /* concreteMethod */
            ifnonnull 20
        15: .line 265
            aload 1 /* intrinsicMethod */
            getstatic jdk.vm.ci.meta.MethodHandleAccessProvider$IntrinsicMethod.LINK_TO_VIRTUAL:Ljdk/vm/ci/meta/MethodHandleAccessProvider$IntrinsicMethod;
            if_acmpeq 16
            aload 1 /* intrinsicMethod */
            getstatic jdk.vm.ci.meta.MethodHandleAccessProvider$IntrinsicMethod.LINK_TO_INTERFACE:Ljdk/vm/ci/meta/MethodHandleAccessProvider$IntrinsicMethod;
            if_acmpne 20
        16: .line 266
      StackMap locals: jdk.vm.ci.meta.ResolvedJavaType jdk.vm.ci.meta.Assumptions$AssumptionResult
      StackMap stack:
            aload 4 /* originalArguments */
            invokestatic org.graalvm.compiler.replacements.nodes.MethodHandleNode.getReceiver:([Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/nodes/ValueNode;
            astore 14 /* receiver */
        start local 14 // org.graalvm.compiler.nodes.ValueNode receiver
        17: .line 267
            aload 14 /* receiver */
            getstatic org.graalvm.compiler.nodes.NodeView.DEFAULT:Lorg/graalvm/compiler/nodes/NodeView;
            invokevirtual org.graalvm.compiler.nodes.ValueNode.stamp:(Lorg/graalvm/compiler/nodes/NodeView;)Lorg/graalvm/compiler/core/common/type/Stamp;
            invokestatic org.graalvm.compiler.nodes.type.StampTool.typeReferenceOrNull:(Lorg/graalvm/compiler/core/common/type/Stamp;)Lorg/graalvm/compiler/core/common/type/TypeReference;
            astore 15 /* receiverType */
        start local 15 // org.graalvm.compiler.core.common.type.TypeReference receiverType
        18: .line 268
            aload 15 /* receiverType */
            ifnull 20
        19: .line 269
            aload 15 /* receiverType */
            invokevirtual org.graalvm.compiler.core.common.type.TypeReference.getType:()Ljdk/vm/ci/meta/ResolvedJavaType;
            aload 5 /* target */
            invokeinterface jdk.vm.ci.meta.ResolvedJavaType.findUniqueConcreteMethod:(Ljdk/vm/ci/meta/ResolvedJavaMethod;)Ljdk/vm/ci/meta/Assumptions$AssumptionResult;
            astore 13 /* concreteMethod */
        end local 15 // org.graalvm.compiler.core.common.type.TypeReference receiverType
        end local 14 // org.graalvm.compiler.nodes.ValueNode receiver
        20: .line 274
      StackMap locals:
      StackMap stack:
            aload 13 /* concreteMethod */
            ifnull 23
            aload 13 /* concreteMethod */
            aload 10 /* assumptions */
            invokevirtual jdk.vm.ci.meta.Assumptions$AssumptionResult.canRecordTo:(Ljdk/vm/ci/meta/Assumptions;)Z
            ifeq 23
        21: .line 275
            aload 13 /* concreteMethod */
            aload 10 /* assumptions */
            invokevirtual jdk.vm.ci.meta.Assumptions$AssumptionResult.recordTo:(Ljdk/vm/ci/meta/Assumptions;)V
        22: .line 276
            aload 13 /* concreteMethod */
            invokevirtual jdk.vm.ci.meta.Assumptions$AssumptionResult.getResult:()Ljava/lang/Object;
            checkcast jdk.vm.ci.meta.ResolvedJavaMethod
            astore 11 /* realTarget */
        end local 13 // jdk.vm.ci.meta.Assumptions$AssumptionResult concreteMethod
        end local 12 // jdk.vm.ci.meta.ResolvedJavaType targetType
        23: .line 280
      StackMap locals:
      StackMap stack:
            aload 11 /* realTarget */
            ifnull 37
        24: .line 282
            aload 4 /* originalArguments */
            invokevirtual org.graalvm.compiler.nodes.ValueNode[].clone:()Ljava/lang/Object;
            checkcast org.graalvm.compiler.nodes.ValueNode[]
            astore 12 /* arguments */
        start local 12 // org.graalvm.compiler.nodes.ValueNode[] arguments
        25: .line 285
            iload 8 /* isStatic */
            ifne 28
        26: .line 286
            aload 5 /* target */
            invokeinterface jdk.vm.ci.meta.ResolvedJavaMethod.getDeclaringClass:()Ljdk/vm/ci/meta/ResolvedJavaType;
            astore 13 /* receiverType */
        start local 13 // jdk.vm.ci.meta.JavaType receiverType
        27: .line 287
            aload 0 /* adder */
            aload 12 /* arguments */
            iconst_0
            aload 13 /* receiverType */
            invokestatic org.graalvm.compiler.replacements.nodes.MethodHandleNode.maybeCastArgument:(Lorg/graalvm/compiler/replacements/nodes/MethodHandleNode$GraphAdder;[Lorg/graalvm/compiler/nodes/ValueNode;ILjdk/vm/ci/meta/JavaType;)V
        end local 13 // jdk.vm.ci.meta.JavaType receiverType
        28: .line 291
      StackMap locals: org.graalvm.compiler.nodes.ValueNode[]
      StackMap stack:
            iconst_0
            istore 13 /* index */
        start local 13 // int index
        29: goto 33
        30: .line 292
      StackMap locals: int
      StackMap stack:
            aload 7 /* signature */
            iload 13 /* index */
            aload 5 /* target */
            invokeinterface jdk.vm.ci.meta.ResolvedJavaMethod.getDeclaringClass:()Ljdk/vm/ci/meta/ResolvedJavaType;
            invokeinterface jdk.vm.ci.meta.Signature.getParameterType:(ILjdk/vm/ci/meta/ResolvedJavaType;)Ljdk/vm/ci/meta/JavaType;
            astore 14 /* parameterType */
        start local 14 // jdk.vm.ci.meta.JavaType parameterType
        31: .line 293
            aload 0 /* adder */
            aload 12 /* arguments */
            iload 9 /* receiverSkip */
            iload 13 /* index */
            iadd
            aload 14 /* parameterType */
            invokestatic org.graalvm.compiler.replacements.nodes.MethodHandleNode.maybeCastArgument:(Lorg/graalvm/compiler/replacements/nodes/MethodHandleNode$GraphAdder;[Lorg/graalvm/compiler/nodes/ValueNode;ILjdk/vm/ci/meta/JavaType;)V
        end local 14 // jdk.vm.ci.meta.JavaType parameterType
        32: .line 291
            iinc 13 /* index */ 1
      StackMap locals:
      StackMap stack:
        33: iload 13 /* index */
            aload 7 /* signature */
            iconst_0
            invokeinterface jdk.vm.ci.meta.Signature.getParameterCount:(Z)I
            if_icmplt 30
        end local 13 // int index
        34: .line 295
            aload 10 /* assumptions */
            aload 1 /* intrinsicMethod */
            aload 11 /* realTarget */
            aload 6 /* original */
            iload 2 /* bci */
            aload 3 /* returnStamp */
            aload 12 /* arguments */
            invokestatic org.graalvm.compiler.replacements.nodes.MethodHandleNode.createTargetInvokeNode:(Ljdk/vm/ci/meta/Assumptions;Ljdk/vm/ci/meta/MethodHandleAccessProvider$IntrinsicMethod;Ljdk/vm/ci/meta/ResolvedJavaMethod;Ljdk/vm/ci/meta/ResolvedJavaMethod;ILorg/graalvm/compiler/core/common/type/StampPair;[Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/nodes/InvokeNode;
            astore 13 /* invoke */
        start local 13 // org.graalvm.compiler.nodes.InvokeNode invoke
        35: .line 296
            getstatic org.graalvm.compiler.replacements.nodes.MethodHandleNode.$assertionsDisabled:Z
            ifne 36
            aload 13 /* invoke */
            ifnonnull 36
            new java.lang.AssertionError
            dup
            ldc "graph has been modified so this must result an invoke"
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
        36: .line 297
      StackMap locals: org.graalvm.compiler.replacements.nodes.MethodHandleNode$GraphAdder jdk.vm.ci.meta.MethodHandleAccessProvider$IntrinsicMethod int org.graalvm.compiler.core.common.type.StampPair org.graalvm.compiler.nodes.ValueNode[] jdk.vm.ci.meta.ResolvedJavaMethod jdk.vm.ci.meta.ResolvedJavaMethod jdk.vm.ci.meta.Signature int int jdk.vm.ci.meta.Assumptions jdk.vm.ci.meta.ResolvedJavaMethod org.graalvm.compiler.nodes.ValueNode[] org.graalvm.compiler.nodes.InvokeNode
      StackMap stack:
            aload 13 /* invoke */
            areturn
        end local 13 // org.graalvm.compiler.nodes.InvokeNode invoke
        end local 12 // org.graalvm.compiler.nodes.ValueNode[] arguments
        37: .line 299
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
        end local 11 // jdk.vm.ci.meta.ResolvedJavaMethod realTarget
        end local 10 // jdk.vm.ci.meta.Assumptions assumptions
        end local 9 // int receiverSkip
        end local 8 // boolean isStatic
        end local 7 // jdk.vm.ci.meta.Signature signature
        end local 6 // jdk.vm.ci.meta.ResolvedJavaMethod original
        end local 5 // jdk.vm.ci.meta.ResolvedJavaMethod target
        end local 4 // org.graalvm.compiler.nodes.ValueNode[] originalArguments
        end local 3 // org.graalvm.compiler.core.common.type.StampPair returnStamp
        end local 2 // int bci
        end local 1 // jdk.vm.ci.meta.MethodHandleAccessProvider$IntrinsicMethod intrinsicMethod
        end local 0 // org.graalvm.compiler.replacements.nodes.MethodHandleNode$GraphAdder adder
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0   38     0              adder  Lorg/graalvm/compiler/replacements/nodes/MethodHandleNode$GraphAdder;
            0   38     1    intrinsicMethod  Ljdk/vm/ci/meta/MethodHandleAccessProvider$IntrinsicMethod;
            0   38     2                bci  I
            0   38     3        returnStamp  Lorg/graalvm/compiler/core/common/type/StampPair;
            0   38     4  originalArguments  [Lorg/graalvm/compiler/nodes/ValueNode;
            0   38     5             target  Ljdk/vm/ci/meta/ResolvedJavaMethod;
            0   38     6           original  Ljdk/vm/ci/meta/ResolvedJavaMethod;
            3   38     7          signature  Ljdk/vm/ci/meta/Signature;
            4   38     8           isStatic  Z
            7   38     9       receiverSkip  I
            8   38    10        assumptions  Ljdk/vm/ci/meta/Assumptions;
            9   38    11         realTarget  Ljdk/vm/ci/meta/ResolvedJavaMethod;
           13   23    12         targetType  Ljdk/vm/ci/meta/ResolvedJavaType;
           14   23    13     concreteMethod  Ljdk/vm/ci/meta/Assumptions$AssumptionResult<Ljdk/vm/ci/meta/ResolvedJavaMethod;>;
           17   20    14           receiver  Lorg/graalvm/compiler/nodes/ValueNode;
           18   20    15       receiverType  Lorg/graalvm/compiler/core/common/type/TypeReference;
           25   37    12          arguments  [Lorg/graalvm/compiler/nodes/ValueNode;
           27   28    13       receiverType  Ljdk/vm/ci/meta/JavaType;
           29   34    13              index  I
           31   32    14      parameterType  Ljdk/vm/ci/meta/JavaType;
           35   37    13             invoke  Lorg/graalvm/compiler/nodes/InvokeNode;
    MethodParameters:
                   Name  Flags
      adder              
      intrinsicMethod    
      bci                
      returnStamp        
      originalArguments  
      target             
      original           

  private static void maybeCastArgument(org.graalvm.compiler.replacements.nodes.MethodHandleNode$GraphAdder, org.graalvm.compiler.nodes.ValueNode[], int, jdk.vm.ci.meta.JavaType);
    descriptor: (Lorg/graalvm/compiler/replacements/nodes/MethodHandleNode$GraphAdder;[Lorg/graalvm/compiler/nodes/ValueNode;ILjdk/vm/ci/meta/JavaType;)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=9, locals=15, args_size=4
        start local 0 // org.graalvm.compiler.replacements.nodes.MethodHandleNode$GraphAdder adder
        start local 1 // org.graalvm.compiler.nodes.ValueNode[] arguments
        start local 2 // int index
        start local 3 // jdk.vm.ci.meta.JavaType type
         0: .line 311
            aload 1 /* arguments */
            iload 2 /* index */
            aaload
            astore 4 /* argument */
        start local 4 // org.graalvm.compiler.nodes.ValueNode argument
         1: .line 312
            aload 3 /* type */
            instanceof jdk.vm.ci.meta.ResolvedJavaType
            ifeq 24
            aload 3 /* type */
            checkcast jdk.vm.ci.meta.ResolvedJavaType
            invokeinterface jdk.vm.ci.meta.ResolvedJavaType.isJavaLangObject:()Z
            ifne 24
         2: .line 313
            aload 0 /* adder */
            invokevirtual org.graalvm.compiler.replacements.nodes.MethodHandleNode$GraphAdder.getAssumptions:()Ljdk/vm/ci/meta/Assumptions;
            astore 5 /* assumptions */
        start local 5 // jdk.vm.ci.meta.Assumptions assumptions
         3: .line 314
            aload 5 /* assumptions */
            aload 3 /* type */
            checkcast jdk.vm.ci.meta.ResolvedJavaType
            invokestatic org.graalvm.compiler.core.common.type.TypeReference.create:(Ljdk/vm/ci/meta/Assumptions;Ljdk/vm/ci/meta/ResolvedJavaType;)Lorg/graalvm/compiler/core/common/type/TypeReference;
            astore 6 /* targetType */
        start local 6 // org.graalvm.compiler.core.common.type.TypeReference targetType
         4: .line 320
            aload 6 /* targetType */
            ifnull 24
            aload 6 /* targetType */
            invokevirtual org.graalvm.compiler.core.common.type.TypeReference.getType:()Ljdk/vm/ci/meta/ResolvedJavaType;
            invokeinterface jdk.vm.ci.meta.ResolvedJavaType.isPrimitive:()Z
            ifne 24
            aload 4 /* argument */
            invokevirtual org.graalvm.compiler.nodes.ValueNode.getStackKind:()Ljdk/vm/ci/meta/JavaKind;
            invokevirtual jdk.vm.ci.meta.JavaKind.isPrimitive:()Z
            ifne 24
         5: .line 321
            aload 4 /* argument */
            getstatic org.graalvm.compiler.nodes.NodeView.DEFAULT:Lorg/graalvm/compiler/nodes/NodeView;
            invokevirtual org.graalvm.compiler.nodes.ValueNode.stamp:(Lorg/graalvm/compiler/nodes/NodeView;)Lorg/graalvm/compiler/core/common/type/Stamp;
            invokestatic org.graalvm.compiler.nodes.type.StampTool.typeOrNull:(Lorg/graalvm/compiler/core/common/type/Stamp;)Ljdk/vm/ci/meta/ResolvedJavaType;
            astore 7 /* argumentType */
        start local 7 // jdk.vm.ci.meta.ResolvedJavaType argumentType
         6: .line 322
            aload 7 /* argumentType */
            ifnull 7
            aload 7 /* argumentType */
            aload 6 /* targetType */
            invokevirtual org.graalvm.compiler.core.common.type.TypeReference.getType:()Ljdk/vm/ci/meta/ResolvedJavaType;
            invokeinterface jdk.vm.ci.meta.ResolvedJavaType.isAssignableFrom:(Ljdk/vm/ci/meta/ResolvedJavaType;)Z
            ifeq 24
            aload 7 /* argumentType */
            aload 6 /* targetType */
            invokevirtual org.graalvm.compiler.core.common.type.TypeReference.getType:()Ljdk/vm/ci/meta/ResolvedJavaType;
            invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
            ifne 24
         7: .line 323
      StackMap locals: org.graalvm.compiler.replacements.nodes.MethodHandleNode$GraphAdder org.graalvm.compiler.nodes.ValueNode[] int jdk.vm.ci.meta.JavaType org.graalvm.compiler.nodes.ValueNode jdk.vm.ci.meta.Assumptions org.graalvm.compiler.core.common.type.TypeReference jdk.vm.ci.meta.ResolvedJavaType
      StackMap stack:
            aload 6 /* targetType */
            aload 4 /* argument */
            aconst_null
            aconst_null
            invokestatic org.graalvm.compiler.nodes.java.InstanceOfNode.createAllowNull:(Lorg/graalvm/compiler/core/common/type/TypeReference;Lorg/graalvm/compiler/nodes/ValueNode;Ljdk/vm/ci/meta/JavaTypeProfile;Lorg/graalvm/compiler/nodes/extended/AnchoringNode;)Lorg/graalvm/compiler/nodes/LogicNode;
            astore 8 /* inst */
        start local 8 // org.graalvm.compiler.nodes.LogicNode inst
         8: .line 324
            getstatic org.graalvm.compiler.replacements.nodes.MethodHandleNode.$assertionsDisabled:Z
            ifne 9
            aload 8 /* inst */
            invokevirtual org.graalvm.compiler.nodes.LogicNode.isAlive:()Z
            ifeq 9
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         9: .line 325
      StackMap locals: org.graalvm.compiler.nodes.LogicNode
      StackMap stack:
            aload 8 /* inst */
            invokevirtual org.graalvm.compiler.nodes.LogicNode.isTautology:()Z
            ifne 24
        10: .line 326
            aload 0 /* adder */
            aload 8 /* inst */
            invokevirtual org.graalvm.compiler.replacements.nodes.MethodHandleNode$GraphAdder.add:(Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/nodes/ValueNode;
            checkcast org.graalvm.compiler.nodes.LogicNode
            astore 8 /* inst */
        11: .line 327
            aload 0 /* adder */
            invokevirtual org.graalvm.compiler.replacements.nodes.MethodHandleNode$GraphAdder.getGuardAnchor:()Lorg/graalvm/compiler/nodes/extended/AnchoringNode;
            astore 9 /* guardAnchor */
        start local 9 // org.graalvm.compiler.nodes.extended.AnchoringNode guardAnchor
        12: .line 328
            getstatic jdk.vm.ci.meta.DeoptimizationReason.ClassCastException:Ljdk/vm/ci/meta/DeoptimizationReason;
            astore 10 /* reason */
        start local 10 // jdk.vm.ci.meta.DeoptimizationReason reason
        13: .line 329
            getstatic jdk.vm.ci.meta.DeoptimizationAction.InvalidateRecompile:Ljdk/vm/ci/meta/DeoptimizationAction;
            astore 11 /* action */
        start local 11 // jdk.vm.ci.meta.DeoptimizationAction action
        14: .line 330
            getstatic jdk.vm.ci.meta.JavaConstant.NULL_POINTER:Ljdk/vm/ci/meta/JavaConstant;
            astore 12 /* speculation */
        start local 12 // jdk.vm.ci.meta.JavaConstant speculation
        15: .line 332
            aload 9 /* guardAnchor */
            ifnonnull 19
        16: .line 333
            aload 0 /* adder */
            new org.graalvm.compiler.nodes.FixedGuardNode
            dup
            aload 8 /* inst */
            aload 10 /* reason */
            aload 11 /* action */
            aload 12 /* speculation */
            iconst_0
            invokespecial org.graalvm.compiler.nodes.FixedGuardNode.<init>:(Lorg/graalvm/compiler/nodes/LogicNode;Ljdk/vm/ci/meta/DeoptimizationReason;Ljdk/vm/ci/meta/DeoptimizationAction;Ljdk/vm/ci/meta/JavaConstant;Z)V
            invokevirtual org.graalvm.compiler.replacements.nodes.MethodHandleNode$GraphAdder.add:(Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/nodes/ValueNode;
            checkcast org.graalvm.compiler.nodes.FixedGuardNode
            astore 14 /* fixedGuard */
        start local 14 // org.graalvm.compiler.nodes.FixedGuardNode fixedGuard
        17: .line 334
            aload 14 /* fixedGuard */
            astore 13 /* guard */
        end local 14 // org.graalvm.compiler.nodes.FixedGuardNode fixedGuard
        start local 13 // org.graalvm.compiler.nodes.extended.GuardingNode guard
        18: .line 335
            goto 22
        end local 13 // org.graalvm.compiler.nodes.extended.GuardingNode guard
        19: .line 336
      StackMap locals: org.graalvm.compiler.replacements.nodes.MethodHandleNode$GraphAdder org.graalvm.compiler.nodes.ValueNode[] int jdk.vm.ci.meta.JavaType org.graalvm.compiler.nodes.ValueNode jdk.vm.ci.meta.Assumptions org.graalvm.compiler.core.common.type.TypeReference jdk.vm.ci.meta.ResolvedJavaType org.graalvm.compiler.nodes.LogicNode org.graalvm.compiler.nodes.extended.AnchoringNode jdk.vm.ci.meta.DeoptimizationReason jdk.vm.ci.meta.DeoptimizationAction jdk.vm.ci.meta.JavaConstant
      StackMap stack:
            aload 0 /* adder */
            new org.graalvm.compiler.nodes.GuardNode
            dup
            aload 8 /* inst */
            aload 9 /* guardAnchor */
            aload 10 /* reason */
            aload 11 /* action */
            iconst_0
            aload 12 /* speculation */
            invokespecial org.graalvm.compiler.nodes.GuardNode.<init>:(Lorg/graalvm/compiler/nodes/LogicNode;Lorg/graalvm/compiler/nodes/extended/AnchoringNode;Ljdk/vm/ci/meta/DeoptimizationReason;Ljdk/vm/ci/meta/DeoptimizationAction;ZLjdk/vm/ci/meta/JavaConstant;)V
            invokevirtual org.graalvm.compiler.replacements.nodes.MethodHandleNode$GraphAdder.add:(Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/nodes/ValueNode;
            checkcast org.graalvm.compiler.nodes.GuardNode
            astore 14 /* newGuard */
        start local 14 // org.graalvm.compiler.nodes.GuardNode newGuard
        20: .line 337
            aload 0 /* adder */
            new org.graalvm.compiler.nodes.extended.ValueAnchorNode
            dup
            aload 14 /* newGuard */
            invokespecial org.graalvm.compiler.nodes.extended.ValueAnchorNode.<init>:(Lorg/graalvm/compiler/nodes/ValueNode;)V
            invokevirtual org.graalvm.compiler.replacements.nodes.MethodHandleNode$GraphAdder.add:(Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/nodes/ValueNode;
            pop
        21: .line 338
            aload 14 /* newGuard */
            astore 13 /* guard */
        end local 14 // org.graalvm.compiler.nodes.GuardNode newGuard
        start local 13 // org.graalvm.compiler.nodes.extended.GuardingNode guard
        22: .line 340
      StackMap locals: org.graalvm.compiler.nodes.extended.GuardingNode
      StackMap stack:
            aload 0 /* adder */
            aload 4 /* argument */
            aload 6 /* targetType */
            invokestatic org.graalvm.compiler.core.common.type.StampFactory.object:(Lorg/graalvm/compiler/core/common/type/TypeReference;)Lorg/graalvm/compiler/core/common/type/ObjectStamp;
            aload 13 /* guard */
            invokeinterface org.graalvm.compiler.nodes.extended.GuardingNode.asNode:()Lorg/graalvm/compiler/nodes/ValueNode;
            invokestatic org.graalvm.compiler.nodes.PiNode.create:(Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/core/common/type/Stamp;Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/nodes/ValueNode;
            invokevirtual org.graalvm.compiler.replacements.nodes.MethodHandleNode$GraphAdder.add:(Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/nodes/ValueNode;
            astore 14 /* valueNode */
        start local 14 // org.graalvm.compiler.nodes.ValueNode valueNode
        23: .line 341
            aload 1 /* arguments */
            iload 2 /* index */
            aload 14 /* valueNode */
            aastore
        end local 14 // org.graalvm.compiler.nodes.ValueNode valueNode
        end local 13 // org.graalvm.compiler.nodes.extended.GuardingNode guard
        end local 12 // jdk.vm.ci.meta.JavaConstant speculation
        end local 11 // jdk.vm.ci.meta.DeoptimizationAction action
        end local 10 // jdk.vm.ci.meta.DeoptimizationReason reason
        end local 9 // org.graalvm.compiler.nodes.extended.AnchoringNode guardAnchor
        end local 8 // org.graalvm.compiler.nodes.LogicNode inst
        end local 7 // jdk.vm.ci.meta.ResolvedJavaType argumentType
        end local 6 // org.graalvm.compiler.core.common.type.TypeReference targetType
        end local 5 // jdk.vm.ci.meta.Assumptions assumptions
        24: .line 346
      StackMap locals: org.graalvm.compiler.replacements.nodes.MethodHandleNode$GraphAdder org.graalvm.compiler.nodes.ValueNode[] int jdk.vm.ci.meta.JavaType org.graalvm.compiler.nodes.ValueNode
      StackMap stack:
            return
        end local 4 // org.graalvm.compiler.nodes.ValueNode argument
        end local 3 // jdk.vm.ci.meta.JavaType type
        end local 2 // int index
        end local 1 // org.graalvm.compiler.nodes.ValueNode[] arguments
        end local 0 // org.graalvm.compiler.replacements.nodes.MethodHandleNode$GraphAdder adder
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   25     0         adder  Lorg/graalvm/compiler/replacements/nodes/MethodHandleNode$GraphAdder;
            0   25     1     arguments  [Lorg/graalvm/compiler/nodes/ValueNode;
            0   25     2         index  I
            0   25     3          type  Ljdk/vm/ci/meta/JavaType;
            1   25     4      argument  Lorg/graalvm/compiler/nodes/ValueNode;
            3   24     5   assumptions  Ljdk/vm/ci/meta/Assumptions;
            4   24     6    targetType  Lorg/graalvm/compiler/core/common/type/TypeReference;
            6   24     7  argumentType  Ljdk/vm/ci/meta/ResolvedJavaType;
            8   24     8          inst  Lorg/graalvm/compiler/nodes/LogicNode;
           12   24     9   guardAnchor  Lorg/graalvm/compiler/nodes/extended/AnchoringNode;
           13   24    10        reason  Ljdk/vm/ci/meta/DeoptimizationReason;
           14   24    11        action  Ljdk/vm/ci/meta/DeoptimizationAction;
           15   24    12   speculation  Ljdk/vm/ci/meta/JavaConstant;
           18   19    13         guard  Lorg/graalvm/compiler/nodes/extended/GuardingNode;
           22   24    13         guard  Lorg/graalvm/compiler/nodes/extended/GuardingNode;
           17   18    14    fixedGuard  Lorg/graalvm/compiler/nodes/FixedGuardNode;
           20   22    14      newGuard  Lorg/graalvm/compiler/nodes/GuardNode;
           23   24    14     valueNode  Lorg/graalvm/compiler/nodes/ValueNode;
    MethodParameters:
           Name  Flags
      adder      
      arguments  
      index      
      type       

  private static org.graalvm.compiler.nodes.InvokeNode createTargetInvokeNode(jdk.vm.ci.meta.Assumptions, jdk.vm.ci.meta.MethodHandleAccessProvider$IntrinsicMethod, jdk.vm.ci.meta.ResolvedJavaMethod, jdk.vm.ci.meta.ResolvedJavaMethod, int, org.graalvm.compiler.core.common.type.StampPair, org.graalvm.compiler.nodes.ValueNode[]);
    descriptor: (Ljdk/vm/ci/meta/Assumptions;Ljdk/vm/ci/meta/MethodHandleAccessProvider$IntrinsicMethod;Ljdk/vm/ci/meta/ResolvedJavaMethod;Ljdk/vm/ci/meta/ResolvedJavaMethod;ILorg/graalvm/compiler/core/common/type/StampPair;[Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/nodes/InvokeNode;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=7, locals=12, args_size=7
        start local 0 // jdk.vm.ci.meta.Assumptions assumptions
        start local 1 // jdk.vm.ci.meta.MethodHandleAccessProvider$IntrinsicMethod intrinsicMethod
        start local 2 // jdk.vm.ci.meta.ResolvedJavaMethod target
        start local 3 // jdk.vm.ci.meta.ResolvedJavaMethod original
        start local 4 // int bci
        start local 5 // org.graalvm.compiler.core.common.type.StampPair returnStamp
        start local 6 // org.graalvm.compiler.nodes.ValueNode[] arguments
         0: .line 356
            aload 2 /* target */
            invokeinterface jdk.vm.ci.meta.ResolvedJavaMethod.isStatic:()Z
            ifeq 1
            getstatic org.graalvm.compiler.nodes.CallTargetNode$InvokeKind.Static:Lorg/graalvm/compiler/nodes/CallTargetNode$InvokeKind;
            goto 2
      StackMap locals:
      StackMap stack:
         1: getstatic org.graalvm.compiler.nodes.CallTargetNode$InvokeKind.Special:Lorg/graalvm/compiler/nodes/CallTargetNode$InvokeKind;
      StackMap locals:
      StackMap stack: org.graalvm.compiler.nodes.CallTargetNode$InvokeKind
         2: astore 7 /* targetInvokeKind */
        start local 7 // org.graalvm.compiler.nodes.CallTargetNode$InvokeKind targetInvokeKind
         3: .line 357
            aload 2 /* target */
            invokeinterface jdk.vm.ci.meta.ResolvedJavaMethod.getSignature:()Ljdk/vm/ci/meta/Signature;
            aconst_null
            invokeinterface jdk.vm.ci.meta.Signature.getReturnType:(Ljdk/vm/ci/meta/ResolvedJavaType;)Ljdk/vm/ci/meta/JavaType;
            astore 8 /* targetReturnType */
        start local 8 // jdk.vm.ci.meta.JavaType targetReturnType
         4: .line 362
            invokestatic org.graalvm.compiler.replacements.nodes.MethodHandleNode.$SWITCH_TABLE$jdk$vm$ci$meta$MethodHandleAccessProvider$IntrinsicMethod:()[I
            aload 1 /* intrinsicMethod */
            invokevirtual jdk.vm.ci.meta.MethodHandleAccessProvider$IntrinsicMethod.ordinal:()I
            iaload
            tableswitch { // 1 - 5
                    1: 5
                    2: 7
                    3: 7
                    4: 7
                    5: 7
              default: 9
          }
         5: .line 364
      StackMap locals: org.graalvm.compiler.nodes.CallTargetNode$InvokeKind jdk.vm.ci.meta.JavaType
      StackMap stack:
            aload 6 /* arguments */
            astore 9 /* targetArguments */
        start local 9 // org.graalvm.compiler.nodes.ValueNode[] targetArguments
         6: .line 365
            goto 10
        end local 9 // org.graalvm.compiler.nodes.ValueNode[] targetArguments
         7: .line 370
      StackMap locals:
      StackMap stack:
            aload 6 /* arguments */
            iconst_0
            aload 6 /* arguments */
            arraylength
            iconst_1
            isub
            invokestatic java.util.Arrays.copyOfRange:([Ljava/lang/Object;II)[Ljava/lang/Object;
            checkcast org.graalvm.compiler.nodes.ValueNode[]
            astore 9 /* targetArguments */
        start local 9 // org.graalvm.compiler.nodes.ValueNode[] targetArguments
         8: .line 371
            goto 10
        end local 9 // org.graalvm.compiler.nodes.ValueNode[] targetArguments
         9: .line 373
      StackMap locals:
      StackMap stack:
            invokestatic org.graalvm.compiler.debug.GraalError.shouldNotReachHere:()Ljava/lang/RuntimeException;
            athrow
        start local 9 // org.graalvm.compiler.nodes.ValueNode[] targetArguments
        10: .line 375
      StackMap locals: org.graalvm.compiler.nodes.ValueNode[]
      StackMap stack:
            aload 0 /* assumptions */
            aload 8 /* targetReturnType */
            iconst_0
            invokestatic org.graalvm.compiler.core.common.type.StampFactory.forDeclaredType:(Ljdk/vm/ci/meta/Assumptions;Ljdk/vm/ci/meta/JavaType;Z)Lorg/graalvm/compiler/core/common/type/StampPair;
            astore 10 /* targetReturnStamp */
        start local 10 // org.graalvm.compiler.core.common.type.StampPair targetReturnStamp
        11: .line 377
            aload 7 /* targetInvokeKind */
            aload 2 /* target */
            aload 9 /* targetArguments */
            aload 10 /* targetReturnStamp */
            aload 3 /* original */
            aload 6 /* arguments */
            aload 5 /* returnStamp */
            invokestatic org.graalvm.compiler.replacements.nodes.ResolvedMethodHandleCallTargetNode.create:(Lorg/graalvm/compiler/nodes/CallTargetNode$InvokeKind;Ljdk/vm/ci/meta/ResolvedJavaMethod;[Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/core/common/type/StampPair;Ljdk/vm/ci/meta/ResolvedJavaMethod;[Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/core/common/type/StampPair;)Lorg/graalvm/compiler/nodes/java/MethodCallTargetNode;
            astore 11 /* callTarget */
        start local 11 // org.graalvm.compiler.nodes.java.MethodCallTargetNode callTarget
        12: .line 384
            aload 5 /* returnStamp */
            invokevirtual org.graalvm.compiler.core.common.type.StampPair.getTrustedStamp:()Lorg/graalvm/compiler/core/common/type/Stamp;
            invokevirtual org.graalvm.compiler.core.common.type.Stamp.getStackKind:()Ljdk/vm/ci/meta/JavaKind;
            getstatic jdk.vm.ci.meta.JavaKind.Void:Ljdk/vm/ci/meta/JavaKind;
            if_acmpne 14
        13: .line 385
            new org.graalvm.compiler.nodes.InvokeNode
            dup
            aload 11 /* callTarget */
            iload 4 /* bci */
            invokestatic org.graalvm.compiler.core.common.type.StampFactory.forVoid:()Lorg/graalvm/compiler/core/common/type/Stamp;
            invokespecial org.graalvm.compiler.nodes.InvokeNode.<init>:(Lorg/graalvm/compiler/nodes/CallTargetNode;ILorg/graalvm/compiler/core/common/type/Stamp;)V
            areturn
        14: .line 387
      StackMap locals: org.graalvm.compiler.core.common.type.StampPair org.graalvm.compiler.nodes.java.MethodCallTargetNode
      StackMap stack:
            new org.graalvm.compiler.nodes.InvokeNode
            dup
            aload 11 /* callTarget */
            iload 4 /* bci */
            invokespecial org.graalvm.compiler.nodes.InvokeNode.<init>:(Lorg/graalvm/compiler/nodes/CallTargetNode;I)V
            areturn
        end local 11 // org.graalvm.compiler.nodes.java.MethodCallTargetNode callTarget
        end local 10 // org.graalvm.compiler.core.common.type.StampPair targetReturnStamp
        end local 9 // org.graalvm.compiler.nodes.ValueNode[] targetArguments
        end local 8 // jdk.vm.ci.meta.JavaType targetReturnType
        end local 7 // org.graalvm.compiler.nodes.CallTargetNode$InvokeKind targetInvokeKind
        end local 6 // org.graalvm.compiler.nodes.ValueNode[] arguments
        end local 5 // org.graalvm.compiler.core.common.type.StampPair returnStamp
        end local 4 // int bci
        end local 3 // jdk.vm.ci.meta.ResolvedJavaMethod original
        end local 2 // jdk.vm.ci.meta.ResolvedJavaMethod target
        end local 1 // jdk.vm.ci.meta.MethodHandleAccessProvider$IntrinsicMethod intrinsicMethod
        end local 0 // jdk.vm.ci.meta.Assumptions assumptions
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0   15     0        assumptions  Ljdk/vm/ci/meta/Assumptions;
            0   15     1    intrinsicMethod  Ljdk/vm/ci/meta/MethodHandleAccessProvider$IntrinsicMethod;
            0   15     2             target  Ljdk/vm/ci/meta/ResolvedJavaMethod;
            0   15     3           original  Ljdk/vm/ci/meta/ResolvedJavaMethod;
            0   15     4                bci  I
            0   15     5        returnStamp  Lorg/graalvm/compiler/core/common/type/StampPair;
            0   15     6          arguments  [Lorg/graalvm/compiler/nodes/ValueNode;
            3   15     7   targetInvokeKind  Lorg/graalvm/compiler/nodes/CallTargetNode$InvokeKind;
            4   15     8   targetReturnType  Ljdk/vm/ci/meta/JavaType;
            6    7     9    targetArguments  [Lorg/graalvm/compiler/nodes/ValueNode;
            8    9     9    targetArguments  [Lorg/graalvm/compiler/nodes/ValueNode;
           10   15     9    targetArguments  [Lorg/graalvm/compiler/nodes/ValueNode;
           11   15    10  targetReturnStamp  Lorg/graalvm/compiler/core/common/type/StampPair;
           12   15    11         callTarget  Lorg/graalvm/compiler/nodes/java/MethodCallTargetNode;
    MethodParameters:
                 Name  Flags
      assumptions      
      intrinsicMethod  
      target           
      original         
      bci              
      returnStamp      
      arguments        

  static int[] $SWITCH_TABLE$jdk$vm$ci$meta$MethodHandleAccessProvider$IntrinsicMethod();
    descriptor: ()[I
    flags: (0x1008) ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=3, locals=1, args_size=0
         0: .line 76
            getstatic org.graalvm.compiler.replacements.nodes.MethodHandleNode.$SWITCH_TABLE$jdk$vm$ci$meta$MethodHandleAccessProvider$IntrinsicMethod:[I
            dup
            ifnull 1
            areturn
      StackMap locals:
      StackMap stack: int[]
         1: pop
            invokestatic jdk.vm.ci.meta.MethodHandleAccessProvider$IntrinsicMethod.values:()[Ljdk/vm/ci/meta/MethodHandleAccessProvider$IntrinsicMethod;
            arraylength
            newarray 10
            astore 0
         2: aload 0
            getstatic jdk.vm.ci.meta.MethodHandleAccessProvider$IntrinsicMethod.INVOKE_BASIC:Ljdk/vm/ci/meta/MethodHandleAccessProvider$IntrinsicMethod;
            invokevirtual jdk.vm.ci.meta.MethodHandleAccessProvider$IntrinsicMethod.ordinal:()I
            iconst_1
            iastore
         3: goto 5
      StackMap locals: int[]
      StackMap stack: java.lang.NoSuchFieldError
         4: pop
      StackMap locals:
      StackMap stack:
         5: aload 0
            getstatic jdk.vm.ci.meta.MethodHandleAccessProvider$IntrinsicMethod.LINK_TO_INTERFACE:Ljdk/vm/ci/meta/MethodHandleAccessProvider$IntrinsicMethod;
            invokevirtual jdk.vm.ci.meta.MethodHandleAccessProvider$IntrinsicMethod.ordinal:()I
            iconst_5
            iastore
         6: goto 8
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
         7: pop
      StackMap locals:
      StackMap stack:
         8: aload 0
            getstatic jdk.vm.ci.meta.MethodHandleAccessProvider$IntrinsicMethod.LINK_TO_SPECIAL:Ljdk/vm/ci/meta/MethodHandleAccessProvider$IntrinsicMethod;
            invokevirtual jdk.vm.ci.meta.MethodHandleAccessProvider$IntrinsicMethod.ordinal:()I
            iconst_3
            iastore
         9: goto 11
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        10: pop
      StackMap locals:
      StackMap stack:
        11: aload 0
            getstatic jdk.vm.ci.meta.MethodHandleAccessProvider$IntrinsicMethod.LINK_TO_STATIC:Ljdk/vm/ci/meta/MethodHandleAccessProvider$IntrinsicMethod;
            invokevirtual jdk.vm.ci.meta.MethodHandleAccessProvider$IntrinsicMethod.ordinal:()I
            iconst_2
            iastore
        12: goto 14
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        13: pop
      StackMap locals:
      StackMap stack:
        14: aload 0
            getstatic jdk.vm.ci.meta.MethodHandleAccessProvider$IntrinsicMethod.LINK_TO_VIRTUAL:Ljdk/vm/ci/meta/MethodHandleAccessProvider$IntrinsicMethod;
            invokevirtual jdk.vm.ci.meta.MethodHandleAccessProvider$IntrinsicMethod.ordinal:()I
            iconst_4
            iastore
        15: goto 17
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        16: pop
      StackMap locals:
      StackMap stack:
        17: aload 0
            dup
            putstatic org.graalvm.compiler.replacements.nodes.MethodHandleNode.$SWITCH_TABLE$jdk$vm$ci$meta$MethodHandleAccessProvider$IntrinsicMethod:[I
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
      Exception table:
        from    to  target  type
           2     3       4  Class java.lang.NoSuchFieldError
           5     6       7  Class java.lang.NoSuchFieldError
           8     9      10  Class java.lang.NoSuchFieldError
          11    12      13  Class java.lang.NoSuchFieldError
          14    15      16  Class java.lang.NoSuchFieldError
}
SourceFile: "MethodHandleNode.java"
NestMembers:
  org.graalvm.compiler.replacements.nodes.MethodHandleNode$1  org.graalvm.compiler.replacements.nodes.MethodHandleNode$GraphAdder
InnerClasses:
  public AssumptionResult = jdk.vm.ci.meta.Assumptions$AssumptionResult of jdk.vm.ci.meta.Assumptions
  public final IntrinsicMethod = jdk.vm.ci.meta.MethodHandleAccessProvider$IntrinsicMethod of jdk.vm.ci.meta.MethodHandleAccessProvider
  public final InvokeKind = org.graalvm.compiler.nodes.CallTargetNode$InvokeKind of org.graalvm.compiler.nodes.CallTargetNode
  org.graalvm.compiler.replacements.nodes.MethodHandleNode$1
  public abstract GraphAdder = org.graalvm.compiler.replacements.nodes.MethodHandleNode$GraphAdder of org.graalvm.compiler.replacements.nodes.MethodHandleNode
    RuntimeVisibleAnnotations: 
      org.graalvm.compiler.nodeinfo.NodeInfo(cycles = org.graalvm.compiler.nodeinfo.NodeCycles.CYCLES_UNKNOWN:Lorg/graalvm/compiler/nodeinfo/NodeCycles;, size = org.graalvm.compiler.nodeinfo.NodeSize.SIZE_UNKNOWN:Lorg/graalvm/compiler/nodeinfo/NodeSize;)