public final class org.graalvm.compiler.nodes.virtual.CommitAllocationNode extends org.graalvm.compiler.nodes.FixedWithNextNode implements org.graalvm.compiler.nodes.spi.VirtualizableAllocation, org.graalvm.compiler.nodes.spi.Lowerable, 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.nodes.virtual.CommitAllocationNode
  super_class: org.graalvm.compiler.nodes.FixedWithNextNode
{
  public static final org.graalvm.compiler.graph.NodeClass<org.graalvm.compiler.nodes.virtual.CommitAllocationNode> TYPE;
    descriptor: Lorg/graalvm/compiler/graph/NodeClass;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    Signature: Lorg/graalvm/compiler/graph/NodeClass<Lorg/graalvm/compiler/nodes/virtual/CommitAllocationNode;>;

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

  org.graalvm.compiler.graph.NodeInputList<org.graalvm.compiler.nodes.ValueNode> values;
    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()

  org.graalvm.compiler.graph.NodeInputList<org.graalvm.compiler.nodes.java.MonitorIdNode> locks;
    descriptor: Lorg/graalvm/compiler/graph/NodeInputList;
    flags: (0x0000) 
    Signature: Lorg/graalvm/compiler/graph/NodeInputList<Lorg/graalvm/compiler/nodes/java/MonitorIdNode;>;
    RuntimeVisibleAnnotations: 
      org.graalvm.compiler.graph.Node$Input(value = org.graalvm.compiler.nodeinfo.InputType.Association:Lorg/graalvm/compiler/nodeinfo/InputType;)

  protected java.util.ArrayList<java.lang.Integer> lockIndexes;
    descriptor: Ljava/util/ArrayList;
    flags: (0x0004) ACC_PROTECTED
    Signature: Ljava/util/ArrayList<Ljava/lang/Integer;>;

  protected java.util.ArrayList<java.lang.Boolean> ensureVirtual;
    descriptor: Ljava/util/ArrayList;
    flags: (0x0004) ACC_PROTECTED
    Signature: Ljava/util/ArrayList<Ljava/lang/Boolean;>;

  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 61
            ldc Lorg/graalvm/compiler/nodes/virtual/CommitAllocationNode;
            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.nodes.virtual.CommitAllocationNode.$assertionsDisabled:Z
         3: .line 63
            ldc Lorg/graalvm/compiler/nodes/virtual/CommitAllocationNode;
            invokestatic org.graalvm.compiler.graph.NodeClass.create:(Ljava/lang/Class;)Lorg/graalvm/compiler/graph/NodeClass;
            putstatic org.graalvm.compiler.nodes.virtual.CommitAllocationNode.TYPE:Lorg/graalvm/compiler/graph/NodeClass;
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=1, args_size=1
        start local 0 // org.graalvm.compiler.nodes.virtual.CommitAllocationNode this
         0: .line 72
            aload 0 /* this */
            getstatic org.graalvm.compiler.nodes.virtual.CommitAllocationNode.TYPE:Lorg/graalvm/compiler/graph/NodeClass;
            invokestatic org.graalvm.compiler.core.common.type.StampFactory.forVoid:()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 65
            aload 0 /* this */
            new org.graalvm.compiler.graph.NodeInputList
            dup
            aload 0 /* this */
            invokespecial org.graalvm.compiler.graph.NodeInputList.<init>:(Lorg/graalvm/compiler/graph/Node;)V
            putfield org.graalvm.compiler.nodes.virtual.CommitAllocationNode.virtualObjects:Lorg/graalvm/compiler/graph/NodeInputList;
         2: .line 66
            aload 0 /* this */
            new org.graalvm.compiler.graph.NodeInputList
            dup
            aload 0 /* this */
            invokespecial org.graalvm.compiler.graph.NodeInputList.<init>:(Lorg/graalvm/compiler/graph/Node;)V
            putfield org.graalvm.compiler.nodes.virtual.CommitAllocationNode.values:Lorg/graalvm/compiler/graph/NodeInputList;
         3: .line 67
            aload 0 /* this */
            new org.graalvm.compiler.graph.NodeInputList
            dup
            aload 0 /* this */
            invokespecial org.graalvm.compiler.graph.NodeInputList.<init>:(Lorg/graalvm/compiler/graph/Node;)V
            putfield org.graalvm.compiler.nodes.virtual.CommitAllocationNode.locks:Lorg/graalvm/compiler/graph/NodeInputList;
         4: .line 68
            aload 0 /* this */
            new java.util.ArrayList
            dup
            iconst_1
            anewarray java.lang.Integer
            dup
            iconst_0
            iconst_0
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            invokestatic java.util.Arrays.asList:([Ljava/lang/Object;)Ljava/util/List;
            invokespecial java.util.ArrayList.<init>:(Ljava/util/Collection;)V
            putfield org.graalvm.compiler.nodes.virtual.CommitAllocationNode.lockIndexes:Ljava/util/ArrayList;
         5: .line 69
            aload 0 /* this */
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            putfield org.graalvm.compiler.nodes.virtual.CommitAllocationNode.ensureVirtual:Ljava/util/ArrayList;
         6: .line 73
            return
        end local 0 // org.graalvm.compiler.nodes.virtual.CommitAllocationNode this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    7     0  this  Lorg/graalvm/compiler/nodes/virtual/CommitAllocationNode;

  public java.util.List<org.graalvm.compiler.nodes.virtual.VirtualObjectNode> getVirtualObjects();
    descriptor: ()Ljava/util/List;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.graalvm.compiler.nodes.virtual.CommitAllocationNode this
         0: .line 76
            aload 0 /* this */
            getfield org.graalvm.compiler.nodes.virtual.CommitAllocationNode.virtualObjects:Lorg/graalvm/compiler/graph/NodeInputList;
            areturn
        end local 0 // org.graalvm.compiler.nodes.virtual.CommitAllocationNode this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/graalvm/compiler/nodes/virtual/CommitAllocationNode;
    Signature: ()Ljava/util/List<Lorg/graalvm/compiler/nodes/virtual/VirtualObjectNode;>;

  public java.util.List<org.graalvm.compiler.nodes.ValueNode> getValues();
    descriptor: ()Ljava/util/List;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.graalvm.compiler.nodes.virtual.CommitAllocationNode this
         0: .line 80
            aload 0 /* this */
            getfield org.graalvm.compiler.nodes.virtual.CommitAllocationNode.values:Lorg/graalvm/compiler/graph/NodeInputList;
            areturn
        end local 0 // org.graalvm.compiler.nodes.virtual.CommitAllocationNode this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/graalvm/compiler/nodes/virtual/CommitAllocationNode;
    Signature: ()Ljava/util/List<Lorg/graalvm/compiler/nodes/ValueNode;>;

  public java.util.List<org.graalvm.compiler.nodes.java.MonitorIdNode> getLocks(int);
    descriptor: (I)Ljava/util/List;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=2, args_size=2
        start local 0 // org.graalvm.compiler.nodes.virtual.CommitAllocationNode this
        start local 1 // int objIndex
         0: .line 84
            aload 0 /* this */
            getfield org.graalvm.compiler.nodes.virtual.CommitAllocationNode.locks:Lorg/graalvm/compiler/graph/NodeInputList;
            aload 0 /* this */
            getfield org.graalvm.compiler.nodes.virtual.CommitAllocationNode.lockIndexes:Ljava/util/ArrayList;
            iload 1 /* objIndex */
            invokevirtual java.util.ArrayList.get:(I)Ljava/lang/Object;
            checkcast java.lang.Integer
            invokevirtual java.lang.Integer.intValue:()I
            aload 0 /* this */
            getfield org.graalvm.compiler.nodes.virtual.CommitAllocationNode.lockIndexes:Ljava/util/ArrayList;
            iload 1 /* objIndex */
            iconst_1
            iadd
            invokevirtual java.util.ArrayList.get:(I)Ljava/lang/Object;
            checkcast java.lang.Integer
            invokevirtual java.lang.Integer.intValue:()I
            invokevirtual org.graalvm.compiler.graph.NodeInputList.subList:(II)Ljava/util/List;
            areturn
        end local 1 // int objIndex
        end local 0 // org.graalvm.compiler.nodes.virtual.CommitAllocationNode this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    1     0      this  Lorg/graalvm/compiler/nodes/virtual/CommitAllocationNode;
            0    1     1  objIndex  I
    Signature: (I)Ljava/util/List<Lorg/graalvm/compiler/nodes/java/MonitorIdNode;>;
    MethodParameters:
          Name  Flags
      objIndex  

  public java.util.List<java.lang.Boolean> getEnsureVirtual();
    descriptor: ()Ljava/util/List;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.graalvm.compiler.nodes.virtual.CommitAllocationNode this
         0: .line 88
            aload 0 /* this */
            getfield org.graalvm.compiler.nodes.virtual.CommitAllocationNode.ensureVirtual:Ljava/util/ArrayList;
            areturn
        end local 0 // org.graalvm.compiler.nodes.virtual.CommitAllocationNode this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/graalvm/compiler/nodes/virtual/CommitAllocationNode;
    Signature: ()Ljava/util/List<Ljava/lang/Boolean;>;

  public boolean verify();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=4, args_size=1
        start local 0 // org.graalvm.compiler.nodes.virtual.CommitAllocationNode this
         0: .line 93
            aload 0 /* this */
            aload 0 /* this */
            getfield org.graalvm.compiler.nodes.virtual.CommitAllocationNode.virtualObjects:Lorg/graalvm/compiler/graph/NodeInputList;
            invokevirtual org.graalvm.compiler.graph.NodeInputList.size:()I
            iconst_1
            iadd
            aload 0 /* this */
            getfield org.graalvm.compiler.nodes.virtual.CommitAllocationNode.lockIndexes:Ljava/util/ArrayList;
            invokevirtual java.util.ArrayList.size:()I
            if_icmpne 1
            iconst_1
            goto 2
      StackMap locals:
      StackMap stack: org.graalvm.compiler.nodes.virtual.CommitAllocationNode
         1: iconst_0
      StackMap locals: org.graalvm.compiler.nodes.virtual.CommitAllocationNode
      StackMap stack: org.graalvm.compiler.nodes.virtual.CommitAllocationNode int
         2: ldc "lockIndexes size doesn't match %s, %s"
            iconst_2
            anewarray java.lang.Object
            dup
            iconst_0
            aload 0 /* this */
            getfield org.graalvm.compiler.nodes.virtual.CommitAllocationNode.virtualObjects:Lorg/graalvm/compiler/graph/NodeInputList;
            aastore
            dup
            iconst_1
            aload 0 /* this */
            getfield org.graalvm.compiler.nodes.virtual.CommitAllocationNode.lockIndexes:Ljava/util/ArrayList;
            aastore
            invokevirtual org.graalvm.compiler.nodes.virtual.CommitAllocationNode.assertTrue:(ZLjava/lang/String;[Ljava/lang/Object;)Z
            pop
         3: .line 94
            aload 0 /* this */
            aload 0 /* this */
            getfield org.graalvm.compiler.nodes.virtual.CommitAllocationNode.lockIndexes:Ljava/util/ArrayList;
            aload 0 /* this */
            getfield org.graalvm.compiler.nodes.virtual.CommitAllocationNode.lockIndexes:Ljava/util/ArrayList;
            invokevirtual java.util.ArrayList.size:()I
            iconst_1
            isub
            invokevirtual java.util.ArrayList.get:(I)Ljava/lang/Object;
            checkcast java.lang.Integer
            invokevirtual java.lang.Integer.intValue:()I
            aload 0 /* this */
            getfield org.graalvm.compiler.nodes.virtual.CommitAllocationNode.locks:Lorg/graalvm/compiler/graph/NodeInputList;
            invokevirtual org.graalvm.compiler.graph.NodeInputList.size:()I
            if_icmpne 4
            iconst_1
            goto 5
      StackMap locals:
      StackMap stack: org.graalvm.compiler.nodes.virtual.CommitAllocationNode
         4: iconst_0
      StackMap locals: org.graalvm.compiler.nodes.virtual.CommitAllocationNode
      StackMap stack: org.graalvm.compiler.nodes.virtual.CommitAllocationNode int
         5: ldc "locks size doesn't match %s,%s"
            iconst_2
            anewarray java.lang.Object
            dup
            iconst_0
            aload 0 /* this */
            getfield org.graalvm.compiler.nodes.virtual.CommitAllocationNode.lockIndexes:Ljava/util/ArrayList;
            aastore
            dup
            iconst_1
            aload 0 /* this */
            getfield org.graalvm.compiler.nodes.virtual.CommitAllocationNode.locks:Lorg/graalvm/compiler/graph/NodeInputList;
            aastore
            invokevirtual org.graalvm.compiler.nodes.virtual.CommitAllocationNode.assertTrue:(ZLjava/lang/String;[Ljava/lang/Object;)Z
            pop
         6: .line 95
            iconst_0
            istore 1 /* valueCount */
        start local 1 // int valueCount
         7: .line 96
            aload 0 /* this */
            getfield org.graalvm.compiler.nodes.virtual.CommitAllocationNode.virtualObjects:Lorg/graalvm/compiler/graph/NodeInputList;
            invokevirtual org.graalvm.compiler.graph.NodeInputList.iterator:()Ljava/util/Iterator;
            astore 3
            goto 10
      StackMap locals: org.graalvm.compiler.nodes.virtual.CommitAllocationNode int top java.util.Iterator
      StackMap stack:
         8: aload 3
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.graalvm.compiler.nodes.virtual.VirtualObjectNode
            astore 2 /* virtual */
        start local 2 // org.graalvm.compiler.nodes.virtual.VirtualObjectNode virtual
         9: .line 97
            iload 1 /* valueCount */
            aload 2 /* virtual */
            invokevirtual org.graalvm.compiler.nodes.virtual.VirtualObjectNode.entryCount:()I
            iadd
            istore 1 /* valueCount */
        end local 2 // org.graalvm.compiler.nodes.virtual.VirtualObjectNode virtual
        10: .line 96
      StackMap locals:
      StackMap stack:
            aload 3
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 8
        11: .line 99
            aload 0 /* this */
            aload 0 /* this */
            getfield org.graalvm.compiler.nodes.virtual.CommitAllocationNode.values:Lorg/graalvm/compiler/graph/NodeInputList;
            invokevirtual org.graalvm.compiler.graph.NodeInputList.size:()I
            iload 1 /* valueCount */
            if_icmpne 12
            iconst_1
            goto 13
      StackMap locals: org.graalvm.compiler.nodes.virtual.CommitAllocationNode int
      StackMap stack: org.graalvm.compiler.nodes.virtual.CommitAllocationNode
        12: iconst_0
      StackMap locals: org.graalvm.compiler.nodes.virtual.CommitAllocationNode int
      StackMap stack: org.graalvm.compiler.nodes.virtual.CommitAllocationNode int
        13: ldc "values size doesn't match"
            iconst_0
            anewarray java.lang.Object
            invokevirtual org.graalvm.compiler.nodes.virtual.CommitAllocationNode.assertTrue:(ZLjava/lang/String;[Ljava/lang/Object;)Z
            pop
        14: .line 100
            aload 0 /* this */
            aload 0 /* this */
            getfield org.graalvm.compiler.nodes.virtual.CommitAllocationNode.virtualObjects:Lorg/graalvm/compiler/graph/NodeInputList;
            invokevirtual org.graalvm.compiler.graph.NodeInputList.size:()I
            aload 0 /* this */
            getfield org.graalvm.compiler.nodes.virtual.CommitAllocationNode.ensureVirtual:Ljava/util/ArrayList;
            invokevirtual java.util.ArrayList.size:()I
            if_icmpne 15
            iconst_1
            goto 16
      StackMap locals:
      StackMap stack: org.graalvm.compiler.nodes.virtual.CommitAllocationNode
        15: iconst_0
      StackMap locals: org.graalvm.compiler.nodes.virtual.CommitAllocationNode int
      StackMap stack: org.graalvm.compiler.nodes.virtual.CommitAllocationNode int
        16: ldc "ensureVirtual size doesn't match"
            iconst_0
            anewarray java.lang.Object
            invokevirtual org.graalvm.compiler.nodes.virtual.CommitAllocationNode.assertTrue:(ZLjava/lang/String;[Ljava/lang/Object;)Z
            pop
        17: .line 101
            aload 0 /* this */
            invokespecial org.graalvm.compiler.nodes.FixedWithNextNode.verify:()Z
            ireturn
        end local 1 // int valueCount
        end local 0 // org.graalvm.compiler.nodes.virtual.CommitAllocationNode this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   18     0        this  Lorg/graalvm/compiler/nodes/virtual/CommitAllocationNode;
            7   18     1  valueCount  I
            9   10     2     virtual  Lorg/graalvm/compiler/nodes/virtual/VirtualObjectNode;

  public void lower(org.graalvm.compiler.nodes.spi.LoweringTool);
    descriptor: (Lorg/graalvm/compiler/nodes/spi/LoweringTool;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // org.graalvm.compiler.nodes.virtual.CommitAllocationNode this
        start local 1 // org.graalvm.compiler.nodes.spi.LoweringTool tool
         0: .line 106
            iconst_0
            istore 2 /* i */
        start local 2 // int i
         1: goto 5
         2: .line 107
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield org.graalvm.compiler.nodes.virtual.CommitAllocationNode.ensureVirtual:Ljava/util/ArrayList;
            iload 2 /* i */
            invokevirtual java.util.ArrayList.get:(I)Ljava/lang/Object;
            checkcast java.lang.Boolean
            invokevirtual java.lang.Boolean.booleanValue:()Z
            ifeq 4
         3: .line 108
            aload 0 /* this */
            aload 0 /* this */
            getfield org.graalvm.compiler.nodes.virtual.CommitAllocationNode.virtualObjects:Lorg/graalvm/compiler/graph/NodeInputList;
            iload 2 /* i */
            invokevirtual org.graalvm.compiler.graph.NodeInputList.get:(I)Lorg/graalvm/compiler/graph/Node;
            checkcast org.graalvm.compiler.nodes.virtual.VirtualObjectNode
            invokevirtual org.graalvm.compiler.nodes.virtual.VirtualObjectNode.stamp:()Lorg/graalvm/compiler/core/common/type/Stamp;
            invokestatic org.graalvm.compiler.nodes.virtual.EnsureVirtualizedNode.ensureVirtualFailure:(Lorg/graalvm/compiler/graph/Node;Lorg/graalvm/compiler/core/common/type/Stamp;)V
         4: .line 106
      StackMap locals:
      StackMap stack:
            iinc 2 /* i */ 1
      StackMap locals:
      StackMap stack:
         5: iload 2 /* i */
            aload 0 /* this */
            getfield org.graalvm.compiler.nodes.virtual.CommitAllocationNode.virtualObjects:Lorg/graalvm/compiler/graph/NodeInputList;
            invokevirtual org.graalvm.compiler.graph.NodeInputList.size:()I
            if_icmplt 2
        end local 2 // int i
         6: .line 111
            aload 1 /* tool */
            invokeinterface org.graalvm.compiler.nodes.spi.LoweringTool.getLowerer:()Lorg/graalvm/compiler/nodes/spi/LoweringProvider;
            aload 0 /* this */
            aload 1 /* tool */
            invokeinterface org.graalvm.compiler.nodes.spi.LoweringProvider.lower:(Lorg/graalvm/compiler/graph/Node;Lorg/graalvm/compiler/nodes/spi/LoweringTool;)V
         7: .line 112
            return
        end local 1 // org.graalvm.compiler.nodes.spi.LoweringTool tool
        end local 0 // org.graalvm.compiler.nodes.virtual.CommitAllocationNode this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    8     0  this  Lorg/graalvm/compiler/nodes/virtual/CommitAllocationNode;
            0    8     1  tool  Lorg/graalvm/compiler/nodes/spi/LoweringTool;
            1    6     2     i  I
    MethodParameters:
      Name  Flags
      tool  

  public void afterClone(org.graalvm.compiler.graph.Node);
    descriptor: (Lorg/graalvm/compiler/graph/Node;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // org.graalvm.compiler.nodes.virtual.CommitAllocationNode this
        start local 1 // org.graalvm.compiler.graph.Node other
         0: .line 116
            aload 0 /* this */
            new java.util.ArrayList
            dup
            aload 0 /* this */
            getfield org.graalvm.compiler.nodes.virtual.CommitAllocationNode.lockIndexes:Ljava/util/ArrayList;
            invokespecial java.util.ArrayList.<init>:(Ljava/util/Collection;)V
            putfield org.graalvm.compiler.nodes.virtual.CommitAllocationNode.lockIndexes:Ljava/util/ArrayList;
         1: .line 117
            return
        end local 1 // org.graalvm.compiler.graph.Node other
        end local 0 // org.graalvm.compiler.nodes.virtual.CommitAllocationNode this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    2     0   this  Lorg/graalvm/compiler/nodes/virtual/CommitAllocationNode;
            0    2     1  other  Lorg/graalvm/compiler/graph/Node;
    MethodParameters:
       Name  Flags
      other  

  public void addLocks(java.util.List<org.graalvm.compiler.nodes.java.MonitorIdNode>);
    descriptor: (Ljava/util/List;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.graalvm.compiler.nodes.virtual.CommitAllocationNode this
        start local 1 // java.util.List monitorIds
         0: .line 120
            aload 0 /* this */
            getfield org.graalvm.compiler.nodes.virtual.CommitAllocationNode.locks:Lorg/graalvm/compiler/graph/NodeInputList;
            aload 1 /* monitorIds */
            invokevirtual org.graalvm.compiler.graph.NodeInputList.addAll:(Ljava/util/Collection;)Z
            pop
         1: .line 121
            aload 0 /* this */
            getfield org.graalvm.compiler.nodes.virtual.CommitAllocationNode.lockIndexes:Ljava/util/ArrayList;
            aload 0 /* this */
            getfield org.graalvm.compiler.nodes.virtual.CommitAllocationNode.locks:Lorg/graalvm/compiler/graph/NodeInputList;
            invokevirtual org.graalvm.compiler.graph.NodeInputList.size:()I
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
            pop
         2: .line 122
            return
        end local 1 // java.util.List monitorIds
        end local 0 // org.graalvm.compiler.nodes.virtual.CommitAllocationNode this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    3     0        this  Lorg/graalvm/compiler/nodes/virtual/CommitAllocationNode;
            0    3     1  monitorIds  Ljava/util/List<Lorg/graalvm/compiler/nodes/java/MonitorIdNode;>;
    Signature: (Ljava/util/List<Lorg/graalvm/compiler/nodes/java/MonitorIdNode;>;)V
    MethodParameters:
            Name  Flags
      monitorIds  

  public void virtualize(org.graalvm.compiler.nodes.spi.VirtualizerTool);
    descriptor: (Lorg/graalvm/compiler/nodes/spi/VirtualizerTool;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=6, args_size=2
        start local 0 // org.graalvm.compiler.nodes.virtual.CommitAllocationNode this
        start local 1 // org.graalvm.compiler.nodes.spi.VirtualizerTool tool
         0: .line 126
            iconst_0
            istore 2 /* pos */
        start local 2 // int pos
         1: .line 127
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         2: goto 8
         3: .line 128
      StackMap locals: int int
      StackMap stack:
            aload 0 /* this */
            getfield org.graalvm.compiler.nodes.virtual.CommitAllocationNode.virtualObjects:Lorg/graalvm/compiler/graph/NodeInputList;
            iload 3 /* i */
            invokevirtual org.graalvm.compiler.graph.NodeInputList.get:(I)Lorg/graalvm/compiler/graph/Node;
            checkcast org.graalvm.compiler.nodes.virtual.VirtualObjectNode
            astore 4 /* virtualObject */
        start local 4 // org.graalvm.compiler.nodes.virtual.VirtualObjectNode virtualObject
         4: .line 129
            aload 4 /* virtualObject */
            invokevirtual org.graalvm.compiler.nodes.virtual.VirtualObjectNode.entryCount:()I
            istore 5 /* entryCount */
        start local 5 // int entryCount
         5: .line 130
            aload 1 /* tool */
            aload 4 /* virtualObject */
            aload 0 /* this */
            getfield org.graalvm.compiler.nodes.virtual.CommitAllocationNode.values:Lorg/graalvm/compiler/graph/NodeInputList;
            iload 2 /* pos */
            iload 2 /* pos */
            iload 5 /* entryCount */
            iadd
            invokevirtual org.graalvm.compiler.graph.NodeInputList.subList:(II)Ljava/util/List;
            iload 5 /* entryCount */
            anewarray org.graalvm.compiler.nodes.ValueNode
            invokeinterface java.util.List.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
            checkcast org.graalvm.compiler.nodes.ValueNode[]
            aload 0 /* this */
            iload 3 /* i */
            invokevirtual org.graalvm.compiler.nodes.virtual.CommitAllocationNode.getLocks:(I)Ljava/util/List;
            aload 0 /* this */
            getfield org.graalvm.compiler.nodes.virtual.CommitAllocationNode.ensureVirtual:Ljava/util/ArrayList;
            iload 3 /* i */
            invokevirtual java.util.ArrayList.get:(I)Ljava/lang/Object;
            checkcast java.lang.Boolean
            invokevirtual java.lang.Boolean.booleanValue:()Z
            invokeinterface org.graalvm.compiler.nodes.spi.VirtualizerTool.createVirtualObject:(Lorg/graalvm/compiler/nodes/virtual/VirtualObjectNode;[Lorg/graalvm/compiler/nodes/ValueNode;Ljava/util/List;Z)V
         6: .line 131
            iload 2 /* pos */
            iload 5 /* entryCount */
            iadd
            istore 2 /* pos */
        end local 5 // int entryCount
        end local 4 // org.graalvm.compiler.nodes.virtual.VirtualObjectNode virtualObject
         7: .line 127
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
         8: iload 3 /* i */
            aload 0 /* this */
            getfield org.graalvm.compiler.nodes.virtual.CommitAllocationNode.virtualObjects:Lorg/graalvm/compiler/graph/NodeInputList;
            invokevirtual org.graalvm.compiler.graph.NodeInputList.size:()I
            if_icmplt 3
        end local 3 // int i
         9: .line 133
            aload 1 /* tool */
            invokeinterface org.graalvm.compiler.nodes.spi.VirtualizerTool.delete:()V
        10: .line 134
            return
        end local 2 // int pos
        end local 1 // org.graalvm.compiler.nodes.spi.VirtualizerTool tool
        end local 0 // org.graalvm.compiler.nodes.virtual.CommitAllocationNode this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   11     0           this  Lorg/graalvm/compiler/nodes/virtual/CommitAllocationNode;
            0   11     1           tool  Lorg/graalvm/compiler/nodes/spi/VirtualizerTool;
            1   11     2            pos  I
            2    9     3              i  I
            4    7     4  virtualObject  Lorg/graalvm/compiler/nodes/virtual/VirtualObjectNode;
            5    7     5     entryCount  I
    MethodParameters:
      Name  Flags
      tool  

  public java.util.Map<java.lang.Object, java.lang.Object> getDebugProperties(java.util.Map<java.lang.Object, java.lang.Object>);
    descriptor: (Ljava/util/Map;)Ljava/util/Map;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=9, args_size=2
        start local 0 // org.graalvm.compiler.nodes.virtual.CommitAllocationNode this
        start local 1 // java.util.Map map
         0: .line 138
            aload 0 /* this */
            aload 1 /* map */
            invokespecial org.graalvm.compiler.nodes.FixedWithNextNode.getDebugProperties:(Ljava/util/Map;)Ljava/util/Map;
            astore 2 /* properties */
        start local 2 // java.util.Map properties
         1: .line 139
            iconst_0
            istore 3 /* valuePos */
        start local 3 // int valuePos
         2: .line 140
            iconst_0
            istore 4 /* objIndex */
        start local 4 // int objIndex
         3: goto 25
         4: .line 141
      StackMap locals: java.util.Map int int
      StackMap stack:
            aload 0 /* this */
            getfield org.graalvm.compiler.nodes.virtual.CommitAllocationNode.virtualObjects:Lorg/graalvm/compiler/graph/NodeInputList;
            iload 4 /* objIndex */
            invokevirtual org.graalvm.compiler.graph.NodeInputList.get:(I)Lorg/graalvm/compiler/graph/Node;
            checkcast org.graalvm.compiler.nodes.virtual.VirtualObjectNode
            astore 5 /* virtual */
        start local 5 // org.graalvm.compiler.nodes.virtual.VirtualObjectNode virtual
         5: .line 142
            aload 5 /* virtual */
            ifnonnull 8
         6: .line 144
            aload 2 /* properties */
            new java.lang.StringBuilder
            dup
            ldc "object("
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 4 /* objIndex */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc ")"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            ldc "null"
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         7: .line 145
            goto 24
         8: .line 147
      StackMap locals: org.graalvm.compiler.nodes.virtual.VirtualObjectNode
      StackMap stack:
            new java.lang.StringBuilder
            dup
            invokespecial java.lang.StringBuilder.<init>:()V
            astore 6 /* s */
        start local 6 // java.lang.StringBuilder s
         9: .line 148
            aload 6 /* s */
            aload 5 /* virtual */
            invokevirtual org.graalvm.compiler.nodes.virtual.VirtualObjectNode.type:()Ljdk/vm/ci/meta/ResolvedJavaType;
            iconst_0
            invokeinterface jdk.vm.ci.meta.ResolvedJavaType.toJavaName:(Z)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "["
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        10: .line 149
            iconst_0
            istore 7 /* i */
        start local 7 // int i
        11: goto 19
        12: .line 150
      StackMap locals: java.lang.StringBuilder int
      StackMap stack:
            aload 0 /* this */
            getfield org.graalvm.compiler.nodes.virtual.CommitAllocationNode.values:Lorg/graalvm/compiler/graph/NodeInputList;
            iload 3 /* valuePos */
            iinc 3 /* valuePos */ 1
            invokevirtual org.graalvm.compiler.graph.NodeInputList.get:(I)Lorg/graalvm/compiler/graph/Node;
            checkcast org.graalvm.compiler.nodes.ValueNode
            astore 8 /* value */
        start local 8 // org.graalvm.compiler.nodes.ValueNode value
        13: .line 151
            aload 6 /* s */
            iload 7 /* i */
            ifne 14
            ldc ""
            goto 15
      StackMap locals: org.graalvm.compiler.nodes.virtual.CommitAllocationNode java.util.Map java.util.Map int int org.graalvm.compiler.nodes.virtual.VirtualObjectNode java.lang.StringBuilder int org.graalvm.compiler.nodes.ValueNode
      StackMap stack: java.lang.StringBuilder
        14: ldc ","
      StackMap locals: org.graalvm.compiler.nodes.virtual.CommitAllocationNode java.util.Map java.util.Map int int org.graalvm.compiler.nodes.virtual.VirtualObjectNode java.lang.StringBuilder int org.graalvm.compiler.nodes.ValueNode
      StackMap stack: java.lang.StringBuilder java.lang.String
        15: invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 8 /* value */
            ifnonnull 16
            ldc "_"
            goto 17
      StackMap locals:
      StackMap stack: java.lang.StringBuilder
        16: aload 8 /* value */
            getstatic org.graalvm.compiler.nodeinfo.Verbosity.Id:Lorg/graalvm/compiler/nodeinfo/Verbosity;
            invokevirtual org.graalvm.compiler.nodes.ValueNode.toString:(Lorg/graalvm/compiler/nodeinfo/Verbosity;)Ljava/lang/String;
      StackMap locals: org.graalvm.compiler.nodes.virtual.CommitAllocationNode java.util.Map java.util.Map int int org.graalvm.compiler.nodes.virtual.VirtualObjectNode java.lang.StringBuilder int org.graalvm.compiler.nodes.ValueNode
      StackMap stack: java.lang.StringBuilder java.lang.String
        17: invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        end local 8 // org.graalvm.compiler.nodes.ValueNode value
        18: .line 149
            iinc 7 /* i */ 1
      StackMap locals:
      StackMap stack:
        19: iload 7 /* i */
            aload 5 /* virtual */
            invokevirtual org.graalvm.compiler.nodes.virtual.VirtualObjectNode.entryCount:()I
            if_icmplt 12
        end local 7 // int i
        20: .line 153
            aload 6 /* s */
            ldc "]"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        21: .line 154
            aload 0 /* this */
            iload 4 /* objIndex */
            invokevirtual org.graalvm.compiler.nodes.virtual.CommitAllocationNode.getLocks:(I)Ljava/util/List;
            invokeinterface java.util.List.isEmpty:()Z
            ifne 23
        22: .line 155
            aload 6 /* s */
            ldc " locked("
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            iload 4 /* objIndex */
            invokevirtual org.graalvm.compiler.nodes.virtual.CommitAllocationNode.getLocks:(I)Ljava/util/List;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc ")"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        23: .line 157
      StackMap locals:
      StackMap stack:
            aload 2 /* properties */
            new java.lang.StringBuilder
            dup
            ldc "object("
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 5 /* virtual */
            getstatic org.graalvm.compiler.nodeinfo.Verbosity.Id:Lorg/graalvm/compiler/nodeinfo/Verbosity;
            invokevirtual org.graalvm.compiler.nodes.virtual.VirtualObjectNode.toString:(Lorg/graalvm/compiler/nodeinfo/Verbosity;)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc ")"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            aload 6 /* s */
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        end local 6 // java.lang.StringBuilder s
        end local 5 // org.graalvm.compiler.nodes.virtual.VirtualObjectNode virtual
        24: .line 140
      StackMap locals:
      StackMap stack:
            iinc 4 /* objIndex */ 1
      StackMap locals:
      StackMap stack:
        25: iload 4 /* objIndex */
            aload 0 /* this */
            getfield org.graalvm.compiler.nodes.virtual.CommitAllocationNode.virtualObjects:Lorg/graalvm/compiler/graph/NodeInputList;
            invokevirtual org.graalvm.compiler.graph.NodeInputList.size:()I
            if_icmplt 4
        end local 4 // int objIndex
        26: .line 159
            aload 2 /* properties */
            areturn
        end local 3 // int valuePos
        end local 2 // java.util.Map properties
        end local 1 // java.util.Map map
        end local 0 // org.graalvm.compiler.nodes.virtual.CommitAllocationNode this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   27     0        this  Lorg/graalvm/compiler/nodes/virtual/CommitAllocationNode;
            0   27     1         map  Ljava/util/Map<Ljava/lang/Object;Ljava/lang/Object;>;
            1   27     2  properties  Ljava/util/Map<Ljava/lang/Object;Ljava/lang/Object;>;
            2   27     3    valuePos  I
            3   26     4    objIndex  I
            5   24     5     virtual  Lorg/graalvm/compiler/nodes/virtual/VirtualObjectNode;
            9   24     6           s  Ljava/lang/StringBuilder;
           11   20     7           i  I
           13   18     8       value  Lorg/graalvm/compiler/nodes/ValueNode;
    Signature: (Ljava/util/Map<Ljava/lang/Object;Ljava/lang/Object;>;)Ljava/util/Map<Ljava/lang/Object;Ljava/lang/Object;>;
    MethodParameters:
      Name  Flags
      map   

  public void simplify(org.graalvm.compiler.graph.spi.SimplifierTool);
    descriptor: (Lorg/graalvm/compiler/graph/spi/SimplifierTool;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=13, args_size=2
        start local 0 // org.graalvm.compiler.nodes.virtual.CommitAllocationNode this
        start local 1 // org.graalvm.compiler.graph.spi.SimplifierTool tool
         0: .line 164
            aload 0 /* this */
            getfield org.graalvm.compiler.nodes.virtual.CommitAllocationNode.virtualObjects:Lorg/graalvm/compiler/graph/NodeInputList;
            invokevirtual org.graalvm.compiler.graph.NodeInputList.size:()I
            newarray 4
            astore 2 /* used */
        start local 2 // boolean[] used
         1: .line 165
            iconst_0
            istore 3 /* usedCount */
        start local 3 // int usedCount
         2: .line 166
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.nodes.virtual.CommitAllocationNode.usages:()Lorg/graalvm/compiler/graph/iterators/NodeIterable;
            invokeinterface org.graalvm.compiler.graph.iterators.NodeIterable.iterator:()Ljava/util/Iterator;
            astore 5
            goto 9
      StackMap locals: org.graalvm.compiler.nodes.virtual.CommitAllocationNode org.graalvm.compiler.graph.spi.SimplifierTool boolean[] int top java.util.Iterator
      StackMap stack:
         3: aload 5
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.graalvm.compiler.graph.Node
            astore 4 /* usage */
        start local 4 // org.graalvm.compiler.graph.Node usage
         4: .line 167
            aload 4 /* usage */
            checkcast org.graalvm.compiler.nodes.virtual.AllocatedObjectNode
            astore 6 /* addObject */
        start local 6 // org.graalvm.compiler.nodes.virtual.AllocatedObjectNode addObject
         5: .line 168
            aload 0 /* this */
            getfield org.graalvm.compiler.nodes.virtual.CommitAllocationNode.virtualObjects:Lorg/graalvm/compiler/graph/NodeInputList;
            aload 6 /* addObject */
            invokevirtual org.graalvm.compiler.nodes.virtual.AllocatedObjectNode.getVirtualObject:()Lorg/graalvm/compiler/nodes/virtual/VirtualObjectNode;
            invokevirtual org.graalvm.compiler.graph.NodeInputList.indexOf:(Ljava/lang/Object;)I
            istore 7 /* index */
        start local 7 // int index
         6: .line 169
            getstatic org.graalvm.compiler.nodes.virtual.CommitAllocationNode.$assertionsDisabled:Z
            ifne 7
            aload 2 /* used */
            iload 7 /* index */
            baload
            ifeq 7
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         7: .line 170
      StackMap locals: org.graalvm.compiler.nodes.virtual.CommitAllocationNode org.graalvm.compiler.graph.spi.SimplifierTool boolean[] int org.graalvm.compiler.graph.Node java.util.Iterator org.graalvm.compiler.nodes.virtual.AllocatedObjectNode int
      StackMap stack:
            aload 2 /* used */
            iload 7 /* index */
            iconst_1
            bastore
         8: .line 171
            iinc 3 /* usedCount */ 1
        end local 7 // int index
        end local 6 // org.graalvm.compiler.nodes.virtual.AllocatedObjectNode addObject
        end local 4 // org.graalvm.compiler.graph.Node usage
         9: .line 166
      StackMap locals: org.graalvm.compiler.nodes.virtual.CommitAllocationNode org.graalvm.compiler.graph.spi.SimplifierTool boolean[] int top java.util.Iterator
      StackMap stack:
            aload 5
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 3
        10: .line 173
            iload 3 /* usedCount */
            ifne 18
        11: .line 174
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.nodes.virtual.CommitAllocationNode.inputs:()Lorg/graalvm/compiler/graph/iterators/NodeIterable;
            invokeinterface org.graalvm.compiler.graph.iterators.NodeIterable.snapshot:()Ljava/util/List;
            astore 4 /* inputSnapshot */
        start local 4 // java.util.List inputSnapshot
        12: .line 175
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.nodes.virtual.CommitAllocationNode.graph:()Lorg/graalvm/compiler/nodes/StructuredGraph;
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph.removeFixed:(Lorg/graalvm/compiler/nodes/FixedWithNextNode;)V
        13: .line 176
            aload 4 /* inputSnapshot */
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 6
            goto 16
      StackMap locals: org.graalvm.compiler.nodes.virtual.CommitAllocationNode org.graalvm.compiler.graph.spi.SimplifierTool boolean[] int java.util.List top java.util.Iterator
      StackMap stack:
        14: aload 6
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.graalvm.compiler.graph.Node
            astore 5 /* input */
        start local 5 // org.graalvm.compiler.graph.Node input
        15: .line 177
            aload 1 /* tool */
            aload 5 /* input */
            invokeinterface org.graalvm.compiler.graph.spi.SimplifierTool.removeIfUnused:(Lorg/graalvm/compiler/graph/Node;)V
        end local 5 // org.graalvm.compiler.graph.Node input
        16: .line 176
      StackMap locals:
      StackMap stack:
            aload 6
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 14
        17: .line 179
            return
        end local 4 // java.util.List inputSnapshot
        18: .line 183
      StackMap locals: org.graalvm.compiler.nodes.virtual.CommitAllocationNode org.graalvm.compiler.graph.spi.SimplifierTool boolean[] int
      StackMap stack:
            iconst_0
            istore 4 /* progress */
        start local 4 // boolean progress
        19: .line 184
            iconst_0
            istore 5 /* valuePos */
        start local 5 // int valuePos
        20: .line 185
            iconst_0
            istore 6 /* objIndex */
        start local 6 // int objIndex
        21: goto 35
        22: .line 186
      StackMap locals: int int int
      StackMap stack:
            aload 0 /* this */
            getfield org.graalvm.compiler.nodes.virtual.CommitAllocationNode.virtualObjects:Lorg/graalvm/compiler/graph/NodeInputList;
            iload 6 /* objIndex */
            invokevirtual org.graalvm.compiler.graph.NodeInputList.get:(I)Lorg/graalvm/compiler/graph/Node;
            checkcast org.graalvm.compiler.nodes.virtual.VirtualObjectNode
            astore 7 /* virtualObject */
        start local 7 // org.graalvm.compiler.nodes.virtual.VirtualObjectNode virtualObject
        23: .line 187
            aload 2 /* used */
            iload 6 /* objIndex */
            baload
            ifeq 33
        24: .line 188
            iconst_0
            istore 8 /* i */
        start local 8 // int i
        25: goto 32
        26: .line 189
      StackMap locals: org.graalvm.compiler.nodes.virtual.VirtualObjectNode int
      StackMap stack:
            aload 0 /* this */
            getfield org.graalvm.compiler.nodes.virtual.CommitAllocationNode.virtualObjects:Lorg/graalvm/compiler/graph/NodeInputList;
            aload 0 /* this */
            getfield org.graalvm.compiler.nodes.virtual.CommitAllocationNode.values:Lorg/graalvm/compiler/graph/NodeInputList;
            iload 5 /* valuePos */
            iload 8 /* i */
            iadd
            invokevirtual org.graalvm.compiler.graph.NodeInputList.get:(I)Lorg/graalvm/compiler/graph/Node;
            invokevirtual org.graalvm.compiler.graph.NodeInputList.indexOf:(Ljava/lang/Object;)I
            istore 9 /* index */
        start local 9 // int index
        27: .line 190
            iload 9 /* index */
            iconst_m1
            if_icmpeq 31
            aload 2 /* used */
            iload 9 /* index */
            baload
            ifne 31
        28: .line 191
            iconst_1
            istore 4 /* progress */
        29: .line 192
            aload 2 /* used */
            iload 9 /* index */
            iconst_1
            bastore
        30: .line 193
            iinc 3 /* usedCount */ 1
        end local 9 // int index
        31: .line 188
      StackMap locals:
      StackMap stack:
            iinc 8 /* i */ 1
      StackMap locals:
      StackMap stack:
        32: iload 8 /* i */
            aload 7 /* virtualObject */
            invokevirtual org.graalvm.compiler.nodes.virtual.VirtualObjectNode.entryCount:()I
            if_icmplt 26
        end local 8 // int i
        33: .line 197
      StackMap locals:
      StackMap stack:
            iload 5 /* valuePos */
            aload 7 /* virtualObject */
            invokevirtual org.graalvm.compiler.nodes.virtual.VirtualObjectNode.entryCount:()I
            iadd
            istore 5 /* valuePos */
        end local 7 // org.graalvm.compiler.nodes.virtual.VirtualObjectNode virtualObject
        34: .line 185
            iinc 6 /* objIndex */ 1
      StackMap locals:
      StackMap stack:
        35: iload 6 /* objIndex */
            aload 0 /* this */
            getfield org.graalvm.compiler.nodes.virtual.CommitAllocationNode.virtualObjects:Lorg/graalvm/compiler/graph/NodeInputList;
            invokevirtual org.graalvm.compiler.graph.NodeInputList.size:()I
            if_icmplt 22
        end local 6 // int objIndex
        end local 5 // int valuePos
        36: .line 200
            iload 4 /* progress */
            ifne 18
        37: .line 202
            iload 3 /* usedCount */
            aload 0 /* this */
            getfield org.graalvm.compiler.nodes.virtual.CommitAllocationNode.virtualObjects:Lorg/graalvm/compiler/graph/NodeInputList;
            invokevirtual org.graalvm.compiler.graph.NodeInputList.size:()I
            if_icmpge 65
        38: .line 203
            new java.util.ArrayList
            dup
            iload 3 /* usedCount */
            invokespecial java.util.ArrayList.<init>:(I)V
            astore 5 /* newVirtualObjects */
        start local 5 // java.util.List newVirtualObjects
        39: .line 204
            new java.util.ArrayList
            dup
            iload 3 /* usedCount */
            invokespecial java.util.ArrayList.<init>:(I)V
            astore 6 /* newLocks */
        start local 6 // java.util.List newLocks
        40: .line 205
            new java.util.ArrayList
            dup
            iload 3 /* usedCount */
            iconst_1
            iadd
            invokespecial java.util.ArrayList.<init>:(I)V
            astore 7 /* newLockIndexes */
        start local 7 // java.util.ArrayList newLockIndexes
        41: .line 206
            new java.util.ArrayList
            dup
            iload 3 /* usedCount */
            invokespecial java.util.ArrayList.<init>:(I)V
            astore 8 /* newEnsureVirtual */
        start local 8 // java.util.ArrayList newEnsureVirtual
        42: .line 207
            aload 7 /* newLockIndexes */
            iconst_0
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
            pop
        43: .line 208
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 9 /* newValues */
        start local 9 // java.util.List newValues
        44: .line 209
            iconst_0
            istore 10 /* valuePos */
        start local 10 // int valuePos
        45: .line 210
            iconst_0
            istore 11 /* objIndex */
        start local 11 // int objIndex
        46: goto 56
        47: .line 211
      StackMap locals: org.graalvm.compiler.nodes.virtual.CommitAllocationNode org.graalvm.compiler.graph.spi.SimplifierTool boolean[] int int java.util.List java.util.List java.util.ArrayList java.util.ArrayList java.util.List int int
      StackMap stack:
            aload 0 /* this */
            getfield org.graalvm.compiler.nodes.virtual.CommitAllocationNode.virtualObjects:Lorg/graalvm/compiler/graph/NodeInputList;
            iload 11 /* objIndex */
            invokevirtual org.graalvm.compiler.graph.NodeInputList.get:(I)Lorg/graalvm/compiler/graph/Node;
            checkcast org.graalvm.compiler.nodes.virtual.VirtualObjectNode
            astore 12 /* virtualObject */
        start local 12 // org.graalvm.compiler.nodes.virtual.VirtualObjectNode virtualObject
        48: .line 212
            aload 2 /* used */
            iload 11 /* objIndex */
            baload
            ifeq 54
        49: .line 213
            aload 5 /* newVirtualObjects */
            aload 12 /* virtualObject */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        50: .line 214
            aload 6 /* newLocks */
            aload 0 /* this */
            iload 11 /* objIndex */
            invokevirtual org.graalvm.compiler.nodes.virtual.CommitAllocationNode.getLocks:(I)Ljava/util/List;
            invokeinterface java.util.List.addAll:(Ljava/util/Collection;)Z
            pop
        51: .line 215
            aload 7 /* newLockIndexes */
            aload 6 /* newLocks */
            invokeinterface java.util.List.size:()I
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
            pop
        52: .line 216
            aload 9 /* newValues */
            aload 0 /* this */
            getfield org.graalvm.compiler.nodes.virtual.CommitAllocationNode.values:Lorg/graalvm/compiler/graph/NodeInputList;
            iload 10 /* valuePos */
            iload 10 /* valuePos */
            aload 12 /* virtualObject */
            invokevirtual org.graalvm.compiler.nodes.virtual.VirtualObjectNode.entryCount:()I
            iadd
            invokevirtual org.graalvm.compiler.graph.NodeInputList.subList:(II)Ljava/util/List;
            invokeinterface java.util.List.addAll:(Ljava/util/Collection;)Z
            pop
        53: .line 217
            aload 8 /* newEnsureVirtual */
            aload 0 /* this */
            getfield org.graalvm.compiler.nodes.virtual.CommitAllocationNode.ensureVirtual:Ljava/util/ArrayList;
            iload 11 /* objIndex */
            invokevirtual java.util.ArrayList.get:(I)Ljava/lang/Object;
            checkcast java.lang.Boolean
            invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
            pop
        54: .line 219
      StackMap locals: org.graalvm.compiler.nodes.virtual.VirtualObjectNode
      StackMap stack:
            iload 10 /* valuePos */
            aload 12 /* virtualObject */
            invokevirtual org.graalvm.compiler.nodes.virtual.VirtualObjectNode.entryCount:()I
            iadd
            istore 10 /* valuePos */
        end local 12 // org.graalvm.compiler.nodes.virtual.VirtualObjectNode virtualObject
        55: .line 210
            iinc 11 /* objIndex */ 1
      StackMap locals:
      StackMap stack:
        56: iload 11 /* objIndex */
            aload 0 /* this */
            getfield org.graalvm.compiler.nodes.virtual.CommitAllocationNode.virtualObjects:Lorg/graalvm/compiler/graph/NodeInputList;
            invokevirtual org.graalvm.compiler.graph.NodeInputList.size:()I
            if_icmplt 47
        end local 11 // int objIndex
        57: .line 221
            aload 0 /* this */
            getfield org.graalvm.compiler.nodes.virtual.CommitAllocationNode.virtualObjects:Lorg/graalvm/compiler/graph/NodeInputList;
            invokevirtual org.graalvm.compiler.graph.NodeInputList.clear:()V
        58: .line 222
            aload 0 /* this */
            getfield org.graalvm.compiler.nodes.virtual.CommitAllocationNode.virtualObjects:Lorg/graalvm/compiler/graph/NodeInputList;
            aload 5 /* newVirtualObjects */
            invokevirtual org.graalvm.compiler.graph.NodeInputList.addAll:(Ljava/util/Collection;)Z
            pop
        59: .line 223
            aload 0 /* this */
            getfield org.graalvm.compiler.nodes.virtual.CommitAllocationNode.locks:Lorg/graalvm/compiler/graph/NodeInputList;
            invokevirtual org.graalvm.compiler.graph.NodeInputList.clear:()V
        60: .line 224
            aload 0 /* this */
            getfield org.graalvm.compiler.nodes.virtual.CommitAllocationNode.locks:Lorg/graalvm/compiler/graph/NodeInputList;
            aload 6 /* newLocks */
            invokevirtual org.graalvm.compiler.graph.NodeInputList.addAll:(Ljava/util/Collection;)Z
            pop
        61: .line 225
            aload 0 /* this */
            getfield org.graalvm.compiler.nodes.virtual.CommitAllocationNode.values:Lorg/graalvm/compiler/graph/NodeInputList;
            invokevirtual org.graalvm.compiler.graph.NodeInputList.clear:()V
        62: .line 226
            aload 0 /* this */
            getfield org.graalvm.compiler.nodes.virtual.CommitAllocationNode.values:Lorg/graalvm/compiler/graph/NodeInputList;
            aload 9 /* newValues */
            invokevirtual org.graalvm.compiler.graph.NodeInputList.addAll:(Ljava/util/Collection;)Z
            pop
        63: .line 227
            aload 0 /* this */
            aload 7 /* newLockIndexes */
            putfield org.graalvm.compiler.nodes.virtual.CommitAllocationNode.lockIndexes:Ljava/util/ArrayList;
        64: .line 228
            aload 0 /* this */
            aload 8 /* newEnsureVirtual */
            putfield org.graalvm.compiler.nodes.virtual.CommitAllocationNode.ensureVirtual:Ljava/util/ArrayList;
        end local 10 // int valuePos
        end local 9 // java.util.List newValues
        end local 8 // java.util.ArrayList newEnsureVirtual
        end local 7 // java.util.ArrayList newLockIndexes
        end local 6 // java.util.List newLocks
        end local 5 // java.util.List newVirtualObjects
        65: .line 230
      StackMap locals: org.graalvm.compiler.nodes.virtual.CommitAllocationNode org.graalvm.compiler.graph.spi.SimplifierTool boolean[] int int
      StackMap stack:
            return
        end local 4 // boolean progress
        end local 3 // int usedCount
        end local 2 // boolean[] used
        end local 1 // org.graalvm.compiler.graph.spi.SimplifierTool tool
        end local 0 // org.graalvm.compiler.nodes.virtual.CommitAllocationNode this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0   66     0               this  Lorg/graalvm/compiler/nodes/virtual/CommitAllocationNode;
            0   66     1               tool  Lorg/graalvm/compiler/graph/spi/SimplifierTool;
            1   66     2               used  [Z
            2   66     3          usedCount  I
            4    9     4              usage  Lorg/graalvm/compiler/graph/Node;
            5    9     6          addObject  Lorg/graalvm/compiler/nodes/virtual/AllocatedObjectNode;
            6    9     7              index  I
           12   18     4      inputSnapshot  Ljava/util/List<Lorg/graalvm/compiler/graph/Node;>;
           15   16     5              input  Lorg/graalvm/compiler/graph/Node;
           19   66     4           progress  Z
           20   36     5           valuePos  I
           21   36     6           objIndex  I
           23   34     7      virtualObject  Lorg/graalvm/compiler/nodes/virtual/VirtualObjectNode;
           25   33     8                  i  I
           27   31     9              index  I
           39   65     5  newVirtualObjects  Ljava/util/List<Lorg/graalvm/compiler/nodes/virtual/VirtualObjectNode;>;
           40   65     6           newLocks  Ljava/util/List<Lorg/graalvm/compiler/nodes/java/MonitorIdNode;>;
           41   65     7     newLockIndexes  Ljava/util/ArrayList<Ljava/lang/Integer;>;
           42   65     8   newEnsureVirtual  Ljava/util/ArrayList<Ljava/lang/Boolean;>;
           44   65     9          newValues  Ljava/util/List<Lorg/graalvm/compiler/nodes/ValueNode;>;
           45   65    10           valuePos  I
           46   57    11           objIndex  I
           48   55    12      virtualObject  Lorg/graalvm/compiler/nodes/virtual/VirtualObjectNode;
    MethodParameters:
      Name  Flags
      tool  

  public java.util.HashMap<org.graalvm.compiler.nodes.virtual.VirtualObjectNode, java.lang.Object[]> getVirtualObjectsArrays();
    descriptor: ()Ljava/util/HashMap;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=7, args_size=1
        start local 0 // org.graalvm.compiler.nodes.virtual.CommitAllocationNode this
         0: .line 239
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            astore 1 /* arrayValues */
        start local 1 // java.util.HashMap arrayValues
         1: .line 240
            iconst_0
            istore 2 /* pos */
        start local 2 // int pos
         2: .line 241
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         3: goto 10
         4: .line 242
      StackMap locals: java.util.HashMap int int
      StackMap stack:
            aload 0 /* this */
            getfield org.graalvm.compiler.nodes.virtual.CommitAllocationNode.virtualObjects:Lorg/graalvm/compiler/graph/NodeInputList;
            iload 3 /* i */
            invokevirtual org.graalvm.compiler.graph.NodeInputList.get:(I)Lorg/graalvm/compiler/graph/Node;
            checkcast org.graalvm.compiler.nodes.virtual.VirtualObjectNode
            astore 4 /* virtualObject */
        start local 4 // org.graalvm.compiler.nodes.virtual.VirtualObjectNode virtualObject
         5: .line 243
            aload 4 /* virtualObject */
            invokevirtual org.graalvm.compiler.nodes.virtual.VirtualObjectNode.entryCount:()I
            istore 5 /* entryCount */
        start local 5 // int entryCount
         6: .line 244
            aload 0 /* this */
            getfield org.graalvm.compiler.nodes.virtual.CommitAllocationNode.values:Lorg/graalvm/compiler/graph/NodeInputList;
            iload 2 /* pos */
            iload 2 /* pos */
            iload 5 /* entryCount */
            iadd
            invokevirtual org.graalvm.compiler.graph.NodeInputList.subList:(II)Ljava/util/List;
            iload 5 /* entryCount */
            anewarray org.graalvm.compiler.nodes.ValueNode
            invokeinterface java.util.List.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
            checkcast org.graalvm.compiler.nodes.ValueNode[]
            astore 6 /* array */
        start local 6 // org.graalvm.compiler.nodes.ValueNode[] array
         7: .line 245
            aload 1 /* arrayValues */
            aload 4 /* virtualObject */
            aload 6 /* array */
            invokevirtual java.util.HashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         8: .line 246
            iload 2 /* pos */
            iload 5 /* entryCount */
            iadd
            istore 2 /* pos */
        end local 6 // org.graalvm.compiler.nodes.ValueNode[] array
        end local 5 // int entryCount
        end local 4 // org.graalvm.compiler.nodes.virtual.VirtualObjectNode virtualObject
         9: .line 241
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
        10: iload 3 /* i */
            aload 0 /* this */
            getfield org.graalvm.compiler.nodes.virtual.CommitAllocationNode.virtualObjects:Lorg/graalvm/compiler/graph/NodeInputList;
            invokevirtual org.graalvm.compiler.graph.NodeInputList.size:()I
            if_icmplt 4
        end local 3 // int i
        11: .line 248
            aload 1 /* arrayValues */
            areturn
        end local 2 // int pos
        end local 1 // java.util.HashMap arrayValues
        end local 0 // org.graalvm.compiler.nodes.virtual.CommitAllocationNode this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   12     0           this  Lorg/graalvm/compiler/nodes/virtual/CommitAllocationNode;
            1   12     1    arrayValues  Ljava/util/HashMap<Lorg/graalvm/compiler/nodes/virtual/VirtualObjectNode;[Ljava/lang/Object;>;
            2   12     2            pos  I
            3   11     3              i  I
            5    9     4  virtualObject  Lorg/graalvm/compiler/nodes/virtual/VirtualObjectNode;
            6    9     5     entryCount  I
            7    9     6          array  [Lorg/graalvm/compiler/nodes/ValueNode;
    Signature: ()Ljava/util/HashMap<Lorg/graalvm/compiler/nodes/virtual/VirtualObjectNode;[Ljava/lang/Object;>;
}
SourceFile: "CommitAllocationNode.java"
InnerClasses:
  public abstract Input = org.graalvm.compiler.graph.Node$Input of org.graalvm.compiler.graph.Node
    RuntimeVisibleAnnotations: 
      org.graalvm.compiler.nodeinfo.NodeInfo(nameTemplate = "Alloc {i#virtualObjects}", allowedUsageTypes = {org.graalvm.compiler.nodeinfo.InputType.Extension:Lorg/graalvm/compiler/nodeinfo/InputType;}, cycles = org.graalvm.compiler.nodeinfo.NodeCycles.CYCLES_UNKNOWN:Lorg/graalvm/compiler/nodeinfo/NodeCycles;, cyclesRationale = "We don't know statically how many, and which, allocations are done.", size = org.graalvm.compiler.nodeinfo.NodeSize.SIZE_UNKNOWN:Lorg/graalvm/compiler/nodeinfo/NodeSize;, sizeRationale = "We don't know statically how much code for which allocations has to be generated.")