public final class org.graalvm.compiler.nodes.LoopBeginNode extends org.graalvm.compiler.nodes.AbstractMergeNode implements org.graalvm.compiler.graph.IterableNodeType, 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.nodes.LoopBeginNode
  super_class: org.graalvm.compiler.nodes.AbstractMergeNode
{
  public static final org.graalvm.compiler.graph.NodeClass<org.graalvm.compiler.nodes.LoopBeginNode> 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/LoopBeginNode;>;

  protected double loopFrequency;
    descriptor: D
    flags: (0x0004) ACC_PROTECTED

  protected double loopOrigFrequency;
    descriptor: D
    flags: (0x0004) ACC_PROTECTED

  protected int nextEndIndex;
    descriptor: I
    flags: (0x0004) ACC_PROTECTED

  protected int unswitches;
    descriptor: I
    flags: (0x0004) ACC_PROTECTED

  protected int splits;
    descriptor: I
    flags: (0x0004) ACC_PROTECTED

  protected int inversionCount;
    descriptor: I
    flags: (0x0004) ACC_PROTECTED

  protected org.graalvm.compiler.nodes.LoopBeginNode$LoopType loopType;
    descriptor: Lorg/graalvm/compiler/nodes/LoopBeginNode$LoopType;
    flags: (0x0004) ACC_PROTECTED

  protected int unrollFactor;
    descriptor: I
    flags: (0x0004) ACC_PROTECTED

  boolean canEndsSafepoint;
    descriptor: Z
    flags: (0x0000) 

  org.graalvm.compiler.nodes.extended.GuardingNode overflowGuard;
    descriptor: Lorg/graalvm/compiler/nodes/extended/GuardingNode;
    flags: (0x0000) 
    RuntimeVisibleAnnotations: 
      org.graalvm.compiler.graph.Node$OptionalInput(value = org.graalvm.compiler.nodeinfo.InputType.Guard:Lorg/graalvm/compiler/nodeinfo/InputType;)

  private static final int NO_INCREMENT;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: -2147483648

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

  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // org.graalvm.compiler.nodes.LoopBeginNode this
         0: .line 70
            aload 0 /* this */
            getstatic org.graalvm.compiler.nodes.LoopBeginNode.TYPE:Lorg/graalvm/compiler/graph/NodeClass;
            invokespecial org.graalvm.compiler.nodes.AbstractMergeNode.<init>:(Lorg/graalvm/compiler/graph/NodeClass;)V
         1: .line 71
            aload 0 /* this */
            dconst_1
            putfield org.graalvm.compiler.nodes.LoopBeginNode.loopFrequency:D
         2: .line 72
            aload 0 /* this */
            dconst_1
            putfield org.graalvm.compiler.nodes.LoopBeginNode.loopOrigFrequency:D
         3: .line 73
            aload 0 /* this */
            iconst_0
            putfield org.graalvm.compiler.nodes.LoopBeginNode.unswitches:I
         4: .line 74
            aload 0 /* this */
            iconst_0
            putfield org.graalvm.compiler.nodes.LoopBeginNode.splits:I
         5: .line 75
            aload 0 /* this */
            iconst_1
            putfield org.graalvm.compiler.nodes.LoopBeginNode.canEndsSafepoint:Z
         6: .line 76
            aload 0 /* this */
            getstatic org.graalvm.compiler.nodes.LoopBeginNode$LoopType.SIMPLE_LOOP:Lorg/graalvm/compiler/nodes/LoopBeginNode$LoopType;
            putfield org.graalvm.compiler.nodes.LoopBeginNode.loopType:Lorg/graalvm/compiler/nodes/LoopBeginNode$LoopType;
         7: .line 77
            aload 0 /* this */
            iconst_1
            putfield org.graalvm.compiler.nodes.LoopBeginNode.unrollFactor:I
         8: .line 78
            return
        end local 0 // org.graalvm.compiler.nodes.LoopBeginNode this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    9     0  this  Lorg/graalvm/compiler/nodes/LoopBeginNode;

  public boolean isSimpleLoop();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.graalvm.compiler.nodes.LoopBeginNode this
         0: .line 81
            aload 0 /* this */
            getfield org.graalvm.compiler.nodes.LoopBeginNode.loopType:Lorg/graalvm/compiler/nodes/LoopBeginNode$LoopType;
            getstatic org.graalvm.compiler.nodes.LoopBeginNode$LoopType.SIMPLE_LOOP:Lorg/graalvm/compiler/nodes/LoopBeginNode$LoopType;
            if_acmpne 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 0 // org.graalvm.compiler.nodes.LoopBeginNode this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/graalvm/compiler/nodes/LoopBeginNode;

  public void setPreLoop();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.graalvm.compiler.nodes.LoopBeginNode this
         0: .line 85
            getstatic org.graalvm.compiler.nodes.LoopBeginNode.$assertionsDisabled:Z
            ifne 1
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.nodes.LoopBeginNode.isSimpleLoop:()Z
            ifne 1
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         1: .line 86
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getstatic org.graalvm.compiler.nodes.LoopBeginNode$LoopType.PRE_LOOP:Lorg/graalvm/compiler/nodes/LoopBeginNode$LoopType;
            putfield org.graalvm.compiler.nodes.LoopBeginNode.loopType:Lorg/graalvm/compiler/nodes/LoopBeginNode$LoopType;
         2: .line 87
            return
        end local 0 // org.graalvm.compiler.nodes.LoopBeginNode this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/graalvm/compiler/nodes/LoopBeginNode;

  public boolean isPreLoop();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.graalvm.compiler.nodes.LoopBeginNode this
         0: .line 90
            aload 0 /* this */
            getfield org.graalvm.compiler.nodes.LoopBeginNode.loopType:Lorg/graalvm/compiler/nodes/LoopBeginNode$LoopType;
            getstatic org.graalvm.compiler.nodes.LoopBeginNode$LoopType.PRE_LOOP:Lorg/graalvm/compiler/nodes/LoopBeginNode$LoopType;
            if_acmpne 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 0 // org.graalvm.compiler.nodes.LoopBeginNode this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/graalvm/compiler/nodes/LoopBeginNode;

  public void setMainLoop();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.graalvm.compiler.nodes.LoopBeginNode this
         0: .line 94
            getstatic org.graalvm.compiler.nodes.LoopBeginNode.$assertionsDisabled:Z
            ifne 1
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.nodes.LoopBeginNode.isSimpleLoop:()Z
            ifne 1
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         1: .line 95
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getstatic org.graalvm.compiler.nodes.LoopBeginNode$LoopType.MAIN_LOOP:Lorg/graalvm/compiler/nodes/LoopBeginNode$LoopType;
            putfield org.graalvm.compiler.nodes.LoopBeginNode.loopType:Lorg/graalvm/compiler/nodes/LoopBeginNode$LoopType;
         2: .line 96
            return
        end local 0 // org.graalvm.compiler.nodes.LoopBeginNode this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/graalvm/compiler/nodes/LoopBeginNode;

  public boolean isMainLoop();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.graalvm.compiler.nodes.LoopBeginNode this
         0: .line 99
            aload 0 /* this */
            getfield org.graalvm.compiler.nodes.LoopBeginNode.loopType:Lorg/graalvm/compiler/nodes/LoopBeginNode$LoopType;
            getstatic org.graalvm.compiler.nodes.LoopBeginNode$LoopType.MAIN_LOOP:Lorg/graalvm/compiler/nodes/LoopBeginNode$LoopType;
            if_acmpne 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 0 // org.graalvm.compiler.nodes.LoopBeginNode this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/graalvm/compiler/nodes/LoopBeginNode;

  public void setPostLoop();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.graalvm.compiler.nodes.LoopBeginNode this
         0: .line 103
            getstatic org.graalvm.compiler.nodes.LoopBeginNode.$assertionsDisabled:Z
            ifne 1
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.nodes.LoopBeginNode.isSimpleLoop:()Z
            ifne 1
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         1: .line 104
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getstatic org.graalvm.compiler.nodes.LoopBeginNode$LoopType.POST_LOOP:Lorg/graalvm/compiler/nodes/LoopBeginNode$LoopType;
            putfield org.graalvm.compiler.nodes.LoopBeginNode.loopType:Lorg/graalvm/compiler/nodes/LoopBeginNode$LoopType;
         2: .line 105
            return
        end local 0 // org.graalvm.compiler.nodes.LoopBeginNode this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/graalvm/compiler/nodes/LoopBeginNode;

  public boolean isPostLoop();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.graalvm.compiler.nodes.LoopBeginNode this
         0: .line 108
            aload 0 /* this */
            getfield org.graalvm.compiler.nodes.LoopBeginNode.loopType:Lorg/graalvm/compiler/nodes/LoopBeginNode$LoopType;
            getstatic org.graalvm.compiler.nodes.LoopBeginNode$LoopType.POST_LOOP:Lorg/graalvm/compiler/nodes/LoopBeginNode$LoopType;
            if_acmpne 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 0 // org.graalvm.compiler.nodes.LoopBeginNode this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/graalvm/compiler/nodes/LoopBeginNode;

  public int getUnrollFactor();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.graalvm.compiler.nodes.LoopBeginNode this
         0: .line 112
            aload 0 /* this */
            getfield org.graalvm.compiler.nodes.LoopBeginNode.unrollFactor:I
            ireturn
        end local 0 // org.graalvm.compiler.nodes.LoopBeginNode this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/graalvm/compiler/nodes/LoopBeginNode;

  public void setUnrollFactor(int);
    descriptor: (I)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.graalvm.compiler.nodes.LoopBeginNode this
        start local 1 // int currentUnrollFactor
         0: .line 116
            aload 0 /* this */
            iload 1 /* currentUnrollFactor */
            putfield org.graalvm.compiler.nodes.LoopBeginNode.unrollFactor:I
         1: .line 117
            return
        end local 1 // int currentUnrollFactor
        end local 0 // org.graalvm.compiler.nodes.LoopBeginNode this
      LocalVariableTable:
        Start  End  Slot                 Name  Signature
            0    2     0                 this  Lorg/graalvm/compiler/nodes/LoopBeginNode;
            0    2     1  currentUnrollFactor  I
    MethodParameters:
                     Name  Flags
      currentUnrollFactor  

  public void disableSafepoint();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=1
        start local 0 // org.graalvm.compiler.nodes.LoopBeginNode this
         0: .line 122
            aload 0 /* this */
            iconst_0
            putfield org.graalvm.compiler.nodes.LoopBeginNode.canEndsSafepoint:Z
         1: .line 124
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.nodes.LoopBeginNode.loopEnds:()Lorg/graalvm/compiler/graph/iterators/NodeIterable;
            invokeinterface org.graalvm.compiler.graph.iterators.NodeIterable.iterator:()Ljava/util/Iterator;
            astore 2
            goto 4
      StackMap locals: org.graalvm.compiler.nodes.LoopBeginNode top java.util.Iterator
      StackMap stack:
         2: aload 2
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.graalvm.compiler.nodes.LoopEndNode
            astore 1 /* loopEnd */
        start local 1 // org.graalvm.compiler.nodes.LoopEndNode loopEnd
         3: .line 125
            aload 1 /* loopEnd */
            invokevirtual org.graalvm.compiler.nodes.LoopEndNode.disableSafepoint:()V
        end local 1 // org.graalvm.compiler.nodes.LoopEndNode loopEnd
         4: .line 124
      StackMap locals:
      StackMap stack:
            aload 2
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 2
         5: .line 127
            return
        end local 0 // org.graalvm.compiler.nodes.LoopBeginNode this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    6     0     this  Lorg/graalvm/compiler/nodes/LoopBeginNode;
            3    4     1  loopEnd  Lorg/graalvm/compiler/nodes/LoopEndNode;

  public double loopOrigFrequency();
    descriptor: ()D
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.graalvm.compiler.nodes.LoopBeginNode this
         0: .line 130
            aload 0 /* this */
            getfield org.graalvm.compiler.nodes.LoopBeginNode.loopOrigFrequency:D
            dreturn
        end local 0 // org.graalvm.compiler.nodes.LoopBeginNode this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/graalvm/compiler/nodes/LoopBeginNode;

  public void setLoopOrigFrequency(double);
    descriptor: (D)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=2
        start local 0 // org.graalvm.compiler.nodes.LoopBeginNode this
        start local 1 // double loopOrigFrequency
         0: .line 134
            getstatic org.graalvm.compiler.nodes.LoopBeginNode.$assertionsDisabled:Z
            ifne 1
            dload 1 /* loopOrigFrequency */
            dconst_0
            dcmpl
            ifge 1
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         1: .line 135
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            dload 1 /* loopOrigFrequency */
            putfield org.graalvm.compiler.nodes.LoopBeginNode.loopOrigFrequency:D
         2: .line 136
            return
        end local 1 // double loopOrigFrequency
        end local 0 // org.graalvm.compiler.nodes.LoopBeginNode this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0    3     0               this  Lorg/graalvm/compiler/nodes/LoopBeginNode;
            0    3     1  loopOrigFrequency  D
    MethodParameters:
                   Name  Flags
      loopOrigFrequency  

  public double loopFrequency();
    descriptor: ()D
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.graalvm.compiler.nodes.LoopBeginNode this
         0: .line 139
            aload 0 /* this */
            getfield org.graalvm.compiler.nodes.LoopBeginNode.loopFrequency:D
            dreturn
        end local 0 // org.graalvm.compiler.nodes.LoopBeginNode this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/graalvm/compiler/nodes/LoopBeginNode;

  public void setLoopFrequency(double);
    descriptor: (D)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=2
        start local 0 // org.graalvm.compiler.nodes.LoopBeginNode this
        start local 1 // double loopFrequency
         0: .line 143
            getstatic org.graalvm.compiler.nodes.LoopBeginNode.$assertionsDisabled:Z
            ifne 1
            dload 1 /* loopFrequency */
            dconst_0
            dcmpl
            ifge 1
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         1: .line 144
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            dload 1 /* loopFrequency */
            putfield org.graalvm.compiler.nodes.LoopBeginNode.loopFrequency:D
         2: .line 145
            return
        end local 1 // double loopFrequency
        end local 0 // org.graalvm.compiler.nodes.LoopBeginNode this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    3     0           this  Lorg/graalvm/compiler/nodes/LoopBeginNode;
            0    3     1  loopFrequency  D
    MethodParameters:
               Name  Flags
      loopFrequency  

  public org.graalvm.compiler.graph.iterators.NodeIterable<org.graalvm.compiler.nodes.LoopEndNode> loopEnds();
    descriptor: ()Lorg/graalvm/compiler/graph/iterators/NodeIterable;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.graalvm.compiler.nodes.LoopBeginNode this
         0: .line 155
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.nodes.LoopBeginNode.usages:()Lorg/graalvm/compiler/graph/iterators/NodeIterable;
            ldc Lorg/graalvm/compiler/nodes/LoopEndNode;
            invokeinterface org.graalvm.compiler.graph.iterators.NodeIterable.filter:(Ljava/lang/Class;)Lorg/graalvm/compiler/graph/iterators/NodeIterable;
            areturn
        end local 0 // org.graalvm.compiler.nodes.LoopBeginNode this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/graalvm/compiler/nodes/LoopBeginNode;
    Signature: ()Lorg/graalvm/compiler/graph/iterators/NodeIterable<Lorg/graalvm/compiler/nodes/LoopEndNode;>;

  public org.graalvm.compiler.graph.iterators.NodeIterable<org.graalvm.compiler.nodes.LoopExitNode> loopExits();
    descriptor: ()Lorg/graalvm/compiler/graph/iterators/NodeIterable;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.graalvm.compiler.nodes.LoopBeginNode this
         0: .line 159
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.nodes.LoopBeginNode.usages:()Lorg/graalvm/compiler/graph/iterators/NodeIterable;
            ldc Lorg/graalvm/compiler/nodes/LoopExitNode;
            invokeinterface org.graalvm.compiler.graph.iterators.NodeIterable.filter:(Ljava/lang/Class;)Lorg/graalvm/compiler/graph/iterators/NodeIterable;
            areturn
        end local 0 // org.graalvm.compiler.nodes.LoopBeginNode this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/graalvm/compiler/nodes/LoopBeginNode;
    Signature: ()Lorg/graalvm/compiler/graph/iterators/NodeIterable<Lorg/graalvm/compiler/nodes/LoopExitNode;>;

  public org.graalvm.compiler.graph.iterators.NodeIterable<org.graalvm.compiler.graph.Node> anchored();
    descriptor: ()Lorg/graalvm/compiler/graph/iterators/NodeIterable;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // org.graalvm.compiler.nodes.LoopBeginNode this
         0: .line 164
            aload 0 /* this */
            invokespecial org.graalvm.compiler.nodes.AbstractMergeNode.anchored:()Lorg/graalvm/compiler/graph/iterators/NodeIterable;
            ldc Lorg/graalvm/compiler/nodes/LoopEndNode;
            invokestatic org.graalvm.compiler.graph.iterators.NodePredicates.isNotA:(Ljava/lang/Class;)Lorg/graalvm/compiler/graph/iterators/NodePredicates$NegativeTypePredicate;
            ldc Lorg/graalvm/compiler/nodes/LoopExitNode;
            invokevirtual org.graalvm.compiler.graph.iterators.NodePredicates$NegativeTypePredicate.nor:(Ljava/lang/Class;)Lorg/graalvm/compiler/graph/iterators/NodePredicates$NegativeTypePredicate;
            invokeinterface org.graalvm.compiler.graph.iterators.NodeIterable.filter:(Lorg/graalvm/compiler/graph/iterators/NodePredicate;)Lorg/graalvm/compiler/graph/iterators/FilteredNodeIterable;
            areturn
        end local 0 // org.graalvm.compiler.nodes.LoopBeginNode this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/graalvm/compiler/nodes/LoopBeginNode;
    Signature: ()Lorg/graalvm/compiler/graph/iterators/NodeIterable<Lorg/graalvm/compiler/graph/Node;>;

  public org.graalvm.compiler.nodes.LoopEndNode[] orderedLoopEnds();
    descriptor: ()[Lorg/graalvm/compiler/nodes/LoopEndNode;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=4, args_size=1
        start local 0 // org.graalvm.compiler.nodes.LoopBeginNode this
         0: .line 185
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.nodes.LoopBeginNode.getLoopEndCount:()I
            anewarray org.graalvm.compiler.nodes.LoopEndNode
            astore 1 /* result */
        start local 1 // org.graalvm.compiler.nodes.LoopEndNode[] result
         1: .line 186
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.nodes.LoopBeginNode.loopEnds:()Lorg/graalvm/compiler/graph/iterators/NodeIterable;
            invokeinterface org.graalvm.compiler.graph.iterators.NodeIterable.iterator:()Ljava/util/Iterator;
            astore 3
            goto 4
      StackMap locals: org.graalvm.compiler.nodes.LoopBeginNode org.graalvm.compiler.nodes.LoopEndNode[] top java.util.Iterator
      StackMap stack:
         2: aload 3
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.graalvm.compiler.nodes.LoopEndNode
            astore 2 /* end */
        start local 2 // org.graalvm.compiler.nodes.LoopEndNode end
         3: .line 187
            aload 1 /* result */
            aload 2 /* end */
            invokevirtual org.graalvm.compiler.nodes.LoopEndNode.endIndex:()I
            aload 2 /* end */
            aastore
        end local 2 // org.graalvm.compiler.nodes.LoopEndNode end
         4: .line 186
      StackMap locals:
      StackMap stack:
            aload 3
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 2
         5: .line 189
            aload 1 /* result */
            areturn
        end local 1 // org.graalvm.compiler.nodes.LoopEndNode[] result
        end local 0 // org.graalvm.compiler.nodes.LoopBeginNode this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    6     0    this  Lorg/graalvm/compiler/nodes/LoopBeginNode;
            1    6     1  result  [Lorg/graalvm/compiler/nodes/LoopEndNode;
            3    4     2     end  Lorg/graalvm/compiler/nodes/LoopEndNode;

  public boolean isSingleEntryLoop();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.graalvm.compiler.nodes.LoopBeginNode this
         0: .line 193
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.nodes.LoopBeginNode.forwardEndCount:()I
            iconst_1
            if_icmpne 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 0 // org.graalvm.compiler.nodes.LoopBeginNode this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/graalvm/compiler/nodes/LoopBeginNode;

  public org.graalvm.compiler.nodes.AbstractEndNode forwardEnd();
    descriptor: ()Lorg/graalvm/compiler/nodes/AbstractEndNode;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.graalvm.compiler.nodes.LoopBeginNode this
         0: .line 197
            getstatic org.graalvm.compiler.nodes.LoopBeginNode.$assertionsDisabled:Z
            ifne 1
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.nodes.LoopBeginNode.forwardEndCount:()I
            iconst_1
            if_icmpeq 1
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         1: .line 198
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_0
            invokevirtual org.graalvm.compiler.nodes.LoopBeginNode.forwardEndAt:(I)Lorg/graalvm/compiler/nodes/EndNode;
            areturn
        end local 0 // org.graalvm.compiler.nodes.LoopBeginNode this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/graalvm/compiler/nodes/LoopBeginNode;

  public int splits();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.graalvm.compiler.nodes.LoopBeginNode this
         0: .line 202
            aload 0 /* this */
            getfield org.graalvm.compiler.nodes.LoopBeginNode.splits:I
            ireturn
        end local 0 // org.graalvm.compiler.nodes.LoopBeginNode this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/graalvm/compiler/nodes/LoopBeginNode;

  public void incrementSplits();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // org.graalvm.compiler.nodes.LoopBeginNode this
         0: .line 206
            aload 0 /* this */
            dup
            getfield org.graalvm.compiler.nodes.LoopBeginNode.splits:I
            iconst_1
            iadd
            putfield org.graalvm.compiler.nodes.LoopBeginNode.splits:I
         1: .line 207
            return
        end local 0 // org.graalvm.compiler.nodes.LoopBeginNode this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/graalvm/compiler/nodes/LoopBeginNode;

  public void generate(org.graalvm.compiler.nodes.spi.NodeLIRBuilderTool);
    descriptor: (Lorg/graalvm/compiler/nodes/spi/NodeLIRBuilderTool;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=0, locals=2, args_size=2
        start local 0 // org.graalvm.compiler.nodes.LoopBeginNode this
        start local 1 // org.graalvm.compiler.nodes.spi.NodeLIRBuilderTool gen
         0: .line 212
            return
        end local 1 // org.graalvm.compiler.nodes.spi.NodeLIRBuilderTool gen
        end local 0 // org.graalvm.compiler.nodes.LoopBeginNode this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/graalvm/compiler/nodes/LoopBeginNode;
            0    1     1   gen  Lorg/graalvm/compiler/nodes/spi/NodeLIRBuilderTool;
    MethodParameters:
      Name  Flags
      gen   

  protected void deleteEnd(org.graalvm.compiler.nodes.AbstractEndNode);
    descriptor: (Lorg/graalvm/compiler/nodes/AbstractEndNode;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=3, locals=7, args_size=2
        start local 0 // org.graalvm.compiler.nodes.LoopBeginNode this
        start local 1 // org.graalvm.compiler.nodes.AbstractEndNode end
         0: .line 216
            aload 1 /* end */
            instanceof org.graalvm.compiler.nodes.LoopEndNode
            ifeq 13
         1: .line 217
            aload 1 /* end */
            checkcast org.graalvm.compiler.nodes.LoopEndNode
            astore 2 /* loopEnd */
        start local 2 // org.graalvm.compiler.nodes.LoopEndNode loopEnd
         2: .line 218
            aload 2 /* loopEnd */
            aconst_null
            invokevirtual org.graalvm.compiler.nodes.LoopEndNode.setLoopBegin:(Lorg/graalvm/compiler/nodes/LoopBeginNode;)V
         3: .line 219
            aload 2 /* loopEnd */
            invokevirtual org.graalvm.compiler.nodes.LoopEndNode.endIndex:()I
            istore 3 /* idx */
        start local 3 // int idx
         4: .line 220
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.nodes.LoopBeginNode.loopEnds:()Lorg/graalvm/compiler/graph/iterators/NodeIterable;
            invokeinterface org.graalvm.compiler.graph.iterators.NodeIterable.iterator:()Ljava/util/Iterator;
            astore 5
            goto 10
      StackMap locals: org.graalvm.compiler.nodes.LoopBeginNode org.graalvm.compiler.nodes.AbstractEndNode org.graalvm.compiler.nodes.LoopEndNode int top java.util.Iterator
      StackMap stack:
         5: aload 5
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.graalvm.compiler.nodes.LoopEndNode
            astore 4 /* le */
        start local 4 // org.graalvm.compiler.nodes.LoopEndNode le
         6: .line 221
            aload 4 /* le */
            invokevirtual org.graalvm.compiler.nodes.LoopEndNode.endIndex:()I
            istore 6 /* leIdx */
        start local 6 // int leIdx
         7: .line 222
            getstatic org.graalvm.compiler.nodes.LoopBeginNode.$assertionsDisabled:Z
            ifne 8
            iload 6 /* leIdx */
            iload 3 /* idx */
            if_icmpne 8
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         8: .line 223
      StackMap locals: org.graalvm.compiler.nodes.LoopBeginNode org.graalvm.compiler.nodes.AbstractEndNode org.graalvm.compiler.nodes.LoopEndNode int org.graalvm.compiler.nodes.LoopEndNode java.util.Iterator int
      StackMap stack:
            iload 6 /* leIdx */
            iload 3 /* idx */
            if_icmple 10
         9: .line 224
            aload 4 /* le */
            iload 6 /* leIdx */
            iconst_1
            isub
            invokevirtual org.graalvm.compiler.nodes.LoopEndNode.setEndIndex:(I)V
        end local 6 // int leIdx
        end local 4 // org.graalvm.compiler.nodes.LoopEndNode le
        10: .line 220
      StackMap locals: org.graalvm.compiler.nodes.LoopBeginNode org.graalvm.compiler.nodes.AbstractEndNode org.graalvm.compiler.nodes.LoopEndNode int top java.util.Iterator
      StackMap stack:
            aload 5
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 5
        11: .line 227
            aload 0 /* this */
            dup
            getfield org.graalvm.compiler.nodes.LoopBeginNode.nextEndIndex:I
            iconst_1
            isub
            putfield org.graalvm.compiler.nodes.LoopBeginNode.nextEndIndex:I
        end local 3 // int idx
        end local 2 // org.graalvm.compiler.nodes.LoopEndNode loopEnd
        12: .line 228
            goto 14
        13: .line 229
      StackMap locals: org.graalvm.compiler.nodes.LoopBeginNode org.graalvm.compiler.nodes.AbstractEndNode
      StackMap stack:
            aload 0 /* this */
            aload 1 /* end */
            invokespecial org.graalvm.compiler.nodes.AbstractMergeNode.deleteEnd:(Lorg/graalvm/compiler/nodes/AbstractEndNode;)V
        14: .line 231
      StackMap locals:
      StackMap stack:
            return
        end local 1 // org.graalvm.compiler.nodes.AbstractEndNode end
        end local 0 // org.graalvm.compiler.nodes.LoopBeginNode this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   15     0     this  Lorg/graalvm/compiler/nodes/LoopBeginNode;
            0   15     1      end  Lorg/graalvm/compiler/nodes/AbstractEndNode;
            2   12     2  loopEnd  Lorg/graalvm/compiler/nodes/LoopEndNode;
            4   12     3      idx  I
            6   10     4       le  Lorg/graalvm/compiler/nodes/LoopEndNode;
            7   10     6    leIdx  I
    MethodParameters:
      Name  Flags
      end   

  public int phiPredecessorCount();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.graalvm.compiler.nodes.LoopBeginNode this
         0: .line 235
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.nodes.LoopBeginNode.forwardEndCount:()I
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.nodes.LoopBeginNode.loopEnds:()Lorg/graalvm/compiler/graph/iterators/NodeIterable;
            invokeinterface org.graalvm.compiler.graph.iterators.NodeIterable.count:()I
            iadd
            ireturn
        end local 0 // org.graalvm.compiler.nodes.LoopBeginNode this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/graalvm/compiler/nodes/LoopBeginNode;

  public int phiPredecessorIndex(org.graalvm.compiler.nodes.AbstractEndNode);
    descriptor: (Lorg/graalvm/compiler/nodes/AbstractEndNode;)I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=3, args_size=2
        start local 0 // org.graalvm.compiler.nodes.LoopBeginNode this
        start local 1 // org.graalvm.compiler.nodes.AbstractEndNode pred
         0: .line 240
            aload 1 /* pred */
            instanceof org.graalvm.compiler.nodes.LoopEndNode
            ifeq 5
         1: .line 241
            aload 1 /* pred */
            checkcast org.graalvm.compiler.nodes.LoopEndNode
            astore 2 /* loopEnd */
        start local 2 // org.graalvm.compiler.nodes.LoopEndNode loopEnd
         2: .line 242
            aload 2 /* loopEnd */
            invokevirtual org.graalvm.compiler.nodes.LoopEndNode.loopBegin:()Lorg/graalvm/compiler/nodes/LoopBeginNode;
            aload 0 /* this */
            if_acmpne 6
         3: .line 243
            getstatic org.graalvm.compiler.nodes.LoopBeginNode.$assertionsDisabled:Z
            ifne 4
            aload 2 /* loopEnd */
            invokevirtual org.graalvm.compiler.nodes.LoopEndNode.endIndex:()I
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.nodes.LoopBeginNode.loopEnds:()Lorg/graalvm/compiler/graph/iterators/NodeIterable;
            invokeinterface org.graalvm.compiler.graph.iterators.NodeIterable.count:()I
            if_icmplt 4
            new java.lang.AssertionError
            dup
            new java.lang.StringBuilder
            dup
            ldc "Invalid endIndex : "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 2 /* loopEnd */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
         4: .line 244
      StackMap locals: org.graalvm.compiler.nodes.LoopEndNode
      StackMap stack:
            aload 2 /* loopEnd */
            invokevirtual org.graalvm.compiler.nodes.LoopEndNode.endIndex:()I
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.nodes.LoopBeginNode.forwardEndCount:()I
            iadd
            ireturn
        end local 2 // org.graalvm.compiler.nodes.LoopEndNode loopEnd
         5: .line 247
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* pred */
            checkcast org.graalvm.compiler.nodes.EndNode
            invokespecial org.graalvm.compiler.nodes.AbstractMergeNode.forwardEndIndex:(Lorg/graalvm/compiler/nodes/EndNode;)I
            ireturn
         6: .line 249
      StackMap locals:
      StackMap stack:
            new java.lang.StringBuilder
            dup
            ldc "unknown pred : "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* pred */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokestatic org.graalvm.compiler.nodes.ValueNodeUtil.shouldNotReachHere:(Ljava/lang/String;)Ljava/lang/RuntimeException;
            athrow
        end local 1 // org.graalvm.compiler.nodes.AbstractEndNode pred
        end local 0 // org.graalvm.compiler.nodes.LoopBeginNode this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    7     0     this  Lorg/graalvm/compiler/nodes/LoopBeginNode;
            0    7     1     pred  Lorg/graalvm/compiler/nodes/AbstractEndNode;
            2    5     2  loopEnd  Lorg/graalvm/compiler/nodes/LoopEndNode;
    MethodParameters:
      Name  Flags
      pred  

  public org.graalvm.compiler.nodes.AbstractEndNode phiPredecessorAt(int);
    descriptor: (I)Lorg/graalvm/compiler/nodes/AbstractEndNode;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=5, args_size=2
        start local 0 // org.graalvm.compiler.nodes.LoopBeginNode this
        start local 1 // int index
         0: .line 254
            iload 1 /* index */
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.nodes.LoopBeginNode.forwardEndCount:()I
            if_icmpge 2
         1: .line 255
            aload 0 /* this */
            iload 1 /* index */
            invokevirtual org.graalvm.compiler.nodes.LoopBeginNode.forwardEndAt:(I)Lorg/graalvm/compiler/nodes/EndNode;
            areturn
         2: .line 257
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.nodes.LoopBeginNode.loopEnds:()Lorg/graalvm/compiler/graph/iterators/NodeIterable;
            invokeinterface org.graalvm.compiler.graph.iterators.NodeIterable.iterator:()Ljava/util/Iterator;
            astore 3
            goto 8
      StackMap locals: org.graalvm.compiler.nodes.LoopBeginNode int top java.util.Iterator
      StackMap stack:
         3: aload 3
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.graalvm.compiler.nodes.LoopEndNode
            astore 2 /* end */
        start local 2 // org.graalvm.compiler.nodes.LoopEndNode end
         4: .line 258
            iload 1 /* index */
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.nodes.LoopBeginNode.forwardEndCount:()I
            isub
            istore 4 /* idx */
        start local 4 // int idx
         5: .line 259
            getstatic org.graalvm.compiler.nodes.LoopBeginNode.$assertionsDisabled:Z
            ifne 6
            iload 4 /* idx */
            ifge 6
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         6: .line 260
      StackMap locals: org.graalvm.compiler.nodes.LoopBeginNode int org.graalvm.compiler.nodes.LoopEndNode java.util.Iterator int
      StackMap stack:
            aload 2 /* end */
            invokevirtual org.graalvm.compiler.nodes.LoopEndNode.endIndex:()I
            iload 4 /* idx */
            if_icmpne 8
         7: .line 261
            aload 2 /* end */
            areturn
        end local 4 // int idx
        end local 2 // org.graalvm.compiler.nodes.LoopEndNode end
         8: .line 257
      StackMap locals: org.graalvm.compiler.nodes.LoopBeginNode int top java.util.Iterator
      StackMap stack:
            aload 3
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 3
         9: .line 264
            invokestatic org.graalvm.compiler.nodes.ValueNodeUtil.shouldNotReachHere:()Ljava/lang/RuntimeException;
            athrow
        end local 1 // int index
        end local 0 // org.graalvm.compiler.nodes.LoopBeginNode this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   10     0   this  Lorg/graalvm/compiler/nodes/LoopBeginNode;
            0   10     1  index  I
            4    8     2    end  Lorg/graalvm/compiler/nodes/LoopEndNode;
            5    8     4    idx  I
    MethodParameters:
       Name  Flags
      index  

  public boolean verify();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // org.graalvm.compiler.nodes.LoopBeginNode this
         0: .line 269
            aload 0 /* this */
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.nodes.LoopBeginNode.loopEnds:()Lorg/graalvm/compiler/graph/iterators/NodeIterable;
            invokeinterface org.graalvm.compiler.graph.iterators.NodeIterable.isNotEmpty:()Z
            ldc "missing loopEnd"
            iconst_0
            anewarray java.lang.Object
            invokevirtual org.graalvm.compiler.nodes.LoopBeginNode.assertTrue:(ZLjava/lang/String;[Ljava/lang/Object;)Z
            pop
         1: .line 270
            aload 0 /* this */
            invokespecial org.graalvm.compiler.nodes.AbstractMergeNode.verify:()Z
            ireturn
        end local 0 // org.graalvm.compiler.nodes.LoopBeginNode this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/graalvm/compiler/nodes/LoopBeginNode;

  int nextEndIndex();
    descriptor: ()I
    flags: (0x0000) 
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // org.graalvm.compiler.nodes.LoopBeginNode this
         0: .line 274
            aload 0 /* this */
            dup
            getfield org.graalvm.compiler.nodes.LoopBeginNode.nextEndIndex:I
            dup_x1
            iconst_1
            iadd
            putfield org.graalvm.compiler.nodes.LoopBeginNode.nextEndIndex:I
            ireturn
        end local 0 // org.graalvm.compiler.nodes.LoopBeginNode this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/graalvm/compiler/nodes/LoopBeginNode;

  public int getLoopEndCount();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.graalvm.compiler.nodes.LoopBeginNode this
         0: .line 278
            aload 0 /* this */
            getfield org.graalvm.compiler.nodes.LoopBeginNode.nextEndIndex:I
            ireturn
        end local 0 // org.graalvm.compiler.nodes.LoopBeginNode this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/graalvm/compiler/nodes/LoopBeginNode;

  public int unswitches();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.graalvm.compiler.nodes.LoopBeginNode this
         0: .line 282
            aload 0 /* this */
            getfield org.graalvm.compiler.nodes.LoopBeginNode.unswitches:I
            ireturn
        end local 0 // org.graalvm.compiler.nodes.LoopBeginNode this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/graalvm/compiler/nodes/LoopBeginNode;

  public void incrementUnswitches();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // org.graalvm.compiler.nodes.LoopBeginNode this
         0: .line 286
            aload 0 /* this */
            dup
            getfield org.graalvm.compiler.nodes.LoopBeginNode.unswitches:I
            iconst_1
            iadd
            putfield org.graalvm.compiler.nodes.LoopBeginNode.unswitches:I
         1: .line 287
            return
        end local 0 // org.graalvm.compiler.nodes.LoopBeginNode this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/graalvm/compiler/nodes/LoopBeginNode;

  public int getInversionCount();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.graalvm.compiler.nodes.LoopBeginNode this
         0: .line 290
            aload 0 /* this */
            getfield org.graalvm.compiler.nodes.LoopBeginNode.inversionCount:I
            ireturn
        end local 0 // org.graalvm.compiler.nodes.LoopBeginNode this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/graalvm/compiler/nodes/LoopBeginNode;

  public void setInversionCount(int);
    descriptor: (I)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.graalvm.compiler.nodes.LoopBeginNode this
        start local 1 // int count
         0: .line 294
            aload 0 /* this */
            iload 1 /* count */
            putfield org.graalvm.compiler.nodes.LoopBeginNode.inversionCount:I
         1: .line 295
            return
        end local 1 // int count
        end local 0 // org.graalvm.compiler.nodes.LoopBeginNode this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    2     0   this  Lorg/graalvm/compiler/nodes/LoopBeginNode;
            0    2     1  count  I
    MethodParameters:
       Name  Flags
      count  

  public void simplify(org.graalvm.compiler.graph.spi.SimplifierTool);
    descriptor: (Lorg/graalvm/compiler/graph/spi/SimplifierTool;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.graalvm.compiler.nodes.LoopBeginNode this
        start local 1 // org.graalvm.compiler.graph.spi.SimplifierTool tool
         0: .line 299
            aload 0 /* this */
            aload 1 /* tool */
            invokevirtual org.graalvm.compiler.nodes.LoopBeginNode.canonicalizePhis:(Lorg/graalvm/compiler/graph/spi/SimplifierTool;)V
         1: .line 300
            return
        end local 1 // org.graalvm.compiler.graph.spi.SimplifierTool tool
        end local 0 // org.graalvm.compiler.nodes.LoopBeginNode this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/graalvm/compiler/nodes/LoopBeginNode;
            0    2     1  tool  Lorg/graalvm/compiler/graph/spi/SimplifierTool;
    MethodParameters:
      Name  Flags
      tool  

  public boolean isLoopExit(org.graalvm.compiler.nodes.AbstractBeginNode);
    descriptor: (Lorg/graalvm/compiler/nodes/AbstractBeginNode;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.graalvm.compiler.nodes.LoopBeginNode this
        start local 1 // org.graalvm.compiler.nodes.AbstractBeginNode begin
         0: .line 303
            aload 1 /* begin */
            instanceof org.graalvm.compiler.nodes.LoopExitNode
            ifeq 1
            aload 1 /* begin */
            checkcast org.graalvm.compiler.nodes.LoopExitNode
            invokevirtual org.graalvm.compiler.nodes.LoopExitNode.loopBegin:()Lorg/graalvm/compiler/nodes/LoopBeginNode;
            aload 0 /* this */
            if_acmpne 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 1 // org.graalvm.compiler.nodes.AbstractBeginNode begin
        end local 0 // org.graalvm.compiler.nodes.LoopBeginNode this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    2     0   this  Lorg/graalvm/compiler/nodes/LoopBeginNode;
            0    2     1  begin  Lorg/graalvm/compiler/nodes/AbstractBeginNode;
    MethodParameters:
       Name  Flags
      begin  

  public org.graalvm.compiler.nodes.LoopExitNode getSingleLoopExit();
    descriptor: ()Lorg/graalvm/compiler/nodes/LoopExitNode;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.graalvm.compiler.nodes.LoopBeginNode this
         0: .line 307
            getstatic org.graalvm.compiler.nodes.LoopBeginNode.$assertionsDisabled:Z
            ifne 1
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.nodes.LoopBeginNode.loopExits:()Lorg/graalvm/compiler/graph/iterators/NodeIterable;
            invokeinterface org.graalvm.compiler.graph.iterators.NodeIterable.count:()I
            iconst_1
            if_icmpeq 1
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         1: .line 308
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.nodes.LoopBeginNode.loopExits:()Lorg/graalvm/compiler/graph/iterators/NodeIterable;
            invokeinterface org.graalvm.compiler.graph.iterators.NodeIterable.first:()Lorg/graalvm/compiler/graph/Node;
            checkcast org.graalvm.compiler.nodes.LoopExitNode
            areturn
        end local 0 // org.graalvm.compiler.nodes.LoopBeginNode this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/graalvm/compiler/nodes/LoopBeginNode;

  public org.graalvm.compiler.nodes.LoopEndNode getSingleLoopEnd();
    descriptor: ()Lorg/graalvm/compiler/nodes/LoopEndNode;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.graalvm.compiler.nodes.LoopBeginNode this
         0: .line 312
            getstatic org.graalvm.compiler.nodes.LoopBeginNode.$assertionsDisabled:Z
            ifne 1
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.nodes.LoopBeginNode.loopEnds:()Lorg/graalvm/compiler/graph/iterators/NodeIterable;
            invokeinterface org.graalvm.compiler.graph.iterators.NodeIterable.count:()I
            iconst_1
            if_icmpeq 1
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         1: .line 313
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.nodes.LoopBeginNode.loopEnds:()Lorg/graalvm/compiler/graph/iterators/NodeIterable;
            invokeinterface org.graalvm.compiler.graph.iterators.NodeIterable.first:()Lorg/graalvm/compiler/graph/Node;
            checkcast org.graalvm.compiler.nodes.LoopEndNode
            areturn
        end local 0 // org.graalvm.compiler.nodes.LoopBeginNode this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/graalvm/compiler/nodes/LoopBeginNode;

  public void removeExits();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=7, args_size=1
        start local 0 // org.graalvm.compiler.nodes.LoopBeginNode this
         0: .line 318
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.nodes.LoopBeginNode.loopExits:()Lorg/graalvm/compiler/graph/iterators/NodeIterable;
            invokeinterface org.graalvm.compiler.graph.iterators.NodeIterable.snapshot:()Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 2
            goto 15
      StackMap locals: org.graalvm.compiler.nodes.LoopBeginNode top java.util.Iterator
      StackMap stack:
         1: aload 2
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.graalvm.compiler.nodes.LoopExitNode
            astore 1 /* loopexit */
        start local 1 // org.graalvm.compiler.nodes.LoopExitNode loopexit
         2: .line 319
            aconst_null
            astore 3
            aconst_null
            astore 4
         3: aload 0 /* this */
            invokevirtual org.graalvm.compiler.nodes.LoopBeginNode.graph:()Lorg/graalvm/compiler/nodes/StructuredGraph;
            aload 1 /* loopexit */
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph.withNodeSourcePosition:(Lorg/graalvm/compiler/graph/Node;)Lorg/graalvm/compiler/debug/DebugCloseable;
            astore 5 /* position */
        start local 5 // org.graalvm.compiler.debug.DebugCloseable position
         4: .line 320
            aload 1 /* loopexit */
            invokevirtual org.graalvm.compiler.nodes.LoopExitNode.removeProxies:()V
         5: .line 321
            aload 1 /* loopexit */
            invokevirtual org.graalvm.compiler.nodes.LoopExitNode.stateAfter:()Lorg/graalvm/compiler/nodes/FrameState;
            astore 6 /* loopStateAfter */
        start local 6 // org.graalvm.compiler.nodes.FrameState loopStateAfter
         6: .line 322
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.nodes.LoopBeginNode.graph:()Lorg/graalvm/compiler/nodes/StructuredGraph;
            aload 1 /* loopexit */
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.nodes.LoopBeginNode.graph:()Lorg/graalvm/compiler/nodes/StructuredGraph;
            new org.graalvm.compiler.nodes.BeginNode
            dup
            invokespecial org.graalvm.compiler.nodes.BeginNode.<init>:()V
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph.add:(Lorg/graalvm/compiler/graph/Node;)Lorg/graalvm/compiler/graph/Node;
            checkcast org.graalvm.compiler.nodes.FixedWithNextNode
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph.replaceFixedWithFixed:(Lorg/graalvm/compiler/nodes/FixedWithNextNode;Lorg/graalvm/compiler/nodes/FixedWithNextNode;)V
         7: .line 323
            aload 6 /* loopStateAfter */
            ifnull 9
         8: .line 324
            aload 6 /* loopStateAfter */
            invokestatic org.graalvm.compiler.nodes.util.GraphUtil.tryKillUnused:(Lorg/graalvm/compiler/graph/Node;)Z
            pop
        end local 6 // org.graalvm.compiler.nodes.FrameState loopStateAfter
         9: .line 326
      StackMap locals: org.graalvm.compiler.nodes.LoopBeginNode org.graalvm.compiler.nodes.LoopExitNode java.util.Iterator java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.DebugCloseable
      StackMap stack:
            aload 5 /* position */
            ifnull 15
            aload 5 /* position */
            invokeinterface org.graalvm.compiler.debug.DebugCloseable.close:()V
            goto 15
      StackMap locals:
      StackMap stack: java.lang.Throwable
        10: astore 3
            aload 5 /* position */
            ifnull 11
            aload 5 /* position */
            invokeinterface org.graalvm.compiler.debug.DebugCloseable.close:()V
        end local 5 // org.graalvm.compiler.debug.DebugCloseable position
      StackMap locals:
      StackMap stack:
        11: aload 3
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
        12: astore 4
            aload 3
            ifnonnull 13
            aload 4
            astore 3
            goto 14
      StackMap locals:
      StackMap stack:
        13: aload 3
            aload 4
            if_acmpeq 14
            aload 3
            aload 4
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        14: aload 3
            athrow
        end local 1 // org.graalvm.compiler.nodes.LoopExitNode loopexit
        15: .line 318
      StackMap locals: org.graalvm.compiler.nodes.LoopBeginNode top java.util.Iterator
      StackMap stack:
            aload 2
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 1
        16: .line 328
            return
        end local 0 // org.graalvm.compiler.nodes.LoopBeginNode this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   17     0            this  Lorg/graalvm/compiler/nodes/LoopBeginNode;
            2   15     1        loopexit  Lorg/graalvm/compiler/nodes/LoopExitNode;
            4   11     5        position  Lorg/graalvm/compiler/debug/DebugCloseable;
            6    9     6  loopStateAfter  Lorg/graalvm/compiler/nodes/FrameState;
      Exception table:
        from    to  target  type
           4     9      10  any
           3    12      12  any

  public org.graalvm.compiler.nodes.extended.GuardingNode getOverflowGuard();
    descriptor: ()Lorg/graalvm/compiler/nodes/extended/GuardingNode;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.graalvm.compiler.nodes.LoopBeginNode this
         0: .line 331
            aload 0 /* this */
            getfield org.graalvm.compiler.nodes.LoopBeginNode.overflowGuard:Lorg/graalvm/compiler/nodes/extended/GuardingNode;
            areturn
        end local 0 // org.graalvm.compiler.nodes.LoopBeginNode this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/graalvm/compiler/nodes/LoopBeginNode;

  public void setOverflowGuard(org.graalvm.compiler.nodes.extended.GuardingNode);
    descriptor: (Lorg/graalvm/compiler/nodes/extended/GuardingNode;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.graalvm.compiler.nodes.LoopBeginNode this
        start local 1 // org.graalvm.compiler.nodes.extended.GuardingNode overflowGuard
         0: .line 335
            aload 0 /* this */
            aload 0 /* this */
            getfield org.graalvm.compiler.nodes.LoopBeginNode.overflowGuard:Lorg/graalvm/compiler/nodes/extended/GuardingNode;
            aload 1 /* overflowGuard */
            invokevirtual org.graalvm.compiler.nodes.LoopBeginNode.updateUsagesInterface:(Lorg/graalvm/compiler/graph/NodeInterface;Lorg/graalvm/compiler/graph/NodeInterface;)V
         1: .line 336
            aload 0 /* this */
            aload 1 /* overflowGuard */
            putfield org.graalvm.compiler.nodes.LoopBeginNode.overflowGuard:Lorg/graalvm/compiler/nodes/extended/GuardingNode;
         2: .line 337
            return
        end local 1 // org.graalvm.compiler.nodes.extended.GuardingNode overflowGuard
        end local 0 // org.graalvm.compiler.nodes.LoopBeginNode this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    3     0           this  Lorg/graalvm/compiler/nodes/LoopBeginNode;
            0    3     1  overflowGuard  Lorg/graalvm/compiler/nodes/extended/GuardingNode;
    MethodParameters:
               Name  Flags
      overflowGuard  

  private static int[] getSelfIncrements(org.graalvm.compiler.nodes.PhiNode);
    descriptor: (Lorg/graalvm/compiler/nodes/PhiNode;)[I
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=4, locals=7, args_size=1
        start local 0 // org.graalvm.compiler.nodes.PhiNode phi
         0: .line 347
            aload 0 /* phi */
            invokevirtual org.graalvm.compiler.nodes.PhiNode.valueCount:()I
            newarray 10
            astore 1 /* selfIncrement */
        start local 1 // int[] selfIncrement
         1: .line 348
            iconst_0
            istore 2 /* i */
        start local 2 // int i
         2: goto 19
         3: .line 349
      StackMap locals: int[] int
      StackMap stack:
            aload 0 /* phi */
            iload 2 /* i */
            invokevirtual org.graalvm.compiler.nodes.PhiNode.valueAt:(I)Lorg/graalvm/compiler/nodes/ValueNode;
            astore 3 /* input */
        start local 3 // org.graalvm.compiler.nodes.ValueNode input
         4: .line 350
            ldc -2147483648
            lstore 4 /* increment */
        start local 4 // long increment
         5: .line 351
            aload 3 /* input */
            ifnull 13
            aload 3 /* input */
            instanceof org.graalvm.compiler.nodes.calc.AddNode
            ifeq 13
            aload 3 /* input */
            getstatic org.graalvm.compiler.nodes.NodeView.DEFAULT:Lorg/graalvm/compiler/nodes/NodeView;
            invokevirtual org.graalvm.compiler.nodes.ValueNode.stamp:(Lorg/graalvm/compiler/nodes/NodeView;)Lorg/graalvm/compiler/core/common/type/Stamp;
            instanceof org.graalvm.compiler.core.common.type.IntegerStamp
            ifeq 13
         6: .line 352
            aload 3 /* input */
            checkcast org.graalvm.compiler.nodes.calc.AddNode
            astore 6 /* add */
        start local 6 // org.graalvm.compiler.nodes.calc.AddNode add
         7: .line 353
            aload 6 /* add */
            invokevirtual org.graalvm.compiler.nodes.calc.AddNode.getX:()Lorg/graalvm/compiler/nodes/ValueNode;
            aload 0 /* phi */
            if_acmpne 10
            aload 6 /* add */
            invokevirtual org.graalvm.compiler.nodes.calc.AddNode.getY:()Lorg/graalvm/compiler/nodes/ValueNode;
            invokevirtual org.graalvm.compiler.nodes.ValueNode.isConstant:()Z
            ifeq 10
         8: .line 354
            aload 6 /* add */
            invokevirtual org.graalvm.compiler.nodes.calc.AddNode.getY:()Lorg/graalvm/compiler/nodes/ValueNode;
            invokevirtual org.graalvm.compiler.nodes.ValueNode.asJavaConstant:()Ljdk/vm/ci/meta/JavaConstant;
            invokeinterface jdk.vm.ci.meta.JavaConstant.asLong:()J
            lstore 4 /* increment */
         9: .line 355
            goto 15
      StackMap locals: org.graalvm.compiler.nodes.ValueNode long org.graalvm.compiler.nodes.calc.AddNode
      StackMap stack:
        10: aload 6 /* add */
            invokevirtual org.graalvm.compiler.nodes.calc.AddNode.getY:()Lorg/graalvm/compiler/nodes/ValueNode;
            aload 0 /* phi */
            if_acmpne 15
            aload 6 /* add */
            invokevirtual org.graalvm.compiler.nodes.calc.AddNode.getX:()Lorg/graalvm/compiler/nodes/ValueNode;
            invokevirtual org.graalvm.compiler.nodes.ValueNode.isConstant:()Z
            ifeq 15
        11: .line 356
            aload 6 /* add */
            invokevirtual org.graalvm.compiler.nodes.calc.AddNode.getX:()Lorg/graalvm/compiler/nodes/ValueNode;
            invokevirtual org.graalvm.compiler.nodes.ValueNode.asJavaConstant:()Ljdk/vm/ci/meta/JavaConstant;
            invokeinterface jdk.vm.ci.meta.JavaConstant.asLong:()J
            lstore 4 /* increment */
        end local 6 // org.graalvm.compiler.nodes.calc.AddNode add
        12: .line 358
            goto 15
      StackMap locals:
      StackMap stack:
        13: aload 3 /* input */
            aload 0 /* phi */
            if_acmpne 15
        14: .line 359
            lconst_0
            lstore 4 /* increment */
        15: .line 361
      StackMap locals:
      StackMap stack:
            lload 4 /* increment */
            ldc -2147483648
            lcmp
            iflt 16
            lload 4 /* increment */
            ldc 2147483647
            lcmp
            ifgt 16
            lload 4 /* increment */
            ldc -2147483648
            lcmp
            ifne 17
        16: .line 362
      StackMap locals:
      StackMap stack:
            ldc -2147483648
            lstore 4 /* increment */
        17: .line 364
      StackMap locals:
      StackMap stack:
            aload 1 /* selfIncrement */
            iload 2 /* i */
            lload 4 /* increment */
            l2i
            iastore
        end local 4 // long increment
        end local 3 // org.graalvm.compiler.nodes.ValueNode input
        18: .line 348
            iinc 2 /* i */ 1
      StackMap locals:
      StackMap stack:
        19: iload 2 /* i */
            aload 0 /* phi */
            invokevirtual org.graalvm.compiler.nodes.PhiNode.valueCount:()I
            if_icmplt 3
        end local 2 // int i
        20: .line 366
            aload 1 /* selfIncrement */
            areturn
        end local 1 // int[] selfIncrement
        end local 0 // org.graalvm.compiler.nodes.PhiNode phi
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   21     0            phi  Lorg/graalvm/compiler/nodes/PhiNode;
            1   21     1  selfIncrement  [I
            2   20     2              i  I
            4   18     3          input  Lorg/graalvm/compiler/nodes/ValueNode;
            5   18     4      increment  J
            7   12     6            add  Lorg/graalvm/compiler/nodes/calc/AddNode;
    MethodParameters:
      Name  Flags
      phi   

  public void canonicalizePhis(org.graalvm.compiler.graph.spi.SimplifierTool);
    descriptor: (Lorg/graalvm/compiler/graph/spi/SimplifierTool;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=13, args_size=2
        start local 0 // org.graalvm.compiler.nodes.LoopBeginNode this
        start local 1 // org.graalvm.compiler.graph.spi.SimplifierTool tool
         0: .line 374
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.nodes.LoopBeginNode.phis:()Lorg/graalvm/compiler/graph/iterators/NodeIterable;
            invokeinterface org.graalvm.compiler.graph.iterators.NodeIterable.count:()I
            istore 2 /* phiCount */
        start local 2 // int phiCount
         1: .line 375
            iload 2 /* phiCount */
            iconst_1
            if_icmple 38
         2: .line 376
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.nodes.LoopBeginNode.phiPredecessorCount:()I
            istore 3 /* phiInputCount */
        start local 3 // int phiInputCount
         3: .line 377
            iconst_0
            istore 4 /* phiIndex */
        start local 4 // int phiIndex
         4: .line 378
            iload 2 /* phiCount */
            anewarray int[]
            astore 5 /* selfIncrement */
        start local 5 // int[][] selfIncrement
         5: .line 379
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.nodes.LoopBeginNode.phis:()Lorg/graalvm/compiler/graph/iterators/NodeIterable;
            invokeinterface org.graalvm.compiler.graph.iterators.NodeIterable.snapshot:()Ljava/util/List;
            iload 2 /* phiCount */
            anewarray org.graalvm.compiler.nodes.PhiNode
            invokeinterface java.util.List.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
            checkcast org.graalvm.compiler.nodes.PhiNode[]
            astore 6 /* phis */
        start local 6 // org.graalvm.compiler.nodes.PhiNode[] phis
         6: .line 381
            iconst_0
            istore 4 /* phiIndex */
            goto 37
         7: .line 382
      StackMap locals: org.graalvm.compiler.nodes.LoopBeginNode org.graalvm.compiler.graph.spi.SimplifierTool int int int int[][] org.graalvm.compiler.nodes.PhiNode[]
      StackMap stack:
            aload 6 /* phis */
            iload 4 /* phiIndex */
            aaload
            astore 7 /* phi */
        start local 7 // org.graalvm.compiler.nodes.PhiNode phi
         8: .line 383
            aload 7 /* phi */
            ifnull 36
         9: .line 384
            iload 4 /* phiIndex */
            iconst_1
            iadd
            istore 8 /* otherPhiIndex */
        start local 8 // int otherPhiIndex
        10: goto 35
        11: .line 385
      StackMap locals: org.graalvm.compiler.nodes.PhiNode int
      StackMap stack:
            aload 6 /* phis */
            iload 8 /* otherPhiIndex */
            aaload
            astore 9 /* otherPhi */
        start local 9 // org.graalvm.compiler.nodes.PhiNode otherPhi
        12: .line 386
            aload 9 /* otherPhi */
            ifnull 34
            aload 7 /* phi */
            invokevirtual org.graalvm.compiler.nodes.PhiNode.getNodeClass:()Lorg/graalvm/compiler/graph/NodeClass;
            aload 9 /* otherPhi */
            invokevirtual org.graalvm.compiler.nodes.PhiNode.getNodeClass:()Lorg/graalvm/compiler/graph/NodeClass;
            if_acmpne 34
            aload 7 /* phi */
            aload 9 /* otherPhi */
            invokevirtual org.graalvm.compiler.nodes.PhiNode.valueEquals:(Lorg/graalvm/compiler/graph/Node;)Z
            ifne 14
        13: .line 387
            goto 34
        14: .line 389
      StackMap locals: org.graalvm.compiler.nodes.PhiNode
      StackMap stack:
            aload 5 /* selfIncrement */
            iload 4 /* phiIndex */
            aaload
            ifnonnull 16
        15: .line 390
            aload 5 /* selfIncrement */
            iload 4 /* phiIndex */
            aload 7 /* phi */
            invokestatic org.graalvm.compiler.nodes.LoopBeginNode.getSelfIncrements:(Lorg/graalvm/compiler/nodes/PhiNode;)[I
            aastore
        16: .line 392
      StackMap locals:
      StackMap stack:
            aload 5 /* selfIncrement */
            iload 8 /* otherPhiIndex */
            aaload
            ifnonnull 18
        17: .line 393
            aload 5 /* selfIncrement */
            iload 8 /* otherPhiIndex */
            aload 9 /* otherPhi */
            invokestatic org.graalvm.compiler.nodes.LoopBeginNode.getSelfIncrements:(Lorg/graalvm/compiler/nodes/PhiNode;)[I
            aastore
        18: .line 395
      StackMap locals:
      StackMap stack:
            aload 5 /* selfIncrement */
            iload 4 /* phiIndex */
            aaload
            astore 10 /* phiIncrement */
        start local 10 // int[] phiIncrement
        19: .line 396
            aload 5 /* selfIncrement */
            iload 8 /* otherPhiIndex */
            aaload
            astore 11 /* otherPhiIncrement */
        start local 11 // int[] otherPhiIncrement
        20: .line 397
            iconst_0
            istore 12 /* inputIndex */
        start local 12 // int inputIndex
        21: goto 28
        22: .line 398
      StackMap locals: int[] int[] int
      StackMap stack:
            aload 10 /* phiIncrement */
            iload 12 /* inputIndex */
            iaload
            ldc -2147483648
            if_icmpne 25
        23: .line 399
            aload 7 /* phi */
            iload 12 /* inputIndex */
            invokevirtual org.graalvm.compiler.nodes.PhiNode.valueAt:(I)Lorg/graalvm/compiler/nodes/ValueNode;
            aload 9 /* otherPhi */
            iload 12 /* inputIndex */
            invokevirtual org.graalvm.compiler.nodes.PhiNode.valueAt:(I)Lorg/graalvm/compiler/nodes/ValueNode;
            if_acmpeq 25
        24: .line 400
            goto 34
        25: .line 403
      StackMap locals:
      StackMap stack:
            aload 10 /* phiIncrement */
            iload 12 /* inputIndex */
            iaload
            aload 11 /* otherPhiIncrement */
            iload 12 /* inputIndex */
            iaload
            if_icmpeq 27
        26: .line 404
            goto 34
        27: .line 397
      StackMap locals:
      StackMap stack:
            iinc 12 /* inputIndex */ 1
      StackMap locals:
      StackMap stack:
        28: iload 12 /* inputIndex */
            iload 3 /* phiInputCount */
            if_icmplt 22
        end local 12 // int inputIndex
        29: .line 407
            aload 1 /* tool */
            ifnull 31
        30: .line 408
            aload 1 /* tool */
            aload 9 /* otherPhi */
            invokevirtual org.graalvm.compiler.nodes.PhiNode.usages:()Lorg/graalvm/compiler/graph/iterators/NodeIterable;
            invokeinterface org.graalvm.compiler.graph.spi.SimplifierTool.addToWorkList:(Ljava/lang/Iterable;)V
        31: .line 410
      StackMap locals:
      StackMap stack:
            aload 9 /* otherPhi */
            aload 7 /* phi */
            invokevirtual org.graalvm.compiler.nodes.PhiNode.replaceAtUsages:(Lorg/graalvm/compiler/graph/Node;)V
        32: .line 411
            aload 9 /* otherPhi */
            invokestatic org.graalvm.compiler.nodes.util.GraphUtil.killWithUnusedFloatingInputs:(Lorg/graalvm/compiler/graph/Node;)V
        33: .line 412
            aload 6 /* phis */
            iload 8 /* otherPhiIndex */
            aconst_null
            aastore
        end local 11 // int[] otherPhiIncrement
        end local 10 // int[] phiIncrement
        end local 9 // org.graalvm.compiler.nodes.PhiNode otherPhi
        34: .line 384
      StackMap locals:
      StackMap stack:
            iinc 8 /* otherPhiIndex */ 1
      StackMap locals:
      StackMap stack:
        35: iload 8 /* otherPhiIndex */
            iload 2 /* phiCount */
            if_icmplt 11
        end local 8 // int otherPhiIndex
        end local 7 // org.graalvm.compiler.nodes.PhiNode phi
        36: .line 381
      StackMap locals:
      StackMap stack:
            iinc 4 /* phiIndex */ 1
      StackMap locals:
      StackMap stack:
        37: iload 4 /* phiIndex */
            iload 2 /* phiCount */
            if_icmplt 7
        end local 6 // org.graalvm.compiler.nodes.PhiNode[] phis
        end local 5 // int[][] selfIncrement
        end local 4 // int phiIndex
        end local 3 // int phiInputCount
        38: .line 417
      StackMap locals: org.graalvm.compiler.nodes.LoopBeginNode org.graalvm.compiler.graph.spi.SimplifierTool int
      StackMap stack:
            return
        end local 2 // int phiCount
        end local 1 // org.graalvm.compiler.graph.spi.SimplifierTool tool
        end local 0 // org.graalvm.compiler.nodes.LoopBeginNode this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0   39     0               this  Lorg/graalvm/compiler/nodes/LoopBeginNode;
            0   39     1               tool  Lorg/graalvm/compiler/graph/spi/SimplifierTool;
            1   39     2           phiCount  I
            3   38     3      phiInputCount  I
            4   38     4           phiIndex  I
            5   38     5      selfIncrement  [[I
            6   38     6               phis  [Lorg/graalvm/compiler/nodes/PhiNode;
            8   36     7                phi  Lorg/graalvm/compiler/nodes/PhiNode;
           10   36     8      otherPhiIndex  I
           12   34     9           otherPhi  Lorg/graalvm/compiler/nodes/PhiNode;
           19   34    10       phiIncrement  [I
           20   34    11  otherPhiIncrement  [I
           21   29    12         inputIndex  I
    MethodParameters:
      Name  Flags
      tool  
}
SourceFile: "LoopBeginNode.java"
NestMembers:
  org.graalvm.compiler.nodes.LoopBeginNode$LoopType
InnerClasses:
  public abstract OptionalInput = org.graalvm.compiler.graph.Node$OptionalInput of org.graalvm.compiler.graph.Node
  public final NegativeTypePredicate = org.graalvm.compiler.graph.iterators.NodePredicates$NegativeTypePredicate of org.graalvm.compiler.graph.iterators.NodePredicates
  public final LoopType = org.graalvm.compiler.nodes.LoopBeginNode$LoopType of org.graalvm.compiler.nodes.LoopBeginNode
    RuntimeVisibleAnnotations: 
      org.graalvm.compiler.nodeinfo.NodeInfo()