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 peelings;
    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

  protected boolean osrLoop;
    descriptor: Z
    flags: (0x0004) ACC_PROTECTED

  protected boolean disableCounted;
    descriptor: Z
    flags: (0x0004) ACC_PROTECTED

  protected boolean canNeverOverflow;
    descriptor: Z
    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;)

  public static final org.graalvm.compiler.debug.CounterKey overflowSpeculationTaken;
    descriptor: Lorg/graalvm/compiler/debug/CounterKey;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL

  public static final org.graalvm.compiler.debug.CounterKey overflowSpeculationNotTaken;
    descriptor: Lorg/graalvm/compiler/debug/CounterKey;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL

  public static final org.graalvm.compiler.serviceprovider.SpeculationReasonGroup LOOP_OVERFLOW_DEOPT;
    descriptor: Lorg/graalvm/compiler/serviceprovider/SpeculationReasonGroup;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL

  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=7, locals=0, args_size=0
         0: .line 52
            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 54
            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 87
            ldc "CountedLoops_OverflowSpeculation_Taken"
            invokestatic org.graalvm.compiler.debug.DebugContext.counter:(Ljava/lang/CharSequence;)Lorg/graalvm/compiler/debug/CounterKey;
            putstatic org.graalvm.compiler.nodes.LoopBeginNode.overflowSpeculationTaken:Lorg/graalvm/compiler/debug/CounterKey;
         5: .line 88
            ldc "CountedLoops_OverflowSpeculation_NotTaken"
            invokestatic org.graalvm.compiler.debug.DebugContext.counter:(Ljava/lang/CharSequence;)Lorg/graalvm/compiler/debug/CounterKey;
            putstatic org.graalvm.compiler.nodes.LoopBeginNode.overflowSpeculationNotTaken:Lorg/graalvm/compiler/debug/CounterKey;
         6: .line 90
            new org.graalvm.compiler.serviceprovider.SpeculationReasonGroup
            dup
            ldc "LoopOverflowDeopt"
            iconst_2
            anewarray java.lang.Class
            dup
            iconst_0
            ldc Ljdk/vm/ci/meta/ResolvedJavaMethod;
            aastore
            dup
            iconst_1
            getstatic java.lang.Integer.TYPE:Ljava/lang/Class;
            aastore
            invokespecial org.graalvm.compiler.serviceprovider.SpeculationReasonGroup.<init>:(Ljava/lang/String;[Ljava/lang/Class;)V
            putstatic org.graalvm.compiler.nodes.LoopBeginNode.LOOP_OVERFLOW_DEOPT:Lorg/graalvm/compiler/serviceprovider/SpeculationReasonGroup;
         7: .line 386
            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 93
            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 94
            aload 0 /* this */
            dconst_1
            putfield org.graalvm.compiler.nodes.LoopBeginNode.loopFrequency:D
         2: .line 95
            aload 0 /* this */
            dconst_1
            putfield org.graalvm.compiler.nodes.LoopBeginNode.loopOrigFrequency:D
         3: .line 96
            aload 0 /* this */
            iconst_0
            putfield org.graalvm.compiler.nodes.LoopBeginNode.unswitches:I
         4: .line 97
            aload 0 /* this */
            iconst_0
            putfield org.graalvm.compiler.nodes.LoopBeginNode.splits:I
         5: .line 98
            aload 0 /* this */
            iconst_1
            putfield org.graalvm.compiler.nodes.LoopBeginNode.canEndsSafepoint:Z
         6: .line 99
            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 100
            aload 0 /* this */
            iconst_1
            putfield org.graalvm.compiler.nodes.LoopBeginNode.unrollFactor:I
         8: .line 101
            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 void checkDisableCountedBySpeculation(int, org.graalvm.compiler.nodes.StructuredGraph);
    descriptor: (ILorg/graalvm/compiler/nodes/StructuredGraph;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=6, args_size=3
        start local 0 // org.graalvm.compiler.nodes.LoopBeginNode this
        start local 1 // int bci
        start local 2 // org.graalvm.compiler.nodes.StructuredGraph graph
         0: .line 104
            aload 2 /* graph */
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph.getSpeculationLog:()Ljdk/vm/ci/meta/SpeculationLog;
            astore 3 /* speculationLog */
        start local 3 // jdk.vm.ci.meta.SpeculationLog speculationLog
         1: .line 105
            iconst_0
            istore 4 /* disableCountedBasedOnSpeculation */
        start local 4 // boolean disableCountedBasedOnSpeculation
         2: .line 106
            aload 3 /* speculationLog */
            ifnull 7
         3: .line 107
            getstatic org.graalvm.compiler.nodes.LoopBeginNode.LOOP_OVERFLOW_DEOPT:Lorg/graalvm/compiler/serviceprovider/SpeculationReasonGroup;
            iconst_2
            anewarray java.lang.Object
            dup
            iconst_0
            aload 2 /* graph */
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph.method:()Ljdk/vm/ci/meta/ResolvedJavaMethod;
            aastore
            dup
            iconst_1
            iload 1 /* bci */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            invokevirtual org.graalvm.compiler.serviceprovider.SpeculationReasonGroup.createSpeculationReason:([Ljava/lang/Object;)Ljdk/vm/ci/meta/SpeculationLog$SpeculationReason;
            astore 5 /* speculationReason */
        start local 5 // jdk.vm.ci.meta.SpeculationLog$SpeculationReason speculationReason
         4: .line 108
            aload 3 /* speculationLog */
            aload 5 /* speculationReason */
            invokeinterface jdk.vm.ci.meta.SpeculationLog.maySpeculate:(Ljdk/vm/ci/meta/SpeculationLog$SpeculationReason;)Z
            ifne 7
         5: .line 109
            getstatic org.graalvm.compiler.nodes.LoopBeginNode.overflowSpeculationNotTaken:Lorg/graalvm/compiler/debug/CounterKey;
            aload 2 /* graph */
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph.getDebug:()Lorg/graalvm/compiler/debug/DebugContext;
            invokeinterface org.graalvm.compiler.debug.CounterKey.increment:(Lorg/graalvm/compiler/debug/DebugContext;)V
         6: .line 110
            iconst_1
            istore 4 /* disableCountedBasedOnSpeculation */
        end local 5 // jdk.vm.ci.meta.SpeculationLog$SpeculationReason speculationReason
         7: .line 113
      StackMap locals: jdk.vm.ci.meta.SpeculationLog int
      StackMap stack:
            aload 0 /* this */
            iload 4 /* disableCountedBasedOnSpeculation */
            putfield org.graalvm.compiler.nodes.LoopBeginNode.disableCounted:Z
         8: .line 114
            return
        end local 4 // boolean disableCountedBasedOnSpeculation
        end local 3 // jdk.vm.ci.meta.SpeculationLog speculationLog
        end local 2 // org.graalvm.compiler.nodes.StructuredGraph graph
        end local 1 // int bci
        end local 0 // org.graalvm.compiler.nodes.LoopBeginNode this
      LocalVariableTable:
        Start  End  Slot                              Name  Signature
            0    9     0                              this  Lorg/graalvm/compiler/nodes/LoopBeginNode;
            0    9     1                               bci  I
            0    9     2                             graph  Lorg/graalvm/compiler/nodes/StructuredGraph;
            1    9     3                    speculationLog  Ljdk/vm/ci/meta/SpeculationLog;
            2    9     4  disableCountedBasedOnSpeculation  Z
            4    7     5                 speculationReason  Ljdk/vm/ci/meta/SpeculationLog$SpeculationReason;
    MethodParameters:
       Name  Flags
      bci    
      graph  

  public boolean canNeverOverflow();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.graalvm.compiler.nodes.LoopBeginNode this
         0: .line 117
            aload 0 /* this */
            getfield org.graalvm.compiler.nodes.LoopBeginNode.canNeverOverflow:Z
            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 setCanNeverOverflow();
    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 121
            getstatic org.graalvm.compiler.nodes.LoopBeginNode.$assertionsDisabled:Z
            ifne 1
            aload 0 /* this */
            getfield org.graalvm.compiler.nodes.LoopBeginNode.canNeverOverflow:Z
            ifeq 1
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         1: .line 122
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_1
            putfield org.graalvm.compiler.nodes.LoopBeginNode.canNeverOverflow:Z
         2: .line 123
            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 countedLoopDisabled();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.graalvm.compiler.nodes.LoopBeginNode this
         0: .line 126
            aload 0 /* this */
            getfield org.graalvm.compiler.nodes.LoopBeginNode.disableCounted:Z
            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 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 130
            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 134
            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 135
      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 136
            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 139
            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 143
            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 144
      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 145
            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 148
            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 152
            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 153
      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 154
            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 157
            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 161
            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 165
            aload 0 /* this */
            iload 1 /* currentUnrollFactor */
            putfield org.graalvm.compiler.nodes.LoopBeginNode.unrollFactor:I
         1: .line 166
            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 171
            aload 0 /* this */
            iconst_0
            putfield org.graalvm.compiler.nodes.LoopBeginNode.canEndsSafepoint:Z
         1: .line 173
            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 174
            aload 1 /* loopEnd */
            invokevirtual org.graalvm.compiler.nodes.LoopEndNode.disableSafepoint:()V
        end local 1 // org.graalvm.compiler.nodes.LoopEndNode loopEnd
         4: .line 173
      StackMap locals:
      StackMap stack:
            aload 2
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 2
         5: .line 176
            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 179
            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 183
            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 184
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            dload 1 /* loopOrigFrequency */
            putfield org.graalvm.compiler.nodes.LoopBeginNode.loopOrigFrequency:D
         2: .line 185
            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 188
            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 192
            getstatic org.graalvm.compiler.nodes.LoopBeginNode.$assertionsDisabled:Z
            ifne 1
            dload 1 /* loopFrequency */
            dconst_1
            dcmpl
            ifge 1
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         1: .line 193
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            dload 1 /* loopFrequency */
            putfield org.graalvm.compiler.nodes.LoopBeginNode.loopFrequency:D
         2: .line 194
            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 204
            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 208
            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 213
            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 234
            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 235
            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 236
            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 235
      StackMap locals:
      StackMap stack:
            aload 3
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 2
         5: .line 238
            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 242
            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 246
            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 247
      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 251
            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 255
            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 256
            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 peelings();
    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 259
            aload 0 /* this */
            getfield org.graalvm.compiler.nodes.LoopBeginNode.peelings: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 incrementPeelings();
    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 263
            aload 0 /* this */
            dup
            getfield org.graalvm.compiler.nodes.LoopBeginNode.peelings:I
            iconst_1
            iadd
            putfield org.graalvm.compiler.nodes.LoopBeginNode.peelings:I
         1: .line 264
            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 269
            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 273
            aload 1 /* end */
            instanceof org.graalvm.compiler.nodes.LoopEndNode
            ifeq 13
         1: .line 274
            aload 1 /* end */
            checkcast org.graalvm.compiler.nodes.LoopEndNode
            astore 2 /* loopEnd */
        start local 2 // org.graalvm.compiler.nodes.LoopEndNode loopEnd
         2: .line 275
            aload 2 /* loopEnd */
            aconst_null
            invokevirtual org.graalvm.compiler.nodes.LoopEndNode.setLoopBegin:(Lorg/graalvm/compiler/nodes/LoopBeginNode;)V
         3: .line 276
            aload 2 /* loopEnd */
            invokevirtual org.graalvm.compiler.nodes.LoopEndNode.endIndex:()I
            istore 3 /* idx */
        start local 3 // int idx
         4: .line 277
            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 278
            aload 4 /* le */
            invokevirtual org.graalvm.compiler.nodes.LoopEndNode.endIndex:()I
            istore 6 /* leIdx */
        start local 6 // int leIdx
         7: .line 279
            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 280
      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 281
            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 277
      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 284
            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 285
            goto 14
        13: .line 286
      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 288
      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 292
            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 297
            aload 1 /* pred */
            instanceof org.graalvm.compiler.nodes.LoopEndNode
            ifeq 5
         1: .line 298
            aload 1 /* pred */
            checkcast org.graalvm.compiler.nodes.LoopEndNode
            astore 2 /* loopEnd */
        start local 2 // org.graalvm.compiler.nodes.LoopEndNode loopEnd
         2: .line 299
            aload 2 /* loopEnd */
            invokevirtual org.graalvm.compiler.nodes.LoopEndNode.loopBegin:()Lorg/graalvm/compiler/nodes/LoopBeginNode;
            aload 0 /* this */
            if_acmpne 6
         3: .line 300
            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 301
      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 304
      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 306
      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 311
            iload 1 /* index */
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.nodes.LoopBeginNode.forwardEndCount:()I
            if_icmpge 2
         1: .line 312
            aload 0 /* this */
            iload 1 /* index */
            invokevirtual org.graalvm.compiler.nodes.LoopBeginNode.forwardEndAt:(I)Lorg/graalvm/compiler/nodes/EndNode;
            areturn
         2: .line 314
      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 315
            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 316
            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 317
      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 318
            aload 2 /* end */
            areturn
        end local 4 // int idx
        end local 2 // org.graalvm.compiler.nodes.LoopEndNode end
         8: .line 314
      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 321
            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 326
            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 327
            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 331
            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 335
            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 339
            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 343
            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 344
            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 347
            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 351
            aload 0 /* this */
            iload 1 /* count */
            putfield org.graalvm.compiler.nodes.LoopBeginNode.inversionCount:I
         1: .line 352
            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 356
            aload 0 /* this */
            aload 1 /* tool */
            invokevirtual org.graalvm.compiler.nodes.LoopBeginNode.canonicalizePhis:(Lorg/graalvm/compiler/graph/spi/SimplifierTool;)V
         1: .line 357
            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 360
            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.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 364
            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 365
      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=2, locals=6, args_size=1
        start local 0 // org.graalvm.compiler.nodes.LoopBeginNode this
         0: .line 370
            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 11
      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 371
            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 372
            aload 1 /* loopexit */
            invokevirtual org.graalvm.compiler.nodes.LoopExitNode.removeExit:()V
         5: .line 373
            aload 5 /* position */
            ifnull 11
            aload 5 /* position */
            invokeinterface org.graalvm.compiler.debug.DebugCloseable.close:()V
            goto 11
      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: java.lang.Throwable
         6: astore 3
            aload 5 /* position */
            ifnull 7
            aload 5 /* position */
            invokeinterface org.graalvm.compiler.debug.DebugCloseable.close:()V
        end local 5 // org.graalvm.compiler.debug.DebugCloseable position
      StackMap locals:
      StackMap stack:
         7: aload 3
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
         8: astore 4
            aload 3
            ifnonnull 9
            aload 4
            astore 3
            goto 10
      StackMap locals:
      StackMap stack:
         9: aload 3
            aload 4
            if_acmpeq 10
            aload 3
            aload 4
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        10: aload 3
            athrow
        end local 1 // org.graalvm.compiler.nodes.LoopExitNode loopexit
        11: .line 370
      StackMap locals: org.graalvm.compiler.nodes.LoopBeginNode top java.util.Iterator
      StackMap stack:
            aload 2
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 1
        12: .line 375
            return
        end local 0 // org.graalvm.compiler.nodes.LoopBeginNode this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   13     0      this  Lorg/graalvm/compiler/nodes/LoopBeginNode;
            2   11     1  loopexit  Lorg/graalvm/compiler/nodes/LoopExitNode;
            4    7     5  position  Lorg/graalvm/compiler/debug/DebugCloseable;
      Exception table:
        from    to  target  type
           4     5       6  any
           3     8       8  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 378
            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 382
            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 383
            aload 0 /* this */
            aload 1 /* overflowGuard */
            putfield org.graalvm.compiler.nodes.LoopBeginNode.overflowGuard:Lorg/graalvm/compiler/nodes/extended/GuardingNode;
         2: .line 384
            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 394
            aload 0 /* phi */
            invokevirtual org.graalvm.compiler.nodes.PhiNode.valueCount:()I
            newarray 10
            astore 1 /* selfIncrement */
        start local 1 // int[] selfIncrement
         1: .line 395
            iconst_0
            istore 2 /* i */
        start local 2 // int i
         2: goto 19
         3: .line 396
      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 397
            ldc -2147483648
            lstore 4 /* increment */
        start local 4 // long increment
         5: .line 398
            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 399
            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 400
            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 401
            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 402
            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 403
            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 405
            goto 15
      StackMap locals:
      StackMap stack:
        13: aload 3 /* input */
            aload 0 /* phi */
            if_acmpne 15
        14: .line 406
            lconst_0
            lstore 4 /* increment */
        15: .line 408
      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 409
      StackMap locals:
      StackMap stack:
            ldc -2147483648
            lstore 4 /* increment */
        17: .line 411
      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 395
            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 413
            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 421
            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 422
            iload 2 /* phiCount */
            iconst_1
            if_icmple 38
         2: .line 423
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.nodes.LoopBeginNode.phiPredecessorCount:()I
            istore 3 /* phiInputCount */
        start local 3 // int phiInputCount
         3: .line 424
            iconst_0
            istore 4 /* phiIndex */
        start local 4 // int phiIndex
         4: .line 425
            iload 2 /* phiCount */
            anewarray int[]
            astore 5 /* selfIncrement */
        start local 5 // int[][] selfIncrement
         5: .line 426
            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 428
            iconst_0
            istore 4 /* phiIndex */
            goto 37
         7: .line 429
      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 430
            aload 7 /* phi */
            ifnull 36
         9: .line 431
            iload 4 /* phiIndex */
            iconst_1
            iadd
            istore 8 /* otherPhiIndex */
        start local 8 // int otherPhiIndex
        10: goto 35
        11: .line 432
      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 433
            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 434
            goto 34
        14: .line 436
      StackMap locals: org.graalvm.compiler.nodes.PhiNode
      StackMap stack:
            aload 5 /* selfIncrement */
            iload 4 /* phiIndex */
            aaload
            ifnonnull 16
        15: .line 437
            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 439
      StackMap locals:
      StackMap stack:
            aload 5 /* selfIncrement */
            iload 8 /* otherPhiIndex */
            aaload
            ifnonnull 18
        17: .line 440
            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 442
      StackMap locals:
      StackMap stack:
            aload 5 /* selfIncrement */
            iload 4 /* phiIndex */
            aaload
            astore 10 /* phiIncrement */
        start local 10 // int[] phiIncrement
        19: .line 443
            aload 5 /* selfIncrement */
            iload 8 /* otherPhiIndex */
            aaload
            astore 11 /* otherPhiIncrement */
        start local 11 // int[] otherPhiIncrement
        20: .line 444
            iconst_0
            istore 12 /* inputIndex */
        start local 12 // int inputIndex
        21: goto 28
        22: .line 445
      StackMap locals: int[] int[] int
      StackMap stack:
            aload 10 /* phiIncrement */
            iload 12 /* inputIndex */
            iaload
            ldc -2147483648
            if_icmpne 25
        23: .line 446
            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 447
            goto 34
        25: .line 450
      StackMap locals:
      StackMap stack:
            aload 10 /* phiIncrement */
            iload 12 /* inputIndex */
            iaload
            aload 11 /* otherPhiIncrement */
            iload 12 /* inputIndex */
            iaload
            if_icmpeq 27
        26: .line 451
            goto 34
        27: .line 444
      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 454
            aload 1 /* tool */
            ifnull 31
        30: .line 455
            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 457
      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 458
            aload 9 /* otherPhi */
            invokestatic org.graalvm.compiler.nodes.util.GraphUtil.killWithUnusedFloatingInputs:(Lorg/graalvm/compiler/graph/Node;)V
        33: .line 459
            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 431
      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 428
      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 464
      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  

  public void markOsrLoop();
    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 467
            aload 0 /* this */
            iconst_1
            putfield org.graalvm.compiler.nodes.LoopBeginNode.osrLoop:Z
         1: .line 468
            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 boolean isOsrLoop();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.graalvm.compiler.nodes.LoopBeginNode this
         0: .line 471
            aload 0 /* this */
            getfield org.graalvm.compiler.nodes.LoopBeginNode.osrLoop:Z
            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;

  protected boolean verifyState();
    descriptor: ()Z
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.graalvm.compiler.nodes.LoopBeginNode this
         0: .line 476
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.nodes.LoopBeginNode.graph:()Lorg/graalvm/compiler/nodes/StructuredGraph;
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph.getFrameStateVerification:()Lorg/graalvm/compiler/nodes/StructuredGraph$FrameStateVerification;
            getstatic org.graalvm.compiler.nodes.StructuredGraph$FrameStateVerificationFeature.LOOP_BEGINS:Lorg/graalvm/compiler/nodes/StructuredGraph$FrameStateVerificationFeature;
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph$FrameStateVerification.implies:(Lorg/graalvm/compiler/nodes/StructuredGraph$FrameStateVerificationFeature;)Z
            ifeq 1
            aload 0 /* this */
            invokespecial org.graalvm.compiler.nodes.AbstractMergeNode.verifyState:()Z
            ifne 1
            iconst_0
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_1
            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;
}
SourceFile: "LoopBeginNode.java"
NestMembers:
  org.graalvm.compiler.nodes.LoopBeginNode$LoopType
InnerClasses:
  public abstract SpeculationReason = jdk.vm.ci.meta.SpeculationLog$SpeculationReason of jdk.vm.ci.meta.SpeculationLog
  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
  public final FrameStateVerification = org.graalvm.compiler.nodes.StructuredGraph$FrameStateVerification of org.graalvm.compiler.nodes.StructuredGraph
  public final FrameStateVerificationFeature = org.graalvm.compiler.nodes.StructuredGraph$FrameStateVerificationFeature of org.graalvm.compiler.nodes.StructuredGraph
    RuntimeVisibleAnnotations: 
      org.graalvm.compiler.nodeinfo.NodeInfo()