class com.oracle.truffle.js.nodes.function.JSFunctionCallNode$CallSpreadNode extends com.oracle.truffle.js.nodes.function.JSFunctionCallNode$CallNNode
  minor version: 0
  major version: 59
  flags: flags: (0x0020) ACC_SUPER
  this_class: com.oracle.truffle.js.nodes.function.JSFunctionCallNode$CallSpreadNode
  super_class: com.oracle.truffle.js.nodes.function.JSFunctionCallNode$CallNNode
{
  private final com.oracle.truffle.api.profiles.BranchProfile growProfile;
    descriptor: Lcom/oracle/truffle/api/profiles/BranchProfile;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  protected void <init>(com.oracle.truffle.js.nodes.JavaScriptNode, com.oracle.truffle.js.nodes.JavaScriptNode, com.oracle.truffle.js.nodes.JavaScriptNode[], byte);
    descriptor: (Lcom/oracle/truffle/js/nodes/JavaScriptNode;Lcom/oracle/truffle/js/nodes/JavaScriptNode;[Lcom/oracle/truffle/js/nodes/JavaScriptNode;B)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=5, locals=5, args_size=5
        start local 0 // com.oracle.truffle.js.nodes.function.JSFunctionCallNode$CallSpreadNode this
        start local 1 // com.oracle.truffle.js.nodes.JavaScriptNode targetNode
        start local 2 // com.oracle.truffle.js.nodes.JavaScriptNode functionNode
        start local 3 // com.oracle.truffle.js.nodes.JavaScriptNode[] arguments
        start local 4 // byte flags
         0: .line 657
            aload 0 /* this */
            aload 1 /* targetNode */
            aload 2 /* functionNode */
            aload 3 /* arguments */
            iload 4 /* flags */
            invokespecial com.oracle.truffle.js.nodes.function.JSFunctionCallNode$CallNNode.<init>:(Lcom/oracle/truffle/js/nodes/JavaScriptNode;Lcom/oracle/truffle/js/nodes/JavaScriptNode;[Lcom/oracle/truffle/js/nodes/JavaScriptNode;B)V
         1: .line 654
            aload 0 /* this */
            invokestatic com.oracle.truffle.api.profiles.BranchProfile.create:()Lcom/oracle/truffle/api/profiles/BranchProfile;
            putfield com.oracle.truffle.js.nodes.function.JSFunctionCallNode$CallSpreadNode.growProfile:Lcom/oracle/truffle/api/profiles/BranchProfile;
         2: .line 658
            return
        end local 4 // byte flags
        end local 3 // com.oracle.truffle.js.nodes.JavaScriptNode[] arguments
        end local 2 // com.oracle.truffle.js.nodes.JavaScriptNode functionNode
        end local 1 // com.oracle.truffle.js.nodes.JavaScriptNode targetNode
        end local 0 // com.oracle.truffle.js.nodes.function.JSFunctionCallNode$CallSpreadNode this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    3     0          this  Lcom/oracle/truffle/js/nodes/function/JSFunctionCallNode$CallSpreadNode;
            0    3     1    targetNode  Lcom/oracle/truffle/js/nodes/JavaScriptNode;
            0    3     2  functionNode  Lcom/oracle/truffle/js/nodes/JavaScriptNode;
            0    3     3     arguments  [Lcom/oracle/truffle/js/nodes/JavaScriptNode;
            0    3     4         flags  B
    MethodParameters:
              Name  Flags
      targetNode    
      functionNode  
      arguments     
      flags         

  protected java.lang.Object[] executeFillObjectArray(com.oracle.truffle.api.frame.VirtualFrame, java.lang.Object[], int);
    descriptor: (Lcom/oracle/truffle/api/frame/VirtualFrame;[Ljava/lang/Object;I)[Ljava/lang/Object;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=5, locals=4, args_size=4
        start local 0 // com.oracle.truffle.js.nodes.function.JSFunctionCallNode$CallSpreadNode this
        start local 1 // com.oracle.truffle.api.frame.VirtualFrame frame
        start local 2 // java.lang.Object[] args
        start local 3 // int delta
         0: .line 662
            aload 0 /* this */
            getfield com.oracle.truffle.js.nodes.function.JSFunctionCallNode$CallSpreadNode.arguments:[Lcom/oracle/truffle/js/nodes/JavaScriptNode;
            aload 1 /* frame */
            aload 2 /* args */
            iload 3 /* delta */
            aload 0 /* this */
            getfield com.oracle.truffle.js.nodes.function.JSFunctionCallNode$CallSpreadNode.growProfile:Lcom/oracle/truffle/api/profiles/BranchProfile;
            invokestatic com.oracle.truffle.js.nodes.function.JSFunctionCallNode$CallSpreadNode.executeFillObjectArraySpread:([Lcom/oracle/truffle/js/nodes/JavaScriptNode;Lcom/oracle/truffle/api/frame/VirtualFrame;[Ljava/lang/Object;ILcom/oracle/truffle/api/profiles/BranchProfile;)[Ljava/lang/Object;
            areturn
        end local 3 // int delta
        end local 2 // java.lang.Object[] args
        end local 1 // com.oracle.truffle.api.frame.VirtualFrame frame
        end local 0 // com.oracle.truffle.js.nodes.function.JSFunctionCallNode$CallSpreadNode this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0   this  Lcom/oracle/truffle/js/nodes/function/JSFunctionCallNode$CallSpreadNode;
            0    1     1  frame  Lcom/oracle/truffle/api/frame/VirtualFrame;
            0    1     2   args  [Ljava/lang/Object;
            0    1     3  delta  I
    MethodParameters:
       Name  Flags
      frame  
      args   
      delta  

  protected com.oracle.truffle.js.nodes.JavaScriptNode copyUninitialized(java.util.Set<java.lang.Class<? extends com.oracle.truffle.api.instrumentation.Tag>>);
    descriptor: (Ljava/util/Set;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=6, locals=2, args_size=2
        start local 0 // com.oracle.truffle.js.nodes.function.JSFunctionCallNode$CallSpreadNode this
        start local 1 // java.util.Set materializedTags
         0: .line 667
            new com.oracle.truffle.js.nodes.function.JSFunctionCallNode$CallSpreadNode
            dup
            aload 0 /* this */
            getfield com.oracle.truffle.js.nodes.function.JSFunctionCallNode$CallSpreadNode.targetNode:Lcom/oracle/truffle/js/nodes/JavaScriptNode;
            aload 1 /* materializedTags */
            invokestatic com.oracle.truffle.js.nodes.function.JSFunctionCallNode$CallSpreadNode.cloneUninitialized:(Lcom/oracle/truffle/js/nodes/JavaScriptNode;Ljava/util/Set;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
            aload 0 /* this */
            getfield com.oracle.truffle.js.nodes.function.JSFunctionCallNode$CallSpreadNode.functionNode:Lcom/oracle/truffle/js/nodes/JavaScriptNode;
            aload 1 /* materializedTags */
            invokestatic com.oracle.truffle.js.nodes.function.JSFunctionCallNode$CallSpreadNode.cloneUninitialized:(Lcom/oracle/truffle/js/nodes/JavaScriptNode;Ljava/util/Set;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
            aload 0 /* this */
            getfield com.oracle.truffle.js.nodes.function.JSFunctionCallNode$CallSpreadNode.arguments:[Lcom/oracle/truffle/js/nodes/JavaScriptNode;
            aload 1 /* materializedTags */
            invokestatic com.oracle.truffle.js.nodes.function.JSFunctionCallNode$CallSpreadNode.cloneUninitialized:([Lcom/oracle/truffle/js/nodes/JavaScriptNode;Ljava/util/Set;)[Lcom/oracle/truffle/js/nodes/JavaScriptNode;
            aload 0 /* this */
            getfield com.oracle.truffle.js.nodes.function.JSFunctionCallNode$CallSpreadNode.flags:B
            invokespecial com.oracle.truffle.js.nodes.function.JSFunctionCallNode$CallSpreadNode.<init>:(Lcom/oracle/truffle/js/nodes/JavaScriptNode;Lcom/oracle/truffle/js/nodes/JavaScriptNode;[Lcom/oracle/truffle/js/nodes/JavaScriptNode;B)V
            areturn
        end local 1 // java.util.Set materializedTags
        end local 0 // com.oracle.truffle.js.nodes.function.JSFunctionCallNode$CallSpreadNode this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0    1     0              this  Lcom/oracle/truffle/js/nodes/function/JSFunctionCallNode$CallSpreadNode;
            0    1     1  materializedTags  Ljava/util/Set<Ljava/lang/Class<+Lcom/oracle/truffle/api/instrumentation/Tag;>;>;
    Signature: (Ljava/util/Set<Ljava/lang/Class<+Lcom/oracle/truffle/api/instrumentation/Tag;>;>;)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
    MethodParameters:
                  Name  Flags
      materializedTags  
}
SourceFile: "JSFunctionCallNode.java"
NestHost: com.oracle.truffle.js.nodes.function.JSFunctionCallNode
InnerClasses:
  CallNNode = com.oracle.truffle.js.nodes.function.JSFunctionCallNode$CallNNode of com.oracle.truffle.js.nodes.function.JSFunctionCallNode
  CallSpreadNode = com.oracle.truffle.js.nodes.function.JSFunctionCallNode$CallSpreadNode of com.oracle.truffle.js.nodes.function.JSFunctionCallNode