public final class org.graalvm.compiler.graph.NodeWorkList$IterativeNodeWorkList extends org.graalvm.compiler.graph.NodeWorkList
  minor version: 0
  major version: 59
  flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
  this_class: org.graalvm.compiler.graph.NodeWorkList$IterativeNodeWorkList
  super_class: org.graalvm.compiler.graph.NodeWorkList
{
  private static final int EXPLICIT_BITMAP_THRESHOLD;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 10

  protected org.graalvm.compiler.graph.NodeBitMap inQueue;
    descriptor: Lorg/graalvm/compiler/graph/NodeBitMap;
    flags: (0x0004) ACC_PROTECTED

  private final org.graalvm.compiler.debug.DebugContext debug;
    descriptor: Lorg/graalvm/compiler/debug/DebugContext;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

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

  private org.graalvm.compiler.graph.Node firstNoChange;
    descriptor: Lorg/graalvm/compiler/graph/Node;
    flags: (0x0002) ACC_PRIVATE

  private org.graalvm.compiler.graph.Node lastPull;
    descriptor: Lorg/graalvm/compiler/graph/Node;
    flags: (0x0002) ACC_PRIVATE

  private org.graalvm.compiler.graph.Node lastChain;
    descriptor: Lorg/graalvm/compiler/graph/Node;
    flags: (0x0002) ACC_PRIVATE

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

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

  public void <init>(org.graalvm.compiler.graph.Graph, boolean, int);
    descriptor: (Lorg/graalvm/compiler/graph/Graph;ZI)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=6, args_size=4
        start local 0 // org.graalvm.compiler.graph.NodeWorkList$IterativeNodeWorkList this
        start local 1 // org.graalvm.compiler.graph.Graph graph
        start local 2 // boolean fill
        start local 3 // int iterationLimitPerNode
         0: .line 87
            aload 0 /* this */
            aload 1 /* graph */
            iload 2 /* fill */
            invokespecial org.graalvm.compiler.graph.NodeWorkList.<init>:(Lorg/graalvm/compiler/graph/Graph;Z)V
         1: .line 88
            aload 0 /* this */
            aload 1 /* graph */
            invokevirtual org.graalvm.compiler.graph.Graph.getDebug:()Lorg/graalvm/compiler/debug/DebugContext;
            putfield org.graalvm.compiler.graph.NodeWorkList$IterativeNodeWorkList.debug:Lorg/graalvm/compiler/debug/DebugContext;
         2: .line 89
            getstatic org.graalvm.compiler.graph.NodeWorkList$IterativeNodeWorkList.$assertionsDisabled:Z
            ifne 3
            iload 3 /* iterationLimitPerNode */
            ifgt 3
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         3: .line 90
      StackMap locals: org.graalvm.compiler.graph.NodeWorkList$IterativeNodeWorkList org.graalvm.compiler.graph.Graph int int
      StackMap stack:
            iload 3 /* iterationLimitPerNode */
            i2l
            aload 1 /* graph */
            invokevirtual org.graalvm.compiler.graph.Graph.getNodeCount:()I
            i2l
            lmul
            lstore 4 /* limit */
        start local 4 // long limit
         4: .line 91
            aload 0 /* this */
            ldc 2147483647
            lload 4 /* limit */
            invokestatic java.lang.Long.min:(JJ)J
            l2i
            putfield org.graalvm.compiler.graph.NodeWorkList$IterativeNodeWorkList.iterationLimit:I
         5: .line 92
            return
        end local 4 // long limit
        end local 3 // int iterationLimitPerNode
        end local 2 // boolean fill
        end local 1 // org.graalvm.compiler.graph.Graph graph
        end local 0 // org.graalvm.compiler.graph.NodeWorkList$IterativeNodeWorkList this
      LocalVariableTable:
        Start  End  Slot                   Name  Signature
            0    6     0                   this  Lorg/graalvm/compiler/graph/NodeWorkList$IterativeNodeWorkList;
            0    6     1                  graph  Lorg/graalvm/compiler/graph/Graph;
            0    6     2                   fill  Z
            0    6     3  iterationLimitPerNode  I
            4    6     4                  limit  J
    MethodParameters:
                       Name  Flags
      graph                  
      fill                   
      iterationLimitPerNode  

  public java.util.Iterator<org.graalvm.compiler.graph.Node> iterator();
    descriptor: ()Ljava/util/Iterator;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // org.graalvm.compiler.graph.NodeWorkList$IterativeNodeWorkList this
         0: .line 96
            new org.graalvm.compiler.graph.NodeWorkList$IterativeNodeWorkList$1
            dup
            aload 0 /* this */
            aload 0 /* this */
            invokespecial org.graalvm.compiler.graph.NodeWorkList$IterativeNodeWorkList$1.<init>:(Lorg/graalvm/compiler/graph/NodeWorkList$IterativeNodeWorkList;Lorg/graalvm/compiler/graph/NodeWorkList;)V
            areturn
        end local 0 // org.graalvm.compiler.graph.NodeWorkList$IterativeNodeWorkList this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/graalvm/compiler/graph/NodeWorkList$IterativeNodeWorkList;
    Signature: ()Ljava/util/Iterator<Lorg/graalvm/compiler/graph/Node;>;

  public void add(org.graalvm.compiler.graph.Node);
    descriptor: (Lorg/graalvm/compiler/graph/Node;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=4, args_size=2
        start local 0 // org.graalvm.compiler.graph.NodeWorkList$IterativeNodeWorkList this
        start local 1 // org.graalvm.compiler.graph.Node node
         0: .line 133
            aload 1 /* node */
            ifnull 15
         1: .line 134
            aload 0 /* this */
            getfield org.graalvm.compiler.graph.NodeWorkList$IterativeNodeWorkList.inQueue:Lorg/graalvm/compiler/graph/NodeBitMap;
            ifnonnull 3
            aload 0 /* this */
            getfield org.graalvm.compiler.graph.NodeWorkList$IterativeNodeWorkList.worklist:Ljava/util/Queue;
            invokeinterface java.util.Queue.size:()I
            bipush 10
            if_icmple 3
         2: .line 135
            aload 0 /* this */
            aload 1 /* node */
            invokevirtual org.graalvm.compiler.graph.Node.graph:()Lorg/graalvm/compiler/graph/Graph;
            invokevirtual org.graalvm.compiler.graph.NodeWorkList$IterativeNodeWorkList.inflateToBitMap:(Lorg/graalvm/compiler/graph/Graph;)V
         3: .line 138
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.graalvm.compiler.graph.NodeWorkList$IterativeNodeWorkList.inQueue:Lorg/graalvm/compiler/graph/NodeBitMap;
            ifnull 6
         4: .line 139
            aload 0 /* this */
            getfield org.graalvm.compiler.graph.NodeWorkList$IterativeNodeWorkList.inQueue:Lorg/graalvm/compiler/graph/NodeBitMap;
            aload 1 /* node */
            invokevirtual org.graalvm.compiler.graph.NodeBitMap.isMarkedAndGrow:(Lorg/graalvm/compiler/graph/Node;)Z
            ifeq 11
         5: .line 140
            return
         6: .line 143
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.graalvm.compiler.graph.NodeWorkList$IterativeNodeWorkList.worklist:Ljava/util/Queue;
            invokeinterface java.util.Queue.iterator:()Ljava/util/Iterator;
            astore 3
            goto 10
      StackMap locals: org.graalvm.compiler.graph.NodeWorkList$IterativeNodeWorkList org.graalvm.compiler.graph.Node top java.util.Iterator
      StackMap stack:
         7: aload 3
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.graalvm.compiler.graph.Node
            astore 2 /* queuedNode */
        start local 2 // org.graalvm.compiler.graph.Node queuedNode
         8: .line 144
            aload 2 /* queuedNode */
            aload 1 /* node */
            if_acmpne 10
         9: .line 145
            return
        end local 2 // org.graalvm.compiler.graph.Node queuedNode
        10: .line 143
      StackMap locals:
      StackMap stack:
            aload 3
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 7
        11: .line 149
      StackMap locals: org.graalvm.compiler.graph.NodeWorkList$IterativeNodeWorkList org.graalvm.compiler.graph.Node
      StackMap stack:
            getstatic org.graalvm.compiler.graph.NodeWorkList$IterativeNodeWorkList.$assertionsDisabled:Z
            ifne 12
            aload 0 /* this */
            aload 1 /* node */
            invokevirtual org.graalvm.compiler.graph.NodeWorkList$IterativeNodeWorkList.checkInfiniteWork:(Lorg/graalvm/compiler/graph/Node;)Z
            ifne 12
            new java.lang.AssertionError
            dup
            new java.lang.StringBuilder
            dup
            ldc "Re-added "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* node */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
        12: .line 150
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.graalvm.compiler.graph.NodeWorkList$IterativeNodeWorkList.inQueue:Lorg/graalvm/compiler/graph/NodeBitMap;
            ifnull 14
        13: .line 151
            aload 0 /* this */
            getfield org.graalvm.compiler.graph.NodeWorkList$IterativeNodeWorkList.inQueue:Lorg/graalvm/compiler/graph/NodeBitMap;
            aload 1 /* node */
            invokevirtual org.graalvm.compiler.graph.NodeBitMap.markAndGrow:(Lorg/graalvm/compiler/graph/Node;)V
        14: .line 153
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.graalvm.compiler.graph.NodeWorkList$IterativeNodeWorkList.worklist:Ljava/util/Queue;
            aload 1 /* node */
            invokeinterface java.util.Queue.add:(Ljava/lang/Object;)Z
            pop
        15: .line 155
      StackMap locals:
      StackMap stack:
            return
        end local 1 // org.graalvm.compiler.graph.Node node
        end local 0 // org.graalvm.compiler.graph.NodeWorkList$IterativeNodeWorkList this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   16     0        this  Lorg/graalvm/compiler/graph/NodeWorkList$IterativeNodeWorkList;
            0   16     1        node  Lorg/graalvm/compiler/graph/Node;
            8   10     2  queuedNode  Lorg/graalvm/compiler/graph/Node;
    MethodParameters:
      Name  Flags
      node  

  public boolean contains(org.graalvm.compiler.graph.Node);
    descriptor: (Lorg/graalvm/compiler/graph/Node;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=4, args_size=2
        start local 0 // org.graalvm.compiler.graph.NodeWorkList$IterativeNodeWorkList this
        start local 1 // org.graalvm.compiler.graph.Node node
         0: .line 159
            aload 0 /* this */
            getfield org.graalvm.compiler.graph.NodeWorkList$IterativeNodeWorkList.inQueue:Lorg/graalvm/compiler/graph/NodeBitMap;
            ifnull 2
         1: .line 160
            aload 0 /* this */
            getfield org.graalvm.compiler.graph.NodeWorkList$IterativeNodeWorkList.inQueue:Lorg/graalvm/compiler/graph/NodeBitMap;
            aload 1 /* node */
            invokevirtual org.graalvm.compiler.graph.NodeBitMap.isMarked:(Lorg/graalvm/compiler/graph/Node;)Z
            ireturn
         2: .line 162
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.graalvm.compiler.graph.NodeWorkList$IterativeNodeWorkList.worklist:Ljava/util/Queue;
            invokeinterface java.util.Queue.iterator:()Ljava/util/Iterator;
            astore 3
            goto 6
      StackMap locals: org.graalvm.compiler.graph.NodeWorkList$IterativeNodeWorkList org.graalvm.compiler.graph.Node top java.util.Iterator
      StackMap stack:
         3: aload 3
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.graalvm.compiler.graph.Node
            astore 2 /* queuedNode */
        start local 2 // org.graalvm.compiler.graph.Node queuedNode
         4: .line 163
            aload 2 /* queuedNode */
            aload 1 /* node */
            if_acmpne 6
         5: .line 164
            iconst_1
            ireturn
        end local 2 // org.graalvm.compiler.graph.Node queuedNode
         6: .line 162
      StackMap locals:
      StackMap stack:
            aload 3
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 3
         7: .line 167
            iconst_0
            ireturn
        end local 1 // org.graalvm.compiler.graph.Node node
        end local 0 // org.graalvm.compiler.graph.NodeWorkList$IterativeNodeWorkList this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    8     0        this  Lorg/graalvm/compiler/graph/NodeWorkList$IterativeNodeWorkList;
            0    8     1        node  Lorg/graalvm/compiler/graph/Node;
            4    6     2  queuedNode  Lorg/graalvm/compiler/graph/Node;
    MethodParameters:
      Name  Flags
      node  

  private boolean checkInfiniteWork(org.graalvm.compiler.graph.Node);
    descriptor: (Lorg/graalvm/compiler/graph/Node;)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.graalvm.compiler.graph.NodeWorkList$IterativeNodeWorkList this
        start local 1 // org.graalvm.compiler.graph.Node node
         0: .line 172
            aload 0 /* this */
            getfield org.graalvm.compiler.graph.NodeWorkList$IterativeNodeWorkList.lastPull:Lorg/graalvm/compiler/graph/Node;
            aload 1 /* node */
            if_acmpne 9
            aload 1 /* node */
            invokevirtual org.graalvm.compiler.graph.Node.hasNoUsages:()Z
            ifne 9
         1: .line 173
            aload 0 /* this */
            getfield org.graalvm.compiler.graph.NodeWorkList$IterativeNodeWorkList.firstNoChange:Lorg/graalvm/compiler/graph/Node;
            ifnonnull 5
         2: .line 174
            aload 0 /* this */
            aload 1 /* node */
            putfield org.graalvm.compiler.graph.NodeWorkList$IterativeNodeWorkList.firstNoChange:Lorg/graalvm/compiler/graph/Node;
         3: .line 175
            aload 0 /* this */
            aload 1 /* node */
            putfield org.graalvm.compiler.graph.NodeWorkList$IterativeNodeWorkList.lastChain:Lorg/graalvm/compiler/graph/Node;
         4: .line 176
            goto 10
      StackMap locals:
      StackMap stack:
         5: aload 1 /* node */
            aload 0 /* this */
            getfield org.graalvm.compiler.graph.NodeWorkList$IterativeNodeWorkList.firstNoChange:Lorg/graalvm/compiler/graph/Node;
            if_acmpne 7
         6: .line 177
            iconst_0
            ireturn
         7: .line 179
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* node */
            putfield org.graalvm.compiler.graph.NodeWorkList$IterativeNodeWorkList.lastChain:Lorg/graalvm/compiler/graph/Node;
         8: .line 181
            goto 10
         9: .line 182
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aconst_null
            putfield org.graalvm.compiler.graph.NodeWorkList$IterativeNodeWorkList.firstNoChange:Lorg/graalvm/compiler/graph/Node;
        10: .line 184
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
        end local 1 // org.graalvm.compiler.graph.Node node
        end local 0 // org.graalvm.compiler.graph.NodeWorkList$IterativeNodeWorkList this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   11     0  this  Lorg/graalvm/compiler/graph/NodeWorkList$IterativeNodeWorkList;
            0   11     1  node  Lorg/graalvm/compiler/graph/Node;
    MethodParameters:
      Name  Flags
      node  

  private void inflateToBitMap(org.graalvm.compiler.graph.Graph);
    descriptor: (Lorg/graalvm/compiler/graph/Graph;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=4, args_size=2
        start local 0 // org.graalvm.compiler.graph.NodeWorkList$IterativeNodeWorkList this
        start local 1 // org.graalvm.compiler.graph.Graph graph
         0: .line 188
            getstatic org.graalvm.compiler.graph.NodeWorkList$IterativeNodeWorkList.$assertionsDisabled:Z
            ifne 1
            aload 0 /* this */
            getfield org.graalvm.compiler.graph.NodeWorkList$IterativeNodeWorkList.inQueue:Lorg/graalvm/compiler/graph/NodeBitMap;
            ifnull 1
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         1: .line 189
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* graph */
            invokevirtual org.graalvm.compiler.graph.Graph.createNodeBitMap:()Lorg/graalvm/compiler/graph/NodeBitMap;
            putfield org.graalvm.compiler.graph.NodeWorkList$IterativeNodeWorkList.inQueue:Lorg/graalvm/compiler/graph/NodeBitMap;
         2: .line 190
            aload 0 /* this */
            getfield org.graalvm.compiler.graph.NodeWorkList$IterativeNodeWorkList.worklist:Ljava/util/Queue;
            invokeinterface java.util.Queue.iterator:()Ljava/util/Iterator;
            astore 3
            goto 6
      StackMap locals: org.graalvm.compiler.graph.NodeWorkList$IterativeNodeWorkList org.graalvm.compiler.graph.Graph top java.util.Iterator
      StackMap stack:
         3: aload 3
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.graalvm.compiler.graph.Node
            astore 2 /* queuedNode */
        start local 2 // org.graalvm.compiler.graph.Node queuedNode
         4: .line 191
            aload 2 /* queuedNode */
            invokevirtual org.graalvm.compiler.graph.Node.isAlive:()Z
            ifeq 6
         5: .line 192
            aload 0 /* this */
            getfield org.graalvm.compiler.graph.NodeWorkList$IterativeNodeWorkList.inQueue:Lorg/graalvm/compiler/graph/NodeBitMap;
            aload 2 /* queuedNode */
            invokevirtual org.graalvm.compiler.graph.NodeBitMap.mark:(Lorg/graalvm/compiler/graph/Node;)V
        end local 2 // org.graalvm.compiler.graph.Node queuedNode
         6: .line 190
      StackMap locals:
      StackMap stack:
            aload 3
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 3
         7: .line 195
            return
        end local 1 // org.graalvm.compiler.graph.Graph graph
        end local 0 // org.graalvm.compiler.graph.NodeWorkList$IterativeNodeWorkList this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    8     0        this  Lorg/graalvm/compiler/graph/NodeWorkList$IterativeNodeWorkList;
            0    8     1       graph  Lorg/graalvm/compiler/graph/Graph;
            4    6     2  queuedNode  Lorg/graalvm/compiler/graph/Node;
    MethodParameters:
       Name  Flags
      graph  
}
SourceFile: "NodeWorkList.java"
NestHost: org.graalvm.compiler.graph.NodeWorkList
InnerClasses:
  public final IterativeNodeWorkList = org.graalvm.compiler.graph.NodeWorkList$IterativeNodeWorkList of org.graalvm.compiler.graph.NodeWorkList
  org.graalvm.compiler.graph.NodeWorkList$IterativeNodeWorkList$1