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

  protected final jdk.vm.ci.meta.JavaConstant functionPointer;
    descriptor: Ljdk/vm/ci/meta/JavaConstant;
    flags: (0x0014) ACC_PROTECTED, ACC_FINAL

  org.graalvm.compiler.graph.NodeInputList<org.graalvm.compiler.nodes.ValueNode> args;
    descriptor: Lorg/graalvm/compiler/graph/NodeInputList;
    flags: (0x0000) 
    Signature: Lorg/graalvm/compiler/graph/NodeInputList<Lorg/graalvm/compiler/nodes/ValueNode;>;
    RuntimeVisibleAnnotations: 
      org.graalvm.compiler.graph.Node$Input()

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 51
            ldc Lorg/graalvm/compiler/hotspot/amd64/AMD64RawNativeCallNode;
            invokestatic org.graalvm.compiler.graph.NodeClass.create:(Ljava/lang/Class;)Lorg/graalvm/compiler/graph/NodeClass;
            putstatic org.graalvm.compiler.hotspot.amd64.AMD64RawNativeCallNode.TYPE:Lorg/graalvm/compiler/graph/NodeClass;
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public void <init>(jdk.vm.ci.meta.JavaKind, jdk.vm.ci.meta.JavaConstant, org.graalvm.compiler.nodes.ValueNode[]);
    descriptor: (Ljdk/vm/ci/meta/JavaKind;Ljdk/vm/ci/meta/JavaConstant;[Lorg/graalvm/compiler/nodes/ValueNode;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=4, args_size=4
        start local 0 // org.graalvm.compiler.hotspot.amd64.AMD64RawNativeCallNode this
        start local 1 // jdk.vm.ci.meta.JavaKind returnType
        start local 2 // jdk.vm.ci.meta.JavaConstant functionPointer
        start local 3 // org.graalvm.compiler.nodes.ValueNode[] args
         0: .line 57
            aload 0 /* this */
            getstatic org.graalvm.compiler.hotspot.amd64.AMD64RawNativeCallNode.TYPE:Lorg/graalvm/compiler/graph/NodeClass;
            aload 1 /* returnType */
            invokestatic org.graalvm.compiler.core.common.type.StampFactory.forKind:(Ljdk/vm/ci/meta/JavaKind;)Lorg/graalvm/compiler/core/common/type/Stamp;
            invokespecial org.graalvm.compiler.nodes.FixedWithNextNode.<init>:(Lorg/graalvm/compiler/graph/NodeClass;Lorg/graalvm/compiler/core/common/type/Stamp;)V
         1: .line 58
            aload 0 /* this */
            aload 2 /* functionPointer */
            putfield org.graalvm.compiler.hotspot.amd64.AMD64RawNativeCallNode.functionPointer:Ljdk/vm/ci/meta/JavaConstant;
         2: .line 59
            aload 0 /* this */
            new org.graalvm.compiler.graph.NodeInputList
            dup
            aload 0 /* this */
            aload 3 /* args */
            invokespecial org.graalvm.compiler.graph.NodeInputList.<init>:(Lorg/graalvm/compiler/graph/Node;[Lorg/graalvm/compiler/graph/Node;)V
            putfield org.graalvm.compiler.hotspot.amd64.AMD64RawNativeCallNode.args:Lorg/graalvm/compiler/graph/NodeInputList;
         3: .line 60
            return
        end local 3 // org.graalvm.compiler.nodes.ValueNode[] args
        end local 2 // jdk.vm.ci.meta.JavaConstant functionPointer
        end local 1 // jdk.vm.ci.meta.JavaKind returnType
        end local 0 // org.graalvm.compiler.hotspot.amd64.AMD64RawNativeCallNode this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    4     0             this  Lorg/graalvm/compiler/hotspot/amd64/AMD64RawNativeCallNode;
            0    4     1       returnType  Ljdk/vm/ci/meta/JavaKind;
            0    4     2  functionPointer  Ljdk/vm/ci/meta/JavaConstant;
            0    4     3             args  [Lorg/graalvm/compiler/nodes/ValueNode;
    MethodParameters:
                 Name  Flags
      returnType       
      functionPointer  
      args             

  private static jdk.vm.ci.meta.JavaType toJavaType(org.graalvm.compiler.core.common.type.Stamp, jdk.vm.ci.meta.MetaAccessProvider);
    descriptor: (Lorg/graalvm/compiler/core/common/type/Stamp;Ljdk/vm/ci/meta/MetaAccessProvider;)Ljdk/vm/ci/meta/JavaType;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.graalvm.compiler.core.common.type.Stamp stamp
        start local 1 // jdk.vm.ci.meta.MetaAccessProvider metaAccess
         0: .line 92
            aload 0 /* stamp */
            instanceof org.graalvm.compiler.core.common.type.RawPointerStamp
            ifeq 2
         1: .line 93
            new org.graalvm.compiler.hotspot.amd64.AMD64RawNativeCallNode$PointerType
            dup
            invokespecial org.graalvm.compiler.hotspot.amd64.AMD64RawNativeCallNode$PointerType.<init>:()V
            areturn
         2: .line 95
      StackMap locals:
      StackMap stack:
            aload 0 /* stamp */
            aload 1 /* metaAccess */
            invokevirtual org.graalvm.compiler.core.common.type.Stamp.javaType:(Ljdk/vm/ci/meta/MetaAccessProvider;)Ljdk/vm/ci/meta/ResolvedJavaType;
            areturn
        end local 1 // jdk.vm.ci.meta.MetaAccessProvider metaAccess
        end local 0 // org.graalvm.compiler.core.common.type.Stamp stamp
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    3     0       stamp  Lorg/graalvm/compiler/core/common/type/Stamp;
            0    3     1  metaAccess  Ljdk/vm/ci/meta/MetaAccessProvider;
    MethodParameters:
            Name  Flags
      stamp       
      metaAccess  

  public void generate(org.graalvm.compiler.nodes.spi.NodeLIRBuilderTool);
    descriptor: (Lorg/graalvm/compiler/nodes/spi/NodeLIRBuilderTool;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=7, args_size=2
        start local 0 // org.graalvm.compiler.hotspot.amd64.AMD64RawNativeCallNode this
        start local 1 // org.graalvm.compiler.nodes.spi.NodeLIRBuilderTool generator
         0: .line 101
            aload 1 /* generator */
            checkcast org.graalvm.compiler.core.amd64.AMD64NodeLIRBuilder
            astore 2 /* gen */
        start local 2 // org.graalvm.compiler.core.amd64.AMD64NodeLIRBuilder gen
         1: .line 102
            aload 0 /* this */
            getfield org.graalvm.compiler.hotspot.amd64.AMD64RawNativeCallNode.args:Lorg/graalvm/compiler/graph/NodeInputList;
            invokevirtual org.graalvm.compiler.graph.NodeInputList.count:()I
            anewarray jdk.vm.ci.meta.Value
            astore 3 /* parameter */
        start local 3 // jdk.vm.ci.meta.Value[] parameter
         2: .line 103
            aload 0 /* this */
            getfield org.graalvm.compiler.hotspot.amd64.AMD64RawNativeCallNode.args:Lorg/graalvm/compiler/graph/NodeInputList;
            invokevirtual org.graalvm.compiler.graph.NodeInputList.count:()I
            anewarray jdk.vm.ci.meta.JavaType
            astore 4 /* parameterTypes */
        start local 4 // jdk.vm.ci.meta.JavaType[] parameterTypes
         3: .line 104
            iconst_0
            istore 5 /* i */
        start local 5 // int i
         4: goto 8
         5: .line 105
      StackMap locals: org.graalvm.compiler.hotspot.amd64.AMD64RawNativeCallNode org.graalvm.compiler.nodes.spi.NodeLIRBuilderTool org.graalvm.compiler.core.amd64.AMD64NodeLIRBuilder jdk.vm.ci.meta.Value[] jdk.vm.ci.meta.JavaType[] int
      StackMap stack:
            aload 3 /* parameter */
            iload 5 /* i */
            aload 1 /* generator */
            aload 0 /* this */
            getfield org.graalvm.compiler.hotspot.amd64.AMD64RawNativeCallNode.args:Lorg/graalvm/compiler/graph/NodeInputList;
            iload 5 /* i */
            invokevirtual org.graalvm.compiler.graph.NodeInputList.get:(I)Lorg/graalvm/compiler/graph/Node;
            invokeinterface org.graalvm.compiler.nodes.spi.NodeLIRBuilderTool.operand:(Lorg/graalvm/compiler/graph/Node;)Ljdk/vm/ci/meta/Value;
            aastore
         6: .line 106
            aload 4 /* parameterTypes */
            iload 5 /* i */
            aload 0 /* this */
            getfield org.graalvm.compiler.hotspot.amd64.AMD64RawNativeCallNode.args:Lorg/graalvm/compiler/graph/NodeInputList;
            iload 5 /* i */
            invokevirtual org.graalvm.compiler.graph.NodeInputList.get:(I)Lorg/graalvm/compiler/graph/Node;
            checkcast org.graalvm.compiler.nodes.ValueNode
            invokevirtual org.graalvm.compiler.nodes.ValueNode.stamp:()Lorg/graalvm/compiler/core/common/type/Stamp;
            aload 2 /* gen */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64NodeLIRBuilder.getLIRGeneratorTool:()Lorg/graalvm/compiler/core/amd64/AMD64LIRGenerator;
            invokevirtual org.graalvm.compiler.core.amd64.AMD64LIRGenerator.getMetaAccess:()Ljdk/vm/ci/meta/MetaAccessProvider;
            invokestatic org.graalvm.compiler.hotspot.amd64.AMD64RawNativeCallNode.toJavaType:(Lorg/graalvm/compiler/core/common/type/Stamp;Ljdk/vm/ci/meta/MetaAccessProvider;)Ljdk/vm/ci/meta/JavaType;
            aastore
         7: .line 104
            iinc 5 /* i */ 1
      StackMap locals:
      StackMap stack:
         8: iload 5 /* i */
            aload 0 /* this */
            getfield org.graalvm.compiler.hotspot.amd64.AMD64RawNativeCallNode.args:Lorg/graalvm/compiler/graph/NodeInputList;
            invokevirtual org.graalvm.compiler.graph.NodeInputList.count:()I
            if_icmplt 5
        end local 5 // int i
         9: .line 108
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.hotspot.amd64.AMD64RawNativeCallNode.stamp:()Lorg/graalvm/compiler/core/common/type/Stamp;
            aload 2 /* gen */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64NodeLIRBuilder.getLIRGeneratorTool:()Lorg/graalvm/compiler/core/amd64/AMD64LIRGenerator;
            invokevirtual org.graalvm.compiler.core.amd64.AMD64LIRGenerator.getMetaAccess:()Ljdk/vm/ci/meta/MetaAccessProvider;
            invokestatic org.graalvm.compiler.hotspot.amd64.AMD64RawNativeCallNode.toJavaType:(Lorg/graalvm/compiler/core/common/type/Stamp;Ljdk/vm/ci/meta/MetaAccessProvider;)Ljdk/vm/ci/meta/JavaType;
            astore 5 /* returnType */
        start local 5 // jdk.vm.ci.meta.JavaType returnType
        10: .line 109
            aload 1 /* generator */
            invokeinterface org.graalvm.compiler.nodes.spi.NodeLIRBuilderTool.getLIRGeneratorTool:()Lorg/graalvm/compiler/lir/gen/LIRGeneratorTool;
            invokeinterface org.graalvm.compiler.lir.gen.LIRGeneratorTool.getCodeCache:()Ljdk/vm/ci/code/CodeCacheProvider;
            invokeinterface jdk.vm.ci.code.CodeCacheProvider.getRegisterConfig:()Ljdk/vm/ci/code/RegisterConfig;
            getstatic jdk.vm.ci.hotspot.HotSpotCallingConventionType.NativeCall:Ljdk/vm/ci/hotspot/HotSpotCallingConventionType;
            aload 5 /* returnType */
            aload 4 /* parameterTypes */
        11: .line 110
            aload 1 /* generator */
            invokeinterface org.graalvm.compiler.nodes.spi.NodeLIRBuilderTool.getLIRGeneratorTool:()Lorg/graalvm/compiler/lir/gen/LIRGeneratorTool;
        12: .line 109
            invokeinterface jdk.vm.ci.code.RegisterConfig.getCallingConvention:(Ljdk/vm/ci/code/CallingConvention$Type;Ljdk/vm/ci/meta/JavaType;[Ljdk/vm/ci/meta/JavaType;Ljdk/vm/ci/code/ValueKindFactory;)Ljdk/vm/ci/code/CallingConvention;
            astore 6 /* cc */
        start local 6 // jdk.vm.ci.code.CallingConvention cc
        13: .line 111
            aload 2 /* gen */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64NodeLIRBuilder.getLIRGeneratorTool:()Lorg/graalvm/compiler/core/amd64/AMD64LIRGenerator;
            aload 0 /* this */
            getfield org.graalvm.compiler.hotspot.amd64.AMD64RawNativeCallNode.functionPointer:Ljdk/vm/ci/meta/JavaConstant;
            invokeinterface jdk.vm.ci.meta.JavaConstant.asLong:()J
            aload 6 /* cc */
            aload 3 /* parameter */
            aload 0 /* this */
            getfield org.graalvm.compiler.hotspot.amd64.AMD64RawNativeCallNode.args:Lorg/graalvm/compiler/graph/NodeInputList;
            invokestatic org.graalvm.compiler.hotspot.amd64.AMD64RawNativeCallNode.countFloatingTypeArguments:(Lorg/graalvm/compiler/graph/NodeInputList;)I
            invokevirtual org.graalvm.compiler.core.amd64.AMD64LIRGenerator.emitCCall:(JLjdk/vm/ci/code/CallingConvention;[Ljdk/vm/ci/meta/Value;I)V
        14: .line 112
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.hotspot.amd64.AMD64RawNativeCallNode.getStackKind:()Ljdk/vm/ci/meta/JavaKind;
            getstatic jdk.vm.ci.meta.JavaKind.Void:Ljdk/vm/ci/meta/JavaKind;
            if_acmpeq 16
        15: .line 113
            aload 1 /* generator */
            aload 0 /* this */
            aload 2 /* gen */
            invokevirtual org.graalvm.compiler.core.amd64.AMD64NodeLIRBuilder.getLIRGeneratorTool:()Lorg/graalvm/compiler/core/amd64/AMD64LIRGenerator;
            aload 6 /* cc */
            invokevirtual jdk.vm.ci.code.CallingConvention.getReturn:()Ljdk/vm/ci/meta/AllocatableValue;
            invokevirtual org.graalvm.compiler.core.amd64.AMD64LIRGenerator.emitMove:(Ljdk/vm/ci/meta/Value;)Lorg/graalvm/compiler/lir/Variable;
            invokeinterface org.graalvm.compiler.nodes.spi.NodeLIRBuilderTool.setResult:(Lorg/graalvm/compiler/nodes/ValueNode;Ljdk/vm/ci/meta/Value;)Ljdk/vm/ci/meta/Value;
            pop
        16: .line 115
      StackMap locals: org.graalvm.compiler.hotspot.amd64.AMD64RawNativeCallNode org.graalvm.compiler.nodes.spi.NodeLIRBuilderTool org.graalvm.compiler.core.amd64.AMD64NodeLIRBuilder jdk.vm.ci.meta.Value[] jdk.vm.ci.meta.JavaType[] jdk.vm.ci.meta.JavaType jdk.vm.ci.code.CallingConvention
      StackMap stack:
            return
        end local 6 // jdk.vm.ci.code.CallingConvention cc
        end local 5 // jdk.vm.ci.meta.JavaType returnType
        end local 4 // jdk.vm.ci.meta.JavaType[] parameterTypes
        end local 3 // jdk.vm.ci.meta.Value[] parameter
        end local 2 // org.graalvm.compiler.core.amd64.AMD64NodeLIRBuilder gen
        end local 1 // org.graalvm.compiler.nodes.spi.NodeLIRBuilderTool generator
        end local 0 // org.graalvm.compiler.hotspot.amd64.AMD64RawNativeCallNode this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   17     0            this  Lorg/graalvm/compiler/hotspot/amd64/AMD64RawNativeCallNode;
            0   17     1       generator  Lorg/graalvm/compiler/nodes/spi/NodeLIRBuilderTool;
            1   17     2             gen  Lorg/graalvm/compiler/core/amd64/AMD64NodeLIRBuilder;
            2   17     3       parameter  [Ljdk/vm/ci/meta/Value;
            3   17     4  parameterTypes  [Ljdk/vm/ci/meta/JavaType;
            4    9     5               i  I
           10   17     5      returnType  Ljdk/vm/ci/meta/JavaType;
           13   17     6              cc  Ljdk/vm/ci/code/CallingConvention;
    MethodParameters:
           Name  Flags
      generator  

  private static int countFloatingTypeArguments(org.graalvm.compiler.graph.NodeInputList<org.graalvm.compiler.nodes.ValueNode>);
    descriptor: (Lorg/graalvm/compiler/graph/NodeInputList;)I
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=4, args_size=1
        start local 0 // org.graalvm.compiler.graph.NodeInputList args
         0: .line 118
            iconst_0
            istore 1 /* count */
        start local 1 // int count
         1: .line 119
            aload 0 /* args */
            invokevirtual org.graalvm.compiler.graph.NodeInputList.iterator:()Ljava/util/Iterator;
            astore 3
            goto 5
      StackMap locals: org.graalvm.compiler.graph.NodeInputList int top java.util.Iterator
      StackMap stack:
         2: aload 3
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.graalvm.compiler.nodes.ValueNode
            astore 2 /* n */
        start local 2 // org.graalvm.compiler.nodes.ValueNode n
         3: .line 120
            aload 2 /* n */
            invokevirtual org.graalvm.compiler.nodes.ValueNode.getStackKind:()Ljdk/vm/ci/meta/JavaKind;
            getstatic jdk.vm.ci.meta.JavaKind.Double:Ljdk/vm/ci/meta/JavaKind;
            if_acmpeq 4
            aload 2 /* n */
            invokevirtual org.graalvm.compiler.nodes.ValueNode.getStackKind:()Ljdk/vm/ci/meta/JavaKind;
            getstatic jdk.vm.ci.meta.JavaKind.Float:Ljdk/vm/ci/meta/JavaKind;
            if_acmpne 5
         4: .line 121
      StackMap locals: org.graalvm.compiler.graph.NodeInputList int org.graalvm.compiler.nodes.ValueNode java.util.Iterator
      StackMap stack:
            iinc 1 /* count */ 1
        end local 2 // org.graalvm.compiler.nodes.ValueNode n
         5: .line 119
      StackMap locals: org.graalvm.compiler.graph.NodeInputList int top java.util.Iterator
      StackMap stack:
            aload 3
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 2
         6: .line 124
            iload 1 /* count */
            bipush 8
            if_icmple 8
         7: .line 125
            bipush 8
            ireturn
         8: .line 127
      StackMap locals: org.graalvm.compiler.graph.NodeInputList int
      StackMap stack:
            iload 1 /* count */
            ireturn
        end local 1 // int count
        end local 0 // org.graalvm.compiler.graph.NodeInputList args
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    9     0   args  Lorg/graalvm/compiler/graph/NodeInputList<Lorg/graalvm/compiler/nodes/ValueNode;>;
            1    9     1  count  I
            3    5     2      n  Lorg/graalvm/compiler/nodes/ValueNode;
    Signature: (Lorg/graalvm/compiler/graph/NodeInputList<Lorg/graalvm/compiler/nodes/ValueNode;>;)I
    MethodParameters:
      Name  Flags
      args  
}
SourceFile: "AMD64RawNativeCallNode.java"
NestMembers:
  org.graalvm.compiler.hotspot.amd64.AMD64RawNativeCallNode$PointerType
InnerClasses:
  public abstract Type = jdk.vm.ci.code.CallingConvention$Type of jdk.vm.ci.code.CallingConvention
  public abstract Input = org.graalvm.compiler.graph.Node$Input of org.graalvm.compiler.graph.Node
  private PointerType = org.graalvm.compiler.hotspot.amd64.AMD64RawNativeCallNode$PointerType of org.graalvm.compiler.hotspot.amd64.AMD64RawNativeCallNode
    RuntimeVisibleAnnotations: 
      org.graalvm.compiler.nodeinfo.NodeInfo(cycles = org.graalvm.compiler.nodeinfo.NodeCycles.CYCLES_UNKNOWN:Lorg/graalvm/compiler/nodeinfo/NodeCycles;, cyclesRationale = "Native call is a block hole", size = org.graalvm.compiler.nodeinfo.NodeSize.SIZE_20:Lorg/graalvm/compiler/nodeinfo/NodeSize;)