class org.graalvm.compiler.phases.util.GraphOrder$2 extends org.graalvm.compiler.phases.graph.ReentrantBlockIterator$BlockIteratorClosure<org.graalvm.compiler.graph.NodeBitMap>
  minor version: 0
  major version: 59
  flags: flags: (0x0020) ACC_SUPER
  this_class: org.graalvm.compiler.phases.util.GraphOrder$2
  super_class: org.graalvm.compiler.phases.graph.ReentrantBlockIterator$BlockIteratorClosure
{
  private final org.graalvm.compiler.nodes.StructuredGraph val$graph;
    descriptor: Lorg/graalvm/compiler/nodes/StructuredGraph;
    flags: (0x1012) ACC_PRIVATE, ACC_FINAL, ACC_SYNTHETIC

  private final jdk.internal.vm.compiler.collections.EconomicMap val$loopEntryStates;
    descriptor: Ljdk/internal/vm/compiler/collections/EconomicMap;
    flags: (0x1012) ACC_PRIVATE, ACC_FINAL, ACC_SYNTHETIC

  void <init>(org.graalvm.compiler.nodes.StructuredGraph, jdk.internal.vm.compiler.collections.EconomicMap);
    descriptor: (Lorg/graalvm/compiler/nodes/StructuredGraph;Ljdk/internal/vm/compiler/collections/EconomicMap;)V
    flags: (0x0000) 
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // org.graalvm.compiler.phases.util.GraphOrder$2 this
         0: .line 166
            aload 0 /* this */
            aload 1
            putfield org.graalvm.compiler.phases.util.GraphOrder$2.val$graph:Lorg/graalvm/compiler/nodes/StructuredGraph;
            aload 0 /* this */
            aload 2
            putfield org.graalvm.compiler.phases.util.GraphOrder$2.val$loopEntryStates:Ljdk/internal/vm/compiler/collections/EconomicMap;
            aload 0 /* this */
            invokespecial org.graalvm.compiler.phases.graph.ReentrantBlockIterator$BlockIteratorClosure.<init>:()V
            return
        end local 0 // org.graalvm.compiler.phases.util.GraphOrder$2 this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/graalvm/compiler/phases/util/GraphOrder$2;
    MethodParameters:
                     Name  Flags
      val$graph            final
      val$loopEntryStates  final

  protected java.util.List<org.graalvm.compiler.graph.NodeBitMap> processLoop(org.graalvm.compiler.core.common.cfg.Loop<org.graalvm.compiler.nodes.cfg.Block>, org.graalvm.compiler.graph.NodeBitMap);
    descriptor: (Lorg/graalvm/compiler/core/common/cfg/Loop;Lorg/graalvm/compiler/graph/NodeBitMap;)Ljava/util/List;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // org.graalvm.compiler.phases.util.GraphOrder$2 this
        start local 1 // org.graalvm.compiler.core.common.cfg.Loop loop
        start local 2 // org.graalvm.compiler.graph.NodeBitMap initialState
         0: .line 170
            aload 0 /* this */
            aload 1 /* loop */
            aload 2 /* initialState */
            invokestatic org.graalvm.compiler.phases.graph.ReentrantBlockIterator.processLoop:(Lorg/graalvm/compiler/phases/graph/ReentrantBlockIterator$BlockIteratorClosure;Lorg/graalvm/compiler/core/common/cfg/Loop;Ljava/lang/Object;)Lorg/graalvm/compiler/phases/graph/ReentrantBlockIterator$LoopInfo;
            getfield org.graalvm.compiler.phases.graph.ReentrantBlockIterator$LoopInfo.exitStates:Ljava/util/List;
            areturn
        end local 2 // org.graalvm.compiler.graph.NodeBitMap initialState
        end local 1 // org.graalvm.compiler.core.common.cfg.Loop loop
        end local 0 // org.graalvm.compiler.phases.util.GraphOrder$2 this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    1     0          this  Lorg/graalvm/compiler/phases/util/GraphOrder$2;
            0    1     1          loop  Lorg/graalvm/compiler/core/common/cfg/Loop<Lorg/graalvm/compiler/nodes/cfg/Block;>;
            0    1     2  initialState  Lorg/graalvm/compiler/graph/NodeBitMap;
    Signature: (Lorg/graalvm/compiler/core/common/cfg/Loop<Lorg/graalvm/compiler/nodes/cfg/Block;>;Lorg/graalvm/compiler/graph/NodeBitMap;)Ljava/util/List<Lorg/graalvm/compiler/graph/NodeBitMap;>;
    MethodParameters:
              Name  Flags
      loop          
      initialState  

  protected org.graalvm.compiler.graph.NodeBitMap processBlock(org.graalvm.compiler.nodes.cfg.Block, org.graalvm.compiler.graph.NodeBitMap);
    descriptor: (Lorg/graalvm/compiler/nodes/cfg/Block;Lorg/graalvm/compiler/graph/NodeBitMap;)Lorg/graalvm/compiler/graph/NodeBitMap;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=8, locals=12, args_size=3
        start local 0 // org.graalvm.compiler.phases.util.GraphOrder$2 this
        start local 1 // org.graalvm.compiler.nodes.cfg.Block block
        start local 2 // org.graalvm.compiler.graph.NodeBitMap currentState
         0: .line 175
            aload 0 /* this */
            getfield org.graalvm.compiler.phases.util.GraphOrder$2.val$graph:Lorg/graalvm/compiler/nodes/StructuredGraph;
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph.getLastSchedule:()Lorg/graalvm/compiler/nodes/StructuredGraph$ScheduleResult;
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph$ScheduleResult.getBlockToNodesMap:()Lorg/graalvm/compiler/core/common/cfg/BlockMap;
            aload 1 /* block */
            invokevirtual org.graalvm.compiler.core.common.cfg.BlockMap.get:(Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;)Ljava/lang/Object;
            checkcast java.util.List
            astore 3 /* list */
        start local 3 // java.util.List list
         1: .line 182
            aconst_null
            astore 4 /* pendingStateAfter */
        start local 4 // org.graalvm.compiler.nodes.FrameState pendingStateAfter
         2: .line 183
            aload 3 /* list */
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 6
            goto 55
      StackMap locals: org.graalvm.compiler.phases.util.GraphOrder$2 org.graalvm.compiler.nodes.cfg.Block org.graalvm.compiler.graph.NodeBitMap java.util.List org.graalvm.compiler.nodes.FrameState top java.util.Iterator
      StackMap stack:
         3: aload 6
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.graalvm.compiler.graph.Node
            astore 5 /* node */
        start local 5 // org.graalvm.compiler.graph.Node node
         4: .line 184
            aload 5 /* node */
            instanceof org.graalvm.compiler.nodes.ValueNode
            ifeq 55
         5: .line 185
            aload 5 /* node */
            instanceof org.graalvm.compiler.nodes.StateSplit
            ifeq 6
            aload 5 /* node */
            checkcast org.graalvm.compiler.nodes.StateSplit
            invokeinterface org.graalvm.compiler.nodes.StateSplit.stateAfter:()Lorg/graalvm/compiler/nodes/FrameState;
            goto 7
      StackMap locals: org.graalvm.compiler.phases.util.GraphOrder$2 org.graalvm.compiler.nodes.cfg.Block org.graalvm.compiler.graph.NodeBitMap java.util.List org.graalvm.compiler.nodes.FrameState org.graalvm.compiler.graph.Node java.util.Iterator
      StackMap stack:
         6: aconst_null
      StackMap locals:
      StackMap stack: org.graalvm.compiler.nodes.FrameState
         7: astore 7 /* stateAfter */
        start local 7 // org.graalvm.compiler.nodes.FrameState stateAfter
         8: .line 186
            aload 5 /* node */
            instanceof org.graalvm.compiler.nodes.FullInfopointNode
            ifeq 10
         9: .line 187
            aload 5 /* node */
            checkcast org.graalvm.compiler.nodes.FullInfopointNode
            invokevirtual org.graalvm.compiler.nodes.FullInfopointNode.getState:()Lorg/graalvm/compiler/nodes/FrameState;
            astore 7 /* stateAfter */
        10: .line 190
      StackMap locals: org.graalvm.compiler.nodes.FrameState
      StackMap stack:
            aload 4 /* pendingStateAfter */
            ifnull 13
            aload 5 /* node */
            instanceof org.graalvm.compiler.nodes.FixedNode
            ifeq 13
        11: .line 191
            aload 4 /* pendingStateAfter */
            new org.graalvm.compiler.phases.util.GraphOrder$2$1
            dup
            aload 0 /* this */
            aload 2 /* currentState */
            aload 5 /* node */
            aload 1 /* block */
            aload 3 /* list */
            invokespecial org.graalvm.compiler.phases.util.GraphOrder$2$1.<init>:(Lorg/graalvm/compiler/phases/util/GraphOrder$2;Lorg/graalvm/compiler/graph/NodeBitMap;Lorg/graalvm/compiler/graph/Node;Lorg/graalvm/compiler/nodes/cfg/Block;Ljava/util/List;)V
            invokevirtual org.graalvm.compiler.nodes.FrameState.applyToNonVirtual:(Lorg/graalvm/compiler/nodes/VirtualState$NodeClosure;)V
        12: .line 198
            aconst_null
            astore 4 /* pendingStateAfter */
        13: .line 201
      StackMap locals:
      StackMap stack:
            aload 5 /* node */
            instanceof org.graalvm.compiler.nodes.AbstractMergeNode
            ifeq 18
        14: .line 203
            aload 2 /* currentState */
            aload 5 /* node */
            checkcast org.graalvm.compiler.nodes.AbstractMergeNode
            invokevirtual org.graalvm.compiler.nodes.AbstractMergeNode.phis:()Lorg/graalvm/compiler/graph/iterators/NodeIterable;
            invokevirtual org.graalvm.compiler.graph.NodeBitMap.markAll:(Ljava/lang/Iterable;)V
        15: .line 204
            aload 5 /* node */
            instanceof org.graalvm.compiler.nodes.LoopBeginNode
            ifeq 43
        16: .line 206
            aload 0 /* this */
            getfield org.graalvm.compiler.phases.util.GraphOrder$2.val$loopEntryStates:Ljdk/internal/vm/compiler/collections/EconomicMap;
            aload 5 /* node */
            checkcast org.graalvm.compiler.nodes.LoopBeginNode
            aload 2 /* currentState */
            invokevirtual org.graalvm.compiler.graph.NodeBitMap.copy:()Lorg/graalvm/compiler/graph/NodeBitMap;
            invokeinterface jdk.internal.vm.compiler.collections.EconomicMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        17: .line 208
            goto 43
      StackMap locals:
      StackMap stack:
        18: aload 5 /* node */
            instanceof org.graalvm.compiler.nodes.ProxyNode
            ifeq 20
        19: .line 209
            getstatic org.graalvm.compiler.phases.util.GraphOrder.$assertionsDisabled:Z
            ifne 43
            new java.lang.AssertionError
            dup
            ldc "proxy nodes should not be in the schedule"
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
        20: .line 210
      StackMap locals:
      StackMap stack:
            aload 5 /* node */
            instanceof org.graalvm.compiler.nodes.LoopExitNode
            ifeq 34
        21: .line 211
            aload 0 /* this */
            getfield org.graalvm.compiler.phases.util.GraphOrder$2.val$graph:Lorg/graalvm/compiler/nodes/StructuredGraph;
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph.hasValueProxies:()Z
            ifeq 32
        22: .line 212
            aload 5 /* node */
            checkcast org.graalvm.compiler.nodes.LoopExitNode
            invokevirtual org.graalvm.compiler.nodes.LoopExitNode.proxies:()Lorg/graalvm/compiler/graph/iterators/NodeIterable;
            invokeinterface org.graalvm.compiler.graph.iterators.NodeIterable.iterator:()Ljava/util/Iterator;
            astore 9
            goto 29
      StackMap locals: org.graalvm.compiler.phases.util.GraphOrder$2 org.graalvm.compiler.nodes.cfg.Block org.graalvm.compiler.graph.NodeBitMap java.util.List org.graalvm.compiler.nodes.FrameState org.graalvm.compiler.graph.Node java.util.Iterator org.graalvm.compiler.nodes.FrameState top java.util.Iterator
      StackMap stack:
        23: aload 9
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.graalvm.compiler.nodes.ProxyNode
            astore 8 /* proxy */
        start local 8 // org.graalvm.compiler.nodes.ProxyNode proxy
        24: .line 213
            aload 8 /* proxy */
            invokevirtual org.graalvm.compiler.nodes.ProxyNode.inputs:()Lorg/graalvm/compiler/graph/iterators/NodeIterable;
            invokeinterface org.graalvm.compiler.graph.iterators.NodeIterable.iterator:()Ljava/util/Iterator;
            astore 11
            goto 28
      StackMap locals: org.graalvm.compiler.phases.util.GraphOrder$2 org.graalvm.compiler.nodes.cfg.Block org.graalvm.compiler.graph.NodeBitMap java.util.List org.graalvm.compiler.nodes.FrameState org.graalvm.compiler.graph.Node java.util.Iterator org.graalvm.compiler.nodes.FrameState org.graalvm.compiler.nodes.ProxyNode java.util.Iterator top java.util.Iterator
      StackMap stack:
        25: aload 11
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.graalvm.compiler.graph.Node
            astore 10 /* input */
        start local 10 // org.graalvm.compiler.graph.Node input
        26: .line 214
            aload 10 /* input */
            aload 8 /* proxy */
            invokevirtual org.graalvm.compiler.nodes.ProxyNode.proxyPoint:()Lorg/graalvm/compiler/nodes/LoopExitNode;
            if_acmpeq 28
        27: .line 215
            getstatic org.graalvm.compiler.phases.util.GraphOrder.$assertionsDisabled:Z
            ifne 28
            aload 2 /* currentState */
            aload 10 /* input */
            invokevirtual org.graalvm.compiler.graph.NodeBitMap.isMarked:(Lorg/graalvm/compiler/graph/Node;)Z
            ifne 28
            new java.lang.AssertionError
            dup
            new java.lang.StringBuilder
            dup
            invokespecial java.lang.StringBuilder.<init>:()V
            aload 10 /* input */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc " not available at "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 8 /* proxy */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc " in block "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 1 /* block */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc "\n"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 3 /* list */
            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
        end local 10 // org.graalvm.compiler.graph.Node input
        28: .line 213
      StackMap locals:
      StackMap stack:
            aload 11
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 25
        end local 8 // org.graalvm.compiler.nodes.ProxyNode proxy
        29: .line 212
      StackMap locals: org.graalvm.compiler.phases.util.GraphOrder$2 org.graalvm.compiler.nodes.cfg.Block org.graalvm.compiler.graph.NodeBitMap java.util.List org.graalvm.compiler.nodes.FrameState org.graalvm.compiler.graph.Node java.util.Iterator org.graalvm.compiler.nodes.FrameState top java.util.Iterator
      StackMap stack:
            aload 9
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 23
        30: .line 220
            aload 2 /* currentState */
            invokevirtual org.graalvm.compiler.graph.NodeBitMap.clearAll:()V
        31: .line 221
            aload 2 /* currentState */
            aload 0 /* this */
            getfield org.graalvm.compiler.phases.util.GraphOrder$2.val$loopEntryStates:Ljdk/internal/vm/compiler/collections/EconomicMap;
            aload 5 /* node */
            checkcast org.graalvm.compiler.nodes.LoopExitNode
            invokevirtual org.graalvm.compiler.nodes.LoopExitNode.loopBegin:()Lorg/graalvm/compiler/nodes/LoopBeginNode;
            invokeinterface jdk.internal.vm.compiler.collections.EconomicMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.Iterable
            invokevirtual org.graalvm.compiler.graph.NodeBitMap.markAll:(Ljava/lang/Iterable;)V
        32: .line 226
      StackMap locals: org.graalvm.compiler.phases.util.GraphOrder$2 org.graalvm.compiler.nodes.cfg.Block org.graalvm.compiler.graph.NodeBitMap java.util.List org.graalvm.compiler.nodes.FrameState org.graalvm.compiler.graph.Node java.util.Iterator org.graalvm.compiler.nodes.FrameState
      StackMap stack:
            aload 2 /* currentState */
            aload 5 /* node */
            checkcast org.graalvm.compiler.nodes.LoopExitNode
            invokevirtual org.graalvm.compiler.nodes.LoopExitNode.proxies:()Lorg/graalvm/compiler/graph/iterators/NodeIterable;
            invokevirtual org.graalvm.compiler.graph.NodeBitMap.markAll:(Ljava/lang/Iterable;)V
        33: .line 227
            goto 43
        34: .line 228
      StackMap locals:
      StackMap stack:
            aload 5 /* node */
            invokevirtual org.graalvm.compiler.graph.Node.inputs:()Lorg/graalvm/compiler/graph/iterators/NodeIterable;
            invokeinterface org.graalvm.compiler.graph.iterators.NodeIterable.iterator:()Ljava/util/Iterator;
            astore 9
            goto 42
      StackMap locals: org.graalvm.compiler.phases.util.GraphOrder$2 org.graalvm.compiler.nodes.cfg.Block org.graalvm.compiler.graph.NodeBitMap java.util.List org.graalvm.compiler.nodes.FrameState org.graalvm.compiler.graph.Node java.util.Iterator org.graalvm.compiler.nodes.FrameState top java.util.Iterator
      StackMap stack:
        35: 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
        36: .line 229
            aload 8 /* input */
            aload 7 /* stateAfter */
            if_acmpeq 42
        37: .line 230
            aload 8 /* input */
            instanceof org.graalvm.compiler.nodes.FrameState
            ifeq 40
        38: .line 231
            aload 8 /* input */
            checkcast org.graalvm.compiler.nodes.FrameState
            new org.graalvm.compiler.phases.util.GraphOrder$2$2
            dup
            aload 0 /* this */
            aload 2 /* currentState */
            aload 5 /* node */
            aload 1 /* block */
            aload 3 /* list */
            invokespecial org.graalvm.compiler.phases.util.GraphOrder$2$2.<init>:(Lorg/graalvm/compiler/phases/util/GraphOrder$2;Lorg/graalvm/compiler/graph/NodeBitMap;Lorg/graalvm/compiler/graph/Node;Lorg/graalvm/compiler/nodes/cfg/Block;Ljava/util/List;)V
            invokevirtual org.graalvm.compiler.nodes.FrameState.applyToNonVirtual:(Lorg/graalvm/compiler/nodes/VirtualState$NodeClosure;)V
        39: .line 237
            goto 42
        40: .line 238
      StackMap locals: org.graalvm.compiler.phases.util.GraphOrder$2 org.graalvm.compiler.nodes.cfg.Block org.graalvm.compiler.graph.NodeBitMap java.util.List org.graalvm.compiler.nodes.FrameState org.graalvm.compiler.graph.Node java.util.Iterator org.graalvm.compiler.nodes.FrameState org.graalvm.compiler.graph.Node java.util.Iterator
      StackMap stack:
            getstatic org.graalvm.compiler.phases.util.GraphOrder.$assertionsDisabled:Z
            ifne 42
            aload 2 /* currentState */
            aload 8 /* input */
            invokevirtual org.graalvm.compiler.graph.NodeBitMap.isMarked:(Lorg/graalvm/compiler/graph/Node;)Z
            ifne 42
            aload 8 /* input */
            instanceof org.graalvm.compiler.nodes.virtual.VirtualObjectNode
            ifne 42
            aload 8 /* input */
            instanceof org.graalvm.compiler.nodes.ConstantNode
            ifne 42
            new java.lang.AssertionError
            dup
            new java.lang.StringBuilder
            dup
            invokespecial java.lang.StringBuilder.<init>:()V
            aload 8 /* input */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc " not available at "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 5 /* node */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
        41: .line 239
            ldc " in block "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 1 /* block */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc "\n"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 3 /* list */
            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
        end local 8 // org.graalvm.compiler.graph.Node input
        42: .line 228
      StackMap locals: org.graalvm.compiler.phases.util.GraphOrder$2 org.graalvm.compiler.nodes.cfg.Block org.graalvm.compiler.graph.NodeBitMap java.util.List org.graalvm.compiler.nodes.FrameState org.graalvm.compiler.graph.Node java.util.Iterator org.graalvm.compiler.nodes.FrameState top java.util.Iterator
      StackMap stack:
            aload 9
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 35
        43: .line 244
      StackMap locals: org.graalvm.compiler.phases.util.GraphOrder$2 org.graalvm.compiler.nodes.cfg.Block org.graalvm.compiler.graph.NodeBitMap java.util.List org.graalvm.compiler.nodes.FrameState org.graalvm.compiler.graph.Node java.util.Iterator org.graalvm.compiler.nodes.FrameState
      StackMap stack:
            aload 5 /* node */
            instanceof org.graalvm.compiler.nodes.AbstractEndNode
            ifeq 51
        44: .line 245
            aload 5 /* node */
            checkcast org.graalvm.compiler.nodes.AbstractEndNode
            invokevirtual org.graalvm.compiler.nodes.AbstractEndNode.merge:()Lorg/graalvm/compiler/nodes/AbstractMergeNode;
            astore 8 /* merge */
        start local 8 // org.graalvm.compiler.nodes.AbstractMergeNode merge
        45: .line 246
            aload 8 /* merge */
            invokevirtual org.graalvm.compiler.nodes.AbstractMergeNode.phis:()Lorg/graalvm/compiler/graph/iterators/NodeIterable;
            invokeinterface org.graalvm.compiler.graph.iterators.NodeIterable.iterator:()Ljava/util/Iterator;
            astore 10
            goto 50
      StackMap locals: org.graalvm.compiler.phases.util.GraphOrder$2 org.graalvm.compiler.nodes.cfg.Block org.graalvm.compiler.graph.NodeBitMap java.util.List org.graalvm.compiler.nodes.FrameState org.graalvm.compiler.graph.Node java.util.Iterator org.graalvm.compiler.nodes.FrameState org.graalvm.compiler.nodes.AbstractMergeNode top java.util.Iterator
      StackMap stack:
        46: aload 10
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.graalvm.compiler.nodes.PhiNode
            astore 9 /* phi */
        start local 9 // org.graalvm.compiler.nodes.PhiNode phi
        47: .line 247
            aload 9 /* phi */
            aload 5 /* node */
            checkcast org.graalvm.compiler.nodes.AbstractEndNode
            invokevirtual org.graalvm.compiler.nodes.PhiNode.valueAt:(Lorg/graalvm/compiler/nodes/AbstractEndNode;)Lorg/graalvm/compiler/nodes/ValueNode;
            astore 11 /* phiValue */
        start local 11 // org.graalvm.compiler.nodes.ValueNode phiValue
        48: .line 248
            getstatic org.graalvm.compiler.phases.util.GraphOrder.$assertionsDisabled:Z
            ifne 50
            aload 11 /* phiValue */
            ifnull 50
            aload 2 /* currentState */
            aload 11 /* phiValue */
            invokevirtual org.graalvm.compiler.graph.NodeBitMap.isMarked:(Lorg/graalvm/compiler/graph/Node;)Z
            ifne 50
            aload 11 /* phiValue */
            instanceof org.graalvm.compiler.nodes.ConstantNode
            ifne 50
            new java.lang.AssertionError
            dup
            new java.lang.StringBuilder
            dup
            invokespecial java.lang.StringBuilder.<init>:()V
            aload 11 /* phiValue */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc " not available at phi "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 9 /* phi */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc " / end "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 5 /* node */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
        49: .line 249
            ldc " in block "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 1 /* block */
            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
        end local 11 // org.graalvm.compiler.nodes.ValueNode phiValue
        end local 9 // org.graalvm.compiler.nodes.PhiNode phi
        50: .line 246
      StackMap locals:
      StackMap stack:
            aload 10
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 46
        end local 8 // org.graalvm.compiler.nodes.AbstractMergeNode merge
        51: .line 252
      StackMap locals: org.graalvm.compiler.phases.util.GraphOrder$2 org.graalvm.compiler.nodes.cfg.Block org.graalvm.compiler.graph.NodeBitMap java.util.List org.graalvm.compiler.nodes.FrameState org.graalvm.compiler.graph.Node java.util.Iterator org.graalvm.compiler.nodes.FrameState
      StackMap stack:
            aload 7 /* stateAfter */
            ifnull 54
        52: .line 253
            getstatic org.graalvm.compiler.phases.util.GraphOrder.$assertionsDisabled:Z
            ifne 53
            aload 4 /* pendingStateAfter */
            ifnull 53
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        53: .line 254
      StackMap locals:
      StackMap stack:
            aload 7 /* stateAfter */
            astore 4 /* pendingStateAfter */
        54: .line 256
      StackMap locals:
      StackMap stack:
            aload 2 /* currentState */
            aload 5 /* node */
            invokevirtual org.graalvm.compiler.graph.NodeBitMap.mark:(Lorg/graalvm/compiler/graph/Node;)V
        end local 7 // org.graalvm.compiler.nodes.FrameState stateAfter
        end local 5 // org.graalvm.compiler.graph.Node node
        55: .line 183
      StackMap locals: org.graalvm.compiler.phases.util.GraphOrder$2 org.graalvm.compiler.nodes.cfg.Block org.graalvm.compiler.graph.NodeBitMap java.util.List org.graalvm.compiler.nodes.FrameState top java.util.Iterator
      StackMap stack:
            aload 6
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 3
        56: .line 259
            aload 4 /* pendingStateAfter */
            ifnull 58
        57: .line 260
            aload 4 /* pendingStateAfter */
            new org.graalvm.compiler.phases.util.GraphOrder$2$3
            dup
            aload 0 /* this */
            aload 2 /* currentState */
            aload 1 /* block */
            aload 3 /* list */
            invokespecial org.graalvm.compiler.phases.util.GraphOrder$2$3.<init>:(Lorg/graalvm/compiler/phases/util/GraphOrder$2;Lorg/graalvm/compiler/graph/NodeBitMap;Lorg/graalvm/compiler/nodes/cfg/Block;Ljava/util/List;)V
            invokevirtual org.graalvm.compiler.nodes.FrameState.applyToNonVirtual:(Lorg/graalvm/compiler/nodes/VirtualState$NodeClosure;)V
        58: .line 268
      StackMap locals: org.graalvm.compiler.phases.util.GraphOrder$2 org.graalvm.compiler.nodes.cfg.Block org.graalvm.compiler.graph.NodeBitMap java.util.List org.graalvm.compiler.nodes.FrameState
      StackMap stack:
            aload 2 /* currentState */
            areturn
        end local 4 // org.graalvm.compiler.nodes.FrameState pendingStateAfter
        end local 3 // java.util.List list
        end local 2 // org.graalvm.compiler.graph.NodeBitMap currentState
        end local 1 // org.graalvm.compiler.nodes.cfg.Block block
        end local 0 // org.graalvm.compiler.phases.util.GraphOrder$2 this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0   59     0               this  Lorg/graalvm/compiler/phases/util/GraphOrder$2;
            0   59     1              block  Lorg/graalvm/compiler/nodes/cfg/Block;
            0   59     2       currentState  Lorg/graalvm/compiler/graph/NodeBitMap;
            1   59     3               list  Ljava/util/List<Lorg/graalvm/compiler/graph/Node;>;
            2   59     4  pendingStateAfter  Lorg/graalvm/compiler/nodes/FrameState;
            4   55     5               node  Lorg/graalvm/compiler/graph/Node;
            8   55     7         stateAfter  Lorg/graalvm/compiler/nodes/FrameState;
           24   29     8              proxy  Lorg/graalvm/compiler/nodes/ProxyNode;
           26   28    10              input  Lorg/graalvm/compiler/graph/Node;
           36   42     8              input  Lorg/graalvm/compiler/graph/Node;
           45   51     8              merge  Lorg/graalvm/compiler/nodes/AbstractMergeNode;
           47   50     9                phi  Lorg/graalvm/compiler/nodes/PhiNode;
           48   50    11           phiValue  Lorg/graalvm/compiler/nodes/ValueNode;
    MethodParameters:
              Name  Flags
      block         final
      currentState  final

  protected org.graalvm.compiler.graph.NodeBitMap merge(org.graalvm.compiler.nodes.cfg.Block, java.util.List<org.graalvm.compiler.graph.NodeBitMap>);
    descriptor: (Lorg/graalvm/compiler/nodes/cfg/Block;Ljava/util/List;)Lorg/graalvm/compiler/graph/NodeBitMap;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=3, locals=5, args_size=3
        start local 0 // org.graalvm.compiler.phases.util.GraphOrder$2 this
        start local 1 // org.graalvm.compiler.nodes.cfg.Block merge
        start local 2 // java.util.List states
         0: .line 273
            aload 2 /* states */
            iconst_0
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast org.graalvm.compiler.graph.NodeBitMap
            astore 3 /* result */
        start local 3 // org.graalvm.compiler.graph.NodeBitMap result
         1: .line 274
            iconst_1
            istore 4 /* i */
        start local 4 // int i
         2: goto 5
         3: .line 275
      StackMap locals: org.graalvm.compiler.graph.NodeBitMap int
      StackMap stack:
            aload 3 /* result */
            aload 2 /* states */
            iload 4 /* i */
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast org.graalvm.compiler.graph.NodeBitMap
            invokevirtual org.graalvm.compiler.graph.NodeBitMap.intersect:(Lorg/graalvm/compiler/graph/NodeBitMap;)V
         4: .line 274
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
         5: iload 4 /* i */
            aload 2 /* states */
            invokeinterface java.util.List.size:()I
            if_icmplt 3
        end local 4 // int i
         6: .line 277
            aload 3 /* result */
            areturn
        end local 3 // org.graalvm.compiler.graph.NodeBitMap result
        end local 2 // java.util.List states
        end local 1 // org.graalvm.compiler.nodes.cfg.Block merge
        end local 0 // org.graalvm.compiler.phases.util.GraphOrder$2 this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    7     0    this  Lorg/graalvm/compiler/phases/util/GraphOrder$2;
            0    7     1   merge  Lorg/graalvm/compiler/nodes/cfg/Block;
            0    7     2  states  Ljava/util/List<Lorg/graalvm/compiler/graph/NodeBitMap;>;
            1    7     3  result  Lorg/graalvm/compiler/graph/NodeBitMap;
            2    6     4       i  I
    Signature: (Lorg/graalvm/compiler/nodes/cfg/Block;Ljava/util/List<Lorg/graalvm/compiler/graph/NodeBitMap;>;)Lorg/graalvm/compiler/graph/NodeBitMap;
    MethodParameters:
        Name  Flags
      merge   
      states  

  protected org.graalvm.compiler.graph.NodeBitMap getInitialState();
    descriptor: ()Lorg/graalvm/compiler/graph/NodeBitMap;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=3, locals=2, args_size=1
        start local 0 // org.graalvm.compiler.phases.util.GraphOrder$2 this
         0: .line 282
            aload 0 /* this */
            getfield org.graalvm.compiler.phases.util.GraphOrder$2.val$graph:Lorg/graalvm/compiler/nodes/StructuredGraph;
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph.createNodeBitMap:()Lorg/graalvm/compiler/graph/NodeBitMap;
            astore 1 /* ret */
        start local 1 // org.graalvm.compiler.graph.NodeBitMap ret
         1: .line 283
            aload 1 /* ret */
            aload 0 /* this */
            getfield org.graalvm.compiler.phases.util.GraphOrder$2.val$graph:Lorg/graalvm/compiler/nodes/StructuredGraph;
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph.getNodes:()Lorg/graalvm/compiler/graph/iterators/NodeIterable;
            ldc Lorg/graalvm/compiler/nodes/ConstantNode;
            invokeinterface org.graalvm.compiler.graph.iterators.NodeIterable.filter:(Ljava/lang/Class;)Lorg/graalvm/compiler/graph/iterators/NodeIterable;
            invokevirtual org.graalvm.compiler.graph.NodeBitMap.markAll:(Ljava/lang/Iterable;)V
         2: .line 284
            aload 1 /* ret */
            areturn
        end local 1 // org.graalvm.compiler.graph.NodeBitMap ret
        end local 0 // org.graalvm.compiler.phases.util.GraphOrder$2 this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/graalvm/compiler/phases/util/GraphOrder$2;
            1    3     1   ret  Lorg/graalvm/compiler/graph/NodeBitMap;

  protected org.graalvm.compiler.graph.NodeBitMap cloneState(org.graalvm.compiler.graph.NodeBitMap);
    descriptor: (Lorg/graalvm/compiler/graph/NodeBitMap;)Lorg/graalvm/compiler/graph/NodeBitMap;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=1, locals=2, args_size=2
        start local 0 // org.graalvm.compiler.phases.util.GraphOrder$2 this
        start local 1 // org.graalvm.compiler.graph.NodeBitMap oldState
         0: .line 289
            aload 1 /* oldState */
            invokevirtual org.graalvm.compiler.graph.NodeBitMap.copy:()Lorg/graalvm/compiler/graph/NodeBitMap;
            areturn
        end local 1 // org.graalvm.compiler.graph.NodeBitMap oldState
        end local 0 // org.graalvm.compiler.phases.util.GraphOrder$2 this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    1     0      this  Lorg/graalvm/compiler/phases/util/GraphOrder$2;
            0    1     1  oldState  Lorg/graalvm/compiler/graph/NodeBitMap;
    MethodParameters:
          Name  Flags
      oldState  

  protected java.lang.Object processBlock(org.graalvm.compiler.nodes.cfg.Block, java.lang.Object);
    descriptor: (Lorg/graalvm/compiler/nodes/cfg/Block;Ljava/lang/Object;)Ljava/lang/Object;
    flags: (0x1044) ACC_PROTECTED, ACC_BRIDGE, ACC_SYNTHETIC
    Code:
      stack=3, locals=3, args_size=3
         0: .line 1
            aload 0
            aload 1
            aload 2
            checkcast org.graalvm.compiler.graph.NodeBitMap
            invokevirtual org.graalvm.compiler.phases.util.GraphOrder$2.processBlock:(Lorg/graalvm/compiler/nodes/cfg/Block;Lorg/graalvm/compiler/graph/NodeBitMap;)Lorg/graalvm/compiler/graph/NodeBitMap;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  protected java.lang.Object merge(org.graalvm.compiler.nodes.cfg.Block, java.util.List);
    descriptor: (Lorg/graalvm/compiler/nodes/cfg/Block;Ljava/util/List;)Ljava/lang/Object;
    flags: (0x1044) ACC_PROTECTED, ACC_BRIDGE, ACC_SYNTHETIC
    Code:
      stack=3, locals=3, args_size=3
         0: .line 1
            aload 0
            aload 1
            aload 2
            checkcast java.util.List
            invokevirtual org.graalvm.compiler.phases.util.GraphOrder$2.merge:(Lorg/graalvm/compiler/nodes/cfg/Block;Ljava/util/List;)Lorg/graalvm/compiler/graph/NodeBitMap;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  protected java.util.List processLoop(org.graalvm.compiler.core.common.cfg.Loop, java.lang.Object);
    descriptor: (Lorg/graalvm/compiler/core/common/cfg/Loop;Ljava/lang/Object;)Ljava/util/List;
    flags: (0x1044) ACC_PROTECTED, ACC_BRIDGE, ACC_SYNTHETIC
    Code:
      stack=3, locals=3, args_size=3
         0: .line 1
            aload 0
            aload 1
            aload 2
            checkcast org.graalvm.compiler.graph.NodeBitMap
            invokevirtual org.graalvm.compiler.phases.util.GraphOrder$2.processLoop:(Lorg/graalvm/compiler/core/common/cfg/Loop;Lorg/graalvm/compiler/graph/NodeBitMap;)Ljava/util/List;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  protected java.lang.Object getInitialState();
    descriptor: ()Ljava/lang/Object;
    flags: (0x1044) ACC_PROTECTED, ACC_BRIDGE, ACC_SYNTHETIC
    Code:
      stack=1, locals=1, args_size=1
         0: .line 1
            aload 0
            invokevirtual org.graalvm.compiler.phases.util.GraphOrder$2.getInitialState:()Lorg/graalvm/compiler/graph/NodeBitMap;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  protected java.lang.Object cloneState(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Ljava/lang/Object;
    flags: (0x1044) ACC_PROTECTED, ACC_BRIDGE, ACC_SYNTHETIC
    Code:
      stack=2, locals=2, args_size=2
         0: .line 1
            aload 0
            aload 1
            checkcast org.graalvm.compiler.graph.NodeBitMap
            invokevirtual org.graalvm.compiler.phases.util.GraphOrder$2.cloneState:(Lorg/graalvm/compiler/graph/NodeBitMap;)Lorg/graalvm/compiler/graph/NodeBitMap;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
}
Signature: Lorg/graalvm/compiler/phases/graph/ReentrantBlockIterator$BlockIteratorClosure<Lorg/graalvm/compiler/graph/NodeBitMap;>;
SourceFile: "GraphOrder.java"
EnclosingMethod: org.graalvm.compiler.phases.util.GraphOrder.assertSchedulableGraph:(Lorg/graalvm/compiler/nodes/StructuredGraph;)Z
NestHost: org.graalvm.compiler.phases.util.GraphOrder
InnerClasses:
  public ScheduleResult = org.graalvm.compiler.nodes.StructuredGraph$ScheduleResult of org.graalvm.compiler.nodes.StructuredGraph
  public abstract NodeClosure = org.graalvm.compiler.nodes.VirtualState$NodeClosure of org.graalvm.compiler.nodes.VirtualState
  public abstract BlockIteratorClosure = org.graalvm.compiler.phases.graph.ReentrantBlockIterator$BlockIteratorClosure of org.graalvm.compiler.phases.graph.ReentrantBlockIterator
  public LoopInfo = org.graalvm.compiler.phases.graph.ReentrantBlockIterator$LoopInfo of org.graalvm.compiler.phases.graph.ReentrantBlockIterator
  org.graalvm.compiler.phases.util.GraphOrder$2
  org.graalvm.compiler.phases.util.GraphOrder$2$1
  org.graalvm.compiler.phases.util.GraphOrder$2$2
  org.graalvm.compiler.phases.util.GraphOrder$2$3