public class org.graalvm.compiler.loop.LoopEx
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.graalvm.compiler.loop.LoopEx
  super_class: java.lang.Object
{
  private final org.graalvm.compiler.core.common.cfg.Loop<org.graalvm.compiler.nodes.cfg.Block> loop;
    descriptor: Lorg/graalvm/compiler/core/common/cfg/Loop;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Lorg/graalvm/compiler/core/common/cfg/Loop<Lorg/graalvm/compiler/nodes/cfg/Block;>;

  private org.graalvm.compiler.loop.LoopFragmentInside inside;
    descriptor: Lorg/graalvm/compiler/loop/LoopFragmentInside;
    flags: (0x0002) ACC_PRIVATE

  private org.graalvm.compiler.loop.LoopFragmentWhole whole;
    descriptor: Lorg/graalvm/compiler/loop/LoopFragmentWhole;
    flags: (0x0002) ACC_PRIVATE

  private org.graalvm.compiler.loop.CountedLoopInfo counted;
    descriptor: Lorg/graalvm/compiler/loop/CountedLoopInfo;
    flags: (0x0002) ACC_PRIVATE

  private org.graalvm.compiler.loop.LoopsData data;
    descriptor: Lorg/graalvm/compiler/loop/LoopsData;
    flags: (0x0002) ACC_PRIVATE

  private org.graalvm.collections.EconomicMap<org.graalvm.compiler.graph.Node, org.graalvm.compiler.loop.InductionVariable> ivs;
    descriptor: Lorg/graalvm/collections/EconomicMap;
    flags: (0x0002) ACC_PRIVATE
    Signature: Lorg/graalvm/collections/EconomicMap<Lorg/graalvm/compiler/graph/Node;Lorg/graalvm/compiler/loop/InductionVariable;>;

  private boolean countedLoopChecked;
    descriptor: Z
    flags: (0x0002) ACC_PRIVATE

  private int size;
    descriptor: I
    flags: (0x0002) ACC_PRIVATE

  static final boolean $assertionsDisabled;
    descriptor: Z
    flags: (0x1018) ACC_STATIC, ACC_FINAL, ACC_SYNTHETIC

  private static volatile int[] $SWITCH_TABLE$org$graalvm$compiler$core$common$calc$Condition;
    descriptor: [I
    flags: (0x104a) ACC_PRIVATE, ACC_STATIC, ACC_VOLATILE, ACC_SYNTHETIC

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 78
            ldc Lorg/graalvm/compiler/loop/LoopEx;
            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.loop.LoopEx.$assertionsDisabled:Z
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  void <init>(org.graalvm.compiler.core.common.cfg.Loop<org.graalvm.compiler.nodes.cfg.Block>, org.graalvm.compiler.loop.LoopsData);
    descriptor: (Lorg/graalvm/compiler/core/common/cfg/Loop;Lorg/graalvm/compiler/loop/LoopsData;)V
    flags: (0x0000) 
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // org.graalvm.compiler.loop.LoopEx this
        start local 1 // org.graalvm.compiler.core.common.cfg.Loop loop
        start local 2 // org.graalvm.compiler.loop.LoopsData data
         0: .line 88
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 86
            aload 0 /* this */
            iconst_m1
            putfield org.graalvm.compiler.loop.LoopEx.size:I
         2: .line 89
            aload 0 /* this */
            aload 1 /* loop */
            putfield org.graalvm.compiler.loop.LoopEx.loop:Lorg/graalvm/compiler/core/common/cfg/Loop;
         3: .line 90
            aload 0 /* this */
            aload 2 /* data */
            putfield org.graalvm.compiler.loop.LoopEx.data:Lorg/graalvm/compiler/loop/LoopsData;
         4: .line 91
            return
        end local 2 // org.graalvm.compiler.loop.LoopsData data
        end local 1 // org.graalvm.compiler.core.common.cfg.Loop loop
        end local 0 // org.graalvm.compiler.loop.LoopEx this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lorg/graalvm/compiler/loop/LoopEx;
            0    5     1  loop  Lorg/graalvm/compiler/core/common/cfg/Loop<Lorg/graalvm/compiler/nodes/cfg/Block;>;
            0    5     2  data  Lorg/graalvm/compiler/loop/LoopsData;
    Signature: (Lorg/graalvm/compiler/core/common/cfg/Loop<Lorg/graalvm/compiler/nodes/cfg/Block;>;Lorg/graalvm/compiler/loop/LoopsData;)V
    MethodParameters:
      Name  Flags
      loop  
      data  

  public org.graalvm.compiler.core.common.cfg.Loop<org.graalvm.compiler.nodes.cfg.Block> loop();
    descriptor: ()Lorg/graalvm/compiler/core/common/cfg/Loop;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.graalvm.compiler.loop.LoopEx this
         0: .line 94
            aload 0 /* this */
            getfield org.graalvm.compiler.loop.LoopEx.loop:Lorg/graalvm/compiler/core/common/cfg/Loop;
            areturn
        end local 0 // org.graalvm.compiler.loop.LoopEx this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/graalvm/compiler/loop/LoopEx;
    Signature: ()Lorg/graalvm/compiler/core/common/cfg/Loop<Lorg/graalvm/compiler/nodes/cfg/Block;>;

  public org.graalvm.compiler.loop.LoopFragmentInside inside();
    descriptor: ()Lorg/graalvm/compiler/loop/LoopFragmentInside;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // org.graalvm.compiler.loop.LoopEx this
         0: .line 98
            aload 0 /* this */
            getfield org.graalvm.compiler.loop.LoopEx.inside:Lorg/graalvm/compiler/loop/LoopFragmentInside;
            ifnonnull 2
         1: .line 99
            aload 0 /* this */
            new org.graalvm.compiler.loop.LoopFragmentInside
            dup
            aload 0 /* this */
            invokespecial org.graalvm.compiler.loop.LoopFragmentInside.<init>:(Lorg/graalvm/compiler/loop/LoopEx;)V
            putfield org.graalvm.compiler.loop.LoopEx.inside:Lorg/graalvm/compiler/loop/LoopFragmentInside;
         2: .line 101
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.graalvm.compiler.loop.LoopEx.inside:Lorg/graalvm/compiler/loop/LoopFragmentInside;
            areturn
        end local 0 // org.graalvm.compiler.loop.LoopEx this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/graalvm/compiler/loop/LoopEx;

  public org.graalvm.compiler.loop.LoopFragmentWhole whole();
    descriptor: ()Lorg/graalvm/compiler/loop/LoopFragmentWhole;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // org.graalvm.compiler.loop.LoopEx this
         0: .line 105
            aload 0 /* this */
            getfield org.graalvm.compiler.loop.LoopEx.whole:Lorg/graalvm/compiler/loop/LoopFragmentWhole;
            ifnonnull 2
         1: .line 106
            aload 0 /* this */
            new org.graalvm.compiler.loop.LoopFragmentWhole
            dup
            aload 0 /* this */
            invokespecial org.graalvm.compiler.loop.LoopFragmentWhole.<init>:(Lorg/graalvm/compiler/loop/LoopEx;)V
            putfield org.graalvm.compiler.loop.LoopEx.whole:Lorg/graalvm/compiler/loop/LoopFragmentWhole;
         2: .line 108
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.graalvm.compiler.loop.LoopEx.whole:Lorg/graalvm/compiler/loop/LoopFragmentWhole;
            areturn
        end local 0 // org.graalvm.compiler.loop.LoopEx this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/graalvm/compiler/loop/LoopEx;

  public void invalidateFragments();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.graalvm.compiler.loop.LoopEx this
         0: .line 112
            aload 0 /* this */
            aconst_null
            putfield org.graalvm.compiler.loop.LoopEx.inside:Lorg/graalvm/compiler/loop/LoopFragmentInside;
         1: .line 113
            aload 0 /* this */
            aconst_null
            putfield org.graalvm.compiler.loop.LoopEx.whole:Lorg/graalvm/compiler/loop/LoopFragmentWhole;
         2: .line 114
            return
        end local 0 // org.graalvm.compiler.loop.LoopEx this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/graalvm/compiler/loop/LoopEx;

  public org.graalvm.compiler.loop.LoopFragmentInsideFrom insideFrom(org.graalvm.compiler.nodes.FixedNode);
    descriptor: (Lorg/graalvm/compiler/nodes/FixedNode;)Lorg/graalvm/compiler/loop/LoopFragmentInsideFrom;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=2, args_size=2
        start local 0 // org.graalvm.compiler.loop.LoopEx this
        start local 1 // org.graalvm.compiler.nodes.FixedNode point
         0: .line 119
            aconst_null
            areturn
        end local 1 // org.graalvm.compiler.nodes.FixedNode point
        end local 0 // org.graalvm.compiler.loop.LoopEx this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0   this  Lorg/graalvm/compiler/loop/LoopEx;
            0    1     1  point  Lorg/graalvm/compiler/nodes/FixedNode;
    MethodParameters:
       Name  Flags
      point  

  public org.graalvm.compiler.loop.LoopFragmentInsideBefore insideBefore(org.graalvm.compiler.nodes.FixedNode);
    descriptor: (Lorg/graalvm/compiler/nodes/FixedNode;)Lorg/graalvm/compiler/loop/LoopFragmentInsideBefore;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=2, args_size=2
        start local 0 // org.graalvm.compiler.loop.LoopEx this
        start local 1 // org.graalvm.compiler.nodes.FixedNode point
         0: .line 125
            aconst_null
            areturn
        end local 1 // org.graalvm.compiler.nodes.FixedNode point
        end local 0 // org.graalvm.compiler.loop.LoopEx this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0   this  Lorg/graalvm/compiler/loop/LoopEx;
            0    1     1  point  Lorg/graalvm/compiler/nodes/FixedNode;
    MethodParameters:
       Name  Flags
      point  

  public boolean isOutsideLoop(org.graalvm.compiler.graph.Node);
    descriptor: (Lorg/graalvm/compiler/graph/Node;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.graalvm.compiler.loop.LoopEx this
        start local 1 // org.graalvm.compiler.graph.Node n
         0: .line 129
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.loop.LoopEx.whole:()Lorg/graalvm/compiler/loop/LoopFragmentWhole;
            aload 1 /* n */
            invokevirtual org.graalvm.compiler.loop.LoopFragmentWhole.contains:(Lorg/graalvm/compiler/graph/Node;)Z
            ifeq 1
            iconst_0
            goto 2
      StackMap locals:
      StackMap stack:
         1: iconst_1
      StackMap locals:
      StackMap stack: int
         2: ireturn
        end local 1 // org.graalvm.compiler.graph.Node n
        end local 0 // org.graalvm.compiler.loop.LoopEx this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/graalvm/compiler/loop/LoopEx;
            0    3     1     n  Lorg/graalvm/compiler/graph/Node;
    MethodParameters:
      Name  Flags
      n     

  public org.graalvm.compiler.nodes.LoopBeginNode loopBegin();
    descriptor: ()Lorg/graalvm/compiler/nodes/LoopBeginNode;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.graalvm.compiler.loop.LoopEx this
         0: .line 133
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.loop.LoopEx.loop:()Lorg/graalvm/compiler/core/common/cfg/Loop;
            invokevirtual org.graalvm.compiler.core.common.cfg.Loop.getHeader:()Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;
            checkcast org.graalvm.compiler.nodes.cfg.Block
            invokevirtual org.graalvm.compiler.nodes.cfg.Block.getBeginNode:()Lorg/graalvm/compiler/nodes/AbstractBeginNode;
            checkcast org.graalvm.compiler.nodes.LoopBeginNode
            areturn
        end local 0 // org.graalvm.compiler.loop.LoopEx this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/graalvm/compiler/loop/LoopEx;

  public org.graalvm.compiler.nodes.FixedNode predecessor();
    descriptor: ()Lorg/graalvm/compiler/nodes/FixedNode;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.graalvm.compiler.loop.LoopEx this
         0: .line 137
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.loop.LoopEx.loopBegin:()Lorg/graalvm/compiler/nodes/LoopBeginNode;
            invokevirtual org.graalvm.compiler.nodes.LoopBeginNode.forwardEnd:()Lorg/graalvm/compiler/nodes/AbstractEndNode;
            invokevirtual org.graalvm.compiler.nodes.AbstractEndNode.predecessor:()Lorg/graalvm/compiler/graph/Node;
            checkcast org.graalvm.compiler.nodes.FixedNode
            areturn
        end local 0 // org.graalvm.compiler.loop.LoopEx this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/graalvm/compiler/loop/LoopEx;

  public org.graalvm.compiler.nodes.FixedNode entryPoint();
    descriptor: ()Lorg/graalvm/compiler/nodes/FixedNode;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.graalvm.compiler.loop.LoopEx this
         0: .line 141
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.loop.LoopEx.loopBegin:()Lorg/graalvm/compiler/nodes/LoopBeginNode;
            invokevirtual org.graalvm.compiler.nodes.LoopBeginNode.forwardEnd:()Lorg/graalvm/compiler/nodes/AbstractEndNode;
            areturn
        end local 0 // org.graalvm.compiler.loop.LoopEx this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/graalvm/compiler/loop/LoopEx;

  public boolean isCounted();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.graalvm.compiler.loop.LoopEx this
         0: .line 145
            getstatic org.graalvm.compiler.loop.LoopEx.$assertionsDisabled:Z
            ifne 1
            aload 0 /* this */
            getfield org.graalvm.compiler.loop.LoopEx.countedLoopChecked:Z
            ifne 1
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         1: .line 146
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.graalvm.compiler.loop.LoopEx.counted:Lorg/graalvm/compiler/loop/CountedLoopInfo;
            ifnull 2
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         2: iconst_0
            ireturn
        end local 0 // org.graalvm.compiler.loop.LoopEx this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/graalvm/compiler/loop/LoopEx;

  public org.graalvm.compiler.loop.CountedLoopInfo counted();
    descriptor: ()Lorg/graalvm/compiler/loop/CountedLoopInfo;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.graalvm.compiler.loop.LoopEx this
         0: .line 150
            getstatic org.graalvm.compiler.loop.LoopEx.$assertionsDisabled:Z
            ifne 1
            aload 0 /* this */
            getfield org.graalvm.compiler.loop.LoopEx.countedLoopChecked:Z
            ifne 1
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         1: .line 151
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.graalvm.compiler.loop.LoopEx.counted:Lorg/graalvm/compiler/loop/CountedLoopInfo;
            areturn
        end local 0 // org.graalvm.compiler.loop.LoopEx this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/graalvm/compiler/loop/LoopEx;

  public org.graalvm.compiler.loop.LoopEx parent();
    descriptor: ()Lorg/graalvm/compiler/loop/LoopEx;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.graalvm.compiler.loop.LoopEx this
         0: .line 155
            aload 0 /* this */
            getfield org.graalvm.compiler.loop.LoopEx.loop:Lorg/graalvm/compiler/core/common/cfg/Loop;
            invokevirtual org.graalvm.compiler.core.common.cfg.Loop.getParent:()Lorg/graalvm/compiler/core/common/cfg/Loop;
            ifnonnull 2
         1: .line 156
            aconst_null
            areturn
         2: .line 158
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.graalvm.compiler.loop.LoopEx.data:Lorg/graalvm/compiler/loop/LoopsData;
            aload 0 /* this */
            getfield org.graalvm.compiler.loop.LoopEx.loop:Lorg/graalvm/compiler/core/common/cfg/Loop;
            invokevirtual org.graalvm.compiler.core.common.cfg.Loop.getParent:()Lorg/graalvm/compiler/core/common/cfg/Loop;
            invokevirtual org.graalvm.compiler.loop.LoopsData.loop:(Lorg/graalvm/compiler/core/common/cfg/Loop;)Lorg/graalvm/compiler/loop/LoopEx;
            areturn
        end local 0 // org.graalvm.compiler.loop.LoopEx this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/graalvm/compiler/loop/LoopEx;

  public int size();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.graalvm.compiler.loop.LoopEx this
         0: .line 162
            aload 0 /* this */
            getfield org.graalvm.compiler.loop.LoopEx.size:I
            iconst_m1
            if_icmpne 2
         1: .line 163
            aload 0 /* this */
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.loop.LoopEx.whole:()Lorg/graalvm/compiler/loop/LoopFragmentWhole;
            invokevirtual org.graalvm.compiler.loop.LoopFragmentWhole.nodes:()Lorg/graalvm/compiler/graph/NodeBitMap;
            invokevirtual org.graalvm.compiler.graph.NodeBitMap.count:()I
            putfield org.graalvm.compiler.loop.LoopEx.size:I
         2: .line 165
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.graalvm.compiler.loop.LoopEx.size:I
            ireturn
        end local 0 // org.graalvm.compiler.loop.LoopEx this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/graalvm/compiler/loop/LoopEx;

  public void resetCounted();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.graalvm.compiler.loop.LoopEx this
         0: .line 169
            getstatic org.graalvm.compiler.loop.LoopEx.$assertionsDisabled:Z
            ifne 1
            aload 0 /* this */
            getfield org.graalvm.compiler.loop.LoopEx.countedLoopChecked:Z
            ifne 1
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         1: .line 170
      StackMap locals:
      StackMap stack:
            getstatic org.graalvm.compiler.loop.LoopEx.$assertionsDisabled:Z
            ifne 2
            aload 0 /* this */
            getfield org.graalvm.compiler.loop.LoopEx.counted:Lorg/graalvm/compiler/loop/CountedLoopInfo;
            ifnonnull 2
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         2: .line 171
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aconst_null
            putfield org.graalvm.compiler.loop.LoopEx.ivs:Lorg/graalvm/collections/EconomicMap;
         3: .line 172
            aload 0 /* this */
            aconst_null
            putfield org.graalvm.compiler.loop.LoopEx.counted:Lorg/graalvm/compiler/loop/CountedLoopInfo;
         4: .line 173
            aload 0 /* this */
            iconst_0
            putfield org.graalvm.compiler.loop.LoopEx.countedLoopChecked:Z
         5: .line 174
            return
        end local 0 // org.graalvm.compiler.loop.LoopEx this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    6     0  this  Lorg/graalvm/compiler/loop/LoopEx;

  public java.lang.String toString();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=1, args_size=1
        start local 0 // org.graalvm.compiler.loop.LoopEx this
         0: .line 178
            new java.lang.StringBuilder
            dup
            aload 0 /* this */
            getfield org.graalvm.compiler.loop.LoopEx.countedLoopChecked:Z
            ifeq 1
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.loop.LoopEx.isCounted:()Z
            ifeq 1
            new java.lang.StringBuilder
            dup
            ldc "CountedLoop ["
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.loop.LoopEx.counted:()Lorg/graalvm/compiler/loop/CountedLoopInfo;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc "] "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            goto 2
      StackMap locals: org.graalvm.compiler.loop.LoopEx
      StackMap stack: new 0 new 0
         1: ldc "Loop "
      StackMap locals: org.graalvm.compiler.loop.LoopEx
      StackMap stack: new 0 new 0 java.lang.String
         2: invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc "(depth="
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.loop.LoopEx.loop:()Lorg/graalvm/compiler/core/common/cfg/Loop;
            invokevirtual org.graalvm.compiler.core.common.cfg.Loop.getDepth:()I
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc ") "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.loop.LoopEx.loopBegin:()Lorg/graalvm/compiler/nodes/LoopBeginNode;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 0 // org.graalvm.compiler.loop.LoopEx this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/graalvm/compiler/loop/LoopEx;

  public boolean reassociateInvariants();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=10, args_size=1
        start local 0 // org.graalvm.compiler.loop.LoopEx this
         0: .line 206
            iconst_0
            istore 1 /* count */
        start local 1 // int count
         1: .line 207
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.loop.LoopEx.loopBegin:()Lorg/graalvm/compiler/nodes/LoopBeginNode;
            invokevirtual org.graalvm.compiler.nodes.LoopBeginNode.graph:()Lorg/graalvm/compiler/nodes/StructuredGraph;
            astore 2 /* graph */
        start local 2 // org.graalvm.compiler.nodes.StructuredGraph graph
         2: .line 208
            new org.graalvm.compiler.loop.LoopEx$InvariantPredicate
            dup
            aload 0 /* this */
            invokespecial org.graalvm.compiler.loop.LoopEx$InvariantPredicate.<init>:(Lorg/graalvm/compiler/loop/LoopEx;)V
            astore 3 /* invariant */
        start local 3 // org.graalvm.compiler.loop.LoopEx$InvariantPredicate invariant
         3: .line 209
            aload 2 /* graph */
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph.createNodeBitMap:()Lorg/graalvm/compiler/graph/NodeBitMap;
            astore 4 /* newLoopNodes */
        start local 4 // org.graalvm.compiler.graph.NodeBitMap newLoopNodes
         4: .line 210
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.loop.LoopEx.whole:()Lorg/graalvm/compiler/loop/LoopFragmentWhole;
            invokevirtual org.graalvm.compiler.loop.LoopFragmentWhole.nodes:()Lorg/graalvm/compiler/graph/NodeBitMap;
            ldc Lorg/graalvm/compiler/nodes/calc/BinaryArithmeticNode;
            invokevirtual org.graalvm.compiler.graph.NodeBitMap.filter:(Ljava/lang/Class;)Lorg/graalvm/compiler/graph/iterators/NodeIterable;
            invokeinterface org.graalvm.compiler.graph.iterators.NodeIterable.iterator:()Ljava/util/Iterator;
            astore 6
            goto 27
      StackMap locals: org.graalvm.compiler.loop.LoopEx int org.graalvm.compiler.nodes.StructuredGraph org.graalvm.compiler.loop.LoopEx$InvariantPredicate org.graalvm.compiler.graph.NodeBitMap top java.util.Iterator
      StackMap stack:
         5: aload 6
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.graalvm.compiler.nodes.calc.BinaryArithmeticNode
            astore 5 /* binary */
        start local 5 // org.graalvm.compiler.nodes.calc.BinaryArithmeticNode binary
         6: .line 211
            aload 5 /* binary */
            invokevirtual org.graalvm.compiler.nodes.calc.BinaryArithmeticNode.isAssociative:()Z
            ifne 8
         7: .line 212
            goto 27
         8: .line 214
      StackMap locals: org.graalvm.compiler.loop.LoopEx int org.graalvm.compiler.nodes.StructuredGraph org.graalvm.compiler.loop.LoopEx$InvariantPredicate org.graalvm.compiler.graph.NodeBitMap org.graalvm.compiler.nodes.calc.BinaryArithmeticNode java.util.Iterator
      StackMap stack:
            aload 5 /* binary */
            aload 3 /* invariant */
            aload 5 /* binary */
            invokevirtual org.graalvm.compiler.nodes.calc.BinaryArithmeticNode.getX:()Lorg/graalvm/compiler/nodes/ValueNode;
            aload 5 /* binary */
            invokevirtual org.graalvm.compiler.nodes.calc.BinaryArithmeticNode.getY:()Lorg/graalvm/compiler/nodes/ValueNode;
            getstatic org.graalvm.compiler.nodes.NodeView.DEFAULT:Lorg/graalvm/compiler/nodes/NodeView;
            invokestatic org.graalvm.compiler.nodes.calc.BinaryArithmeticNode.reassociateMatchedValues:(Lorg/graalvm/compiler/nodes/calc/BinaryArithmeticNode;Lorg/graalvm/compiler/graph/iterators/NodePredicate;Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/NodeView;)Lorg/graalvm/compiler/nodes/ValueNode;
            astore 7 /* result */
        start local 7 // org.graalvm.compiler.nodes.ValueNode result
         9: .line 215
            aload 7 /* result */
            aload 5 /* binary */
            if_acmpne 11
        10: .line 216
            aload 5 /* binary */
            aload 3 /* invariant */
            getstatic org.graalvm.compiler.nodes.NodeView.DEFAULT:Lorg/graalvm/compiler/nodes/NodeView;
            invokestatic org.graalvm.compiler.nodes.calc.BinaryArithmeticNode.reassociateUnmatchedValues:(Lorg/graalvm/compiler/nodes/calc/BinaryArithmeticNode;Lorg/graalvm/compiler/graph/iterators/NodePredicate;Lorg/graalvm/compiler/nodes/NodeView;)Lorg/graalvm/compiler/nodes/ValueNode;
            astore 7 /* result */
        11: .line 218
      StackMap locals: org.graalvm.compiler.nodes.ValueNode
      StackMap stack:
            aload 7 /* result */
            aload 5 /* binary */
            if_acmpeq 27
        12: .line 219
            aload 7 /* result */
            invokevirtual org.graalvm.compiler.nodes.ValueNode.isAlive:()Z
            ifne 21
        13: .line 220
            getstatic org.graalvm.compiler.loop.LoopEx.$assertionsDisabled:Z
            ifne 14
            aload 7 /* result */
            invokevirtual org.graalvm.compiler.nodes.ValueNode.isDeleted:()Z
            ifeq 14
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        14: .line 221
      StackMap locals:
      StackMap stack:
            aload 2 /* graph */
            aload 7 /* result */
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph.addOrUniqueWithInputs:(Lorg/graalvm/compiler/graph/Node;)Lorg/graalvm/compiler/graph/Node;
            checkcast org.graalvm.compiler.nodes.ValueNode
            astore 7 /* result */
        15: .line 223
            aload 4 /* newLoopNodes */
            aload 7 /* result */
            invokevirtual org.graalvm.compiler.graph.NodeBitMap.markAndGrow:(Lorg/graalvm/compiler/graph/Node;)V
        16: .line 224
            aload 7 /* result */
            invokevirtual org.graalvm.compiler.nodes.ValueNode.inputs:()Lorg/graalvm/compiler/graph/iterators/NodeIterable;
            invokeinterface org.graalvm.compiler.graph.iterators.NodeIterable.iterator:()Ljava/util/Iterator;
            astore 9
            goto 20
      StackMap locals: org.graalvm.compiler.loop.LoopEx int org.graalvm.compiler.nodes.StructuredGraph org.graalvm.compiler.loop.LoopEx$InvariantPredicate org.graalvm.compiler.graph.NodeBitMap org.graalvm.compiler.nodes.calc.BinaryArithmeticNode java.util.Iterator org.graalvm.compiler.nodes.ValueNode top java.util.Iterator
      StackMap stack:
        17: aload 9
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.graalvm.compiler.graph.Node
            astore 8 /* input */
        start local 8 // org.graalvm.compiler.graph.Node input
        18: .line 225
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.loop.LoopEx.whole:()Lorg/graalvm/compiler/loop/LoopFragmentWhole;
            invokevirtual org.graalvm.compiler.loop.LoopFragmentWhole.nodes:()Lorg/graalvm/compiler/graph/NodeBitMap;
            aload 8 /* input */
            invokevirtual org.graalvm.compiler.graph.NodeBitMap.isNew:(Lorg/graalvm/compiler/graph/Node;)Z
            ifeq 20
            aload 3 /* invariant */
            aload 8 /* input */
            invokevirtual org.graalvm.compiler.loop.LoopEx$InvariantPredicate.apply:(Lorg/graalvm/compiler/graph/Node;)Z
            ifne 20
        19: .line 226
            aload 4 /* newLoopNodes */
            aload 8 /* input */
            invokevirtual org.graalvm.compiler.graph.NodeBitMap.markAndGrow:(Lorg/graalvm/compiler/graph/Node;)V
        end local 8 // org.graalvm.compiler.graph.Node input
        20: .line 224
      StackMap locals:
      StackMap stack:
            aload 9
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 17
        21: .line 230
      StackMap locals: org.graalvm.compiler.loop.LoopEx int org.graalvm.compiler.nodes.StructuredGraph org.graalvm.compiler.loop.LoopEx$InvariantPredicate org.graalvm.compiler.graph.NodeBitMap org.graalvm.compiler.nodes.calc.BinaryArithmeticNode java.util.Iterator org.graalvm.compiler.nodes.ValueNode
      StackMap stack:
            aload 2 /* graph */
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph.getDebug:()Lorg/graalvm/compiler/debug/DebugContext;
            astore 8 /* debug */
        start local 8 // org.graalvm.compiler.debug.DebugContext debug
        22: .line 231
            aload 8 /* debug */
            invokevirtual org.graalvm.compiler.debug.DebugContext.isLogEnabled:()Z
            ifeq 24
        23: .line 232
            aload 8 /* debug */
            ldc "%s : Re-associated %s into %s"
            aload 2 /* graph */
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph.method:()Ljdk/vm/ci/meta/ResolvedJavaMethod;
            ldc "%H::%n"
            invokeinterface jdk.vm.ci.meta.ResolvedJavaMethod.format:(Ljava/lang/String;)Ljava/lang/String;
            aload 5 /* binary */
            aload 7 /* result */
            invokevirtual org.graalvm.compiler.debug.DebugContext.log:(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)V
        24: .line 234
      StackMap locals: org.graalvm.compiler.debug.DebugContext
      StackMap stack:
            aload 5 /* binary */
            aload 7 /* result */
            invokevirtual org.graalvm.compiler.nodes.calc.BinaryArithmeticNode.replaceAtUsages:(Lorg/graalvm/compiler/graph/Node;)V
        25: .line 235
            aload 5 /* binary */
            invokestatic org.graalvm.compiler.nodes.util.GraphUtil.killWithUnusedFloatingInputs:(Lorg/graalvm/compiler/graph/Node;)V
        26: .line 236
            iinc 1 /* count */ 1
        end local 8 // org.graalvm.compiler.debug.DebugContext debug
        end local 7 // org.graalvm.compiler.nodes.ValueNode result
        end local 5 // org.graalvm.compiler.nodes.calc.BinaryArithmeticNode binary
        27: .line 210
      StackMap locals: org.graalvm.compiler.loop.LoopEx int org.graalvm.compiler.nodes.StructuredGraph org.graalvm.compiler.loop.LoopEx$InvariantPredicate org.graalvm.compiler.graph.NodeBitMap top java.util.Iterator
      StackMap stack:
            aload 6
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 5
        28: .line 239
            aload 4 /* newLoopNodes */
            invokevirtual org.graalvm.compiler.graph.NodeBitMap.isNotEmpty:()Z
            ifeq 30
        29: .line 240
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.loop.LoopEx.whole:()Lorg/graalvm/compiler/loop/LoopFragmentWhole;
            invokevirtual org.graalvm.compiler.loop.LoopFragmentWhole.nodes:()Lorg/graalvm/compiler/graph/NodeBitMap;
            aload 4 /* newLoopNodes */
            invokevirtual org.graalvm.compiler.graph.NodeBitMap.union:(Lorg/graalvm/compiler/graph/NodeBitMap;)V
        30: .line 242
      StackMap locals: org.graalvm.compiler.loop.LoopEx int org.graalvm.compiler.nodes.StructuredGraph org.graalvm.compiler.loop.LoopEx$InvariantPredicate org.graalvm.compiler.graph.NodeBitMap
      StackMap stack:
            iload 1 /* count */
            ifeq 31
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
        31: iconst_0
            ireturn
        end local 4 // org.graalvm.compiler.graph.NodeBitMap newLoopNodes
        end local 3 // org.graalvm.compiler.loop.LoopEx$InvariantPredicate invariant
        end local 2 // org.graalvm.compiler.nodes.StructuredGraph graph
        end local 1 // int count
        end local 0 // org.graalvm.compiler.loop.LoopEx this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   32     0          this  Lorg/graalvm/compiler/loop/LoopEx;
            1   32     1         count  I
            2   32     2         graph  Lorg/graalvm/compiler/nodes/StructuredGraph;
            3   32     3     invariant  Lorg/graalvm/compiler/loop/LoopEx$InvariantPredicate;
            4   32     4  newLoopNodes  Lorg/graalvm/compiler/graph/NodeBitMap;
            6   27     5        binary  Lorg/graalvm/compiler/nodes/calc/BinaryArithmeticNode<*>;
            9   27     7        result  Lorg/graalvm/compiler/nodes/ValueNode;
           18   20     8         input  Lorg/graalvm/compiler/graph/Node;
           22   27     8         debug  Lorg/graalvm/compiler/debug/DebugContext;

  public boolean detectCounted();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=10, locals=15, args_size=1
        start local 0 // org.graalvm.compiler.loop.LoopEx this
         0: .line 247
            aload 0 /* this */
            getfield org.graalvm.compiler.loop.LoopEx.countedLoopChecked:Z
            ifeq 2
         1: .line 248
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.loop.LoopEx.isCounted:()Z
            ireturn
         2: .line 250
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_1
            putfield org.graalvm.compiler.loop.LoopEx.countedLoopChecked:Z
         3: .line 251
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.loop.LoopEx.loopBegin:()Lorg/graalvm/compiler/nodes/LoopBeginNode;
            astore 1 /* loopBegin */
        start local 1 // org.graalvm.compiler.nodes.LoopBeginNode loopBegin
         4: .line 252
            aload 1 /* loopBegin */
            invokevirtual org.graalvm.compiler.nodes.LoopBeginNode.countedLoopDisabled:()Z
            ifeq 6
         5: .line 253
            iconst_0
            ireturn
         6: .line 255
      StackMap locals: org.graalvm.compiler.nodes.LoopBeginNode
      StackMap stack:
            aload 1 /* loopBegin */
            invokevirtual org.graalvm.compiler.nodes.LoopBeginNode.next:()Lorg/graalvm/compiler/nodes/FixedNode;
            astore 2 /* next */
        start local 2 // org.graalvm.compiler.nodes.FixedNode next
         7: .line 256
            goto 9
         8: .line 257
      StackMap locals: org.graalvm.compiler.nodes.FixedNode
      StackMap stack:
            aload 2 /* next */
            checkcast org.graalvm.compiler.nodes.FixedWithNextNode
            invokevirtual org.graalvm.compiler.nodes.FixedWithNextNode.next:()Lorg/graalvm/compiler/nodes/FixedNode;
            astore 2 /* next */
         9: .line 256
      StackMap locals:
      StackMap stack:
            aload 2 /* next */
            instanceof org.graalvm.compiler.nodes.FixedGuardNode
            ifne 8
            aload 2 /* next */
            instanceof org.graalvm.compiler.nodes.extended.ValueAnchorNode
            ifne 8
            aload 2 /* next */
            instanceof org.graalvm.compiler.nodes.FullInfopointNode
            ifne 8
        10: .line 259
            aload 2 /* next */
            instanceof org.graalvm.compiler.nodes.IfNode
            ifeq 84
        11: .line 260
            aload 2 /* next */
            checkcast org.graalvm.compiler.nodes.IfNode
            astore 3 /* ifNode */
        start local 3 // org.graalvm.compiler.nodes.IfNode ifNode
        12: .line 261
            iconst_0
            istore 4 /* negated */
        start local 4 // boolean negated
        13: .line 262
            aload 0 /* this */
            aload 3 /* ifNode */
            invokevirtual org.graalvm.compiler.nodes.IfNode.falseSuccessor:()Lorg/graalvm/compiler/nodes/AbstractBeginNode;
            invokevirtual org.graalvm.compiler.loop.LoopEx.isCfgLoopExit:(Lorg/graalvm/compiler/nodes/AbstractBeginNode;)Z
            ifne 17
        14: .line 263
            aload 0 /* this */
            aload 3 /* ifNode */
            invokevirtual org.graalvm.compiler.nodes.IfNode.trueSuccessor:()Lorg/graalvm/compiler/nodes/AbstractBeginNode;
            invokevirtual org.graalvm.compiler.loop.LoopEx.isCfgLoopExit:(Lorg/graalvm/compiler/nodes/AbstractBeginNode;)Z
            ifne 16
        15: .line 264
            iconst_0
            ireturn
        16: .line 266
      StackMap locals: org.graalvm.compiler.nodes.IfNode int
      StackMap stack:
            iconst_1
            istore 4 /* negated */
        17: .line 268
      StackMap locals:
      StackMap stack:
            aload 3 /* ifNode */
            invokevirtual org.graalvm.compiler.nodes.IfNode.condition:()Lorg/graalvm/compiler/nodes/LogicNode;
            astore 5 /* ifTest */
        start local 5 // org.graalvm.compiler.nodes.LogicNode ifTest
        18: .line 269
            aload 5 /* ifTest */
            instanceof org.graalvm.compiler.nodes.calc.CompareNode
            ifne 20
        19: .line 270
            iconst_0
            ireturn
        20: .line 272
      StackMap locals: org.graalvm.compiler.nodes.LogicNode
      StackMap stack:
            aload 5 /* ifTest */
            checkcast org.graalvm.compiler.nodes.calc.CompareNode
            astore 6 /* compare */
        start local 6 // org.graalvm.compiler.nodes.calc.CompareNode compare
        21: .line 273
            aconst_null
            astore 7 /* condition */
        start local 7 // org.graalvm.compiler.core.common.calc.Condition condition
        22: .line 274
            aconst_null
            astore 8 /* iv */
        start local 8 // org.graalvm.compiler.loop.InductionVariable iv
        23: .line 275
            aconst_null
            astore 9 /* limit */
        start local 9 // org.graalvm.compiler.nodes.ValueNode limit
        24: .line 276
            aload 0 /* this */
            aload 6 /* compare */
            invokevirtual org.graalvm.compiler.nodes.calc.CompareNode.getX:()Lorg/graalvm/compiler/nodes/ValueNode;
            invokevirtual org.graalvm.compiler.loop.LoopEx.isOutsideLoop:(Lorg/graalvm/compiler/graph/Node;)Z
            ifeq 30
        25: .line 277
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.loop.LoopEx.getInductionVariables:()Lorg/graalvm/collections/EconomicMap;
            aload 6 /* compare */
            invokevirtual org.graalvm.compiler.nodes.calc.CompareNode.getY:()Lorg/graalvm/compiler/nodes/ValueNode;
            invokeinterface org.graalvm.collections.EconomicMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast org.graalvm.compiler.loop.InductionVariable
            astore 8 /* iv */
        26: .line 278
            aload 8 /* iv */
            ifnull 35
        27: .line 279
            aload 6 /* compare */
            invokevirtual org.graalvm.compiler.nodes.calc.CompareNode.condition:()Lorg/graalvm/compiler/core/common/calc/CanonicalCondition;
            invokevirtual org.graalvm.compiler.core.common.calc.CanonicalCondition.asCondition:()Lorg/graalvm/compiler/core/common/calc/Condition;
            invokevirtual org.graalvm.compiler.core.common.calc.Condition.mirror:()Lorg/graalvm/compiler/core/common/calc/Condition;
            astore 7 /* condition */
        28: .line 280
            aload 6 /* compare */
            invokevirtual org.graalvm.compiler.nodes.calc.CompareNode.getX:()Lorg/graalvm/compiler/nodes/ValueNode;
            astore 9 /* limit */
        29: .line 282
            goto 35
      StackMap locals: org.graalvm.compiler.loop.LoopEx org.graalvm.compiler.nodes.LoopBeginNode org.graalvm.compiler.nodes.FixedNode org.graalvm.compiler.nodes.IfNode int org.graalvm.compiler.nodes.LogicNode org.graalvm.compiler.nodes.calc.CompareNode org.graalvm.compiler.core.common.calc.Condition org.graalvm.compiler.loop.InductionVariable org.graalvm.compiler.nodes.ValueNode
      StackMap stack:
        30: aload 0 /* this */
            aload 6 /* compare */
            invokevirtual org.graalvm.compiler.nodes.calc.CompareNode.getY:()Lorg/graalvm/compiler/nodes/ValueNode;
            invokevirtual org.graalvm.compiler.loop.LoopEx.isOutsideLoop:(Lorg/graalvm/compiler/graph/Node;)Z
            ifeq 35
        31: .line 283
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.loop.LoopEx.getInductionVariables:()Lorg/graalvm/collections/EconomicMap;
            aload 6 /* compare */
            invokevirtual org.graalvm.compiler.nodes.calc.CompareNode.getX:()Lorg/graalvm/compiler/nodes/ValueNode;
            invokeinterface org.graalvm.collections.EconomicMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast org.graalvm.compiler.loop.InductionVariable
            astore 8 /* iv */
        32: .line 284
            aload 8 /* iv */
            ifnull 35
        33: .line 285
            aload 6 /* compare */
            invokevirtual org.graalvm.compiler.nodes.calc.CompareNode.condition:()Lorg/graalvm/compiler/core/common/calc/CanonicalCondition;
            invokevirtual org.graalvm.compiler.core.common.calc.CanonicalCondition.asCondition:()Lorg/graalvm/compiler/core/common/calc/Condition;
            astore 7 /* condition */
        34: .line 286
            aload 6 /* compare */
            invokevirtual org.graalvm.compiler.nodes.calc.CompareNode.getY:()Lorg/graalvm/compiler/nodes/ValueNode;
            astore 9 /* limit */
        35: .line 289
      StackMap locals:
      StackMap stack:
            aload 7 /* condition */
            ifnonnull 37
        36: .line 290
            iconst_0
            ireturn
        37: .line 292
      StackMap locals:
      StackMap stack:
            iload 4 /* negated */
            ifeq 39
        38: .line 293
            aload 7 /* condition */
            invokevirtual org.graalvm.compiler.core.common.calc.Condition.negate:()Lorg/graalvm/compiler/core/common/calc/Condition;
            astore 7 /* condition */
        39: .line 295
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 10 /* oneOff */
        start local 10 // boolean oneOff
        40: .line 296
            iconst_0
            istore 11 /* unsigned */
        start local 11 // boolean unsigned
        41: .line 297
            invokestatic org.graalvm.compiler.loop.LoopEx.$SWITCH_TABLE$org$graalvm$compiler$core$common$calc$Condition:()[I
            aload 7 /* condition */
            invokevirtual org.graalvm.compiler.core.common.calc.Condition.ordinal:()I
            iaload
            tableswitch { // 1 - 10
                    1: 42
                    2: 46
                    3: 69
                    4: 65
                    5: 76
                    6: 72
                    7: 71
                    8: 64
                    9: 75
                   10: 68
              default: 78
          }
        42: .line 299
      StackMap locals: int int
      StackMap stack:
            aload 8 /* iv */
            invokevirtual org.graalvm.compiler.loop.InductionVariable.initNode:()Lorg/graalvm/compiler/nodes/ValueNode;
            aload 9 /* limit */
            if_acmpne 45
        43: .line 301
            iconst_1
            istore 10 /* oneOff */
        44: .line 302
            goto 79
        45: .line 303
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        46: .line 307
      StackMap locals:
      StackMap stack:
            aload 8 /* iv */
            invokevirtual org.graalvm.compiler.loop.InductionVariable.initNode:()Lorg/graalvm/compiler/nodes/ValueNode;
            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;
            checkcast org.graalvm.compiler.core.common.type.IntegerStamp
            astore 12 /* initStamp */
        start local 12 // org.graalvm.compiler.core.common.type.IntegerStamp initStamp
        47: .line 308
            aload 9 /* limit */
            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;
            checkcast org.graalvm.compiler.core.common.type.IntegerStamp
            astore 13 /* limitStamp */
        start local 13 // org.graalvm.compiler.core.common.type.IntegerStamp limitStamp
        48: .line 309
            aload 8 /* iv */
            invokevirtual org.graalvm.compiler.loop.InductionVariable.valueNode:()Lorg/graalvm/compiler/nodes/ValueNode;
            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;
            checkcast org.graalvm.compiler.core.common.type.IntegerStamp
            astore 14 /* counterStamp */
        start local 14 // org.graalvm.compiler.core.common.type.IntegerStamp counterStamp
        49: .line 310
            aload 8 /* iv */
            invokevirtual org.graalvm.compiler.loop.InductionVariable.direction:()Lorg/graalvm/compiler/loop/InductionVariable$Direction;
            getstatic org.graalvm.compiler.loop.InductionVariable$Direction.Up:Lorg/graalvm/compiler/loop/InductionVariable$Direction;
            if_acmpne 56
        50: .line 311
            aload 13 /* limitStamp */
            invokevirtual org.graalvm.compiler.core.common.type.IntegerStamp.asConstant:()Ljdk/vm/ci/meta/JavaConstant;
            ifnull 51
            aload 13 /* limitStamp */
            invokevirtual org.graalvm.compiler.core.common.type.IntegerStamp.asConstant:()Ljdk/vm/ci/meta/JavaConstant;
            invokeinterface jdk.vm.ci.meta.JavaConstant.asLong:()J
            aload 14 /* counterStamp */
            invokevirtual org.graalvm.compiler.core.common.type.IntegerStamp.upperBound:()J
            lcmp
            ifeq 79
        51: .line 313
      StackMap locals: org.graalvm.compiler.core.common.type.IntegerStamp org.graalvm.compiler.core.common.type.IntegerStamp org.graalvm.compiler.core.common.type.IntegerStamp
      StackMap stack:
            aload 13 /* limitStamp */
            invokevirtual org.graalvm.compiler.core.common.type.IntegerStamp.asConstant:()Ljdk/vm/ci/meta/JavaConstant;
            ifnull 54
            aload 13 /* limitStamp */
            invokevirtual org.graalvm.compiler.core.common.type.IntegerStamp.asConstant:()Ljdk/vm/ci/meta/JavaConstant;
            invokeinterface jdk.vm.ci.meta.JavaConstant.asLong:()J
            aload 14 /* counterStamp */
            invokevirtual org.graalvm.compiler.core.common.type.IntegerStamp.unsignedUpperBound:()J
            lcmp
            ifne 54
        52: .line 314
            iconst_1
            istore 11 /* unsigned */
        53: .line 315
            goto 79
      StackMap locals:
      StackMap stack:
        54: aload 8 /* iv */
            invokevirtual org.graalvm.compiler.loop.InductionVariable.isConstantStride:()Z
            ifeq 55
            aload 8 /* iv */
            invokevirtual org.graalvm.compiler.loop.InductionVariable.constantStride:()J
            invokestatic java.lang.Math.abs:(J)J
            lconst_1
            lcmp
            ifne 55
            aload 12 /* initStamp */
            invokevirtual org.graalvm.compiler.core.common.type.IntegerStamp.upperBound:()J
            aload 13 /* limitStamp */
            invokevirtual org.graalvm.compiler.core.common.type.IntegerStamp.lowerBound:()J
            lcmp
            ifle 79
        55: .line 316
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        56: .line 318
      StackMap locals:
      StackMap stack:
            aload 8 /* iv */
            invokevirtual org.graalvm.compiler.loop.InductionVariable.direction:()Lorg/graalvm/compiler/loop/InductionVariable$Direction;
            getstatic org.graalvm.compiler.loop.InductionVariable$Direction.Down:Lorg/graalvm/compiler/loop/InductionVariable$Direction;
            if_acmpne 63
        57: .line 319
            aload 13 /* limitStamp */
            invokevirtual org.graalvm.compiler.core.common.type.IntegerStamp.asConstant:()Ljdk/vm/ci/meta/JavaConstant;
            ifnull 58
            aload 13 /* limitStamp */
            invokevirtual org.graalvm.compiler.core.common.type.IntegerStamp.asConstant:()Ljdk/vm/ci/meta/JavaConstant;
            invokeinterface jdk.vm.ci.meta.JavaConstant.asLong:()J
            aload 14 /* counterStamp */
            invokevirtual org.graalvm.compiler.core.common.type.IntegerStamp.lowerBound:()J
            lcmp
            ifeq 79
        58: .line 321
      StackMap locals:
      StackMap stack:
            aload 13 /* limitStamp */
            invokevirtual org.graalvm.compiler.core.common.type.IntegerStamp.asConstant:()Ljdk/vm/ci/meta/JavaConstant;
            ifnull 61
            aload 13 /* limitStamp */
            invokevirtual org.graalvm.compiler.core.common.type.IntegerStamp.asConstant:()Ljdk/vm/ci/meta/JavaConstant;
            invokeinterface jdk.vm.ci.meta.JavaConstant.asLong:()J
            aload 14 /* counterStamp */
            invokevirtual org.graalvm.compiler.core.common.type.IntegerStamp.unsignedLowerBound:()J
            lcmp
            ifne 61
        59: .line 322
            iconst_1
            istore 11 /* unsigned */
        60: .line 323
            goto 79
      StackMap locals:
      StackMap stack:
        61: aload 8 /* iv */
            invokevirtual org.graalvm.compiler.loop.InductionVariable.isConstantStride:()Z
            ifeq 62
            aload 8 /* iv */
            invokevirtual org.graalvm.compiler.loop.InductionVariable.constantStride:()J
            invokestatic java.lang.Math.abs:(J)J
            lconst_1
            lcmp
            ifne 62
            aload 12 /* initStamp */
            invokevirtual org.graalvm.compiler.core.common.type.IntegerStamp.lowerBound:()J
            aload 13 /* limitStamp */
            invokevirtual org.graalvm.compiler.core.common.type.IntegerStamp.upperBound:()J
            lcmp
            ifge 79
        62: .line 324
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        63: .line 327
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        end local 14 // org.graalvm.compiler.core.common.type.IntegerStamp counterStamp
        end local 13 // org.graalvm.compiler.core.common.type.IntegerStamp limitStamp
        end local 12 // org.graalvm.compiler.core.common.type.IntegerStamp initStamp
        64: .line 332
      StackMap locals:
      StackMap stack:
            iconst_1
            istore 11 /* unsigned */
        65: .line 334
      StackMap locals:
      StackMap stack:
            iconst_1
            istore 10 /* oneOff */
        66: .line 335
            aload 8 /* iv */
            invokevirtual org.graalvm.compiler.loop.InductionVariable.direction:()Lorg/graalvm/compiler/loop/InductionVariable$Direction;
            getstatic org.graalvm.compiler.loop.InductionVariable$Direction.Up:Lorg/graalvm/compiler/loop/InductionVariable$Direction;
            if_acmpeq 79
        67: .line 336
            iconst_0
            ireturn
        68: .line 340
      StackMap locals:
      StackMap stack:
            iconst_1
            istore 11 /* unsigned */
        69: .line 342
      StackMap locals:
      StackMap stack:
            aload 8 /* iv */
            invokevirtual org.graalvm.compiler.loop.InductionVariable.direction:()Lorg/graalvm/compiler/loop/InductionVariable$Direction;
            getstatic org.graalvm.compiler.loop.InductionVariable$Direction.Up:Lorg/graalvm/compiler/loop/InductionVariable$Direction;
            if_acmpeq 79
        70: .line 343
            iconst_0
            ireturn
        71: .line 347
      StackMap locals:
      StackMap stack:
            iconst_1
            istore 11 /* unsigned */
        72: .line 349
      StackMap locals:
      StackMap stack:
            iconst_1
            istore 10 /* oneOff */
        73: .line 350
            aload 8 /* iv */
            invokevirtual org.graalvm.compiler.loop.InductionVariable.direction:()Lorg/graalvm/compiler/loop/InductionVariable$Direction;
            getstatic org.graalvm.compiler.loop.InductionVariable$Direction.Down:Lorg/graalvm/compiler/loop/InductionVariable$Direction;
            if_acmpeq 79
        74: .line 351
            iconst_0
            ireturn
        75: .line 355
      StackMap locals:
      StackMap stack:
            iconst_1
            istore 11 /* unsigned */
        76: .line 357
      StackMap locals:
      StackMap stack:
            aload 8 /* iv */
            invokevirtual org.graalvm.compiler.loop.InductionVariable.direction:()Lorg/graalvm/compiler/loop/InductionVariable$Direction;
            getstatic org.graalvm.compiler.loop.InductionVariable$Direction.Down:Lorg/graalvm/compiler/loop/InductionVariable$Direction;
            if_acmpeq 79
        77: .line 358
            iconst_0
            ireturn
        78: .line 362
      StackMap locals:
      StackMap stack:
            aload 7 /* condition */
            invokevirtual org.graalvm.compiler.core.common.calc.Condition.toString:()Ljava/lang/String;
            invokestatic org.graalvm.compiler.debug.GraalError.shouldNotReachHere:(Ljava/lang/String;)Ljava/lang/RuntimeException;
            athrow
        79: .line 364
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
        80: new org.graalvm.compiler.loop.CountedLoopInfo
            dup
            aload 0 /* this */
            aload 8 /* iv */
            aload 3 /* ifNode */
            aload 9 /* limit */
            iload 10 /* oneOff */
            iload 4 /* negated */
            ifeq 81
            aload 3 /* ifNode */
            invokevirtual org.graalvm.compiler.nodes.IfNode.falseSuccessor:()Lorg/graalvm/compiler/nodes/AbstractBeginNode;
            goto 82
      StackMap locals: org.graalvm.compiler.loop.LoopEx org.graalvm.compiler.nodes.LoopBeginNode org.graalvm.compiler.nodes.FixedNode org.graalvm.compiler.nodes.IfNode int org.graalvm.compiler.nodes.LogicNode org.graalvm.compiler.nodes.calc.CompareNode org.graalvm.compiler.core.common.calc.Condition org.graalvm.compiler.loop.InductionVariable org.graalvm.compiler.nodes.ValueNode int int
      StackMap stack: org.graalvm.compiler.loop.LoopEx new 80 new 80 org.graalvm.compiler.loop.LoopEx org.graalvm.compiler.loop.InductionVariable org.graalvm.compiler.nodes.IfNode org.graalvm.compiler.nodes.ValueNode int
        81: aload 3 /* ifNode */
            invokevirtual org.graalvm.compiler.nodes.IfNode.trueSuccessor:()Lorg/graalvm/compiler/nodes/AbstractBeginNode;
      StackMap locals: org.graalvm.compiler.loop.LoopEx org.graalvm.compiler.nodes.LoopBeginNode org.graalvm.compiler.nodes.FixedNode org.graalvm.compiler.nodes.IfNode int org.graalvm.compiler.nodes.LogicNode org.graalvm.compiler.nodes.calc.CompareNode org.graalvm.compiler.core.common.calc.Condition org.graalvm.compiler.loop.InductionVariable org.graalvm.compiler.nodes.ValueNode int int
      StackMap stack: org.graalvm.compiler.loop.LoopEx new 80 new 80 org.graalvm.compiler.loop.LoopEx org.graalvm.compiler.loop.InductionVariable org.graalvm.compiler.nodes.IfNode org.graalvm.compiler.nodes.ValueNode int org.graalvm.compiler.nodes.AbstractBeginNode
        82: iload 11 /* unsigned */
            invokespecial org.graalvm.compiler.loop.CountedLoopInfo.<init>:(Lorg/graalvm/compiler/loop/LoopEx;Lorg/graalvm/compiler/loop/InductionVariable;Lorg/graalvm/compiler/nodes/IfNode;Lorg/graalvm/compiler/nodes/ValueNode;ZLorg/graalvm/compiler/nodes/AbstractBeginNode;Z)V
            putfield org.graalvm.compiler.loop.LoopEx.counted:Lorg/graalvm/compiler/loop/CountedLoopInfo;
        83: .line 365
            iconst_1
            ireturn
        end local 11 // boolean unsigned
        end local 10 // boolean oneOff
        end local 9 // org.graalvm.compiler.nodes.ValueNode limit
        end local 8 // org.graalvm.compiler.loop.InductionVariable iv
        end local 7 // org.graalvm.compiler.core.common.calc.Condition condition
        end local 6 // org.graalvm.compiler.nodes.calc.CompareNode compare
        end local 5 // org.graalvm.compiler.nodes.LogicNode ifTest
        end local 4 // boolean negated
        end local 3 // org.graalvm.compiler.nodes.IfNode ifNode
        84: .line 367
      StackMap locals: org.graalvm.compiler.loop.LoopEx org.graalvm.compiler.nodes.LoopBeginNode org.graalvm.compiler.nodes.FixedNode
      StackMap stack:
            iconst_0
            ireturn
        end local 2 // org.graalvm.compiler.nodes.FixedNode next
        end local 1 // org.graalvm.compiler.nodes.LoopBeginNode loopBegin
        end local 0 // org.graalvm.compiler.loop.LoopEx this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   85     0          this  Lorg/graalvm/compiler/loop/LoopEx;
            4   85     1     loopBegin  Lorg/graalvm/compiler/nodes/LoopBeginNode;
            7   85     2          next  Lorg/graalvm/compiler/nodes/FixedNode;
           12   84     3        ifNode  Lorg/graalvm/compiler/nodes/IfNode;
           13   84     4       negated  Z
           18   84     5        ifTest  Lorg/graalvm/compiler/nodes/LogicNode;
           21   84     6       compare  Lorg/graalvm/compiler/nodes/calc/CompareNode;
           22   84     7     condition  Lorg/graalvm/compiler/core/common/calc/Condition;
           23   84     8            iv  Lorg/graalvm/compiler/loop/InductionVariable;
           24   84     9         limit  Lorg/graalvm/compiler/nodes/ValueNode;
           40   84    10        oneOff  Z
           41   84    11      unsigned  Z
           47   64    12     initStamp  Lorg/graalvm/compiler/core/common/type/IntegerStamp;
           48   64    13    limitStamp  Lorg/graalvm/compiler/core/common/type/IntegerStamp;
           49   64    14  counterStamp  Lorg/graalvm/compiler/core/common/type/IntegerStamp;

  private boolean isCfgLoopExit(org.graalvm.compiler.nodes.AbstractBeginNode);
    descriptor: (Lorg/graalvm/compiler/nodes/AbstractBeginNode;)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // org.graalvm.compiler.loop.LoopEx this
        start local 1 // org.graalvm.compiler.nodes.AbstractBeginNode begin
         0: .line 371
            aload 0 /* this */
            getfield org.graalvm.compiler.loop.LoopEx.data:Lorg/graalvm/compiler/loop/LoopsData;
            invokevirtual org.graalvm.compiler.loop.LoopsData.getCFG:()Lorg/graalvm/compiler/nodes/cfg/ControlFlowGraph;
            aload 1 /* begin */
            invokevirtual org.graalvm.compiler.nodes.cfg.ControlFlowGraph.blockFor:(Lorg/graalvm/compiler/graph/Node;)Lorg/graalvm/compiler/nodes/cfg/Block;
            astore 2 /* block */
        start local 2 // org.graalvm.compiler.nodes.cfg.Block block
         1: .line 372
            aload 0 /* this */
            getfield org.graalvm.compiler.loop.LoopEx.loop:Lorg/graalvm/compiler/core/common/cfg/Loop;
            invokevirtual org.graalvm.compiler.core.common.cfg.Loop.getDepth:()I
            aload 2 /* block */
            invokevirtual org.graalvm.compiler.nodes.cfg.Block.getLoopDepth:()I
            if_icmpgt 2
            aload 0 /* this */
            getfield org.graalvm.compiler.loop.LoopEx.loop:Lorg/graalvm/compiler/core/common/cfg/Loop;
            aload 2 /* block */
            invokevirtual org.graalvm.compiler.core.common.cfg.Loop.isNaturalExit:(Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;)Z
            ifne 2
            iconst_0
            ireturn
      StackMap locals: org.graalvm.compiler.nodes.cfg.Block
      StackMap stack:
         2: iconst_1
            ireturn
        end local 2 // org.graalvm.compiler.nodes.cfg.Block block
        end local 1 // org.graalvm.compiler.nodes.AbstractBeginNode begin
        end local 0 // org.graalvm.compiler.loop.LoopEx this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    3     0   this  Lorg/graalvm/compiler/loop/LoopEx;
            0    3     1  begin  Lorg/graalvm/compiler/nodes/AbstractBeginNode;
            1    3     2  block  Lorg/graalvm/compiler/nodes/cfg/Block;
    MethodParameters:
       Name  Flags
      begin  

  public org.graalvm.compiler.loop.LoopsData loopsData();
    descriptor: ()Lorg/graalvm/compiler/loop/LoopsData;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.graalvm.compiler.loop.LoopEx this
         0: .line 376
            aload 0 /* this */
            getfield org.graalvm.compiler.loop.LoopEx.data:Lorg/graalvm/compiler/loop/LoopsData;
            areturn
        end local 0 // org.graalvm.compiler.loop.LoopEx this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/graalvm/compiler/loop/LoopEx;

  public void nodesInLoopBranch(org.graalvm.compiler.graph.NodeBitMap, org.graalvm.compiler.nodes.AbstractBeginNode);
    descriptor: (Lorg/graalvm/compiler/graph/NodeBitMap;Lorg/graalvm/compiler/nodes/AbstractBeginNode;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=9, args_size=3
        start local 0 // org.graalvm.compiler.loop.LoopEx this
        start local 1 // org.graalvm.compiler.graph.NodeBitMap branchNodes
        start local 2 // org.graalvm.compiler.nodes.AbstractBeginNode branch
         0: .line 380
            invokestatic org.graalvm.collections.EconomicSet.create:()Lorg/graalvm/collections/EconomicSet;
            astore 3 /* blocks */
        start local 3 // org.graalvm.collections.EconomicSet blocks
         1: .line 381
            new java.util.LinkedList
            dup
            invokespecial java.util.LinkedList.<init>:()V
            astore 4 /* exits */
        start local 4 // java.util.Collection exits
         2: .line 382
            new java.util.LinkedList
            dup
            invokespecial java.util.LinkedList.<init>:()V
            astore 5 /* work */
        start local 5 // java.util.Queue work
         3: .line 383
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.loop.LoopEx.loopsData:()Lorg/graalvm/compiler/loop/LoopsData;
            invokevirtual org.graalvm.compiler.loop.LoopsData.getCFG:()Lorg/graalvm/compiler/nodes/cfg/ControlFlowGraph;
            astore 6 /* cfg */
        start local 6 // org.graalvm.compiler.nodes.cfg.ControlFlowGraph cfg
         4: .line 384
            aload 5 /* work */
            aload 6 /* cfg */
            aload 2 /* branch */
            invokevirtual org.graalvm.compiler.nodes.cfg.ControlFlowGraph.blockFor:(Lorg/graalvm/compiler/graph/Node;)Lorg/graalvm/compiler/nodes/cfg/Block;
            invokeinterface java.util.Queue.add:(Ljava/lang/Object;)Z
            pop
         5: .line 385
            goto 18
         6: .line 386
      StackMap locals: org.graalvm.compiler.loop.LoopEx org.graalvm.compiler.graph.NodeBitMap org.graalvm.compiler.nodes.AbstractBeginNode org.graalvm.collections.EconomicSet java.util.Collection java.util.Queue org.graalvm.compiler.nodes.cfg.ControlFlowGraph
      StackMap stack:
            aload 5 /* work */
            invokeinterface java.util.Queue.remove:()Ljava/lang/Object;
            checkcast org.graalvm.compiler.nodes.cfg.Block
            astore 7 /* b */
        start local 7 // org.graalvm.compiler.nodes.cfg.Block b
         7: .line 387
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.loop.LoopEx.loop:()Lorg/graalvm/compiler/core/common/cfg/Loop;
            aload 7 /* b */
            invokevirtual org.graalvm.compiler.core.common.cfg.Loop.isLoopExit:(Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;)Z
            ifeq 11
         8: .line 388
            getstatic org.graalvm.compiler.loop.LoopEx.$assertionsDisabled:Z
            ifne 9
            aload 4 /* exits */
            aload 7 /* b */
            invokevirtual org.graalvm.compiler.nodes.cfg.Block.getBeginNode:()Lorg/graalvm/compiler/nodes/AbstractBeginNode;
            invokeinterface java.util.Collection.contains:(Ljava/lang/Object;)Z
            ifeq 9
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         9: .line 389
      StackMap locals: org.graalvm.compiler.nodes.cfg.Block
      StackMap stack:
            aload 4 /* exits */
            aload 7 /* b */
            invokevirtual org.graalvm.compiler.nodes.cfg.Block.getBeginNode:()Lorg/graalvm/compiler/nodes/AbstractBeginNode;
            invokeinterface java.util.Collection.add:(Ljava/lang/Object;)Z
            pop
        10: .line 390
            goto 18
      StackMap locals:
      StackMap stack:
        11: aload 3 /* blocks */
            aload 7 /* b */
            invokevirtual org.graalvm.compiler.nodes.cfg.Block.getBeginNode:()Lorg/graalvm/compiler/nodes/AbstractBeginNode;
            invokeinterface org.graalvm.collections.EconomicSet.add:(Ljava/lang/Object;)Z
            ifeq 18
        12: .line 391
            aload 7 /* b */
            invokevirtual org.graalvm.compiler.nodes.cfg.Block.getDominatedSibling:()Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;
            checkcast org.graalvm.compiler.nodes.cfg.Block
            astore 8 /* d */
        start local 8 // org.graalvm.compiler.nodes.cfg.Block d
        13: .line 392
            goto 17
        14: .line 393
      StackMap locals: org.graalvm.compiler.nodes.cfg.Block
      StackMap stack:
            aload 0 /* this */
            getfield org.graalvm.compiler.loop.LoopEx.loop:Lorg/graalvm/compiler/core/common/cfg/Loop;
            invokevirtual org.graalvm.compiler.core.common.cfg.Loop.getBlocks:()Ljava/util/List;
            aload 8 /* d */
            invokeinterface java.util.List.contains:(Ljava/lang/Object;)Z
            ifeq 16
        15: .line 394
            aload 5 /* work */
            aload 8 /* d */
            invokeinterface java.util.Queue.add:(Ljava/lang/Object;)Z
            pop
        16: .line 396
      StackMap locals:
      StackMap stack:
            aload 8 /* d */
            invokevirtual org.graalvm.compiler.nodes.cfg.Block.getDominatedSibling:()Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;
            checkcast org.graalvm.compiler.nodes.cfg.Block
            astore 8 /* d */
        17: .line 392
      StackMap locals:
      StackMap stack:
            aload 8 /* d */
            ifnonnull 14
        end local 8 // org.graalvm.compiler.nodes.cfg.Block d
        end local 7 // org.graalvm.compiler.nodes.cfg.Block b
        18: .line 385
      StackMap locals:
      StackMap stack:
            aload 5 /* work */
            invokeinterface java.util.Queue.isEmpty:()Z
            ifeq 6
        19: .line 400
            aload 1 /* branchNodes */
            aload 2 /* branch */
            invokevirtual org.graalvm.compiler.nodes.AbstractBeginNode.graph:()Lorg/graalvm/compiler/nodes/StructuredGraph;
            aload 0 /* this */
            aload 3 /* blocks */
            aload 4 /* exits */
            invokestatic org.graalvm.compiler.loop.LoopFragment.computeNodes:(Lorg/graalvm/compiler/graph/NodeBitMap;Lorg/graalvm/compiler/graph/Graph;Lorg/graalvm/compiler/loop/LoopEx;Ljava/lang/Iterable;Ljava/lang/Iterable;)V
        20: .line 401
            return
        end local 6 // org.graalvm.compiler.nodes.cfg.ControlFlowGraph cfg
        end local 5 // java.util.Queue work
        end local 4 // java.util.Collection exits
        end local 3 // org.graalvm.collections.EconomicSet blocks
        end local 2 // org.graalvm.compiler.nodes.AbstractBeginNode branch
        end local 1 // org.graalvm.compiler.graph.NodeBitMap branchNodes
        end local 0 // org.graalvm.compiler.loop.LoopEx this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   21     0         this  Lorg/graalvm/compiler/loop/LoopEx;
            0   21     1  branchNodes  Lorg/graalvm/compiler/graph/NodeBitMap;
            0   21     2       branch  Lorg/graalvm/compiler/nodes/AbstractBeginNode;
            1   21     3       blocks  Lorg/graalvm/collections/EconomicSet<Lorg/graalvm/compiler/nodes/AbstractBeginNode;>;
            2   21     4        exits  Ljava/util/Collection<Lorg/graalvm/compiler/nodes/AbstractBeginNode;>;
            3   21     5         work  Ljava/util/Queue<Lorg/graalvm/compiler/nodes/cfg/Block;>;
            4   21     6          cfg  Lorg/graalvm/compiler/nodes/cfg/ControlFlowGraph;
            7   18     7            b  Lorg/graalvm/compiler/nodes/cfg/Block;
           13   18     8            d  Lorg/graalvm/compiler/nodes/cfg/Block;
    MethodParameters:
             Name  Flags
      branchNodes  
      branch       

  public org.graalvm.collections.EconomicMap<org.graalvm.compiler.graph.Node, org.graalvm.compiler.loop.InductionVariable> getInductionVariables();
    descriptor: ()Lorg/graalvm/collections/EconomicMap;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.graalvm.compiler.loop.LoopEx this
         0: .line 404
            aload 0 /* this */
            getfield org.graalvm.compiler.loop.LoopEx.ivs:Lorg/graalvm/collections/EconomicMap;
            ifnonnull 2
         1: .line 405
            aload 0 /* this */
            aload 0 /* this */
            invokestatic org.graalvm.compiler.loop.LoopEx.findInductionVariables:(Lorg/graalvm/compiler/loop/LoopEx;)Lorg/graalvm/collections/EconomicMap;
            putfield org.graalvm.compiler.loop.LoopEx.ivs:Lorg/graalvm/collections/EconomicMap;
         2: .line 407
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.graalvm.compiler.loop.LoopEx.ivs:Lorg/graalvm/collections/EconomicMap;
            areturn
        end local 0 // org.graalvm.compiler.loop.LoopEx this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/graalvm/compiler/loop/LoopEx;
    Signature: ()Lorg/graalvm/collections/EconomicMap<Lorg/graalvm/compiler/graph/Node;Lorg/graalvm/compiler/loop/InductionVariable;>;

  private static org.graalvm.collections.EconomicMap<org.graalvm.compiler.graph.Node, org.graalvm.compiler.loop.InductionVariable> findInductionVariables(org.graalvm.compiler.loop.LoopEx);
    descriptor: (Lorg/graalvm/compiler/loop/LoopEx;)Lorg/graalvm/collections/EconomicMap;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=7, locals=14, args_size=1
        start local 0 // org.graalvm.compiler.loop.LoopEx loop
         0: .line 418
            getstatic org.graalvm.collections.Equivalence.IDENTITY:Lorg/graalvm/collections/Equivalence;
            invokestatic org.graalvm.collections.EconomicMap.create:(Lorg/graalvm/collections/Equivalence;)Lorg/graalvm/collections/EconomicMap;
            astore 1 /* ivs */
        start local 1 // org.graalvm.collections.EconomicMap ivs
         1: .line 420
            new java.util.LinkedList
            dup
            invokespecial java.util.LinkedList.<init>:()V
            astore 2 /* scanQueue */
        start local 2 // java.util.Queue scanQueue
         2: .line 421
            aload 0 /* loop */
            invokevirtual org.graalvm.compiler.loop.LoopEx.loopBegin:()Lorg/graalvm/compiler/nodes/LoopBeginNode;
            astore 3 /* loopBegin */
        start local 3 // org.graalvm.compiler.nodes.LoopBeginNode loopBegin
         3: .line 422
            aload 3 /* loopBegin */
            invokevirtual org.graalvm.compiler.nodes.LoopBeginNode.forwardEnd:()Lorg/graalvm/compiler/nodes/AbstractEndNode;
            astore 4 /* forwardEnd */
        start local 4 // org.graalvm.compiler.nodes.AbstractEndNode forwardEnd
         4: .line 423
            aload 3 /* loopBegin */
            invokevirtual org.graalvm.compiler.nodes.LoopBeginNode.valuePhis:()Lorg/graalvm/compiler/graph/iterators/NodeIterable;
            invokeinterface org.graalvm.compiler.graph.iterators.NodeIterable.iterator:()Ljava/util/Iterator;
            astore 6
            goto 14
      StackMap locals: org.graalvm.compiler.loop.LoopEx org.graalvm.collections.EconomicMap java.util.Queue org.graalvm.compiler.nodes.LoopBeginNode org.graalvm.compiler.nodes.AbstractEndNode top java.util.Iterator
      StackMap stack:
         5: aload 6
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.graalvm.compiler.nodes.PhiNode
            astore 5 /* phi */
        start local 5 // org.graalvm.compiler.nodes.PhiNode phi
         6: .line 424
            aload 5 /* phi */
            invokevirtual org.graalvm.compiler.nodes.PhiNode.singleBackValueOrThis:()Lorg/graalvm/compiler/nodes/ValueNode;
            astore 7 /* backValue */
        start local 7 // org.graalvm.compiler.nodes.ValueNode backValue
         7: .line 425
            aload 7 /* backValue */
            aload 5 /* phi */
            if_acmpne 9
         8: .line 426
            goto 14
         9: .line 428
      StackMap locals: org.graalvm.compiler.loop.LoopEx org.graalvm.collections.EconomicMap java.util.Queue org.graalvm.compiler.nodes.LoopBeginNode org.graalvm.compiler.nodes.AbstractEndNode org.graalvm.compiler.nodes.PhiNode java.util.Iterator org.graalvm.compiler.nodes.ValueNode
      StackMap stack:
            aload 0 /* loop */
            aload 7 /* backValue */
            aload 5 /* phi */
            invokestatic org.graalvm.compiler.loop.LoopEx.addSub:(Lorg/graalvm/compiler/loop/LoopEx;Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/nodes/ValueNode;
            astore 8 /* stride */
        start local 8 // org.graalvm.compiler.nodes.ValueNode stride
        10: .line 429
            aload 8 /* stride */
            ifnull 14
        11: .line 430
            new org.graalvm.compiler.loop.BasicInductionVariable
            dup
            aload 0 /* loop */
            aload 5 /* phi */
            checkcast org.graalvm.compiler.nodes.ValuePhiNode
            aload 5 /* phi */
            aload 4 /* forwardEnd */
            invokevirtual org.graalvm.compiler.nodes.PhiNode.valueAt:(Lorg/graalvm/compiler/nodes/AbstractEndNode;)Lorg/graalvm/compiler/nodes/ValueNode;
            aload 8 /* stride */
            aload 7 /* backValue */
            checkcast org.graalvm.compiler.nodes.calc.BinaryArithmeticNode
            invokespecial org.graalvm.compiler.loop.BasicInductionVariable.<init>:(Lorg/graalvm/compiler/loop/LoopEx;Lorg/graalvm/compiler/nodes/ValuePhiNode;Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/calc/BinaryArithmeticNode;)V
            astore 9 /* biv */
        start local 9 // org.graalvm.compiler.loop.BasicInductionVariable biv
        12: .line 431
            aload 1 /* ivs */
            aload 5 /* phi */
            aload 9 /* biv */
            invokeinterface org.graalvm.collections.EconomicMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        13: .line 432
            aload 2 /* scanQueue */
            aload 9 /* biv */
            invokeinterface java.util.Queue.add:(Ljava/lang/Object;)Z
            pop
        end local 9 // org.graalvm.compiler.loop.BasicInductionVariable biv
        end local 8 // org.graalvm.compiler.nodes.ValueNode stride
        end local 7 // org.graalvm.compiler.nodes.ValueNode backValue
        end local 5 // org.graalvm.compiler.nodes.PhiNode phi
        14: .line 423
      StackMap locals: org.graalvm.compiler.loop.LoopEx org.graalvm.collections.EconomicMap java.util.Queue org.graalvm.compiler.nodes.LoopBeginNode org.graalvm.compiler.nodes.AbstractEndNode top java.util.Iterator
      StackMap stack:
            aload 6
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 5
        15: .line 436
            goto 53
        16: .line 437
      StackMap locals: org.graalvm.compiler.loop.LoopEx org.graalvm.collections.EconomicMap java.util.Queue org.graalvm.compiler.nodes.LoopBeginNode org.graalvm.compiler.nodes.AbstractEndNode
      StackMap stack:
            aload 2 /* scanQueue */
            invokeinterface java.util.Queue.remove:()Ljava/lang/Object;
            checkcast org.graalvm.compiler.loop.InductionVariable
            astore 5 /* baseIv */
        start local 5 // org.graalvm.compiler.loop.InductionVariable baseIv
        17: .line 438
            aload 5 /* baseIv */
            invokevirtual org.graalvm.compiler.loop.InductionVariable.valueNode:()Lorg/graalvm/compiler/nodes/ValueNode;
            astore 6 /* baseIvNode */
        start local 6 // org.graalvm.compiler.nodes.ValueNode baseIvNode
        18: .line 439
            aload 6 /* baseIvNode */
            invokevirtual org.graalvm.compiler.nodes.ValueNode.usages:()Lorg/graalvm/compiler/graph/iterators/NodeIterable;
            ldc Lorg/graalvm/compiler/nodes/ValueNode;
            invokeinterface org.graalvm.compiler.graph.iterators.NodeIterable.filter:(Ljava/lang/Class;)Lorg/graalvm/compiler/graph/iterators/NodeIterable;
            invokeinterface org.graalvm.compiler.graph.iterators.NodeIterable.iterator:()Ljava/util/Iterator;
            astore 8
            goto 52
      StackMap locals: org.graalvm.compiler.loop.LoopEx org.graalvm.collections.EconomicMap java.util.Queue org.graalvm.compiler.nodes.LoopBeginNode org.graalvm.compiler.nodes.AbstractEndNode org.graalvm.compiler.loop.InductionVariable org.graalvm.compiler.nodes.ValueNode top java.util.Iterator
      StackMap stack:
        19: aload 8
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.graalvm.compiler.nodes.ValueNode
            astore 7 /* op */
        start local 7 // org.graalvm.compiler.nodes.ValueNode op
        20: .line 440
            aload 0 /* loop */
            aload 7 /* op */
            invokevirtual org.graalvm.compiler.loop.LoopEx.isOutsideLoop:(Lorg/graalvm/compiler/graph/Node;)Z
            ifeq 22
        21: .line 441
            goto 52
        22: .line 443
      StackMap locals: org.graalvm.compiler.loop.LoopEx org.graalvm.collections.EconomicMap java.util.Queue org.graalvm.compiler.nodes.LoopBeginNode org.graalvm.compiler.nodes.AbstractEndNode org.graalvm.compiler.loop.InductionVariable org.graalvm.compiler.nodes.ValueNode org.graalvm.compiler.nodes.ValueNode java.util.Iterator
      StackMap stack:
            aload 7 /* op */
            invokevirtual org.graalvm.compiler.nodes.ValueNode.hasExactlyOneUsage:()Z
            ifeq 24
            aload 7 /* op */
            invokevirtual org.graalvm.compiler.nodes.ValueNode.usages:()Lorg/graalvm/compiler/graph/iterators/NodeIterable;
            invokeinterface org.graalvm.compiler.graph.iterators.NodeIterable.first:()Lorg/graalvm/compiler/graph/Node;
            aload 6 /* baseIvNode */
            if_acmpne 24
        23: .line 448
            goto 52
        24: .line 450
      StackMap locals:
      StackMap stack:
            aconst_null
            astore 9 /* iv */
        start local 9 // org.graalvm.compiler.loop.InductionVariable iv
        25: .line 451
            aload 0 /* loop */
            aload 7 /* op */
            aload 6 /* baseIvNode */
            invokestatic org.graalvm.compiler.loop.LoopEx.addSub:(Lorg/graalvm/compiler/loop/LoopEx;Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/nodes/ValueNode;
            astore 10 /* offset */
        start local 10 // org.graalvm.compiler.nodes.ValueNode offset
        26: .line 453
            aload 10 /* offset */
            ifnull 29
        27: .line 454
            new org.graalvm.compiler.loop.DerivedOffsetInductionVariable
            dup
            aload 0 /* loop */
            aload 5 /* baseIv */
            aload 10 /* offset */
            aload 7 /* op */
            checkcast org.graalvm.compiler.nodes.calc.BinaryArithmeticNode
            invokespecial org.graalvm.compiler.loop.DerivedOffsetInductionVariable.<init>:(Lorg/graalvm/compiler/loop/LoopEx;Lorg/graalvm/compiler/loop/InductionVariable;Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/calc/BinaryArithmeticNode;)V
            astore 9 /* iv */
        28: .line 455
            goto 49
      StackMap locals: org.graalvm.compiler.loop.InductionVariable org.graalvm.compiler.nodes.ValueNode
      StackMap stack:
        29: aload 7 /* op */
            instanceof org.graalvm.compiler.nodes.calc.NegateNode
            ifeq 32
        30: .line 456
            new org.graalvm.compiler.loop.DerivedScaledInductionVariable
            dup
            aload 0 /* loop */
            aload 5 /* baseIv */
            aload 7 /* op */
            checkcast org.graalvm.compiler.nodes.calc.NegateNode
            invokespecial org.graalvm.compiler.loop.DerivedScaledInductionVariable.<init>:(Lorg/graalvm/compiler/loop/LoopEx;Lorg/graalvm/compiler/loop/InductionVariable;Lorg/graalvm/compiler/nodes/calc/NegateNode;)V
            astore 9 /* iv */
        31: .line 457
            goto 49
      StackMap locals:
      StackMap stack:
        32: aload 0 /* loop */
            aload 7 /* op */
            aload 6 /* baseIvNode */
            invokestatic org.graalvm.compiler.loop.LoopEx.mul:(Lorg/graalvm/compiler/loop/LoopEx;Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/nodes/ValueNode;
            dup
            astore 11 /* scale */
        start local 11 // org.graalvm.compiler.nodes.ValueNode scale
        33: ifnull 36
        34: .line 458
            new org.graalvm.compiler.loop.DerivedScaledInductionVariable
            dup
            aload 0 /* loop */
            aload 5 /* baseIv */
            aload 11 /* scale */
            aload 7 /* op */
            invokespecial org.graalvm.compiler.loop.DerivedScaledInductionVariable.<init>:(Lorg/graalvm/compiler/loop/LoopEx;Lorg/graalvm/compiler/loop/InductionVariable;Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/ValueNode;)V
            astore 9 /* iv */
        35: .line 459
            goto 49
        36: .line 460
      StackMap locals: org.graalvm.compiler.nodes.ValueNode
      StackMap stack:
            aload 7 /* op */
            instanceof org.graalvm.compiler.nodes.PiNode
            ifne 37
            aload 7 /* op */
            instanceof org.graalvm.compiler.nodes.calc.SignExtendNode
            ifne 37
            iconst_0
            goto 38
      StackMap locals:
      StackMap stack:
        37: iconst_1
      StackMap locals:
      StackMap stack: int
        38: istore 12 /* isValidConvert */
        start local 12 // boolean isValidConvert
        39: .line 461
            iload 12 /* isValidConvert */
            ifne 44
            aload 7 /* op */
            instanceof org.graalvm.compiler.nodes.calc.ZeroExtendNode
            ifeq 44
        40: .line 462
            aload 7 /* op */
            checkcast org.graalvm.compiler.nodes.calc.ZeroExtendNode
            astore 13 /* zeroExtendNode */
        start local 13 // org.graalvm.compiler.nodes.calc.ZeroExtendNode zeroExtendNode
        41: .line 463
            aload 13 /* zeroExtendNode */
            invokevirtual org.graalvm.compiler.nodes.calc.ZeroExtendNode.isInputAlwaysPositive:()Z
            ifne 42
            aload 13 /* zeroExtendNode */
            getstatic org.graalvm.compiler.nodes.NodeView.DEFAULT:Lorg/graalvm/compiler/nodes/NodeView;
            invokevirtual org.graalvm.compiler.nodes.calc.ZeroExtendNode.stamp:(Lorg/graalvm/compiler/nodes/NodeView;)Lorg/graalvm/compiler/core/common/type/Stamp;
            checkcast org.graalvm.compiler.core.common.type.IntegerStamp
            invokevirtual org.graalvm.compiler.core.common.type.IntegerStamp.isPositive:()Z
            ifne 42
            iconst_0
            goto 43
      StackMap locals: int org.graalvm.compiler.nodes.calc.ZeroExtendNode
      StackMap stack:
        42: iconst_1
      StackMap locals:
      StackMap stack: int
        43: istore 12 /* isValidConvert */
        end local 13 // org.graalvm.compiler.nodes.calc.ZeroExtendNode zeroExtendNode
        44: .line 465
      StackMap locals:
      StackMap stack:
            iload 12 /* isValidConvert */
            ifne 47
            aload 7 /* op */
            instanceof org.graalvm.compiler.nodes.calc.NarrowNode
            ifeq 47
        45: .line 466
            aload 7 /* op */
            checkcast org.graalvm.compiler.nodes.calc.NarrowNode
            astore 13 /* narrow */
        start local 13 // org.graalvm.compiler.nodes.calc.NarrowNode narrow
        46: .line 467
            aload 13 /* narrow */
            invokevirtual org.graalvm.compiler.nodes.calc.NarrowNode.getResultBits:()I
            aload 13 /* narrow */
            invokevirtual org.graalvm.compiler.nodes.calc.NarrowNode.getValue:()Lorg/graalvm/compiler/nodes/ValueNode;
            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;
            checkcast org.graalvm.compiler.core.common.type.IntegerStamp
            invokevirtual org.graalvm.compiler.core.common.type.IntegerStamp.upMask:()J
            invokestatic org.graalvm.compiler.core.common.NumUtil.isSignedNbit:(IJ)Z
            istore 12 /* isValidConvert */
        end local 13 // org.graalvm.compiler.nodes.calc.NarrowNode narrow
        47: .line 470
      StackMap locals:
      StackMap stack:
            iload 12 /* isValidConvert */
            ifeq 49
        48: .line 471
            new org.graalvm.compiler.loop.DerivedConvertedInductionVariable
            dup
            aload 0 /* loop */
            aload 5 /* baseIv */
            aload 7 /* op */
            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;
            aload 7 /* op */
            invokespecial org.graalvm.compiler.loop.DerivedConvertedInductionVariable.<init>:(Lorg/graalvm/compiler/loop/LoopEx;Lorg/graalvm/compiler/loop/InductionVariable;Lorg/graalvm/compiler/core/common/type/Stamp;Lorg/graalvm/compiler/nodes/ValueNode;)V
            astore 9 /* iv */
        end local 12 // boolean isValidConvert
        end local 11 // org.graalvm.compiler.nodes.ValueNode scale
        49: .line 475
      StackMap locals:
      StackMap stack:
            aload 9 /* iv */
            ifnull 52
        50: .line 476
            aload 1 /* ivs */
            aload 7 /* op */
            aload 9 /* iv */
            invokeinterface org.graalvm.collections.EconomicMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        51: .line 477
            aload 2 /* scanQueue */
            aload 9 /* iv */
            invokeinterface java.util.Queue.offer:(Ljava/lang/Object;)Z
            pop
        end local 10 // org.graalvm.compiler.nodes.ValueNode offset
        end local 9 // org.graalvm.compiler.loop.InductionVariable iv
        end local 7 // org.graalvm.compiler.nodes.ValueNode op
        52: .line 439
      StackMap locals: org.graalvm.compiler.loop.LoopEx org.graalvm.collections.EconomicMap java.util.Queue org.graalvm.compiler.nodes.LoopBeginNode org.graalvm.compiler.nodes.AbstractEndNode org.graalvm.compiler.loop.InductionVariable org.graalvm.compiler.nodes.ValueNode top java.util.Iterator
      StackMap stack:
            aload 8
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 19
        end local 6 // org.graalvm.compiler.nodes.ValueNode baseIvNode
        end local 5 // org.graalvm.compiler.loop.InductionVariable baseIv
        53: .line 436
      StackMap locals: org.graalvm.compiler.loop.LoopEx org.graalvm.collections.EconomicMap java.util.Queue org.graalvm.compiler.nodes.LoopBeginNode org.graalvm.compiler.nodes.AbstractEndNode
      StackMap stack:
            aload 2 /* scanQueue */
            invokeinterface java.util.Queue.isEmpty:()Z
            ifeq 16
        54: .line 481
            aload 1 /* ivs */
            areturn
        end local 4 // org.graalvm.compiler.nodes.AbstractEndNode forwardEnd
        end local 3 // org.graalvm.compiler.nodes.LoopBeginNode loopBegin
        end local 2 // java.util.Queue scanQueue
        end local 1 // org.graalvm.collections.EconomicMap ivs
        end local 0 // org.graalvm.compiler.loop.LoopEx loop
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   55     0            loop  Lorg/graalvm/compiler/loop/LoopEx;
            1   55     1             ivs  Lorg/graalvm/collections/EconomicMap<Lorg/graalvm/compiler/graph/Node;Lorg/graalvm/compiler/loop/InductionVariable;>;
            2   55     2       scanQueue  Ljava/util/Queue<Lorg/graalvm/compiler/loop/InductionVariable;>;
            3   55     3       loopBegin  Lorg/graalvm/compiler/nodes/LoopBeginNode;
            4   55     4      forwardEnd  Lorg/graalvm/compiler/nodes/AbstractEndNode;
            6   14     5             phi  Lorg/graalvm/compiler/nodes/PhiNode;
            7   14     7       backValue  Lorg/graalvm/compiler/nodes/ValueNode;
           10   14     8          stride  Lorg/graalvm/compiler/nodes/ValueNode;
           12   14     9             biv  Lorg/graalvm/compiler/loop/BasicInductionVariable;
           17   53     5          baseIv  Lorg/graalvm/compiler/loop/InductionVariable;
           18   53     6      baseIvNode  Lorg/graalvm/compiler/nodes/ValueNode;
           20   52     7              op  Lorg/graalvm/compiler/nodes/ValueNode;
           25   52     9              iv  Lorg/graalvm/compiler/loop/InductionVariable;
           26   52    10          offset  Lorg/graalvm/compiler/nodes/ValueNode;
           33   49    11           scale  Lorg/graalvm/compiler/nodes/ValueNode;
           39   49    12  isValidConvert  Z
           41   44    13  zeroExtendNode  Lorg/graalvm/compiler/nodes/calc/ZeroExtendNode;
           46   47    13          narrow  Lorg/graalvm/compiler/nodes/calc/NarrowNode;
    Signature: (Lorg/graalvm/compiler/loop/LoopEx;)Lorg/graalvm/collections/EconomicMap<Lorg/graalvm/compiler/graph/Node;Lorg/graalvm/compiler/loop/InductionVariable;>;
    MethodParameters:
      Name  Flags
      loop  

  private static org.graalvm.compiler.nodes.ValueNode addSub(org.graalvm.compiler.loop.LoopEx, org.graalvm.compiler.nodes.ValueNode, org.graalvm.compiler.nodes.ValueNode);
    descriptor: (Lorg/graalvm/compiler/loop/LoopEx;Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/nodes/ValueNode;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=4, args_size=3
        start local 0 // org.graalvm.compiler.loop.LoopEx loop
        start local 1 // org.graalvm.compiler.nodes.ValueNode op
        start local 2 // org.graalvm.compiler.nodes.ValueNode base
         0: .line 485
            aload 1 /* op */
            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 6
            aload 1 /* op */
            instanceof org.graalvm.compiler.nodes.calc.AddNode
            ifne 1
            aload 1 /* op */
            instanceof org.graalvm.compiler.nodes.calc.SubNode
            ifeq 6
         1: .line 486
      StackMap locals:
      StackMap stack:
            aload 1 /* op */
            checkcast org.graalvm.compiler.nodes.calc.BinaryArithmeticNode
            astore 3 /* aritOp */
        start local 3 // org.graalvm.compiler.nodes.calc.BinaryArithmeticNode aritOp
         2: .line 487
            aload 3 /* aritOp */
            invokevirtual org.graalvm.compiler.nodes.calc.BinaryArithmeticNode.getX:()Lorg/graalvm/compiler/nodes/ValueNode;
            aload 2 /* base */
            if_acmpne 4
            aload 0 /* loop */
            aload 3 /* aritOp */
            invokevirtual org.graalvm.compiler.nodes.calc.BinaryArithmeticNode.getY:()Lorg/graalvm/compiler/nodes/ValueNode;
            invokevirtual org.graalvm.compiler.loop.LoopEx.isOutsideLoop:(Lorg/graalvm/compiler/graph/Node;)Z
            ifeq 4
         3: .line 488
            aload 3 /* aritOp */
            invokevirtual org.graalvm.compiler.nodes.calc.BinaryArithmeticNode.getY:()Lorg/graalvm/compiler/nodes/ValueNode;
            areturn
         4: .line 489
      StackMap locals: org.graalvm.compiler.nodes.calc.BinaryArithmeticNode
      StackMap stack:
            aload 3 /* aritOp */
            invokevirtual org.graalvm.compiler.nodes.calc.BinaryArithmeticNode.getY:()Lorg/graalvm/compiler/nodes/ValueNode;
            aload 2 /* base */
            if_acmpne 6
            aload 0 /* loop */
            aload 3 /* aritOp */
            invokevirtual org.graalvm.compiler.nodes.calc.BinaryArithmeticNode.getX:()Lorg/graalvm/compiler/nodes/ValueNode;
            invokevirtual org.graalvm.compiler.loop.LoopEx.isOutsideLoop:(Lorg/graalvm/compiler/graph/Node;)Z
            ifeq 6
         5: .line 490
            aload 3 /* aritOp */
            invokevirtual org.graalvm.compiler.nodes.calc.BinaryArithmeticNode.getX:()Lorg/graalvm/compiler/nodes/ValueNode;
            areturn
        end local 3 // org.graalvm.compiler.nodes.calc.BinaryArithmeticNode aritOp
         6: .line 493
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
        end local 2 // org.graalvm.compiler.nodes.ValueNode base
        end local 1 // org.graalvm.compiler.nodes.ValueNode op
        end local 0 // org.graalvm.compiler.loop.LoopEx loop
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    7     0    loop  Lorg/graalvm/compiler/loop/LoopEx;
            0    7     1      op  Lorg/graalvm/compiler/nodes/ValueNode;
            0    7     2    base  Lorg/graalvm/compiler/nodes/ValueNode;
            2    6     3  aritOp  Lorg/graalvm/compiler/nodes/calc/BinaryArithmeticNode<*>;
    MethodParameters:
      Name  Flags
      loop  
      op    
      base  

  private static org.graalvm.compiler.nodes.ValueNode mul(org.graalvm.compiler.loop.LoopEx, org.graalvm.compiler.nodes.ValueNode, org.graalvm.compiler.nodes.ValueNode);
    descriptor: (Lorg/graalvm/compiler/loop/LoopEx;Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/nodes/ValueNode;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=4, locals=4, args_size=3
        start local 0 // org.graalvm.compiler.loop.LoopEx loop
        start local 1 // org.graalvm.compiler.nodes.ValueNode op
        start local 2 // org.graalvm.compiler.nodes.ValueNode base
         0: .line 497
            aload 1 /* op */
            instanceof org.graalvm.compiler.nodes.calc.MulNode
            ifeq 6
         1: .line 498
            aload 1 /* op */
            checkcast org.graalvm.compiler.nodes.calc.MulNode
            astore 3 /* mul */
        start local 3 // org.graalvm.compiler.nodes.calc.MulNode mul
         2: .line 499
            aload 3 /* mul */
            invokevirtual org.graalvm.compiler.nodes.calc.MulNode.getX:()Lorg/graalvm/compiler/nodes/ValueNode;
            aload 2 /* base */
            if_acmpne 4
            aload 0 /* loop */
            aload 3 /* mul */
            invokevirtual org.graalvm.compiler.nodes.calc.MulNode.getY:()Lorg/graalvm/compiler/nodes/ValueNode;
            invokevirtual org.graalvm.compiler.loop.LoopEx.isOutsideLoop:(Lorg/graalvm/compiler/graph/Node;)Z
            ifeq 4
         3: .line 500
            aload 3 /* mul */
            invokevirtual org.graalvm.compiler.nodes.calc.MulNode.getY:()Lorg/graalvm/compiler/nodes/ValueNode;
            areturn
         4: .line 501
      StackMap locals: org.graalvm.compiler.nodes.calc.MulNode
      StackMap stack:
            aload 3 /* mul */
            invokevirtual org.graalvm.compiler.nodes.calc.MulNode.getY:()Lorg/graalvm/compiler/nodes/ValueNode;
            aload 2 /* base */
            if_acmpne 6
            aload 0 /* loop */
            aload 3 /* mul */
            invokevirtual org.graalvm.compiler.nodes.calc.MulNode.getX:()Lorg/graalvm/compiler/nodes/ValueNode;
            invokevirtual org.graalvm.compiler.loop.LoopEx.isOutsideLoop:(Lorg/graalvm/compiler/graph/Node;)Z
            ifeq 6
         5: .line 502
            aload 3 /* mul */
            invokevirtual org.graalvm.compiler.nodes.calc.MulNode.getX:()Lorg/graalvm/compiler/nodes/ValueNode;
            areturn
        end local 3 // org.graalvm.compiler.nodes.calc.MulNode mul
         6: .line 505
      StackMap locals:
      StackMap stack:
            aload 1 /* op */
            instanceof org.graalvm.compiler.nodes.calc.LeftShiftNode
            ifeq 10
         7: .line 506
            aload 1 /* op */
            checkcast org.graalvm.compiler.nodes.calc.LeftShiftNode
            astore 3 /* shift */
        start local 3 // org.graalvm.compiler.nodes.calc.LeftShiftNode shift
         8: .line 507
            aload 3 /* shift */
            invokevirtual org.graalvm.compiler.nodes.calc.LeftShiftNode.getX:()Lorg/graalvm/compiler/nodes/ValueNode;
            aload 2 /* base */
            if_acmpne 10
            aload 3 /* shift */
            invokevirtual org.graalvm.compiler.nodes.calc.LeftShiftNode.getY:()Lorg/graalvm/compiler/nodes/ValueNode;
            invokevirtual org.graalvm.compiler.nodes.ValueNode.isConstant:()Z
            ifeq 10
         9: .line 508
            aload 2 /* base */
            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;
            iconst_1
            aload 3 /* shift */
            invokevirtual org.graalvm.compiler.nodes.calc.LeftShiftNode.getY:()Lorg/graalvm/compiler/nodes/ValueNode;
            invokevirtual org.graalvm.compiler.nodes.ValueNode.asJavaConstant:()Ljdk/vm/ci/meta/JavaConstant;
            invokeinterface jdk.vm.ci.meta.JavaConstant.asInt:()I
            ishl
            i2l
            aload 2 /* base */
            invokevirtual org.graalvm.compiler.nodes.ValueNode.graph:()Lorg/graalvm/compiler/nodes/StructuredGraph;
            invokestatic org.graalvm.compiler.nodes.ConstantNode.forIntegerStamp:(Lorg/graalvm/compiler/core/common/type/Stamp;JLorg/graalvm/compiler/nodes/StructuredGraph;)Lorg/graalvm/compiler/nodes/ConstantNode;
            areturn
        end local 3 // org.graalvm.compiler.nodes.calc.LeftShiftNode shift
        10: .line 511
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
        end local 2 // org.graalvm.compiler.nodes.ValueNode base
        end local 1 // org.graalvm.compiler.nodes.ValueNode op
        end local 0 // org.graalvm.compiler.loop.LoopEx loop
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   11     0   loop  Lorg/graalvm/compiler/loop/LoopEx;
            0   11     1     op  Lorg/graalvm/compiler/nodes/ValueNode;
            0   11     2   base  Lorg/graalvm/compiler/nodes/ValueNode;
            2    6     3    mul  Lorg/graalvm/compiler/nodes/calc/MulNode;
            8   10     3  shift  Lorg/graalvm/compiler/nodes/calc/LeftShiftNode;
    MethodParameters:
      Name  Flags
      loop  
      op    
      base  

  public void deleteUnusedNodes();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=3, args_size=1
        start local 0 // org.graalvm.compiler.loop.LoopEx this
         0: .line 518
            aload 0 /* this */
            getfield org.graalvm.compiler.loop.LoopEx.ivs:Lorg/graalvm/collections/EconomicMap;
            ifnull 5
         1: .line 519
            aload 0 /* this */
            getfield org.graalvm.compiler.loop.LoopEx.ivs:Lorg/graalvm/collections/EconomicMap;
            invokeinterface org.graalvm.collections.EconomicMap.getValues:()Ljava/lang/Iterable;
            invokeinterface java.lang.Iterable.iterator:()Ljava/util/Iterator;
            astore 2
            goto 4
      StackMap locals: org.graalvm.compiler.loop.LoopEx top java.util.Iterator
      StackMap stack:
         2: aload 2
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.graalvm.compiler.loop.InductionVariable
            astore 1 /* iv */
        start local 1 // org.graalvm.compiler.loop.InductionVariable iv
         3: .line 520
            aload 1 /* iv */
            invokevirtual org.graalvm.compiler.loop.InductionVariable.deleteUnusedNodes:()V
        end local 1 // org.graalvm.compiler.loop.InductionVariable iv
         4: .line 519
      StackMap locals:
      StackMap stack:
            aload 2
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 2
         5: .line 523
      StackMap locals: org.graalvm.compiler.loop.LoopEx
      StackMap stack:
            return
        end local 0 // org.graalvm.compiler.loop.LoopEx this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    6     0  this  Lorg/graalvm/compiler/loop/LoopEx;
            3    4     1    iv  Lorg/graalvm/compiler/loop/InductionVariable;

  public boolean canDuplicateLoop();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=4, args_size=1
        start local 0 // org.graalvm.compiler.loop.LoopEx this
         0: .line 529
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.loop.LoopEx.inside:()Lorg/graalvm/compiler/loop/LoopFragmentInside;
            invokevirtual org.graalvm.compiler.loop.LoopFragmentInside.nodes:()Lorg/graalvm/compiler/graph/NodeBitMap;
            invokevirtual org.graalvm.compiler.graph.NodeBitMap.iterator:()Ljava/util/Iterator;
            astore 2
            goto 8
      StackMap locals: org.graalvm.compiler.loop.LoopEx top java.util.Iterator
      StackMap stack:
         1: aload 2
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.graalvm.compiler.graph.Node
            astore 1 /* node */
        start local 1 // org.graalvm.compiler.graph.Node node
         2: .line 530
            aload 1 /* node */
            instanceof org.graalvm.compiler.nodes.debug.ControlFlowAnchored
            ifeq 4
         3: .line 531
            iconst_0
            ireturn
         4: .line 533
      StackMap locals: org.graalvm.compiler.loop.LoopEx org.graalvm.compiler.graph.Node java.util.Iterator
      StackMap stack:
            aload 1 /* node */
            instanceof org.graalvm.compiler.nodes.FrameState
            ifeq 8
         5: .line 534
            aload 1 /* node */
            checkcast org.graalvm.compiler.nodes.FrameState
            astore 3 /* frameState */
        start local 3 // org.graalvm.compiler.nodes.FrameState frameState
         6: .line 535
            aload 3 /* frameState */
            invokevirtual org.graalvm.compiler.nodes.FrameState.isExceptionHandlingBCI:()Z
            ifeq 8
         7: .line 536
            iconst_0
            ireturn
        end local 3 // org.graalvm.compiler.nodes.FrameState frameState
        end local 1 // org.graalvm.compiler.graph.Node node
         8: .line 529
      StackMap locals: org.graalvm.compiler.loop.LoopEx top java.util.Iterator
      StackMap stack:
            aload 2
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 1
         9: .line 540
            iconst_1
            ireturn
        end local 0 // org.graalvm.compiler.loop.LoopEx this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   10     0        this  Lorg/graalvm/compiler/loop/LoopEx;
            2    8     1        node  Lorg/graalvm/compiler/graph/Node;
            6    8     3  frameState  Lorg/graalvm/compiler/nodes/FrameState;

  static int[] $SWITCH_TABLE$org$graalvm$compiler$core$common$calc$Condition();
    descriptor: ()[I
    flags: (0x1008) ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=3, locals=1, args_size=0
         0: .line 78
            getstatic org.graalvm.compiler.loop.LoopEx.$SWITCH_TABLE$org$graalvm$compiler$core$common$calc$Condition:[I
            dup
            ifnull 1
            areturn
      StackMap locals:
      StackMap stack: int[]
         1: pop
            invokestatic org.graalvm.compiler.core.common.calc.Condition.values:()[Lorg/graalvm/compiler/core/common/calc/Condition;
            arraylength
            newarray 10
            astore 0
         2: aload 0
            getstatic org.graalvm.compiler.core.common.calc.Condition.AE:Lorg/graalvm/compiler/core/common/calc/Condition;
            invokevirtual org.graalvm.compiler.core.common.calc.Condition.ordinal:()I
            bipush 7
            iastore
         3: goto 5
      StackMap locals: int[]
      StackMap stack: java.lang.NoSuchFieldError
         4: pop
      StackMap locals:
      StackMap stack:
         5: aload 0
            getstatic org.graalvm.compiler.core.common.calc.Condition.AT:Lorg/graalvm/compiler/core/common/calc/Condition;
            invokevirtual org.graalvm.compiler.core.common.calc.Condition.ordinal:()I
            bipush 9
            iastore
         6: goto 8
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
         7: pop
      StackMap locals:
      StackMap stack:
         8: aload 0
            getstatic org.graalvm.compiler.core.common.calc.Condition.BE:Lorg/graalvm/compiler/core/common/calc/Condition;
            invokevirtual org.graalvm.compiler.core.common.calc.Condition.ordinal:()I
            bipush 8
            iastore
         9: goto 11
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        10: pop
      StackMap locals:
      StackMap stack:
        11: aload 0
            getstatic org.graalvm.compiler.core.common.calc.Condition.BT:Lorg/graalvm/compiler/core/common/calc/Condition;
            invokevirtual org.graalvm.compiler.core.common.calc.Condition.ordinal:()I
            bipush 10
            iastore
        12: goto 14
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        13: pop
      StackMap locals:
      StackMap stack:
        14: aload 0
            getstatic org.graalvm.compiler.core.common.calc.Condition.EQ:Lorg/graalvm/compiler/core/common/calc/Condition;
            invokevirtual org.graalvm.compiler.core.common.calc.Condition.ordinal:()I
            iconst_1
            iastore
        15: goto 17
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        16: pop
      StackMap locals:
      StackMap stack:
        17: aload 0
            getstatic org.graalvm.compiler.core.common.calc.Condition.GE:Lorg/graalvm/compiler/core/common/calc/Condition;
            invokevirtual org.graalvm.compiler.core.common.calc.Condition.ordinal:()I
            bipush 6
            iastore
        18: goto 20
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        19: pop
      StackMap locals:
      StackMap stack:
        20: aload 0
            getstatic org.graalvm.compiler.core.common.calc.Condition.GT:Lorg/graalvm/compiler/core/common/calc/Condition;
            invokevirtual org.graalvm.compiler.core.common.calc.Condition.ordinal:()I
            iconst_5
            iastore
        21: goto 23
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        22: pop
      StackMap locals:
      StackMap stack:
        23: aload 0
            getstatic org.graalvm.compiler.core.common.calc.Condition.LE:Lorg/graalvm/compiler/core/common/calc/Condition;
            invokevirtual org.graalvm.compiler.core.common.calc.Condition.ordinal:()I
            iconst_4
            iastore
        24: goto 26
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        25: pop
      StackMap locals:
      StackMap stack:
        26: aload 0
            getstatic org.graalvm.compiler.core.common.calc.Condition.LT:Lorg/graalvm/compiler/core/common/calc/Condition;
            invokevirtual org.graalvm.compiler.core.common.calc.Condition.ordinal:()I
            iconst_3
            iastore
        27: goto 29
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        28: pop
      StackMap locals:
      StackMap stack:
        29: aload 0
            getstatic org.graalvm.compiler.core.common.calc.Condition.NE:Lorg/graalvm/compiler/core/common/calc/Condition;
            invokevirtual org.graalvm.compiler.core.common.calc.Condition.ordinal:()I
            iconst_2
            iastore
        30: goto 32
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        31: pop
      StackMap locals:
      StackMap stack:
        32: aload 0
            dup
            putstatic org.graalvm.compiler.loop.LoopEx.$SWITCH_TABLE$org$graalvm$compiler$core$common$calc$Condition:[I
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
      Exception table:
        from    to  target  type
           2     3       4  Class java.lang.NoSuchFieldError
           5     6       7  Class java.lang.NoSuchFieldError
           8     9      10  Class java.lang.NoSuchFieldError
          11    12      13  Class java.lang.NoSuchFieldError
          14    15      16  Class java.lang.NoSuchFieldError
          17    18      19  Class java.lang.NoSuchFieldError
          20    21      22  Class java.lang.NoSuchFieldError
          23    24      25  Class java.lang.NoSuchFieldError
          26    27      28  Class java.lang.NoSuchFieldError
          29    30      31  Class java.lang.NoSuchFieldError
}
SourceFile: "LoopEx.java"
NestMembers:
  org.graalvm.compiler.loop.LoopEx$InvariantPredicate
InnerClasses:
  public final Direction = org.graalvm.compiler.loop.InductionVariable$Direction of org.graalvm.compiler.loop.InductionVariable
  private InvariantPredicate = org.graalvm.compiler.loop.LoopEx$InvariantPredicate of org.graalvm.compiler.loop.LoopEx