public class org.graalvm.compiler.nodes.util.GraphUtil
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.graalvm.compiler.nodes.util.GraphUtil
  super_class: java.lang.Object
{
  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 101
            ldc Lorg/graalvm/compiler/nodes/util/GraphUtil;
            invokevirtual java.lang.Class.desiredAssertionStatus:()Z
            ifne 1
            iconst_1
            goto 2
      StackMap locals:
      StackMap stack:
         1: iconst_0
      StackMap locals:
      StackMap stack: int
         2: putstatic org.graalvm.compiler.nodes.util.GraphUtil.$assertionsDisabled:Z
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.graalvm.compiler.nodes.util.GraphUtil this
         0: .line 101
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
            return
        end local 0 // org.graalvm.compiler.nodes.util.GraphUtil this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/graalvm/compiler/nodes/util/GraphUtil;

  private static void killCFGInner(org.graalvm.compiler.nodes.FixedNode);
    descriptor: (Lorg/graalvm/compiler/nodes/FixedNode;)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=5, locals=8, args_size=1
        start local 0 // org.graalvm.compiler.nodes.FixedNode node
         0: .line 109
            invokestatic jdk.internal.vm.compiler.collections.EconomicSet.create:()Ljdk/internal/vm/compiler/collections/EconomicSet;
            astore 1 /* markedNodes */
        start local 1 // jdk.internal.vm.compiler.collections.EconomicSet markedNodes
         1: .line 110
            invokestatic jdk.internal.vm.compiler.collections.EconomicMap.create:()Ljdk/internal/vm/compiler/collections/EconomicMap;
            astore 2 /* unmarkedMerges */
        start local 2 // jdk.internal.vm.compiler.collections.EconomicMap unmarkedMerges
         2: .line 113
            aload 0 /* node */
            aconst_null
            invokevirtual org.graalvm.compiler.nodes.FixedNode.replaceAtPredecessor:(Lorg/graalvm/compiler/graph/Node;)V
         3: .line 115
            aload 0 /* node */
            aload 1 /* markedNodes */
            aload 2 /* unmarkedMerges */
            invokestatic org.graalvm.compiler.nodes.util.GraphUtil.markFixedNodes:(Lorg/graalvm/compiler/nodes/FixedNode;Ljdk/internal/vm/compiler/collections/EconomicSet;Ljdk/internal/vm/compiler/collections/EconomicMap;)V
         4: .line 117
            aload 1 /* markedNodes */
            aload 2 /* unmarkedMerges */
            invokestatic org.graalvm.compiler.nodes.util.GraphUtil.fixSurvivingAffectedMerges:(Ljdk/internal/vm/compiler/collections/EconomicSet;Ljdk/internal/vm/compiler/collections/EconomicMap;)V
         5: .line 119
            aload 0 /* node */
            invokevirtual org.graalvm.compiler.nodes.FixedNode.getDebug:()Lorg/graalvm/compiler/debug/DebugContext;
            astore 3 /* debug */
        start local 3 // org.graalvm.compiler.debug.DebugContext debug
         6: .line 120
            aload 3 /* debug */
            iconst_4
            aload 0 /* node */
            invokevirtual org.graalvm.compiler.nodes.FixedNode.graph:()Lorg/graalvm/compiler/nodes/StructuredGraph;
            ldc "After fixing merges (killCFG %s)"
            aload 0 /* node */
            invokevirtual org.graalvm.compiler.debug.DebugContext.dump:(ILjava/lang/Object;Ljava/lang/String;Ljava/lang/Object;)V
         7: .line 123
            aload 1 /* markedNodes */
            invokestatic org.graalvm.compiler.nodes.util.GraphUtil.markUsages:(Ljdk/internal/vm/compiler/collections/EconomicSet;)V
         8: .line 126
            aload 1 /* markedNodes */
            invokeinterface jdk.internal.vm.compiler.collections.EconomicSet.iterator:()Ljava/util/Iterator;
            astore 5
            goto 16
      StackMap locals: org.graalvm.compiler.nodes.FixedNode jdk.internal.vm.compiler.collections.EconomicSet jdk.internal.vm.compiler.collections.EconomicMap org.graalvm.compiler.debug.DebugContext top java.util.Iterator
      StackMap stack:
         9: aload 5
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.graalvm.compiler.graph.Node
            astore 4 /* marked */
        start local 4 // org.graalvm.compiler.graph.Node marked
        10: .line 127
            aload 4 /* marked */
            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 7
            goto 15
      StackMap locals: org.graalvm.compiler.nodes.FixedNode jdk.internal.vm.compiler.collections.EconomicSet jdk.internal.vm.compiler.collections.EconomicMap org.graalvm.compiler.debug.DebugContext org.graalvm.compiler.graph.Node java.util.Iterator top java.util.Iterator
      StackMap stack:
        11: aload 7
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.graalvm.compiler.graph.Node
            astore 6 /* input */
        start local 6 // org.graalvm.compiler.graph.Node input
        12: .line 128
            aload 1 /* markedNodes */
            aload 6 /* input */
            invokeinterface jdk.internal.vm.compiler.collections.EconomicSet.contains:(Ljava/lang/Object;)Z
            ifne 15
        13: .line 129
            aload 4 /* marked */
            aload 6 /* input */
            aconst_null
            invokevirtual org.graalvm.compiler.graph.Node.replaceFirstInput:(Lorg/graalvm/compiler/graph/Node;Lorg/graalvm/compiler/graph/Node;)V
        14: .line 130
            aload 6 /* input */
            invokestatic org.graalvm.compiler.nodes.util.GraphUtil.tryKillUnused:(Lorg/graalvm/compiler/graph/Node;)Z
            pop
        end local 6 // org.graalvm.compiler.graph.Node input
        15: .line 127
      StackMap locals:
      StackMap stack:
            aload 7
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 11
        end local 4 // org.graalvm.compiler.graph.Node marked
        16: .line 126
      StackMap locals: org.graalvm.compiler.nodes.FixedNode jdk.internal.vm.compiler.collections.EconomicSet jdk.internal.vm.compiler.collections.EconomicMap org.graalvm.compiler.debug.DebugContext top java.util.Iterator
      StackMap stack:
            aload 5
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 9
        17: .line 134
            aload 3 /* debug */
            iconst_5
            aload 0 /* node */
            invokevirtual org.graalvm.compiler.nodes.FixedNode.graph:()Lorg/graalvm/compiler/nodes/StructuredGraph;
            ldc "After disconnecting non-marked inputs (killCFG %s)"
            aload 0 /* node */
            invokevirtual org.graalvm.compiler.debug.DebugContext.dump:(ILjava/lang/Object;Ljava/lang/String;Ljava/lang/Object;)V
        18: .line 136
            aload 1 /* markedNodes */
            invokeinterface jdk.internal.vm.compiler.collections.EconomicSet.iterator:()Ljava/util/Iterator;
            astore 5
            goto 22
      StackMap locals:
      StackMap stack:
        19: aload 5
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.graalvm.compiler.graph.Node
            astore 4 /* marked */
        start local 4 // org.graalvm.compiler.graph.Node marked
        20: .line 137
            aload 4 /* marked */
            invokevirtual org.graalvm.compiler.graph.Node.isAlive:()Z
            ifeq 22
        21: .line 138
            aload 4 /* marked */
            invokevirtual org.graalvm.compiler.graph.Node.markDeleted:()V
        end local 4 // org.graalvm.compiler.graph.Node marked
        22: .line 136
      StackMap locals:
      StackMap stack:
            aload 5
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 19
        23: .line 141
            return
        end local 3 // org.graalvm.compiler.debug.DebugContext debug
        end local 2 // jdk.internal.vm.compiler.collections.EconomicMap unmarkedMerges
        end local 1 // jdk.internal.vm.compiler.collections.EconomicSet markedNodes
        end local 0 // org.graalvm.compiler.nodes.FixedNode node
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   24     0            node  Lorg/graalvm/compiler/nodes/FixedNode;
            1   24     1     markedNodes  Ljdk/internal/vm/compiler/collections/EconomicSet<Lorg/graalvm/compiler/graph/Node;>;
            2   24     2  unmarkedMerges  Ljdk/internal/vm/compiler/collections/EconomicMap<Lorg/graalvm/compiler/nodes/AbstractMergeNode;Ljava/util/List<Lorg/graalvm/compiler/nodes/AbstractEndNode;>;>;
            6   24     3           debug  Lorg/graalvm/compiler/debug/DebugContext;
           10   16     4          marked  Lorg/graalvm/compiler/graph/Node;
           12   15     6           input  Lorg/graalvm/compiler/graph/Node;
           20   22     4          marked  Lorg/graalvm/compiler/graph/Node;
    MethodParameters:
      Name  Flags
      node  

  private static void markFixedNodes(org.graalvm.compiler.nodes.FixedNode, jdk.internal.vm.compiler.collections.EconomicSet<org.graalvm.compiler.graph.Node>, jdk.internal.vm.compiler.collections.EconomicMap<org.graalvm.compiler.nodes.AbstractMergeNode, java.util.List<org.graalvm.compiler.nodes.AbstractEndNode>>);
    descriptor: (Lorg/graalvm/compiler/nodes/FixedNode;Ljdk/internal/vm/compiler/collections/EconomicSet;Ljdk/internal/vm/compiler/collections/EconomicMap;)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=8, args_size=3
        start local 0 // org.graalvm.compiler.nodes.FixedNode node
        start local 1 // jdk.internal.vm.compiler.collections.EconomicSet markedNodes
        start local 2 // jdk.internal.vm.compiler.collections.EconomicMap unmarkedMerges
         0: .line 144
            new org.graalvm.compiler.graph.NodeStack
            dup
            invokespecial org.graalvm.compiler.graph.NodeStack.<init>:()V
            astore 3 /* workStack */
        start local 3 // org.graalvm.compiler.graph.NodeStack workStack
         1: .line 145
            aload 3 /* workStack */
            aload 0 /* node */
            invokevirtual org.graalvm.compiler.graph.NodeStack.push:(Lorg/graalvm/compiler/graph/Node;)V
         2: .line 146
            goto 38
         3: .line 147
      StackMap locals: org.graalvm.compiler.graph.NodeStack
      StackMap stack:
            aload 3 /* workStack */
            invokevirtual org.graalvm.compiler.graph.NodeStack.pop:()Lorg/graalvm/compiler/graph/Node;
            astore 4 /* fixedNode */
        start local 4 // org.graalvm.compiler.graph.Node fixedNode
         4: .line 148
            aload 1 /* markedNodes */
            aload 4 /* fixedNode */
            invokeinterface jdk.internal.vm.compiler.collections.EconomicSet.add:(Ljava/lang/Object;)Z
            pop
         5: .line 149
            aload 4 /* fixedNode */
            instanceof org.graalvm.compiler.nodes.AbstractMergeNode
            ifeq 11
         6: .line 150
            aload 2 /* unmarkedMerges */
            aload 4 /* fixedNode */
            checkcast org.graalvm.compiler.nodes.AbstractMergeNode
            invokeinterface jdk.internal.vm.compiler.collections.EconomicMap.removeKey:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
         7: .line 152
            goto 11
         8: .line 153
      StackMap locals: org.graalvm.compiler.graph.Node
      StackMap stack:
            aload 4 /* fixedNode */
            checkcast org.graalvm.compiler.nodes.FixedWithNextNode
            invokevirtual org.graalvm.compiler.nodes.FixedWithNextNode.next:()Lorg/graalvm/compiler/nodes/FixedNode;
            astore 4 /* fixedNode */
         9: .line 154
            aload 4 /* fixedNode */
            ifnull 11
        10: .line 155
            aload 1 /* markedNodes */
            aload 4 /* fixedNode */
            invokeinterface jdk.internal.vm.compiler.collections.EconomicSet.add:(Ljava/lang/Object;)Z
            pop
        11: .line 152
      StackMap locals:
      StackMap stack:
            aload 4 /* fixedNode */
            instanceof org.graalvm.compiler.nodes.FixedWithNextNode
            ifne 8
        12: .line 158
            aload 4 /* fixedNode */
            instanceof org.graalvm.compiler.nodes.ControlSplitNode
            ifeq 18
        13: .line 159
            aload 4 /* fixedNode */
            invokevirtual org.graalvm.compiler.graph.Node.successors:()Lorg/graalvm/compiler/graph/iterators/NodeIterable;
            invokeinterface org.graalvm.compiler.graph.iterators.NodeIterable.iterator:()Ljava/util/Iterator;
            astore 6
            goto 16
      StackMap locals: org.graalvm.compiler.nodes.FixedNode jdk.internal.vm.compiler.collections.EconomicSet jdk.internal.vm.compiler.collections.EconomicMap org.graalvm.compiler.graph.NodeStack org.graalvm.compiler.graph.Node top java.util.Iterator
      StackMap stack:
        14: aload 6
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.graalvm.compiler.graph.Node
            astore 5 /* successor */
        start local 5 // org.graalvm.compiler.graph.Node successor
        15: .line 160
            aload 3 /* workStack */
            aload 5 /* successor */
            invokevirtual org.graalvm.compiler.graph.NodeStack.push:(Lorg/graalvm/compiler/graph/Node;)V
        end local 5 // org.graalvm.compiler.graph.Node successor
        16: .line 159
      StackMap locals:
      StackMap stack:
            aload 6
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 14
        17: .line 162
            goto 38
      StackMap locals: org.graalvm.compiler.nodes.FixedNode jdk.internal.vm.compiler.collections.EconomicSet jdk.internal.vm.compiler.collections.EconomicMap org.graalvm.compiler.graph.NodeStack org.graalvm.compiler.graph.Node
      StackMap stack:
        18: aload 4 /* fixedNode */
            instanceof org.graalvm.compiler.nodes.AbstractEndNode
            ifeq 38
        19: .line 163
            aload 4 /* fixedNode */
            checkcast org.graalvm.compiler.nodes.AbstractEndNode
            astore 5 /* end */
        start local 5 // org.graalvm.compiler.nodes.AbstractEndNode end
        20: .line 164
            aload 5 /* end */
            invokevirtual org.graalvm.compiler.nodes.AbstractEndNode.merge:()Lorg/graalvm/compiler/nodes/AbstractMergeNode;
            astore 6 /* merge */
        start local 6 // org.graalvm.compiler.nodes.AbstractMergeNode merge
        21: .line 165
            aload 6 /* merge */
            ifnull 38
        22: .line 166
            getstatic org.graalvm.compiler.nodes.util.GraphUtil.$assertionsDisabled:Z
            ifne 24
            aload 1 /* markedNodes */
            aload 6 /* merge */
            invokeinterface jdk.internal.vm.compiler.collections.EconomicSet.contains:(Ljava/lang/Object;)Z
            ifeq 24
            aload 6 /* merge */
            instanceof org.graalvm.compiler.nodes.LoopBeginNode
            ifeq 23
            aload 5 /* end */
            instanceof org.graalvm.compiler.nodes.LoopEndNode
            ifne 24
      StackMap locals: org.graalvm.compiler.nodes.AbstractEndNode org.graalvm.compiler.nodes.AbstractMergeNode
      StackMap stack:
        23: new java.lang.AssertionError
            dup
            aload 6 /* merge */
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
        24: .line 167
      StackMap locals:
      StackMap stack:
            aload 6 /* merge */
            instanceof org.graalvm.compiler.nodes.LoopBeginNode
            ifeq 30
        25: .line 168
            aload 5 /* end */
            aload 6 /* merge */
            checkcast org.graalvm.compiler.nodes.LoopBeginNode
            invokevirtual org.graalvm.compiler.nodes.LoopBeginNode.forwardEnd:()Lorg/graalvm/compiler/nodes/AbstractEndNode;
            if_acmpne 28
        26: .line 169
            aload 3 /* workStack */
            aload 6 /* merge */
            invokevirtual org.graalvm.compiler.graph.NodeStack.push:(Lorg/graalvm/compiler/graph/Node;)V
        27: .line 170
            goto 38
        28: .line 172
      StackMap locals:
      StackMap stack:
            aload 1 /* markedNodes */
            aload 6 /* merge */
            invokeinterface jdk.internal.vm.compiler.collections.EconomicSet.contains:(Ljava/lang/Object;)Z
            ifeq 30
        29: .line 173
            goto 38
        30: .line 176
      StackMap locals:
      StackMap stack:
            aload 2 /* unmarkedMerges */
            aload 6 /* merge */
            invokeinterface jdk.internal.vm.compiler.collections.EconomicMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.util.List
            astore 7 /* endsSeen */
        start local 7 // java.util.List endsSeen
        31: .line 177
            aload 7 /* endsSeen */
            ifnonnull 34
        32: .line 178
            new java.util.ArrayList
            dup
            aload 6 /* merge */
            invokevirtual org.graalvm.compiler.nodes.AbstractMergeNode.forwardEndCount:()I
            invokespecial java.util.ArrayList.<init>:(I)V
            astore 7 /* endsSeen */
        33: .line 179
            aload 2 /* unmarkedMerges */
            aload 6 /* merge */
            aload 7 /* endsSeen */
            invokeinterface jdk.internal.vm.compiler.collections.EconomicMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        34: .line 181
      StackMap locals: java.util.List
      StackMap stack:
            aload 7 /* endsSeen */
            aload 5 /* end */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        35: .line 182
            aload 5 /* end */
            instanceof org.graalvm.compiler.nodes.LoopEndNode
            ifne 38
            aload 7 /* endsSeen */
            invokeinterface java.util.List.size:()I
            aload 6 /* merge */
            invokevirtual org.graalvm.compiler.nodes.AbstractMergeNode.forwardEndCount:()I
            if_icmpne 38
        36: .line 183
            getstatic org.graalvm.compiler.nodes.util.GraphUtil.$assertionsDisabled:Z
            ifne 37
            aload 6 /* merge */
            invokevirtual org.graalvm.compiler.nodes.AbstractMergeNode.forwardEnds:()Lorg/graalvm/compiler/graph/NodeInputList;
            aload 1 /* markedNodes */
            invokedynamic apply(Ljdk/internal/vm/compiler/collections/EconomicSet;)Lorg/graalvm/compiler/graph/iterators/NodePredicate;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Lorg/graalvm/compiler/graph/Node;)Z
                  org/graalvm/compiler/nodes/util/GraphUtil.lambda$0(Ljdk/internal/vm/compiler/collections/EconomicSet;Lorg/graalvm/compiler/graph/Node;)Z (6)
                  (Lorg/graalvm/compiler/graph/Node;)Z
            invokevirtual org.graalvm.compiler.graph.NodeInputList.filter:(Lorg/graalvm/compiler/graph/iterators/NodePredicate;)Lorg/graalvm/compiler/graph/iterators/FilteredNodeIterable;
            invokevirtual org.graalvm.compiler.graph.iterators.FilteredNodeIterable.isEmpty:()Z
            ifne 37
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        37: .line 185
      StackMap locals:
      StackMap stack:
            aload 3 /* workStack */
            aload 6 /* merge */
            invokevirtual org.graalvm.compiler.graph.NodeStack.push:(Lorg/graalvm/compiler/graph/Node;)V
        end local 7 // java.util.List endsSeen
        end local 6 // org.graalvm.compiler.nodes.AbstractMergeNode merge
        end local 5 // org.graalvm.compiler.nodes.AbstractEndNode end
        end local 4 // org.graalvm.compiler.graph.Node fixedNode
        38: .line 146
      StackMap locals: org.graalvm.compiler.nodes.FixedNode jdk.internal.vm.compiler.collections.EconomicSet jdk.internal.vm.compiler.collections.EconomicMap org.graalvm.compiler.graph.NodeStack
      StackMap stack:
            aload 3 /* workStack */
            invokevirtual org.graalvm.compiler.graph.NodeStack.isEmpty:()Z
            ifeq 3
        39: .line 190
            return
        end local 3 // org.graalvm.compiler.graph.NodeStack workStack
        end local 2 // jdk.internal.vm.compiler.collections.EconomicMap unmarkedMerges
        end local 1 // jdk.internal.vm.compiler.collections.EconomicSet markedNodes
        end local 0 // org.graalvm.compiler.nodes.FixedNode node
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   40     0            node  Lorg/graalvm/compiler/nodes/FixedNode;
            0   40     1     markedNodes  Ljdk/internal/vm/compiler/collections/EconomicSet<Lorg/graalvm/compiler/graph/Node;>;
            0   40     2  unmarkedMerges  Ljdk/internal/vm/compiler/collections/EconomicMap<Lorg/graalvm/compiler/nodes/AbstractMergeNode;Ljava/util/List<Lorg/graalvm/compiler/nodes/AbstractEndNode;>;>;
            1   40     3       workStack  Lorg/graalvm/compiler/graph/NodeStack;
            4   38     4       fixedNode  Lorg/graalvm/compiler/graph/Node;
           15   16     5       successor  Lorg/graalvm/compiler/graph/Node;
           20   38     5             end  Lorg/graalvm/compiler/nodes/AbstractEndNode;
           21   38     6           merge  Lorg/graalvm/compiler/nodes/AbstractMergeNode;
           31   38     7        endsSeen  Ljava/util/List<Lorg/graalvm/compiler/nodes/AbstractEndNode;>;
    Signature: (Lorg/graalvm/compiler/nodes/FixedNode;Ljdk/internal/vm/compiler/collections/EconomicSet<Lorg/graalvm/compiler/graph/Node;>;Ljdk/internal/vm/compiler/collections/EconomicMap<Lorg/graalvm/compiler/nodes/AbstractMergeNode;Ljava/util/List<Lorg/graalvm/compiler/nodes/AbstractEndNode;>;>;)V
    MethodParameters:
                Name  Flags
      node            
      markedNodes     
      unmarkedMerges  

  private static void fixSurvivingAffectedMerges(jdk.internal.vm.compiler.collections.EconomicSet<org.graalvm.compiler.graph.Node>, jdk.internal.vm.compiler.collections.EconomicMap<org.graalvm.compiler.nodes.AbstractMergeNode, java.util.List<org.graalvm.compiler.nodes.AbstractEndNode>>);
    descriptor: (Ljdk/internal/vm/compiler/collections/EconomicSet;Ljdk/internal/vm/compiler/collections/EconomicMap;)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=7, args_size=2
        start local 0 // jdk.internal.vm.compiler.collections.EconomicSet markedNodes
        start local 1 // jdk.internal.vm.compiler.collections.EconomicMap unmarkedMerges
         0: .line 193
            aload 1 /* unmarkedMerges */
            invokeinterface jdk.internal.vm.compiler.collections.EconomicMap.getEntries:()Ljdk/internal/vm/compiler/collections/MapCursor;
            astore 2 /* cursor */
        start local 2 // jdk.internal.vm.compiler.collections.MapCursor cursor
         1: .line 194
            goto 21
         2: .line 195
      StackMap locals: jdk.internal.vm.compiler.collections.MapCursor
      StackMap stack:
            aload 2 /* cursor */
            invokeinterface jdk.internal.vm.compiler.collections.MapCursor.getKey:()Ljava/lang/Object;
            checkcast org.graalvm.compiler.nodes.AbstractMergeNode
            astore 3 /* merge */
        start local 3 // org.graalvm.compiler.nodes.AbstractMergeNode merge
         3: .line 196
            aload 2 /* cursor */
            invokeinterface jdk.internal.vm.compiler.collections.MapCursor.getValue:()Ljava/lang/Object;
            checkcast java.util.List
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 5
            goto 6
      StackMap locals: jdk.internal.vm.compiler.collections.EconomicSet jdk.internal.vm.compiler.collections.EconomicMap jdk.internal.vm.compiler.collections.MapCursor org.graalvm.compiler.nodes.AbstractMergeNode top java.util.Iterator
      StackMap stack:
         4: aload 5
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.graalvm.compiler.nodes.AbstractEndNode
            astore 4 /* end */
        start local 4 // org.graalvm.compiler.nodes.AbstractEndNode end
         5: .line 197
            aload 3 /* merge */
            aload 4 /* end */
            invokevirtual org.graalvm.compiler.nodes.AbstractMergeNode.removeEnd:(Lorg/graalvm/compiler/nodes/AbstractEndNode;)V
        end local 4 // org.graalvm.compiler.nodes.AbstractEndNode end
         6: .line 196
      StackMap locals:
      StackMap stack:
            aload 5
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 4
         7: .line 199
            aload 3 /* merge */
            invokevirtual org.graalvm.compiler.nodes.AbstractMergeNode.phiPredecessorCount:()I
            iconst_1
            if_icmpne 20
         8: .line 200
            aload 3 /* merge */
            instanceof org.graalvm.compiler.nodes.LoopBeginNode
            ifeq 18
         9: .line 201
            aload 3 /* merge */
            checkcast org.graalvm.compiler.nodes.LoopBeginNode
            astore 4 /* loopBegin */
        start local 4 // org.graalvm.compiler.nodes.LoopBeginNode loopBegin
        10: .line 202
            getstatic org.graalvm.compiler.nodes.util.GraphUtil.$assertionsDisabled:Z
            ifne 11
            aload 3 /* merge */
            invokevirtual org.graalvm.compiler.nodes.AbstractMergeNode.forwardEndCount:()I
            iconst_1
            if_icmpeq 11
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        11: .line 203
      StackMap locals: jdk.internal.vm.compiler.collections.EconomicSet jdk.internal.vm.compiler.collections.EconomicMap jdk.internal.vm.compiler.collections.MapCursor org.graalvm.compiler.nodes.AbstractMergeNode org.graalvm.compiler.nodes.LoopBeginNode
      StackMap stack:
            aload 4 /* loopBegin */
            invokevirtual org.graalvm.compiler.nodes.LoopBeginNode.loopExits:()Lorg/graalvm/compiler/graph/iterators/NodeIterable;
            invokeinterface org.graalvm.compiler.graph.iterators.NodeIterable.snapshot:()Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 6
            goto 15
      StackMap locals: jdk.internal.vm.compiler.collections.EconomicSet jdk.internal.vm.compiler.collections.EconomicMap jdk.internal.vm.compiler.collections.MapCursor org.graalvm.compiler.nodes.AbstractMergeNode org.graalvm.compiler.nodes.LoopBeginNode top java.util.Iterator
      StackMap stack:
        12: aload 6
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.graalvm.compiler.nodes.LoopExitNode
            astore 5 /* loopExit */
        start local 5 // org.graalvm.compiler.nodes.LoopExitNode loopExit
        13: .line 204
            aload 0 /* markedNodes */
            aload 5 /* loopExit */
            invokeinterface jdk.internal.vm.compiler.collections.EconomicSet.contains:(Ljava/lang/Object;)Z
            ifeq 15
        14: .line 209
            aload 5 /* loopExit */
            aload 4 /* loopBegin */
            aconst_null
            invokevirtual org.graalvm.compiler.nodes.LoopExitNode.replaceFirstInput:(Lorg/graalvm/compiler/graph/Node;Lorg/graalvm/compiler/graph/Node;)V
        end local 5 // org.graalvm.compiler.nodes.LoopExitNode loopExit
        15: .line 203
      StackMap locals:
      StackMap stack:
            aload 6
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 12
        16: .line 212
            aload 3 /* merge */
            invokevirtual org.graalvm.compiler.nodes.AbstractMergeNode.graph:()Lorg/graalvm/compiler/nodes/StructuredGraph;
            aload 4 /* loopBegin */
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph.reduceDegenerateLoopBegin:(Lorg/graalvm/compiler/nodes/LoopBeginNode;)V
        end local 4 // org.graalvm.compiler.nodes.LoopBeginNode loopBegin
        17: .line 213
            goto 21
        18: .line 214
      StackMap locals: jdk.internal.vm.compiler.collections.EconomicSet jdk.internal.vm.compiler.collections.EconomicMap jdk.internal.vm.compiler.collections.MapCursor org.graalvm.compiler.nodes.AbstractMergeNode
      StackMap stack:
            aload 3 /* merge */
            invokevirtual org.graalvm.compiler.nodes.AbstractMergeNode.graph:()Lorg/graalvm/compiler/nodes/StructuredGraph;
            aload 3 /* merge */
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph.reduceTrivialMerge:(Lorg/graalvm/compiler/nodes/AbstractMergeNode;)V
        19: .line 216
            goto 21
        20: .line 217
      StackMap locals:
      StackMap stack:
            getstatic org.graalvm.compiler.nodes.util.GraphUtil.$assertionsDisabled:Z
            ifne 21
            aload 3 /* merge */
            invokevirtual org.graalvm.compiler.nodes.AbstractMergeNode.phiPredecessorCount:()I
            iconst_1
            if_icmpgt 21
            new java.lang.AssertionError
            dup
            aload 3 /* merge */
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
        end local 3 // org.graalvm.compiler.nodes.AbstractMergeNode merge
        21: .line 194
      StackMap locals:
      StackMap stack:
            aload 2 /* cursor */
            invokeinterface jdk.internal.vm.compiler.collections.MapCursor.advance:()Z
            ifne 2
        22: .line 220
            return
        end local 2 // jdk.internal.vm.compiler.collections.MapCursor cursor
        end local 1 // jdk.internal.vm.compiler.collections.EconomicMap unmarkedMerges
        end local 0 // jdk.internal.vm.compiler.collections.EconomicSet markedNodes
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   23     0     markedNodes  Ljdk/internal/vm/compiler/collections/EconomicSet<Lorg/graalvm/compiler/graph/Node;>;
            0   23     1  unmarkedMerges  Ljdk/internal/vm/compiler/collections/EconomicMap<Lorg/graalvm/compiler/nodes/AbstractMergeNode;Ljava/util/List<Lorg/graalvm/compiler/nodes/AbstractEndNode;>;>;
            1   23     2          cursor  Ljdk/internal/vm/compiler/collections/MapCursor<Lorg/graalvm/compiler/nodes/AbstractMergeNode;Ljava/util/List<Lorg/graalvm/compiler/nodes/AbstractEndNode;>;>;
            3   21     3           merge  Lorg/graalvm/compiler/nodes/AbstractMergeNode;
            5    6     4             end  Lorg/graalvm/compiler/nodes/AbstractEndNode;
           10   17     4       loopBegin  Lorg/graalvm/compiler/nodes/LoopBeginNode;
           13   15     5        loopExit  Lorg/graalvm/compiler/nodes/LoopExitNode;
    Signature: (Ljdk/internal/vm/compiler/collections/EconomicSet<Lorg/graalvm/compiler/graph/Node;>;Ljdk/internal/vm/compiler/collections/EconomicMap<Lorg/graalvm/compiler/nodes/AbstractMergeNode;Ljava/util/List<Lorg/graalvm/compiler/nodes/AbstractEndNode;>;>;)V
    MethodParameters:
                Name  Flags
      markedNodes     
      unmarkedMerges  

  private static void markUsages(jdk.internal.vm.compiler.collections.EconomicSet<org.graalvm.compiler.graph.Node>);
    descriptor: (Ljdk/internal/vm/compiler/collections/EconomicSet;)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=4, locals=5, args_size=1
        start local 0 // jdk.internal.vm.compiler.collections.EconomicSet markedNodes
         0: .line 223
            new org.graalvm.compiler.graph.NodeStack
            dup
            aload 0 /* markedNodes */
            invokeinterface jdk.internal.vm.compiler.collections.EconomicSet.size:()I
            iconst_4
            iadd
            invokespecial org.graalvm.compiler.graph.NodeStack.<init>:(I)V
            astore 1 /* workStack */
        start local 1 // org.graalvm.compiler.graph.NodeStack workStack
         1: .line 224
            aload 0 /* markedNodes */
            invokeinterface jdk.internal.vm.compiler.collections.EconomicSet.iterator:()Ljava/util/Iterator;
            astore 3
            goto 4
      StackMap locals: jdk.internal.vm.compiler.collections.EconomicSet org.graalvm.compiler.graph.NodeStack top java.util.Iterator
      StackMap stack:
         2: aload 3
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.graalvm.compiler.graph.Node
            astore 2 /* marked */
        start local 2 // org.graalvm.compiler.graph.Node marked
         3: .line 225
            aload 1 /* workStack */
            aload 2 /* marked */
            invokevirtual org.graalvm.compiler.graph.NodeStack.push:(Lorg/graalvm/compiler/graph/Node;)V
        end local 2 // org.graalvm.compiler.graph.Node marked
         4: .line 224
      StackMap locals:
      StackMap stack:
            aload 3
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 2
         5: .line 227
            goto 13
         6: .line 228
      StackMap locals: jdk.internal.vm.compiler.collections.EconomicSet org.graalvm.compiler.graph.NodeStack
      StackMap stack:
            aload 1 /* workStack */
            invokevirtual org.graalvm.compiler.graph.NodeStack.pop:()Lorg/graalvm/compiler/graph/Node;
            astore 2 /* marked */
        start local 2 // org.graalvm.compiler.graph.Node marked
         7: .line 229
            aload 2 /* marked */
            invokevirtual org.graalvm.compiler.graph.Node.usages:()Lorg/graalvm/compiler/graph/iterators/NodeIterable;
            invokeinterface org.graalvm.compiler.graph.iterators.NodeIterable.iterator:()Ljava/util/Iterator;
            astore 4
            goto 12
      StackMap locals: jdk.internal.vm.compiler.collections.EconomicSet org.graalvm.compiler.graph.NodeStack org.graalvm.compiler.graph.Node top java.util.Iterator
      StackMap stack:
         8: aload 4
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.graalvm.compiler.graph.Node
            astore 3 /* usage */
        start local 3 // org.graalvm.compiler.graph.Node usage
         9: .line 230
            aload 0 /* markedNodes */
            aload 3 /* usage */
            invokeinterface jdk.internal.vm.compiler.collections.EconomicSet.contains:(Ljava/lang/Object;)Z
            ifne 12
        10: .line 231
            aload 1 /* workStack */
            aload 3 /* usage */
            invokevirtual org.graalvm.compiler.graph.NodeStack.push:(Lorg/graalvm/compiler/graph/Node;)V
        11: .line 232
            aload 0 /* markedNodes */
            aload 3 /* usage */
            invokeinterface jdk.internal.vm.compiler.collections.EconomicSet.add:(Ljava/lang/Object;)Z
            pop
        end local 3 // org.graalvm.compiler.graph.Node usage
        12: .line 229
      StackMap locals:
      StackMap stack:
            aload 4
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 8
        end local 2 // org.graalvm.compiler.graph.Node marked
        13: .line 227
      StackMap locals: jdk.internal.vm.compiler.collections.EconomicSet org.graalvm.compiler.graph.NodeStack
      StackMap stack:
            aload 1 /* workStack */
            invokevirtual org.graalvm.compiler.graph.NodeStack.isEmpty:()Z
            ifeq 6
        14: .line 236
            return
        end local 1 // org.graalvm.compiler.graph.NodeStack workStack
        end local 0 // jdk.internal.vm.compiler.collections.EconomicSet markedNodes
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   15     0  markedNodes  Ljdk/internal/vm/compiler/collections/EconomicSet<Lorg/graalvm/compiler/graph/Node;>;
            1   15     1    workStack  Lorg/graalvm/compiler/graph/NodeStack;
            3    4     2       marked  Lorg/graalvm/compiler/graph/Node;
            7   13     2       marked  Lorg/graalvm/compiler/graph/Node;
            9   12     3        usage  Lorg/graalvm/compiler/graph/Node;
    Signature: (Ljdk/internal/vm/compiler/collections/EconomicSet<Lorg/graalvm/compiler/graph/Node;>;)V
    MethodParameters:
             Name  Flags
      markedNodes  

  public static void killCFG(org.graalvm.compiler.nodes.FixedNode);
    descriptor: (Lorg/graalvm/compiler/nodes/FixedNode;)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=11, args_size=1
        start local 0 // org.graalvm.compiler.nodes.FixedNode node
         0: .line 240
            aload 0 /* node */
            invokevirtual org.graalvm.compiler.nodes.FixedNode.getDebug:()Lorg/graalvm/compiler/debug/DebugContext;
            astore 1 /* debug */
        start local 1 // org.graalvm.compiler.debug.DebugContext debug
         1: .line 241
            aconst_null
            astore 2
            aconst_null
            astore 3
         2: aload 1 /* debug */
            ldc "KillCFG"
            aload 0 /* node */
            invokevirtual org.graalvm.compiler.debug.DebugContext.scope:(Ljava/lang/Object;Ljava/lang/Object;)Lorg/graalvm/compiler/debug/DebugContext$Scope;
            astore 4 /* scope */
        start local 4 // org.graalvm.compiler.debug.DebugContext$Scope scope
         3: .line 242
            aconst_null
            astore 5 /* unusedNodes */
        start local 5 // jdk.internal.vm.compiler.collections.EconomicSet unusedNodes
         4: .line 243
            aconst_null
            astore 6 /* unsafeNodes */
        start local 6 // jdk.internal.vm.compiler.collections.EconomicSet unsafeNodes
         5: .line 244
            aconst_null
            astore 7 /* nodeEventScope */
        start local 7 // org.graalvm.compiler.graph.Graph$NodeEventScope nodeEventScope
         6: .line 245
            aload 0 /* node */
            invokevirtual org.graalvm.compiler.nodes.FixedNode.getOptions:()Lorg/graalvm/compiler/options/OptionValues;
            astore 8 /* options */
        start local 8 // org.graalvm.compiler.options.OptionValues options
         7: .line 246
            getstatic org.graalvm.compiler.graph.Graph$Options.VerifyGraalGraphEdges:Lorg/graalvm/compiler/options/OptionKey;
            aload 8 /* options */
            invokevirtual org.graalvm.compiler.options.OptionKey.getValue:(Lorg/graalvm/compiler/options/OptionValues;)Ljava/lang/Object;
            checkcast java.lang.Boolean
            invokevirtual java.lang.Boolean.booleanValue:()Z
            ifeq 9
         8: .line 247
            aload 0 /* node */
            invokevirtual org.graalvm.compiler.nodes.FixedNode.graph:()Lorg/graalvm/compiler/nodes/StructuredGraph;
            invokestatic org.graalvm.compiler.nodes.util.GraphUtil.collectUnsafeNodes:(Lorg/graalvm/compiler/graph/Graph;)Ljdk/internal/vm/compiler/collections/EconomicSet;
            astore 6 /* unsafeNodes */
         9: .line 249
      StackMap locals: org.graalvm.compiler.nodes.FixedNode org.graalvm.compiler.debug.DebugContext java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.DebugContext$Scope jdk.internal.vm.compiler.collections.EconomicSet jdk.internal.vm.compiler.collections.EconomicSet org.graalvm.compiler.graph.Graph$NodeEventScope org.graalvm.compiler.options.OptionValues
      StackMap stack:
            getstatic org.graalvm.compiler.nodes.util.GraphUtil$Options.VerifyKillCFGUnusedNodes:Lorg/graalvm/compiler/options/OptionKey;
            aload 8 /* options */
            invokevirtual org.graalvm.compiler.options.OptionKey.getValue:(Lorg/graalvm/compiler/options/OptionValues;)Ljava/lang/Object;
            checkcast java.lang.Boolean
            invokevirtual java.lang.Boolean.booleanValue:()Z
            ifeq 12
        10: .line 250
            getstatic jdk.internal.vm.compiler.collections.Equivalence.IDENTITY:Ljdk/internal/vm/compiler/collections/Equivalence;
            invokestatic jdk.internal.vm.compiler.collections.EconomicSet.create:(Ljdk/internal/vm/compiler/collections/Equivalence;)Ljdk/internal/vm/compiler/collections/EconomicSet;
            dup
            astore 5 /* unusedNodes */
            astore 9 /* collectedUnusedNodes */
        start local 9 // jdk.internal.vm.compiler.collections.EconomicSet collectedUnusedNodes
        11: .line 251
            aload 0 /* node */
            invokevirtual org.graalvm.compiler.nodes.FixedNode.graph:()Lorg/graalvm/compiler/nodes/StructuredGraph;
            new org.graalvm.compiler.nodes.util.GraphUtil$1
            dup
            aload 9 /* collectedUnusedNodes */
            invokespecial org.graalvm.compiler.nodes.util.GraphUtil$1.<init>:(Ljdk/internal/vm/compiler/collections/EconomicSet;)V
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph.trackNodeEvents:(Lorg/graalvm/compiler/graph/Graph$NodeEventListener;)Lorg/graalvm/compiler/graph/Graph$NodeEventScope;
            astore 7 /* nodeEventScope */
        end local 9 // jdk.internal.vm.compiler.collections.EconomicSet collectedUnusedNodes
        12: .line 260
      StackMap locals:
      StackMap stack:
            aload 1 /* debug */
            iconst_5
            aload 0 /* node */
            invokevirtual org.graalvm.compiler.nodes.FixedNode.graph:()Lorg/graalvm/compiler/nodes/StructuredGraph;
            ldc "Before killCFG %s"
            aload 0 /* node */
            invokevirtual org.graalvm.compiler.debug.DebugContext.dump:(ILjava/lang/Object;Ljava/lang/String;Ljava/lang/Object;)V
        13: .line 261
            aload 0 /* node */
            invokestatic org.graalvm.compiler.nodes.util.GraphUtil.killCFGInner:(Lorg/graalvm/compiler/nodes/FixedNode;)V
        14: .line 262
            aload 1 /* debug */
            iconst_5
            aload 0 /* node */
            invokevirtual org.graalvm.compiler.nodes.FixedNode.graph:()Lorg/graalvm/compiler/nodes/StructuredGraph;
            ldc "After killCFG %s"
            aload 0 /* node */
            invokevirtual org.graalvm.compiler.debug.DebugContext.dump:(ILjava/lang/Object;Ljava/lang/String;Ljava/lang/Object;)V
        15: .line 263
            getstatic org.graalvm.compiler.graph.Graph$Options.VerifyGraalGraphEdges:Lorg/graalvm/compiler/options/OptionKey;
            aload 8 /* options */
            invokevirtual org.graalvm.compiler.options.OptionKey.getValue:(Lorg/graalvm/compiler/options/OptionValues;)Ljava/lang/Object;
            checkcast java.lang.Boolean
            invokevirtual java.lang.Boolean.booleanValue:()Z
            ifeq 19
        16: .line 264
            aload 0 /* node */
            invokevirtual org.graalvm.compiler.nodes.FixedNode.graph:()Lorg/graalvm/compiler/nodes/StructuredGraph;
            invokestatic org.graalvm.compiler.nodes.util.GraphUtil.collectUnsafeNodes:(Lorg/graalvm/compiler/graph/Graph;)Ljdk/internal/vm/compiler/collections/EconomicSet;
            astore 9 /* newUnsafeNodes */
        start local 9 // jdk.internal.vm.compiler.collections.EconomicSet newUnsafeNodes
        17: .line 265
            aload 9 /* newUnsafeNodes */
            aload 6 /* unsafeNodes */
            invokeinterface jdk.internal.vm.compiler.collections.EconomicSet.removeAll:(Ljdk/internal/vm/compiler/collections/EconomicSet;)V
        18: .line 266
            getstatic org.graalvm.compiler.nodes.util.GraphUtil.$assertionsDisabled:Z
            ifne 19
            aload 9 /* newUnsafeNodes */
            invokeinterface jdk.internal.vm.compiler.collections.EconomicSet.isEmpty:()Z
            ifne 19
            new java.lang.AssertionError
            dup
            new java.lang.StringBuilder
            dup
            ldc "New unsafe nodes: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 9 /* newUnsafeNodes */
            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 9 // jdk.internal.vm.compiler.collections.EconomicSet newUnsafeNodes
        19: .line 268
      StackMap locals:
      StackMap stack:
            getstatic org.graalvm.compiler.nodes.util.GraphUtil$Options.VerifyKillCFGUnusedNodes:Lorg/graalvm/compiler/options/OptionKey;
            aload 8 /* options */
            invokevirtual org.graalvm.compiler.options.OptionKey.getValue:(Lorg/graalvm/compiler/options/OptionValues;)Ljava/lang/Object;
            checkcast java.lang.Boolean
            invokevirtual java.lang.Boolean.booleanValue:()Z
            ifeq 28
        20: .line 269
            aload 7 /* nodeEventScope */
            invokevirtual org.graalvm.compiler.graph.Graph$NodeEventScope.close:()V
        21: .line 270
            aload 5 /* unusedNodes */
            invokeinterface jdk.internal.vm.compiler.collections.EconomicSet.iterator:()Ljava/util/Iterator;
            astore 9 /* iterator */
        start local 9 // java.util.Iterator iterator
        22: .line 271
            goto 26
        23: .line 272
      StackMap locals: java.util.Iterator
      StackMap stack:
            aload 9 /* iterator */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.graalvm.compiler.graph.Node
            astore 10 /* curNode */
        start local 10 // org.graalvm.compiler.graph.Node curNode
        24: .line 273
            aload 10 /* curNode */
            invokevirtual org.graalvm.compiler.graph.Node.isDeleted:()Z
            ifeq 26
        25: .line 274
            aload 9 /* iterator */
            invokeinterface java.util.Iterator.remove:()V
        end local 10 // org.graalvm.compiler.graph.Node curNode
        26: .line 271
      StackMap locals:
      StackMap stack:
            aload 9 /* iterator */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 23
        27: .line 277
            getstatic org.graalvm.compiler.nodes.util.GraphUtil.$assertionsDisabled:Z
            ifne 28
            aload 5 /* unusedNodes */
            invokeinterface jdk.internal.vm.compiler.collections.EconomicSet.isEmpty:()Z
            ifne 28
            new java.lang.AssertionError
            dup
            new java.lang.StringBuilder
            dup
            ldc "New unused nodes: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 5 /* unusedNodes */
            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 9 // java.util.Iterator iterator
        end local 8 // org.graalvm.compiler.options.OptionValues options
        end local 7 // org.graalvm.compiler.graph.Graph$NodeEventScope nodeEventScope
        end local 6 // jdk.internal.vm.compiler.collections.EconomicSet unsafeNodes
        end local 5 // jdk.internal.vm.compiler.collections.EconomicSet unusedNodes
        28: .line 279
      StackMap locals: org.graalvm.compiler.nodes.FixedNode org.graalvm.compiler.debug.DebugContext java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.DebugContext$Scope
      StackMap stack:
            aload 4 /* scope */
            ifnull 36
            aload 4 /* scope */
            invokeinterface org.graalvm.compiler.debug.DebugContext$Scope.close:()V
            goto 36
      StackMap locals:
      StackMap stack: java.lang.Throwable
        29: astore 2
            aload 4 /* scope */
            ifnull 30
            aload 4 /* scope */
            invokeinterface org.graalvm.compiler.debug.DebugContext$Scope.close:()V
        end local 4 // org.graalvm.compiler.debug.DebugContext$Scope scope
      StackMap locals:
      StackMap stack:
        30: aload 2
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
        31: astore 3
            aload 2
            ifnonnull 32
            aload 3
            astore 2
            goto 33
      StackMap locals:
      StackMap stack:
        32: aload 2
            aload 3
            if_acmpeq 33
            aload 2
            aload 3
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        33: aload 2
            athrow
      StackMap locals: org.graalvm.compiler.nodes.FixedNode org.graalvm.compiler.debug.DebugContext
      StackMap stack: java.lang.Throwable
        34: astore 2 /* t */
        start local 2 // java.lang.Throwable t
        35: .line 280
            aload 1 /* debug */
            aload 2 /* t */
            invokevirtual org.graalvm.compiler.debug.DebugContext.handle:(Ljava/lang/Throwable;)Ljava/lang/RuntimeException;
            athrow
        end local 2 // java.lang.Throwable t
        36: .line 282
      StackMap locals:
      StackMap stack:
            return
        end local 1 // org.graalvm.compiler.debug.DebugContext debug
        end local 0 // org.graalvm.compiler.nodes.FixedNode node
      LocalVariableTable:
        Start  End  Slot                  Name  Signature
            0   37     0                  node  Lorg/graalvm/compiler/nodes/FixedNode;
            1   37     1                 debug  Lorg/graalvm/compiler/debug/DebugContext;
            3   30     4                 scope  Lorg/graalvm/compiler/debug/DebugContext$Scope;
            4   28     5           unusedNodes  Ljdk/internal/vm/compiler/collections/EconomicSet<Lorg/graalvm/compiler/graph/Node;>;
            5   28     6           unsafeNodes  Ljdk/internal/vm/compiler/collections/EconomicSet<Lorg/graalvm/compiler/graph/Node;>;
            6   28     7        nodeEventScope  Lorg/graalvm/compiler/graph/Graph$NodeEventScope;
            7   28     8               options  Lorg/graalvm/compiler/options/OptionValues;
           11   12     9  collectedUnusedNodes  Ljdk/internal/vm/compiler/collections/EconomicSet<Lorg/graalvm/compiler/graph/Node;>;
           17   19     9        newUnsafeNodes  Ljdk/internal/vm/compiler/collections/EconomicSet<Lorg/graalvm/compiler/graph/Node;>;
           22   28     9              iterator  Ljava/util/Iterator<Lorg/graalvm/compiler/graph/Node;>;
           24   26    10               curNode  Lorg/graalvm/compiler/graph/Node;
           35   36     2                     t  Ljava/lang/Throwable;
      Exception table:
        from    to  target  type
           3    28      29  any
           2    31      31  any
           1    34      34  Class java.lang.Throwable
    MethodParameters:
      Name  Flags
      node  

  private static jdk.internal.vm.compiler.collections.EconomicSet<org.graalvm.compiler.graph.Node> collectUnsafeNodes(org.graalvm.compiler.graph.Graph);
    descriptor: (Lorg/graalvm/compiler/graph/Graph;)Ljdk/internal/vm/compiler/collections/EconomicSet;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=7, args_size=1
        start local 0 // org.graalvm.compiler.graph.Graph graph
         0: .line 288
            getstatic jdk.internal.vm.compiler.collections.Equivalence.IDENTITY:Ljdk/internal/vm/compiler/collections/Equivalence;
            invokestatic jdk.internal.vm.compiler.collections.EconomicSet.create:(Ljdk/internal/vm/compiler/collections/Equivalence;)Ljdk/internal/vm/compiler/collections/EconomicSet;
            astore 1 /* unsafeNodes */
        start local 1 // jdk.internal.vm.compiler.collections.EconomicSet unsafeNodes
         1: .line 289
            aload 0 /* graph */
            invokevirtual org.graalvm.compiler.graph.Graph.getNodes:()Lorg/graalvm/compiler/graph/iterators/NodeIterable;
            invokeinterface org.graalvm.compiler.graph.iterators.NodeIterable.iterator:()Ljava/util/Iterator;
            astore 3
            goto 10
      StackMap locals: org.graalvm.compiler.graph.Graph jdk.internal.vm.compiler.collections.EconomicSet top java.util.Iterator
      StackMap stack:
         2: aload 3
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.graalvm.compiler.graph.Node
            astore 2 /* n */
        start local 2 // org.graalvm.compiler.graph.Node n
         3: .line 290
            aload 2 /* n */
            invokevirtual org.graalvm.compiler.graph.Node.inputPositions:()Ljava/lang/Iterable;
            invokeinterface java.lang.Iterable.iterator:()Ljava/util/Iterator;
            astore 5
            goto 9
      StackMap locals: org.graalvm.compiler.graph.Graph jdk.internal.vm.compiler.collections.EconomicSet org.graalvm.compiler.graph.Node java.util.Iterator top java.util.Iterator
      StackMap stack:
         4: aload 5
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.graalvm.compiler.graph.Position
            astore 4 /* pos */
        start local 4 // org.graalvm.compiler.graph.Position pos
         5: .line 291
            aload 4 /* pos */
            aload 2 /* n */
            invokevirtual org.graalvm.compiler.graph.Position.get:(Lorg/graalvm/compiler/graph/Node;)Lorg/graalvm/compiler/graph/Node;
            astore 6 /* input */
        start local 6 // org.graalvm.compiler.graph.Node input
         6: .line 292
            aload 6 /* input */
            ifnonnull 9
         7: .line 293
            aload 4 /* pos */
            invokevirtual org.graalvm.compiler.graph.Position.isInputOptional:()Z
            ifne 9
         8: .line 294
            aload 1 /* unsafeNodes */
            aload 2 /* n */
            invokeinterface jdk.internal.vm.compiler.collections.EconomicSet.add:(Ljava/lang/Object;)Z
            pop
        end local 6 // org.graalvm.compiler.graph.Node input
        end local 4 // org.graalvm.compiler.graph.Position pos
         9: .line 290
      StackMap locals:
      StackMap stack:
            aload 5
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 4
        end local 2 // org.graalvm.compiler.graph.Node n
        10: .line 289
      StackMap locals: org.graalvm.compiler.graph.Graph jdk.internal.vm.compiler.collections.EconomicSet top java.util.Iterator
      StackMap stack:
            aload 3
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 2
        11: .line 299
            aload 1 /* unsafeNodes */
            areturn
        end local 1 // jdk.internal.vm.compiler.collections.EconomicSet unsafeNodes
        end local 0 // org.graalvm.compiler.graph.Graph graph
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   12     0        graph  Lorg/graalvm/compiler/graph/Graph;
            1   12     1  unsafeNodes  Ljdk/internal/vm/compiler/collections/EconomicSet<Lorg/graalvm/compiler/graph/Node;>;
            3   10     2            n  Lorg/graalvm/compiler/graph/Node;
            5    9     4          pos  Lorg/graalvm/compiler/graph/Position;
            6    9     6        input  Lorg/graalvm/compiler/graph/Node;
    Signature: (Lorg/graalvm/compiler/graph/Graph;)Ljdk/internal/vm/compiler/collections/EconomicSet<Lorg/graalvm/compiler/graph/Node;>;
    MethodParameters:
       Name  Flags
      graph  

  public static boolean isFloatingNode(org.graalvm.compiler.graph.Node);
    descriptor: (Lorg/graalvm/compiler/graph/Node;)Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.graalvm.compiler.graph.Node n
         0: .line 303
            aload 0 /* n */
            instanceof org.graalvm.compiler.nodes.FixedNode
            ifeq 1
            iconst_0
            goto 2
      StackMap locals:
      StackMap stack:
         1: iconst_1
      StackMap locals:
      StackMap stack: int
         2: ireturn
        end local 0 // org.graalvm.compiler.graph.Node n
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0     n  Lorg/graalvm/compiler/graph/Node;
    MethodParameters:
      Name  Flags
      n     

  private static boolean checkKill(org.graalvm.compiler.graph.Node, boolean);
    descriptor: (Lorg/graalvm/compiler/graph/Node;Z)Z
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=7, locals=2, args_size=2
        start local 0 // org.graalvm.compiler.graph.Node node
        start local 1 // boolean mayKillGuard
         0: .line 307
            aload 0 /* node */
            iload 1 /* mayKillGuard */
            ifne 1
            aload 0 /* node */
            instanceof org.graalvm.compiler.nodes.GuardNode
            ifeq 1
            iconst_0
            goto 2
      StackMap locals:
      StackMap stack: org.graalvm.compiler.graph.Node
         1: iconst_1
      StackMap locals: org.graalvm.compiler.graph.Node int
      StackMap stack: org.graalvm.compiler.graph.Node int
         2: ldc "must not be a guard node %s"
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 0 /* node */
            aastore
            invokevirtual org.graalvm.compiler.graph.Node.assertTrue:(ZLjava/lang/String;[Ljava/lang/Object;)Z
            pop
         3: .line 308
            aload 0 /* node */
            aload 0 /* node */
            invokevirtual org.graalvm.compiler.graph.Node.isAlive:()Z
            ldc "must be alive"
            iconst_0
            anewarray java.lang.Object
            invokevirtual org.graalvm.compiler.graph.Node.assertTrue:(ZLjava/lang/String;[Ljava/lang/Object;)Z
            pop
         4: .line 309
            aload 0 /* node */
            aload 0 /* node */
            invokevirtual org.graalvm.compiler.graph.Node.hasNoUsages:()Z
            ldc "cannot kill node %s because of usages: %s"
            iconst_2
            anewarray java.lang.Object
            dup
            iconst_0
            aload 0 /* node */
            aastore
            dup
            iconst_1
            aload 0 /* node */
            invokevirtual org.graalvm.compiler.graph.Node.usages:()Lorg/graalvm/compiler/graph/iterators/NodeIterable;
            aastore
            invokevirtual org.graalvm.compiler.graph.Node.assertTrue:(ZLjava/lang/String;[Ljava/lang/Object;)Z
            pop
         5: .line 310
            aload 0 /* node */
            aload 0 /* node */
            invokevirtual org.graalvm.compiler.graph.Node.predecessor:()Lorg/graalvm/compiler/graph/Node;
            ifnonnull 6
            iconst_1
            goto 7
      StackMap locals:
      StackMap stack: org.graalvm.compiler.graph.Node
         6: iconst_0
      StackMap locals: org.graalvm.compiler.graph.Node int
      StackMap stack: org.graalvm.compiler.graph.Node int
         7: ldc "cannot kill node %s because of predecessor: %s"
            iconst_2
            anewarray java.lang.Object
            dup
            iconst_0
            aload 0 /* node */
            aastore
            dup
            iconst_1
            aload 0 /* node */
            invokevirtual org.graalvm.compiler.graph.Node.predecessor:()Lorg/graalvm/compiler/graph/Node;
            aastore
            invokevirtual org.graalvm.compiler.graph.Node.assertTrue:(ZLjava/lang/String;[Ljava/lang/Object;)Z
            pop
         8: .line 311
            iconst_1
            ireturn
        end local 1 // boolean mayKillGuard
        end local 0 // org.graalvm.compiler.graph.Node node
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    9     0          node  Lorg/graalvm/compiler/graph/Node;
            0    9     1  mayKillGuard  Z
    MethodParameters:
              Name  Flags
      node          
      mayKillGuard  

  public static void killWithUnusedFloatingInputs(org.graalvm.compiler.graph.Node);
    descriptor: (Lorg/graalvm/compiler/graph/Node;)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.graalvm.compiler.graph.Node node
         0: .line 315
            aload 0 /* node */
            iconst_0
            invokestatic org.graalvm.compiler.nodes.util.GraphUtil.killWithUnusedFloatingInputs:(Lorg/graalvm/compiler/graph/Node;Z)V
         1: .line 316
            return
        end local 0 // org.graalvm.compiler.graph.Node node
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  node  Lorg/graalvm/compiler/graph/Node;
    MethodParameters:
      Name  Flags
      node  

  public static void killWithUnusedFloatingInputs(org.graalvm.compiler.graph.Node, boolean);
    descriptor: (Lorg/graalvm/compiler/graph/Node;Z)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=6, args_size=2
        start local 0 // org.graalvm.compiler.graph.Node node
        start local 1 // boolean mayKillGuard
         0: .line 319
            getstatic org.graalvm.compiler.nodes.util.GraphUtil.$assertionsDisabled:Z
            ifne 1
            aload 0 /* node */
            iload 1 /* mayKillGuard */
            invokestatic org.graalvm.compiler.nodes.util.GraphUtil.checkKill:(Lorg/graalvm/compiler/graph/Node;Z)Z
            ifne 1
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         1: .line 320
      StackMap locals:
      StackMap stack:
            aload 0 /* node */
            invokevirtual org.graalvm.compiler.graph.Node.markDeleted:()V
         2: .line 321
            aload 0 /* 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 3
            goto 21
      StackMap locals: org.graalvm.compiler.graph.Node int 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 /* in */
        start local 2 // org.graalvm.compiler.graph.Node in
         4: .line 322
            aload 2 /* in */
            invokevirtual org.graalvm.compiler.graph.Node.isAlive:()Z
            ifeq 21
         5: .line 323
            aload 2 /* in */
            aload 0 /* node */
            invokevirtual org.graalvm.compiler.graph.Node.removeUsage:(Lorg/graalvm/compiler/graph/Node;)Z
            pop
         6: .line 324
            aload 2 /* in */
            invokevirtual org.graalvm.compiler.graph.Node.hasNoUsages:()Z
            ifeq 8
         7: .line 325
            aload 0 /* node */
            aload 2 /* in */
            invokevirtual org.graalvm.compiler.graph.Node.maybeNotifyZeroUsages:(Lorg/graalvm/compiler/graph/Node;)V
         8: .line 327
      StackMap locals: org.graalvm.compiler.graph.Node int org.graalvm.compiler.graph.Node java.util.Iterator
      StackMap stack:
            aload 2 /* in */
            invokestatic org.graalvm.compiler.nodes.util.GraphUtil.isFloatingNode:(Lorg/graalvm/compiler/graph/Node;)Z
            ifeq 21
         9: .line 328
            aload 2 /* in */
            invokevirtual org.graalvm.compiler.graph.Node.hasNoUsages:()Z
            ifeq 13
        10: .line 329
            aload 2 /* in */
            instanceof org.graalvm.compiler.nodes.GuardNode
            ifne 21
        11: .line 332
            aload 2 /* in */
            invokestatic org.graalvm.compiler.nodes.util.GraphUtil.killWithUnusedFloatingInputs:(Lorg/graalvm/compiler/graph/Node;)V
        12: .line 334
            goto 21
      StackMap locals:
      StackMap stack:
        13: aload 2 /* in */
            instanceof org.graalvm.compiler.nodes.PhiNode
            ifeq 21
        14: .line 335
            aload 2 /* in */
            invokevirtual org.graalvm.compiler.graph.Node.usages:()Lorg/graalvm/compiler/graph/iterators/NodeIterable;
            invokeinterface org.graalvm.compiler.graph.iterators.NodeIterable.iterator:()Ljava/util/Iterator;
            astore 5
            goto 18
      StackMap locals: org.graalvm.compiler.graph.Node int org.graalvm.compiler.graph.Node java.util.Iterator top java.util.Iterator
      StackMap stack:
        15: aload 5
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.graalvm.compiler.graph.Node
            astore 4 /* use */
        start local 4 // org.graalvm.compiler.graph.Node use
        16: .line 336
            aload 4 /* use */
            aload 2 /* in */
            if_acmpeq 18
        17: .line 337
            goto 21
        end local 4 // org.graalvm.compiler.graph.Node use
        18: .line 335
      StackMap locals:
      StackMap stack:
            aload 5
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 15
        19: .line 340
            aload 2 /* in */
            aconst_null
            invokevirtual org.graalvm.compiler.graph.Node.replaceAtUsages:(Lorg/graalvm/compiler/graph/Node;)V
        20: .line 341
            aload 2 /* in */
            invokestatic org.graalvm.compiler.nodes.util.GraphUtil.killWithUnusedFloatingInputs:(Lorg/graalvm/compiler/graph/Node;)V
        end local 2 // org.graalvm.compiler.graph.Node in
        21: .line 321
      StackMap locals: org.graalvm.compiler.graph.Node int top java.util.Iterator
      StackMap stack:
            aload 3
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 3
        22: .line 346
            return
        end local 1 // boolean mayKillGuard
        end local 0 // org.graalvm.compiler.graph.Node node
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   23     0          node  Lorg/graalvm/compiler/graph/Node;
            0   23     1  mayKillGuard  Z
            4   21     2            in  Lorg/graalvm/compiler/graph/Node;
           16   18     4           use  Lorg/graalvm/compiler/graph/Node;
    MethodParameters:
              Name  Flags
      node          
      mayKillGuard  

  public static void removeNewNodes(org.graalvm.compiler.graph.Graph, org.graalvm.compiler.graph.Graph$Mark);
    descriptor: (Lorg/graalvm/compiler/graph/Graph;Lorg/graalvm/compiler/graph/Graph$Mark;)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=6, args_size=2
        start local 0 // org.graalvm.compiler.graph.Graph graph
        start local 1 // org.graalvm.compiler.graph.Graph$Mark mark
         0: .line 353
            getstatic org.graalvm.compiler.nodes.util.GraphUtil.$assertionsDisabled:Z
            ifne 1
            aload 0 /* graph */
            aload 1 /* mark */
            invokestatic org.graalvm.compiler.nodes.util.GraphUtil.checkNoOldToNewEdges:(Lorg/graalvm/compiler/graph/Graph;Lorg/graalvm/compiler/graph/Graph$Mark;)Z
            ifne 1
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         1: .line 354
      StackMap locals:
      StackMap stack:
            aload 0 /* graph */
            aload 1 /* mark */
            invokevirtual org.graalvm.compiler.graph.Graph.getNewNodes:(Lorg/graalvm/compiler/graph/Graph$Mark;)Lorg/graalvm/compiler/graph/iterators/NodeIterable;
            invokeinterface org.graalvm.compiler.graph.iterators.NodeIterable.iterator:()Ljava/util/Iterator;
            astore 3
            goto 8
      StackMap locals: org.graalvm.compiler.graph.Graph org.graalvm.compiler.graph.Graph$Mark top java.util.Iterator
      StackMap stack:
         2: aload 3
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.graalvm.compiler.graph.Node
            astore 2 /* n */
        start local 2 // org.graalvm.compiler.graph.Node n
         3: .line 355
            aload 2 /* n */
            invokevirtual org.graalvm.compiler.graph.Node.markDeleted:()V
         4: .line 356
            aload 2 /* n */
            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 5
            goto 7
      StackMap locals: org.graalvm.compiler.graph.Graph org.graalvm.compiler.graph.Graph$Mark org.graalvm.compiler.graph.Node java.util.Iterator top java.util.Iterator
      StackMap stack:
         5: aload 5
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.graalvm.compiler.graph.Node
            astore 4 /* in */
        start local 4 // org.graalvm.compiler.graph.Node in
         6: .line 357
            aload 4 /* in */
            aload 2 /* n */
            invokevirtual org.graalvm.compiler.graph.Node.removeUsage:(Lorg/graalvm/compiler/graph/Node;)Z
            pop
        end local 4 // org.graalvm.compiler.graph.Node in
         7: .line 356
      StackMap locals:
      StackMap stack:
            aload 5
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 5
        end local 2 // org.graalvm.compiler.graph.Node n
         8: .line 354
      StackMap locals: org.graalvm.compiler.graph.Graph org.graalvm.compiler.graph.Graph$Mark top java.util.Iterator
      StackMap stack:
            aload 3
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 2
         9: .line 360
            return
        end local 1 // org.graalvm.compiler.graph.Graph$Mark mark
        end local 0 // org.graalvm.compiler.graph.Graph graph
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   10     0  graph  Lorg/graalvm/compiler/graph/Graph;
            0   10     1   mark  Lorg/graalvm/compiler/graph/Graph$Mark;
            3    8     2      n  Lorg/graalvm/compiler/graph/Node;
            6    7     4     in  Lorg/graalvm/compiler/graph/Node;
    MethodParameters:
       Name  Flags
      graph  
      mark   

  private static boolean checkNoOldToNewEdges(org.graalvm.compiler.graph.Graph, org.graalvm.compiler.graph.Graph$Mark);
    descriptor: (Lorg/graalvm/compiler/graph/Graph;Lorg/graalvm/compiler/graph/Graph$Mark;)Z
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=4, locals=6, args_size=2
        start local 0 // org.graalvm.compiler.graph.Graph graph
        start local 1 // org.graalvm.compiler.graph.Graph$Mark mark
         0: .line 363
            aload 0 /* graph */
            invokevirtual org.graalvm.compiler.graph.Graph.getNodes:()Lorg/graalvm/compiler/graph/iterators/NodeIterable;
            invokeinterface org.graalvm.compiler.graph.iterators.NodeIterable.iterator:()Ljava/util/Iterator;
            astore 3
            goto 12
      StackMap locals: org.graalvm.compiler.graph.Graph org.graalvm.compiler.graph.Graph$Mark top java.util.Iterator
      StackMap stack:
         1: aload 3
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.graalvm.compiler.graph.Node
            astore 2 /* old */
        start local 2 // org.graalvm.compiler.graph.Node old
         2: .line 364
            aload 0 /* graph */
            aload 1 /* mark */
            aload 2 /* old */
            invokevirtual org.graalvm.compiler.graph.Graph.isNew:(Lorg/graalvm/compiler/graph/Graph$Mark;Lorg/graalvm/compiler/graph/Node;)Z
            ifeq 4
         3: .line 365
            goto 13
         4: .line 367
      StackMap locals: org.graalvm.compiler.graph.Graph org.graalvm.compiler.graph.Graph$Mark org.graalvm.compiler.graph.Node java.util.Iterator
      StackMap stack:
            aload 2 /* old */
            invokevirtual org.graalvm.compiler.graph.Node.successors:()Lorg/graalvm/compiler/graph/iterators/NodeIterable;
            invokeinterface org.graalvm.compiler.graph.iterators.NodeIterable.iterator:()Ljava/util/Iterator;
            astore 5
            goto 7
      StackMap locals: org.graalvm.compiler.graph.Graph org.graalvm.compiler.graph.Graph$Mark org.graalvm.compiler.graph.Node java.util.Iterator top java.util.Iterator
      StackMap stack:
         5: aload 5
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.graalvm.compiler.graph.Node
            astore 4 /* n */
        start local 4 // org.graalvm.compiler.graph.Node n
         6: .line 368
            getstatic org.graalvm.compiler.nodes.util.GraphUtil.$assertionsDisabled:Z
            ifne 7
            aload 0 /* graph */
            aload 1 /* mark */
            aload 4 /* n */
            invokevirtual org.graalvm.compiler.graph.Graph.isNew:(Lorg/graalvm/compiler/graph/Graph$Mark;Lorg/graalvm/compiler/graph/Node;)Z
            ifeq 7
            new java.lang.AssertionError
            dup
            new java.lang.StringBuilder
            dup
            invokespecial java.lang.StringBuilder.<init>:()V
            aload 2 /* old */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc " -> "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 4 /* n */
            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 4 // org.graalvm.compiler.graph.Node n
         7: .line 367
      StackMap locals:
      StackMap stack:
            aload 5
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 5
         8: .line 370
            aload 2 /* old */
            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 5
            goto 11
      StackMap locals:
      StackMap stack:
         9: aload 5
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.graalvm.compiler.graph.Node
            astore 4 /* n */
        start local 4 // org.graalvm.compiler.graph.Node n
        10: .line 371
            getstatic org.graalvm.compiler.nodes.util.GraphUtil.$assertionsDisabled:Z
            ifne 11
            aload 0 /* graph */
            aload 1 /* mark */
            aload 4 /* n */
            invokevirtual org.graalvm.compiler.graph.Graph.isNew:(Lorg/graalvm/compiler/graph/Graph$Mark;Lorg/graalvm/compiler/graph/Node;)Z
            ifeq 11
            new java.lang.AssertionError
            dup
            new java.lang.StringBuilder
            dup
            invokespecial java.lang.StringBuilder.<init>:()V
            aload 2 /* old */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc " -> "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 4 /* n */
            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 4 // org.graalvm.compiler.graph.Node n
        11: .line 370
      StackMap locals:
      StackMap stack:
            aload 5
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 9
        end local 2 // org.graalvm.compiler.graph.Node old
        12: .line 363
      StackMap locals: org.graalvm.compiler.graph.Graph org.graalvm.compiler.graph.Graph$Mark top java.util.Iterator
      StackMap stack:
            aload 3
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 1
        13: .line 374
      StackMap locals: org.graalvm.compiler.graph.Graph org.graalvm.compiler.graph.Graph$Mark
      StackMap stack:
            iconst_1
            ireturn
        end local 1 // org.graalvm.compiler.graph.Graph$Mark mark
        end local 0 // org.graalvm.compiler.graph.Graph graph
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   14     0  graph  Lorg/graalvm/compiler/graph/Graph;
            0   14     1   mark  Lorg/graalvm/compiler/graph/Graph$Mark;
            2   12     2    old  Lorg/graalvm/compiler/graph/Node;
            6    7     4      n  Lorg/graalvm/compiler/graph/Node;
           10   11     4      n  Lorg/graalvm/compiler/graph/Node;
    MethodParameters:
       Name  Flags
      graph  
      mark   

  public static void removeFixedWithUnusedInputs(org.graalvm.compiler.nodes.FixedWithNextNode);
    descriptor: (Lorg/graalvm/compiler/nodes/FixedWithNextNode;)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // org.graalvm.compiler.nodes.FixedWithNextNode fixed
         0: .line 378
            aload 0 /* fixed */
            instanceof org.graalvm.compiler.nodes.StateSplit
            ifeq 6
         1: .line 379
            aload 0 /* fixed */
            checkcast org.graalvm.compiler.nodes.StateSplit
            invokeinterface org.graalvm.compiler.nodes.StateSplit.stateAfter:()Lorg/graalvm/compiler/nodes/FrameState;
            astore 1 /* stateAfter */
        start local 1 // org.graalvm.compiler.nodes.FrameState stateAfter
         2: .line 380
            aload 1 /* stateAfter */
            ifnull 6
         3: .line 381
            aload 0 /* fixed */
            checkcast org.graalvm.compiler.nodes.StateSplit
            aconst_null
            invokeinterface org.graalvm.compiler.nodes.StateSplit.setStateAfter:(Lorg/graalvm/compiler/nodes/FrameState;)V
         4: .line 382
            aload 1 /* stateAfter */
            invokevirtual org.graalvm.compiler.nodes.FrameState.hasNoUsages:()Z
            ifeq 6
         5: .line 383
            aload 1 /* stateAfter */
            invokestatic org.graalvm.compiler.nodes.util.GraphUtil.killWithUnusedFloatingInputs:(Lorg/graalvm/compiler/graph/Node;)V
        end local 1 // org.graalvm.compiler.nodes.FrameState stateAfter
         6: .line 387
      StackMap locals:
      StackMap stack:
            aload 0 /* fixed */
            invokestatic org.graalvm.compiler.nodes.util.GraphUtil.unlinkFixedNode:(Lorg/graalvm/compiler/nodes/FixedWithNextNode;)V
         7: .line 388
            aload 0 /* fixed */
            invokestatic org.graalvm.compiler.nodes.util.GraphUtil.killWithUnusedFloatingInputs:(Lorg/graalvm/compiler/graph/Node;)V
         8: .line 389
            return
        end local 0 // org.graalvm.compiler.nodes.FixedWithNextNode fixed
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    9     0       fixed  Lorg/graalvm/compiler/nodes/FixedWithNextNode;
            2    6     1  stateAfter  Lorg/graalvm/compiler/nodes/FrameState;
    MethodParameters:
       Name  Flags
      fixed  

  public static void unlinkFixedNode(org.graalvm.compiler.nodes.FixedWithNextNode);
    descriptor: (Lorg/graalvm/compiler/nodes/FixedWithNextNode;)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=2, args_size=1
        start local 0 // org.graalvm.compiler.nodes.FixedWithNextNode fixed
         0: .line 392
            getstatic org.graalvm.compiler.nodes.util.GraphUtil.$assertionsDisabled:Z
            ifne 2
            aload 0 /* fixed */
            invokevirtual org.graalvm.compiler.nodes.FixedWithNextNode.next:()Lorg/graalvm/compiler/nodes/FixedNode;
            ifnull 1
            aload 0 /* fixed */
            invokevirtual org.graalvm.compiler.nodes.FixedWithNextNode.predecessor:()Lorg/graalvm/compiler/graph/Node;
            ifnull 1
            aload 0 /* fixed */
            invokevirtual org.graalvm.compiler.nodes.FixedWithNextNode.isAlive:()Z
            ifne 2
      StackMap locals:
      StackMap stack:
         1: new java.lang.AssertionError
            dup
            aload 0 /* fixed */
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
         2: .line 393
      StackMap locals:
      StackMap stack:
            aload 0 /* fixed */
            invokevirtual org.graalvm.compiler.nodes.FixedWithNextNode.next:()Lorg/graalvm/compiler/nodes/FixedNode;
            astore 1 /* next */
        start local 1 // org.graalvm.compiler.nodes.FixedNode next
         3: .line 394
            aload 0 /* fixed */
            aconst_null
            invokevirtual org.graalvm.compiler.nodes.FixedWithNextNode.setNext:(Lorg/graalvm/compiler/nodes/FixedNode;)V
         4: .line 395
            aload 0 /* fixed */
            aload 1 /* next */
            invokevirtual org.graalvm.compiler.nodes.FixedWithNextNode.replaceAtPredecessor:(Lorg/graalvm/compiler/graph/Node;)V
         5: .line 396
            return
        end local 1 // org.graalvm.compiler.nodes.FixedNode next
        end local 0 // org.graalvm.compiler.nodes.FixedWithNextNode fixed
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    6     0  fixed  Lorg/graalvm/compiler/nodes/FixedWithNextNode;
            3    6     1   next  Lorg/graalvm/compiler/nodes/FixedNode;
    MethodParameters:
       Name  Flags
      fixed  

  public static void checkRedundantPhi(org.graalvm.compiler.nodes.PhiNode);
    descriptor: (Lorg/graalvm/compiler/nodes/PhiNode;)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=6, args_size=1
        start local 0 // org.graalvm.compiler.nodes.PhiNode phiNode
         0: .line 399
            aload 0 /* phiNode */
            invokevirtual org.graalvm.compiler.nodes.PhiNode.isDeleted:()Z
            ifne 1
            aload 0 /* phiNode */
            invokevirtual org.graalvm.compiler.nodes.PhiNode.valueCount:()I
            iconst_1
            if_icmpne 2
         1: .line 400
      StackMap locals:
      StackMap stack:
            return
         2: .line 403
      StackMap locals:
      StackMap stack:
            aload 0 /* phiNode */
            invokevirtual org.graalvm.compiler.nodes.PhiNode.singleValueOrThis:()Lorg/graalvm/compiler/nodes/ValueNode;
            astore 1 /* singleValue */
        start local 1 // org.graalvm.compiler.nodes.ValueNode singleValue
         3: .line 404
            aload 1 /* singleValue */
            aload 0 /* phiNode */
            if_acmpeq 15
         4: .line 405
            aload 0 /* phiNode */
            invokevirtual org.graalvm.compiler.nodes.PhiNode.usages:()Lorg/graalvm/compiler/graph/iterators/NodeIterable;
            ldc Lorg/graalvm/compiler/nodes/PhiNode;
            invokeinterface org.graalvm.compiler.graph.iterators.NodeIterable.filter:(Ljava/lang/Class;)Lorg/graalvm/compiler/graph/iterators/NodeIterable;
            invokeinterface org.graalvm.compiler.graph.iterators.NodeIterable.snapshot:()Ljava/util/List;
            astore 2 /* phiUsages */
        start local 2 // java.util.Collection phiUsages
         5: .line 406
            aload 0 /* phiNode */
            invokevirtual org.graalvm.compiler.nodes.PhiNode.usages:()Lorg/graalvm/compiler/graph/iterators/NodeIterable;
            ldc Lorg/graalvm/compiler/nodes/ProxyNode;
            invokeinterface org.graalvm.compiler.graph.iterators.NodeIterable.filter:(Ljava/lang/Class;)Lorg/graalvm/compiler/graph/iterators/NodeIterable;
            invokeinterface org.graalvm.compiler.graph.iterators.NodeIterable.snapshot:()Ljava/util/List;
            astore 3 /* proxyUsages */
        start local 3 // java.util.Collection proxyUsages
         6: .line 407
            aload 0 /* phiNode */
            aload 1 /* singleValue */
            invokevirtual org.graalvm.compiler.nodes.PhiNode.replaceAtUsagesAndDelete:(Lorg/graalvm/compiler/graph/Node;)V
         7: .line 408
            aload 2 /* phiUsages */
            invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
            astore 5
            goto 10
      StackMap locals: org.graalvm.compiler.nodes.PhiNode org.graalvm.compiler.nodes.ValueNode java.util.Collection java.util.Collection top java.util.Iterator
      StackMap stack:
         8: aload 5
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.graalvm.compiler.nodes.PhiNode
            astore 4 /* phi */
        start local 4 // org.graalvm.compiler.nodes.PhiNode phi
         9: .line 409
            aload 4 /* phi */
            invokestatic org.graalvm.compiler.nodes.util.GraphUtil.checkRedundantPhi:(Lorg/graalvm/compiler/nodes/PhiNode;)V
        end local 4 // org.graalvm.compiler.nodes.PhiNode phi
        10: .line 408
      StackMap locals:
      StackMap stack:
            aload 5
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 8
        11: .line 411
            aload 3 /* proxyUsages */
            invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
            astore 5
            goto 14
      StackMap locals:
      StackMap stack:
        12: aload 5
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.graalvm.compiler.nodes.ProxyNode
            astore 4 /* proxy */
        start local 4 // org.graalvm.compiler.nodes.ProxyNode proxy
        13: .line 412
            aload 4 /* proxy */
            invokestatic org.graalvm.compiler.nodes.util.GraphUtil.checkRedundantProxy:(Lorg/graalvm/compiler/nodes/ProxyNode;)V
        end local 4 // org.graalvm.compiler.nodes.ProxyNode proxy
        14: .line 411
      StackMap locals:
      StackMap stack:
            aload 5
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 12
        end local 3 // java.util.Collection proxyUsages
        end local 2 // java.util.Collection phiUsages
        15: .line 415
      StackMap locals: org.graalvm.compiler.nodes.PhiNode org.graalvm.compiler.nodes.ValueNode
      StackMap stack:
            return
        end local 1 // org.graalvm.compiler.nodes.ValueNode singleValue
        end local 0 // org.graalvm.compiler.nodes.PhiNode phiNode
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   16     0      phiNode  Lorg/graalvm/compiler/nodes/PhiNode;
            3   16     1  singleValue  Lorg/graalvm/compiler/nodes/ValueNode;
            5   15     2    phiUsages  Ljava/util/Collection<Lorg/graalvm/compiler/nodes/PhiNode;>;
            6   15     3  proxyUsages  Ljava/util/Collection<Lorg/graalvm/compiler/nodes/ProxyNode;>;
            9   10     4          phi  Lorg/graalvm/compiler/nodes/PhiNode;
           13   14     4        proxy  Lorg/graalvm/compiler/nodes/ProxyNode;
    MethodParameters:
         Name  Flags
      phiNode  

  public static void checkRedundantProxy(org.graalvm.compiler.nodes.ProxyNode);
    descriptor: (Lorg/graalvm/compiler/nodes/ProxyNode;)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=12, args_size=1
        start local 0 // org.graalvm.compiler.nodes.ProxyNode vpn
         0: .line 418
            aload 0 /* vpn */
            invokevirtual org.graalvm.compiler.nodes.ProxyNode.isDeleted:()Z
            ifeq 2
         1: .line 419
            return
         2: .line 421
      StackMap locals:
      StackMap stack:
            aload 0 /* vpn */
            invokevirtual org.graalvm.compiler.nodes.ProxyNode.proxyPoint:()Lorg/graalvm/compiler/nodes/LoopExitNode;
            astore 1 /* proxyPoint */
        start local 1 // org.graalvm.compiler.nodes.AbstractBeginNode proxyPoint
         3: .line 422
            aload 1 /* proxyPoint */
            instanceof org.graalvm.compiler.nodes.LoopExitNode
            ifeq 26
         4: .line 423
            aload 1 /* proxyPoint */
            checkcast org.graalvm.compiler.nodes.LoopExitNode
            astore 2 /* exit */
        start local 2 // org.graalvm.compiler.nodes.LoopExitNode exit
         5: .line 424
            aload 2 /* exit */
            invokevirtual org.graalvm.compiler.nodes.LoopExitNode.loopBegin:()Lorg/graalvm/compiler/nodes/LoopBeginNode;
            astore 3 /* loopBegin */
        start local 3 // org.graalvm.compiler.nodes.LoopBeginNode loopBegin
         6: .line 425
            aload 0 /* vpn */
            invokevirtual org.graalvm.compiler.nodes.ProxyNode.value:()Lorg/graalvm/compiler/nodes/ValueNode;
            astore 4 /* vpnValue */
        start local 4 // org.graalvm.compiler.graph.Node vpnValue
         7: .line 426
            aload 3 /* loopBegin */
            invokevirtual org.graalvm.compiler.nodes.LoopBeginNode.stateAfter:()Lorg/graalvm/compiler/nodes/FrameState;
            invokevirtual org.graalvm.compiler.nodes.FrameState.values:()Lorg/graalvm/compiler/graph/NodeInputList;
            invokevirtual org.graalvm.compiler.graph.NodeInputList.iterator:()Ljava/util/Iterator;
            astore 6
            goto 25
      StackMap locals: org.graalvm.compiler.nodes.ProxyNode org.graalvm.compiler.nodes.AbstractBeginNode org.graalvm.compiler.nodes.LoopExitNode org.graalvm.compiler.nodes.LoopBeginNode org.graalvm.compiler.graph.Node top java.util.Iterator
      StackMap stack:
         8: aload 6
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.graalvm.compiler.nodes.ValueNode
            astore 5 /* v */
        start local 5 // org.graalvm.compiler.nodes.ValueNode v
         9: .line 427
            aload 5 /* v */
            astore 7 /* v2 */
        start local 7 // org.graalvm.compiler.nodes.ValueNode v2
        10: .line 428
            aload 3 /* loopBegin */
            aload 7 /* v2 */
            invokevirtual org.graalvm.compiler.nodes.LoopBeginNode.isPhiAtMerge:(Lorg/graalvm/compiler/graph/Node;)Z
            ifeq 12
        11: .line 429
            aload 7 /* v2 */
            checkcast org.graalvm.compiler.nodes.PhiNode
            aload 3 /* loopBegin */
            invokevirtual org.graalvm.compiler.nodes.LoopBeginNode.forwardEnd:()Lorg/graalvm/compiler/nodes/AbstractEndNode;
            invokevirtual org.graalvm.compiler.nodes.PhiNode.valueAt:(Lorg/graalvm/compiler/nodes/AbstractEndNode;)Lorg/graalvm/compiler/nodes/ValueNode;
            astore 7 /* v2 */
        12: .line 431
      StackMap locals: org.graalvm.compiler.nodes.ProxyNode org.graalvm.compiler.nodes.AbstractBeginNode org.graalvm.compiler.nodes.LoopExitNode org.graalvm.compiler.nodes.LoopBeginNode org.graalvm.compiler.graph.Node org.graalvm.compiler.nodes.ValueNode java.util.Iterator org.graalvm.compiler.nodes.ValueNode
      StackMap stack:
            aload 4 /* vpnValue */
            aload 7 /* v2 */
            if_acmpne 25
        13: .line 432
            aload 0 /* vpn */
            invokevirtual org.graalvm.compiler.nodes.ProxyNode.usages:()Lorg/graalvm/compiler/graph/iterators/NodeIterable;
            ldc Lorg/graalvm/compiler/nodes/PhiNode;
            invokeinterface org.graalvm.compiler.graph.iterators.NodeIterable.filter:(Ljava/lang/Class;)Lorg/graalvm/compiler/graph/iterators/NodeIterable;
            invokeinterface org.graalvm.compiler.graph.iterators.NodeIterable.snapshot:()Ljava/util/List;
            astore 8 /* phiUsages */
        start local 8 // java.util.Collection phiUsages
        14: .line 433
            aload 0 /* vpn */
            invokevirtual org.graalvm.compiler.nodes.ProxyNode.usages:()Lorg/graalvm/compiler/graph/iterators/NodeIterable;
            ldc Lorg/graalvm/compiler/nodes/ProxyNode;
            invokeinterface org.graalvm.compiler.graph.iterators.NodeIterable.filter:(Ljava/lang/Class;)Lorg/graalvm/compiler/graph/iterators/NodeIterable;
            invokeinterface org.graalvm.compiler.graph.iterators.NodeIterable.snapshot:()Ljava/util/List;
            astore 9 /* proxyUsages */
        start local 9 // java.util.Collection proxyUsages
        15: .line 434
            aload 0 /* vpn */
            aload 4 /* vpnValue */
            invokevirtual org.graalvm.compiler.nodes.ProxyNode.replaceAtUsagesAndDelete:(Lorg/graalvm/compiler/graph/Node;)V
        16: .line 435
            aload 8 /* phiUsages */
            invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
            astore 11
            goto 19
      StackMap locals: org.graalvm.compiler.nodes.ProxyNode org.graalvm.compiler.nodes.AbstractBeginNode org.graalvm.compiler.nodes.LoopExitNode org.graalvm.compiler.nodes.LoopBeginNode org.graalvm.compiler.graph.Node org.graalvm.compiler.nodes.ValueNode java.util.Iterator org.graalvm.compiler.nodes.ValueNode java.util.Collection java.util.Collection top java.util.Iterator
      StackMap stack:
        17: aload 11
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.graalvm.compiler.nodes.PhiNode
            astore 10 /* phi */
        start local 10 // org.graalvm.compiler.nodes.PhiNode phi
        18: .line 436
            aload 10 /* phi */
            invokestatic org.graalvm.compiler.nodes.util.GraphUtil.checkRedundantPhi:(Lorg/graalvm/compiler/nodes/PhiNode;)V
        end local 10 // org.graalvm.compiler.nodes.PhiNode phi
        19: .line 435
      StackMap locals:
      StackMap stack:
            aload 11
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 17
        20: .line 438
            aload 9 /* proxyUsages */
            invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
            astore 11
            goto 23
      StackMap locals:
      StackMap stack:
        21: aload 11
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.graalvm.compiler.nodes.ProxyNode
            astore 10 /* proxy */
        start local 10 // org.graalvm.compiler.nodes.ProxyNode proxy
        22: .line 439
            aload 10 /* proxy */
            invokestatic org.graalvm.compiler.nodes.util.GraphUtil.checkRedundantProxy:(Lorg/graalvm/compiler/nodes/ProxyNode;)V
        end local 10 // org.graalvm.compiler.nodes.ProxyNode proxy
        23: .line 438
      StackMap locals:
      StackMap stack:
            aload 11
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 21
        24: .line 441
            return
        end local 9 // java.util.Collection proxyUsages
        end local 8 // java.util.Collection phiUsages
        end local 7 // org.graalvm.compiler.nodes.ValueNode v2
        end local 5 // org.graalvm.compiler.nodes.ValueNode v
        25: .line 426
      StackMap locals: org.graalvm.compiler.nodes.ProxyNode org.graalvm.compiler.nodes.AbstractBeginNode org.graalvm.compiler.nodes.LoopExitNode org.graalvm.compiler.nodes.LoopBeginNode org.graalvm.compiler.graph.Node top java.util.Iterator
      StackMap stack:
            aload 6
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 8
        end local 4 // org.graalvm.compiler.graph.Node vpnValue
        end local 3 // org.graalvm.compiler.nodes.LoopBeginNode loopBegin
        end local 2 // org.graalvm.compiler.nodes.LoopExitNode exit
        26: .line 445
      StackMap locals: org.graalvm.compiler.nodes.ProxyNode org.graalvm.compiler.nodes.AbstractBeginNode
      StackMap stack:
            return
        end local 1 // org.graalvm.compiler.nodes.AbstractBeginNode proxyPoint
        end local 0 // org.graalvm.compiler.nodes.ProxyNode vpn
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   27     0          vpn  Lorg/graalvm/compiler/nodes/ProxyNode;
            3   27     1   proxyPoint  Lorg/graalvm/compiler/nodes/AbstractBeginNode;
            5   26     2         exit  Lorg/graalvm/compiler/nodes/LoopExitNode;
            6   26     3    loopBegin  Lorg/graalvm/compiler/nodes/LoopBeginNode;
            7   26     4     vpnValue  Lorg/graalvm/compiler/graph/Node;
            9   25     5            v  Lorg/graalvm/compiler/nodes/ValueNode;
           10   25     7           v2  Lorg/graalvm/compiler/nodes/ValueNode;
           14   25     8    phiUsages  Ljava/util/Collection<Lorg/graalvm/compiler/nodes/PhiNode;>;
           15   25     9  proxyUsages  Ljava/util/Collection<Lorg/graalvm/compiler/nodes/ProxyNode;>;
           18   19    10          phi  Lorg/graalvm/compiler/nodes/PhiNode;
           22   23    10        proxy  Lorg/graalvm/compiler/nodes/ProxyNode;
    MethodParameters:
      Name  Flags
      vpn   

  public static void normalizeLoops(org.graalvm.compiler.nodes.StructuredGraph);
    descriptor: (Lorg/graalvm/compiler/nodes/StructuredGraph;)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=4, args_size=1
        start local 0 // org.graalvm.compiler.nodes.StructuredGraph graph
         0: .line 460
            iconst_0
            istore 1 /* loopRemoved */
        start local 1 // boolean loopRemoved
         1: .line 461
            aload 0 /* graph */
            getstatic org.graalvm.compiler.nodes.LoopBeginNode.TYPE:Lorg/graalvm/compiler/graph/NodeClass;
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph.getNodes:(Lorg/graalvm/compiler/graph/NodeClass;)Lorg/graalvm/compiler/graph/iterators/NodeIterable;
            invokeinterface org.graalvm.compiler.graph.iterators.NodeIterable.iterator:()Ljava/util/Iterator;
            astore 3
            goto 9
      StackMap locals: org.graalvm.compiler.nodes.StructuredGraph int top java.util.Iterator
      StackMap stack:
         2: aload 3
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.graalvm.compiler.nodes.LoopBeginNode
            astore 2 /* begin */
        start local 2 // org.graalvm.compiler.nodes.LoopBeginNode begin
         3: .line 462
            aload 2 /* begin */
            invokevirtual org.graalvm.compiler.nodes.LoopBeginNode.loopEnds:()Lorg/graalvm/compiler/graph/iterators/NodeIterable;
            invokeinterface org.graalvm.compiler.graph.iterators.NodeIterable.isEmpty:()Z
            ifeq 8
         4: .line 463
            getstatic org.graalvm.compiler.nodes.util.GraphUtil.$assertionsDisabled:Z
            ifne 5
            aload 2 /* begin */
            invokevirtual org.graalvm.compiler.nodes.LoopBeginNode.forwardEndCount:()I
            iconst_1
            if_icmpeq 5
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         5: .line 464
      StackMap locals: org.graalvm.compiler.nodes.StructuredGraph int org.graalvm.compiler.nodes.LoopBeginNode java.util.Iterator
      StackMap stack:
            aload 0 /* graph */
            aload 2 /* begin */
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph.reduceDegenerateLoopBegin:(Lorg/graalvm/compiler/nodes/LoopBeginNode;)V
         6: .line 465
            iconst_1
            istore 1 /* loopRemoved */
         7: .line 466
            goto 9
         8: .line 467
      StackMap locals:
      StackMap stack:
            aload 2 /* begin */
            invokestatic org.graalvm.compiler.nodes.util.GraphUtil.normalizeLoopBegin:(Lorg/graalvm/compiler/nodes/LoopBeginNode;)V
        end local 2 // org.graalvm.compiler.nodes.LoopBeginNode begin
         9: .line 461
      StackMap locals: org.graalvm.compiler.nodes.StructuredGraph int top java.util.Iterator
      StackMap stack:
            aload 3
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 2
        10: .line 471
            iload 1 /* loopRemoved */
            ifeq 16
        11: .line 476
            aload 0 /* graph */
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph.getNodes:()Lorg/graalvm/compiler/graph/iterators/NodeIterable;
            invokeinterface org.graalvm.compiler.graph.iterators.NodeIterable.iterator:()Ljava/util/Iterator;
            astore 3
            goto 15
      StackMap locals:
      StackMap stack:
        12: aload 3
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.graalvm.compiler.graph.Node
            astore 2 /* node */
        start local 2 // org.graalvm.compiler.graph.Node node
        13: .line 477
            aload 2 /* node */
            instanceof org.graalvm.compiler.nodes.PhiNode
            ifeq 15
        14: .line 478
            aload 2 /* node */
            checkcast org.graalvm.compiler.nodes.PhiNode
            invokestatic org.graalvm.compiler.nodes.util.GraphUtil.checkRedundantPhi:(Lorg/graalvm/compiler/nodes/PhiNode;)V
        end local 2 // org.graalvm.compiler.graph.Node node
        15: .line 476
      StackMap locals:
      StackMap stack:
            aload 3
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 12
        16: .line 482
      StackMap locals: org.graalvm.compiler.nodes.StructuredGraph int
      StackMap stack:
            return
        end local 1 // boolean loopRemoved
        end local 0 // org.graalvm.compiler.nodes.StructuredGraph graph
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   17     0        graph  Lorg/graalvm/compiler/nodes/StructuredGraph;
            1   17     1  loopRemoved  Z
            3    9     2        begin  Lorg/graalvm/compiler/nodes/LoopBeginNode;
           13   15     2         node  Lorg/graalvm/compiler/graph/Node;
    MethodParameters:
       Name  Flags
      graph  

  private static void normalizeLoopBegin(org.graalvm.compiler.nodes.LoopBeginNode);
    descriptor: (Lorg/graalvm/compiler/nodes/LoopBeginNode;)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=1, locals=5, args_size=1
        start local 0 // org.graalvm.compiler.nodes.LoopBeginNode begin
         0: .line 487
            aload 0 /* begin */
            invokevirtual org.graalvm.compiler.nodes.LoopBeginNode.phis:()Lorg/graalvm/compiler/graph/iterators/NodeIterable;
            invokeinterface org.graalvm.compiler.graph.iterators.NodeIterable.snapshot:()Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 2
            goto 3
      StackMap locals: org.graalvm.compiler.nodes.LoopBeginNode top java.util.Iterator
      StackMap stack:
         1: aload 2
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.graalvm.compiler.nodes.PhiNode
            astore 1 /* phi */
        start local 1 // org.graalvm.compiler.nodes.PhiNode phi
         2: .line 488
            aload 1 /* phi */
            invokestatic org.graalvm.compiler.nodes.util.GraphUtil.checkRedundantPhi:(Lorg/graalvm/compiler/nodes/PhiNode;)V
        end local 1 // org.graalvm.compiler.nodes.PhiNode phi
         3: .line 487
      StackMap locals:
      StackMap stack:
            aload 2
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 1
         4: .line 490
            aload 0 /* begin */
            invokevirtual org.graalvm.compiler.nodes.LoopBeginNode.loopExits:()Lorg/graalvm/compiler/graph/iterators/NodeIterable;
            invokeinterface org.graalvm.compiler.graph.iterators.NodeIterable.iterator:()Ljava/util/Iterator;
            astore 2
            goto 10
      StackMap locals:
      StackMap stack:
         5: aload 2
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.graalvm.compiler.nodes.LoopExitNode
            astore 1 /* exit */
        start local 1 // org.graalvm.compiler.nodes.LoopExitNode exit
         6: .line 491
            aload 1 /* exit */
            invokevirtual org.graalvm.compiler.nodes.LoopExitNode.proxies:()Lorg/graalvm/compiler/graph/iterators/NodeIterable;
            invokeinterface org.graalvm.compiler.graph.iterators.NodeIterable.snapshot:()Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 4
            goto 9
      StackMap locals: org.graalvm.compiler.nodes.LoopBeginNode org.graalvm.compiler.nodes.LoopExitNode java.util.Iterator top java.util.Iterator
      StackMap stack:
         7: aload 4
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.graalvm.compiler.nodes.ProxyNode
            astore 3 /* vpn */
        start local 3 // org.graalvm.compiler.nodes.ProxyNode vpn
         8: .line 492
            aload 3 /* vpn */
            invokestatic org.graalvm.compiler.nodes.util.GraphUtil.checkRedundantProxy:(Lorg/graalvm/compiler/nodes/ProxyNode;)V
        end local 3 // org.graalvm.compiler.nodes.ProxyNode vpn
         9: .line 491
      StackMap locals:
      StackMap stack:
            aload 4
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 7
        end local 1 // org.graalvm.compiler.nodes.LoopExitNode exit
        10: .line 490
      StackMap locals: org.graalvm.compiler.nodes.LoopBeginNode top java.util.Iterator
      StackMap stack:
            aload 2
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 5
        11: .line 495
            return
        end local 0 // org.graalvm.compiler.nodes.LoopBeginNode begin
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   12     0  begin  Lorg/graalvm/compiler/nodes/LoopBeginNode;
            2    3     1    phi  Lorg/graalvm/compiler/nodes/PhiNode;
            6   10     1   exit  Lorg/graalvm/compiler/nodes/LoopExitNode;
            8    9     3    vpn  Lorg/graalvm/compiler/nodes/ProxyNode;
    MethodParameters:
       Name  Flags
      begin  

  public static java.lang.StackTraceElement[] approxSourceStackTraceElement(org.graalvm.compiler.graph.Node);
    descriptor: (Lorg/graalvm/compiler/graph/Node;)[Ljava/lang/StackTraceElement;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=5, args_size=1
        start local 0 // org.graalvm.compiler.graph.Node node
         0: .line 503
            aload 0 /* node */
            invokevirtual org.graalvm.compiler.graph.Node.getNodeSourcePosition:()Lorg/graalvm/compiler/graph/NodeSourcePosition;
            astore 1 /* position */
        start local 1 // org.graalvm.compiler.graph.NodeSourcePosition position
         1: .line 504
            aload 1 /* position */
            ifnull 3
         2: .line 507
            aload 1 /* position */
            invokestatic org.graalvm.compiler.nodes.util.GraphUtil.approxSourceStackTraceElement:(Ljdk/vm/ci/code/BytecodePosition;)[Ljava/lang/StackTraceElement;
            areturn
         3: .line 509
      StackMap locals: org.graalvm.compiler.graph.NodeSourcePosition
      StackMap stack:
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 2 /* elements */
        start local 2 // java.util.ArrayList elements
         4: .line 510
            aload 0 /* node */
            astore 3 /* n */
        start local 3 // org.graalvm.compiler.graph.Node n
         5: .line 511
            goto 14
         6: .line 512
      StackMap locals: java.util.ArrayList org.graalvm.compiler.graph.Node
      StackMap stack:
            aload 3 /* n */
            instanceof org.graalvm.compiler.nodes.java.MethodCallTargetNode
            ifeq 9
         7: .line 513
            aload 2 /* elements */
            aload 3 /* n */
            checkcast org.graalvm.compiler.nodes.java.MethodCallTargetNode
            invokevirtual org.graalvm.compiler.nodes.java.MethodCallTargetNode.targetMethod:()Ljdk/vm/ci/meta/ResolvedJavaMethod;
            iconst_m1
            invokeinterface jdk.vm.ci.meta.ResolvedJavaMethod.asStackTraceElement:(I)Ljava/lang/StackTraceElement;
            invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
            pop
         8: .line 514
            aload 3 /* n */
            checkcast org.graalvm.compiler.nodes.java.MethodCallTargetNode
            invokevirtual org.graalvm.compiler.nodes.java.MethodCallTargetNode.invoke:()Lorg/graalvm/compiler/nodes/Invoke;
            invokeinterface org.graalvm.compiler.nodes.Invoke.asNode:()Lorg/graalvm/compiler/nodes/FixedNode;
            astore 3 /* n */
         9: .line 517
      StackMap locals:
      StackMap stack:
            aload 3 /* n */
            instanceof org.graalvm.compiler.nodes.StateSplit
            ifeq 13
        10: .line 518
            aload 3 /* n */
            checkcast org.graalvm.compiler.nodes.StateSplit
            invokeinterface org.graalvm.compiler.nodes.StateSplit.stateAfter:()Lorg/graalvm/compiler/nodes/FrameState;
            astore 4 /* state */
        start local 4 // org.graalvm.compiler.nodes.FrameState state
        11: .line 519
            aload 2 /* elements */
            aload 4 /* state */
            invokestatic org.graalvm.compiler.nodes.util.GraphUtil.approxSourceStackTraceElement:(Lorg/graalvm/compiler/nodes/FrameState;)[Ljava/lang/StackTraceElement;
            invokestatic java.util.Arrays.asList:([Ljava/lang/Object;)Ljava/util/List;
            invokevirtual java.util.ArrayList.addAll:(Ljava/util/Collection;)Z
            pop
        12: .line 520
            goto 15
        end local 4 // org.graalvm.compiler.nodes.FrameState state
        13: .line 522
      StackMap locals:
      StackMap stack:
            aload 3 /* n */
            invokevirtual org.graalvm.compiler.graph.Node.predecessor:()Lorg/graalvm/compiler/graph/Node;
            astore 3 /* n */
        14: .line 511
      StackMap locals:
      StackMap stack:
            aload 3 /* n */
            ifnonnull 6
        15: .line 524
      StackMap locals:
      StackMap stack:
            aload 2 /* elements */
            aload 2 /* elements */
            invokevirtual java.util.ArrayList.size:()I
            anewarray java.lang.StackTraceElement
            invokevirtual java.util.ArrayList.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
            checkcast java.lang.StackTraceElement[]
            areturn
        end local 3 // org.graalvm.compiler.graph.Node n
        end local 2 // java.util.ArrayList elements
        end local 1 // org.graalvm.compiler.graph.NodeSourcePosition position
        end local 0 // org.graalvm.compiler.graph.Node node
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   16     0      node  Lorg/graalvm/compiler/graph/Node;
            1   16     1  position  Lorg/graalvm/compiler/graph/NodeSourcePosition;
            4   16     2  elements  Ljava/util/ArrayList<Ljava/lang/StackTraceElement;>;
            5   16     3         n  Lorg/graalvm/compiler/graph/Node;
           11   13     4     state  Lorg/graalvm/compiler/nodes/FrameState;
    MethodParameters:
      Name  Flags
      node  

  public static java.lang.StackTraceElement[] approxSourceStackTraceElement(org.graalvm.compiler.nodes.FrameState);
    descriptor: (Lorg/graalvm/compiler/nodes/FrameState;)[Ljava/lang/StackTraceElement;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=4, args_size=1
        start local 0 // org.graalvm.compiler.nodes.FrameState frameState
         0: .line 533
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 1 /* elements */
        start local 1 // java.util.ArrayList elements
         1: .line 534
            aload 0 /* frameState */
            astore 2 /* state */
        start local 2 // org.graalvm.compiler.nodes.FrameState state
         2: .line 535
            goto 7
         3: .line 536
      StackMap locals: java.util.ArrayList org.graalvm.compiler.nodes.FrameState
      StackMap stack:
            aload 2 /* state */
            invokevirtual org.graalvm.compiler.nodes.FrameState.getCode:()Lorg/graalvm/compiler/bytecode/Bytecode;
            astore 3 /* code */
        start local 3 // org.graalvm.compiler.bytecode.Bytecode code
         4: .line 537
            aload 3 /* code */
            ifnull 6
         5: .line 538
            aload 1 /* elements */
            aload 3 /* code */
            aload 2 /* state */
            getfield org.graalvm.compiler.nodes.FrameState.bci:I
            iconst_1
            isub
            invokeinterface org.graalvm.compiler.bytecode.Bytecode.asStackTraceElement:(I)Ljava/lang/StackTraceElement;
            invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
            pop
         6: .line 540
      StackMap locals: org.graalvm.compiler.bytecode.Bytecode
      StackMap stack:
            aload 2 /* state */
            invokevirtual org.graalvm.compiler.nodes.FrameState.outerFrameState:()Lorg/graalvm/compiler/nodes/FrameState;
            astore 2 /* state */
        end local 3 // org.graalvm.compiler.bytecode.Bytecode code
         7: .line 535
      StackMap locals:
      StackMap stack:
            aload 2 /* state */
            ifnonnull 3
         8: .line 542
            aload 1 /* elements */
            iconst_0
            anewarray java.lang.StackTraceElement
            invokevirtual java.util.ArrayList.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
            checkcast java.lang.StackTraceElement[]
            areturn
        end local 2 // org.graalvm.compiler.nodes.FrameState state
        end local 1 // java.util.ArrayList elements
        end local 0 // org.graalvm.compiler.nodes.FrameState frameState
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    9     0  frameState  Lorg/graalvm/compiler/nodes/FrameState;
            1    9     1    elements  Ljava/util/ArrayList<Ljava/lang/StackTraceElement;>;
            2    9     2       state  Lorg/graalvm/compiler/nodes/FrameState;
            4    7     3        code  Lorg/graalvm/compiler/bytecode/Bytecode;
    MethodParameters:
            Name  Flags
      frameState  

  public static java.lang.StackTraceElement[] approxSourceStackTraceElement(jdk.vm.ci.code.BytecodePosition);
    descriptor: (Ljdk/vm/ci/code/BytecodePosition;)[Ljava/lang/StackTraceElement;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=4, args_size=1
        start local 0 // jdk.vm.ci.code.BytecodePosition bytecodePosition
         0: .line 549
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 1 /* elements */
        start local 1 // java.util.ArrayList elements
         1: .line 550
            aload 0 /* bytecodePosition */
            astore 2 /* position */
        start local 2 // jdk.vm.ci.code.BytecodePosition position
         2: .line 551
            goto 7
         3: .line 552
      StackMap locals: java.util.ArrayList jdk.vm.ci.code.BytecodePosition
      StackMap stack:
            aload 2 /* position */
            invokevirtual jdk.vm.ci.code.BytecodePosition.getMethod:()Ljdk/vm/ci/meta/ResolvedJavaMethod;
            astore 3 /* method */
        start local 3 // jdk.vm.ci.meta.ResolvedJavaMethod method
         4: .line 553
            aload 3 /* method */
            ifnull 6
         5: .line 554
            aload 1 /* elements */
            aload 3 /* method */
            aload 2 /* position */
            invokevirtual jdk.vm.ci.code.BytecodePosition.getBCI:()I
            invokeinterface jdk.vm.ci.meta.ResolvedJavaMethod.asStackTraceElement:(I)Ljava/lang/StackTraceElement;
            invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
            pop
         6: .line 556
      StackMap locals: jdk.vm.ci.meta.ResolvedJavaMethod
      StackMap stack:
            aload 2 /* position */
            invokevirtual jdk.vm.ci.code.BytecodePosition.getCaller:()Ljdk/vm/ci/code/BytecodePosition;
            astore 2 /* position */
        end local 3 // jdk.vm.ci.meta.ResolvedJavaMethod method
         7: .line 551
      StackMap locals:
      StackMap stack:
            aload 2 /* position */
            ifnonnull 3
         8: .line 558
            aload 1 /* elements */
            iconst_0
            anewarray java.lang.StackTraceElement
            invokevirtual java.util.ArrayList.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
            checkcast java.lang.StackTraceElement[]
            areturn
        end local 2 // jdk.vm.ci.code.BytecodePosition position
        end local 1 // java.util.ArrayList elements
        end local 0 // jdk.vm.ci.code.BytecodePosition bytecodePosition
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0    9     0  bytecodePosition  Ljdk/vm/ci/code/BytecodePosition;
            1    9     1          elements  Ljava/util/ArrayList<Ljava/lang/StackTraceElement;>;
            2    9     2          position  Ljdk/vm/ci/code/BytecodePosition;
            4    7     3            method  Ljdk/vm/ci/meta/ResolvedJavaMethod;
    MethodParameters:
                  Name  Flags
      bytecodePosition  

  public static java.lang.RuntimeException approxSourceException(org.graalvm.compiler.graph.Node, java.lang.Throwable);
    descriptor: (Lorg/graalvm/compiler/graph/Node;Ljava/lang/Throwable;)Ljava/lang/RuntimeException;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // org.graalvm.compiler.graph.Node node
        start local 1 // java.lang.Throwable cause
         0: .line 567
            aload 0 /* node */
            invokestatic org.graalvm.compiler.nodes.util.GraphUtil.approxSourceStackTraceElement:(Lorg/graalvm/compiler/graph/Node;)[Ljava/lang/StackTraceElement;
            astore 2 /* elements */
        start local 2 // java.lang.StackTraceElement[] elements
         1: .line 568
            aload 1 /* cause */
            ifnonnull 2
            ldc ""
            goto 3
      StackMap locals: java.lang.StackTraceElement[]
      StackMap stack:
         2: aload 1 /* cause */
            invokevirtual java.lang.Throwable.getMessage:()Ljava/lang/String;
      StackMap locals:
      StackMap stack: java.lang.String
         3: aload 1 /* cause */
            aload 2 /* elements */
            invokestatic org.graalvm.compiler.nodes.util.GraphUtil.createBailoutException:(Ljava/lang/String;Ljava/lang/Throwable;[Ljava/lang/StackTraceElement;)Ljdk/vm/ci/code/BailoutException;
            areturn
        end local 2 // java.lang.StackTraceElement[] elements
        end local 1 // java.lang.Throwable cause
        end local 0 // org.graalvm.compiler.graph.Node node
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    4     0      node  Lorg/graalvm/compiler/graph/Node;
            0    4     1     cause  Ljava/lang/Throwable;
            1    4     2  elements  [Ljava/lang/StackTraceElement;
    MethodParameters:
       Name  Flags
      node   
      cause  

  public static jdk.vm.ci.code.BailoutException createBailoutException(java.lang.String, java.lang.Throwable, java.lang.StackTraceElement[]);
    descriptor: (Ljava/lang/String;Ljava/lang/Throwable;[Ljava/lang/StackTraceElement;)Ljdk/vm/ci/code/BailoutException;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // java.lang.String message
        start local 1 // java.lang.Throwable cause
        start local 2 // java.lang.StackTraceElement[] elements
         0: .line 579
            aload 1 /* cause */
            aload 0 /* message */
            aload 2 /* elements */
            invokestatic org.graalvm.compiler.code.SourceStackTraceBailoutException.create:(Ljava/lang/Throwable;Ljava/lang/String;[Ljava/lang/StackTraceElement;)Lorg/graalvm/compiler/code/SourceStackTraceBailoutException;
            areturn
        end local 2 // java.lang.StackTraceElement[] elements
        end local 1 // java.lang.Throwable cause
        end local 0 // java.lang.String message
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    1     0   message  Ljava/lang/String;
            0    1     1     cause  Ljava/lang/Throwable;
            0    1     2  elements  [Ljava/lang/StackTraceElement;
    MethodParameters:
          Name  Flags
      message   
      cause     
      elements  

  public static java.lang.String approxSourceLocation(org.graalvm.compiler.graph.Node);
    descriptor: (Lorg/graalvm/compiler/graph/Node;)Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=3, args_size=1
        start local 0 // org.graalvm.compiler.graph.Node node
         0: .line 589
            aload 0 /* node */
            invokestatic org.graalvm.compiler.nodes.util.GraphUtil.approxSourceStackTraceElement:(Lorg/graalvm/compiler/graph/Node;)[Ljava/lang/StackTraceElement;
            astore 1 /* stackTraceElements */
        start local 1 // java.lang.StackTraceElement[] stackTraceElements
         1: .line 590
            aload 1 /* stackTraceElements */
            ifnull 5
            aload 1 /* stackTraceElements */
            arraylength
            ifle 5
         2: .line 591
            aload 1 /* stackTraceElements */
            iconst_0
            aaload
            astore 2 /* top */
        start local 2 // java.lang.StackTraceElement top
         3: .line 592
            aload 2 /* top */
            invokevirtual java.lang.StackTraceElement.getFileName:()Ljava/lang/String;
            ifnull 5
            aload 2 /* top */
            invokevirtual java.lang.StackTraceElement.getLineNumber:()I
            iflt 5
         4: .line 593
            new java.lang.StringBuilder
            dup
            aload 2 /* top */
            invokevirtual java.lang.StackTraceElement.getFileName:()Ljava/lang/String;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc ":"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 2 /* top */
            invokevirtual java.lang.StackTraceElement.getLineNumber:()I
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 2 // java.lang.StackTraceElement top
         5: .line 596
      StackMap locals: java.lang.StackTraceElement[]
      StackMap stack:
            aconst_null
            areturn
        end local 1 // java.lang.StackTraceElement[] stackTraceElements
        end local 0 // org.graalvm.compiler.graph.Node node
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0    6     0                node  Lorg/graalvm/compiler/graph/Node;
            1    6     1  stackTraceElements  [Ljava/lang/StackTraceElement;
            3    5     2                 top  Ljava/lang/StackTraceElement;
    MethodParameters:
      Name  Flags
      node  

  public static java.lang.String toString(java.lang.Iterable<?>);
    descriptor: (Ljava/lang/Iterable;)Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=4, args_size=1
        start local 0 // java.lang.Iterable objects
         0: .line 606
            new java.lang.StringBuilder
            dup
            invokespecial java.lang.StringBuilder.<init>:()V
            astore 1 /* str */
        start local 1 // java.lang.StringBuilder str
         1: .line 607
            aload 1 /* str */
            ldc "["
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         2: .line 608
            aload 0 /* objects */
            invokeinterface java.lang.Iterable.iterator:()Ljava/util/Iterator;
            astore 3
            goto 5
      StackMap locals: java.lang.Iterable java.lang.StringBuilder top java.util.Iterator
      StackMap stack:
         3: aload 3
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            astore 2 /* o */
        start local 2 // java.lang.Object o
         4: .line 609
            aload 1 /* str */
            aload 2 /* o */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc ", "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        end local 2 // java.lang.Object o
         5: .line 608
      StackMap locals:
      StackMap stack:
            aload 3
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 3
         6: .line 611
            aload 1 /* str */
            invokevirtual java.lang.StringBuilder.length:()I
            iconst_1
            if_icmple 8
         7: .line 612
            aload 1 /* str */
            aload 1 /* str */
            invokevirtual java.lang.StringBuilder.length:()I
            iconst_2
            isub
            invokevirtual java.lang.StringBuilder.setLength:(I)V
         8: .line 614
      StackMap locals: java.lang.Iterable java.lang.StringBuilder
      StackMap stack:
            aload 1 /* str */
            ldc "]"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         9: .line 615
            aload 1 /* str */
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 1 // java.lang.StringBuilder str
        end local 0 // java.lang.Iterable objects
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   10     0  objects  Ljava/lang/Iterable<*>;
            1   10     1      str  Ljava/lang/StringBuilder;
            4    5     2        o  Ljava/lang/Object;
    Signature: (Ljava/lang/Iterable<*>;)Ljava/lang/String;
    MethodParameters:
         Name  Flags
      objects  

  public static org.graalvm.compiler.nodes.ValueNode unproxify(org.graalvm.compiler.nodes.ValueNode);
    descriptor: (Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/nodes/ValueNode;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.graalvm.compiler.nodes.ValueNode value
         0: .line 625
            aload 0 /* value */
            instanceof org.graalvm.compiler.nodes.spi.ValueProxy
            ifeq 2
         1: .line 626
            aload 0 /* value */
            checkcast org.graalvm.compiler.nodes.spi.ValueProxy
            invokestatic org.graalvm.compiler.nodes.util.GraphUtil.unproxify:(Lorg/graalvm/compiler/nodes/spi/ValueProxy;)Lorg/graalvm/compiler/nodes/ValueNode;
            areturn
         2: .line 628
      StackMap locals:
      StackMap stack:
            aload 0 /* value */
            areturn
        end local 0 // org.graalvm.compiler.nodes.ValueNode value
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    3     0  value  Lorg/graalvm/compiler/nodes/ValueNode;
    MethodParameters:
       Name  Flags
      value  

  public static org.graalvm.compiler.nodes.ValueNode unproxify(org.graalvm.compiler.nodes.spi.ValueProxy);
    descriptor: (Lorg/graalvm/compiler/nodes/spi/ValueProxy;)Lorg/graalvm/compiler/nodes/ValueNode;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=2, args_size=1
        start local 0 // org.graalvm.compiler.nodes.spi.ValueProxy value
         0: .line 639
            aload 0 /* value */
            ifnull 6
         1: .line 640
            aload 0 /* value */
            invokeinterface org.graalvm.compiler.nodes.spi.ValueProxy.getOriginalNode:()Lorg/graalvm/compiler/nodes/ValueNode;
            astore 1 /* result */
        start local 1 // org.graalvm.compiler.nodes.ValueNode result
         2: .line 641
            goto 4
         3: .line 642
      StackMap locals: org.graalvm.compiler.nodes.ValueNode
      StackMap stack:
            aload 1 /* result */
            checkcast org.graalvm.compiler.nodes.spi.ValueProxy
            invokeinterface org.graalvm.compiler.nodes.spi.ValueProxy.getOriginalNode:()Lorg/graalvm/compiler/nodes/ValueNode;
            astore 1 /* result */
         4: .line 641
      StackMap locals:
      StackMap stack:
            aload 1 /* result */
            instanceof org.graalvm.compiler.nodes.spi.ValueProxy
            ifne 3
         5: .line 644
            aload 1 /* result */
            areturn
        end local 1 // org.graalvm.compiler.nodes.ValueNode result
         6: .line 646
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
        end local 0 // org.graalvm.compiler.nodes.spi.ValueProxy value
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    7     0   value  Lorg/graalvm/compiler/nodes/spi/ValueProxy;
            2    6     1  result  Lorg/graalvm/compiler/nodes/ValueNode;
    MethodParameters:
       Name  Flags
      value  

  public static org.graalvm.compiler.nodes.ValueNode skipPi(org.graalvm.compiler.nodes.ValueNode);
    descriptor: (Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/nodes/ValueNode;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=3, args_size=1
        start local 0 // org.graalvm.compiler.nodes.ValueNode node
         0: .line 651
            aload 0 /* node */
            astore 1 /* n */
        start local 1 // org.graalvm.compiler.nodes.ValueNode n
         1: .line 652
            goto 4
         2: .line 653
      StackMap locals: org.graalvm.compiler.nodes.ValueNode
      StackMap stack:
            aload 1 /* n */
            checkcast org.graalvm.compiler.nodes.PiNode
            astore 2 /* piNode */
        start local 2 // org.graalvm.compiler.nodes.PiNode piNode
         3: .line 654
            aload 2 /* piNode */
            invokevirtual org.graalvm.compiler.nodes.PiNode.getOriginalNode:()Lorg/graalvm/compiler/nodes/ValueNode;
            astore 1 /* n */
        end local 2 // org.graalvm.compiler.nodes.PiNode piNode
         4: .line 652
      StackMap locals:
      StackMap stack:
            aload 1 /* n */
            instanceof org.graalvm.compiler.nodes.PiNode
            ifne 2
         5: .line 656
            aload 1 /* n */
            areturn
        end local 1 // org.graalvm.compiler.nodes.ValueNode n
        end local 0 // org.graalvm.compiler.nodes.ValueNode node
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    6     0    node  Lorg/graalvm/compiler/nodes/ValueNode;
            1    6     1       n  Lorg/graalvm/compiler/nodes/ValueNode;
            3    4     2  piNode  Lorg/graalvm/compiler/nodes/PiNode;
    MethodParameters:
      Name  Flags
      node  

  public static org.graalvm.compiler.nodes.ValueNode skipPiWhileNonNull(org.graalvm.compiler.nodes.ValueNode);
    descriptor: (Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/nodes/ValueNode;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=4, args_size=1
        start local 0 // org.graalvm.compiler.nodes.ValueNode node
         0: .line 660
            aload 0 /* node */
            astore 1 /* n */
        start local 1 // org.graalvm.compiler.nodes.ValueNode n
         1: .line 661
            goto 6
         2: .line 662
      StackMap locals: org.graalvm.compiler.nodes.ValueNode
      StackMap stack:
            aload 1 /* n */
            checkcast org.graalvm.compiler.nodes.PiNode
            astore 2 /* piNode */
        start local 2 // org.graalvm.compiler.nodes.PiNode piNode
         3: .line 663
            aload 2 /* piNode */
            invokevirtual org.graalvm.compiler.nodes.PiNode.getOriginalNode:()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.ObjectStamp
            astore 3 /* originalStamp */
        start local 3 // org.graalvm.compiler.core.common.type.ObjectStamp originalStamp
         4: .line 664
            aload 3 /* originalStamp */
            invokevirtual org.graalvm.compiler.core.common.type.ObjectStamp.nonNull:()Z
            ifeq 7
         5: .line 665
            aload 2 /* piNode */
            invokevirtual org.graalvm.compiler.nodes.PiNode.getOriginalNode:()Lorg/graalvm/compiler/nodes/ValueNode;
            astore 1 /* n */
        end local 3 // org.graalvm.compiler.core.common.type.ObjectStamp originalStamp
        end local 2 // org.graalvm.compiler.nodes.PiNode piNode
         6: .line 661
      StackMap locals:
      StackMap stack:
            aload 1 /* n */
            instanceof org.graalvm.compiler.nodes.PiNode
            ifne 2
         7: .line 670
      StackMap locals:
      StackMap stack:
            aload 1 /* n */
            areturn
        end local 1 // org.graalvm.compiler.nodes.ValueNode n
        end local 0 // org.graalvm.compiler.nodes.ValueNode node
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    8     0           node  Lorg/graalvm/compiler/nodes/ValueNode;
            1    8     1              n  Lorg/graalvm/compiler/nodes/ValueNode;
            3    6     2         piNode  Lorg/graalvm/compiler/nodes/PiNode;
            4    6     3  originalStamp  Lorg/graalvm/compiler/core/common/type/ObjectStamp;
    MethodParameters:
      Name  Flags
      node  

  public static org.graalvm.compiler.nodes.ValueNode arrayLength(org.graalvm.compiler.nodes.ValueNode, org.graalvm.compiler.nodes.spi.ArrayLengthProvider$FindLengthMode, jdk.vm.ci.meta.ConstantReflectionProvider);
    descriptor: (Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/spi/ArrayLengthProvider$FindLengthMode;Ljdk/vm/ci/meta/ConstantReflectionProvider;)Lorg/graalvm/compiler/nodes/ValueNode;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=6, args_size=3
        start local 0 // org.graalvm.compiler.nodes.ValueNode value
        start local 1 // org.graalvm.compiler.nodes.spi.ArrayLengthProvider$FindLengthMode mode
        start local 2 // jdk.vm.ci.meta.ConstantReflectionProvider constantReflection
         0: .line 682
            aload 1 /* mode */
            invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
         1: .line 684
            aload 0 /* value */
            astore 3 /* current */
        start local 3 // org.graalvm.compiler.nodes.ValueNode current
         2: .line 690
      StackMap locals: org.graalvm.compiler.nodes.ValueNode
      StackMap stack:
            aload 3 /* current */
            instanceof org.graalvm.compiler.nodes.spi.ArrayLengthProvider
            ifeq 4
         3: .line 691
            aload 3 /* current */
            checkcast org.graalvm.compiler.nodes.spi.ArrayLengthProvider
            aload 1 /* mode */
            aload 2 /* constantReflection */
            invokeinterface org.graalvm.compiler.nodes.spi.ArrayLengthProvider.findLength:(Lorg/graalvm/compiler/nodes/spi/ArrayLengthProvider$FindLengthMode;Ljdk/vm/ci/meta/ConstantReflectionProvider;)Lorg/graalvm/compiler/nodes/ValueNode;
            areturn
         4: .line 693
      StackMap locals:
      StackMap stack:
            aload 3 /* current */
            instanceof org.graalvm.compiler.nodes.ValuePhiNode
            ifeq 6
         5: .line 694
            aload 3 /* current */
            checkcast org.graalvm.compiler.nodes.ValuePhiNode
            aload 1 /* mode */
            aload 2 /* constantReflection */
            invokestatic org.graalvm.compiler.nodes.util.GraphUtil.phiArrayLength:(Lorg/graalvm/compiler/nodes/ValuePhiNode;Lorg/graalvm/compiler/nodes/spi/ArrayLengthProvider$FindLengthMode;Ljdk/vm/ci/meta/ConstantReflectionProvider;)Lorg/graalvm/compiler/nodes/ValueNode;
            areturn
         6: .line 696
      StackMap locals:
      StackMap stack:
            aload 3 /* current */
            instanceof org.graalvm.compiler.nodes.ValueProxyNode
            ifeq 12
         7: .line 697
            aload 3 /* current */
            checkcast org.graalvm.compiler.nodes.ValueProxyNode
            astore 4 /* proxy */
        start local 4 // org.graalvm.compiler.nodes.ValueProxyNode proxy
         8: .line 698
            aload 4 /* proxy */
            invokevirtual org.graalvm.compiler.nodes.ValueProxyNode.getOriginalNode:()Lorg/graalvm/compiler/nodes/ValueNode;
            aload 1 /* mode */
            aload 2 /* constantReflection */
            invokestatic org.graalvm.compiler.nodes.util.GraphUtil.arrayLength:(Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/spi/ArrayLengthProvider$FindLengthMode;Ljdk/vm/ci/meta/ConstantReflectionProvider;)Lorg/graalvm/compiler/nodes/ValueNode;
            astore 5 /* length */
        start local 5 // org.graalvm.compiler.nodes.ValueNode length
         9: .line 699
            aload 1 /* mode */
            getstatic org.graalvm.compiler.nodes.spi.ArrayLengthProvider$FindLengthMode.CANONICALIZE_READ:Lorg/graalvm/compiler/nodes/spi/ArrayLengthProvider$FindLengthMode;
            if_acmpne 11
            aload 5 /* length */
            ifnull 11
            aload 5 /* length */
            invokevirtual org.graalvm.compiler.nodes.ValueNode.isConstant:()Z
            ifne 11
        10: .line 700
            new org.graalvm.compiler.nodes.ValueProxyNode
            dup
            aload 5 /* length */
            aload 4 /* proxy */
            invokevirtual org.graalvm.compiler.nodes.ValueProxyNode.proxyPoint:()Lorg/graalvm/compiler/nodes/LoopExitNode;
            invokespecial org.graalvm.compiler.nodes.ValueProxyNode.<init>:(Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/LoopExitNode;)V
            astore 5 /* length */
        11: .line 702
      StackMap locals: org.graalvm.compiler.nodes.ValueProxyNode org.graalvm.compiler.nodes.ValueNode
      StackMap stack:
            aload 5 /* length */
            areturn
        end local 5 // org.graalvm.compiler.nodes.ValueNode length
        end local 4 // org.graalvm.compiler.nodes.ValueProxyNode proxy
        12: .line 704
      StackMap locals:
      StackMap stack:
            aload 3 /* current */
            instanceof org.graalvm.compiler.nodes.spi.ValueProxy
            ifeq 15
        13: .line 706
            aload 3 /* current */
            checkcast org.graalvm.compiler.nodes.spi.ValueProxy
            invokeinterface org.graalvm.compiler.nodes.spi.ValueProxy.getOriginalNode:()Lorg/graalvm/compiler/nodes/ValueNode;
            astore 3 /* current */
        14: .line 708
            goto 2
        15: .line 709
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
        end local 3 // org.graalvm.compiler.nodes.ValueNode current
        end local 2 // jdk.vm.ci.meta.ConstantReflectionProvider constantReflection
        end local 1 // org.graalvm.compiler.nodes.spi.ArrayLengthProvider$FindLengthMode mode
        end local 0 // org.graalvm.compiler.nodes.ValueNode value
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0   16     0               value  Lorg/graalvm/compiler/nodes/ValueNode;
            0   16     1                mode  Lorg/graalvm/compiler/nodes/spi/ArrayLengthProvider$FindLengthMode;
            0   16     2  constantReflection  Ljdk/vm/ci/meta/ConstantReflectionProvider;
            2   16     3             current  Lorg/graalvm/compiler/nodes/ValueNode;
            8   12     4               proxy  Lorg/graalvm/compiler/nodes/ValueProxyNode;
            9   12     5              length  Lorg/graalvm/compiler/nodes/ValueNode;
    MethodParameters:
                    Name  Flags
      value               
      mode                
      constantReflection  

  private static org.graalvm.compiler.nodes.ValueNode phiArrayLength(org.graalvm.compiler.nodes.ValuePhiNode, org.graalvm.compiler.nodes.spi.ArrayLengthProvider$FindLengthMode, jdk.vm.ci.meta.ConstantReflectionProvider);
    descriptor: (Lorg/graalvm/compiler/nodes/ValuePhiNode;Lorg/graalvm/compiler/nodes/spi/ArrayLengthProvider$FindLengthMode;Ljdk/vm/ci/meta/ConstantReflectionProvider;)Lorg/graalvm/compiler/nodes/ValueNode;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=7, args_size=3
        start local 0 // org.graalvm.compiler.nodes.ValuePhiNode phi
        start local 1 // org.graalvm.compiler.nodes.spi.ArrayLengthProvider$FindLengthMode mode
        start local 2 // jdk.vm.ci.meta.ConstantReflectionProvider constantReflection
         0: .line 715
            aload 0 /* phi */
            invokevirtual org.graalvm.compiler.nodes.ValuePhiNode.merge:()Lorg/graalvm/compiler/nodes/AbstractMergeNode;
            instanceof org.graalvm.compiler.nodes.LoopBeginNode
            ifeq 2
         1: .line 717
            aconst_null
            areturn
         2: .line 720
      StackMap locals:
      StackMap stack:
            aconst_null
            astore 3 /* singleLength */
        start local 3 // org.graalvm.compiler.nodes.ValueNode singleLength
         3: .line 721
            iconst_0
            istore 4 /* i */
        start local 4 // int i
         4: goto 17
         5: .line 722
      StackMap locals: org.graalvm.compiler.nodes.ValueNode int
      StackMap stack:
            aload 0 /* phi */
            invokevirtual org.graalvm.compiler.nodes.ValuePhiNode.values:()Lorg/graalvm/compiler/graph/NodeInputList;
            iload 4 /* i */
            invokevirtual org.graalvm.compiler.graph.NodeInputList.get:(I)Lorg/graalvm/compiler/graph/Node;
            checkcast org.graalvm.compiler.nodes.ValueNode
            astore 5 /* input */
        start local 5 // org.graalvm.compiler.nodes.ValueNode input
         6: .line 723
            aload 5 /* input */
            aload 1 /* mode */
            aload 2 /* constantReflection */
            invokestatic org.graalvm.compiler.nodes.util.GraphUtil.arrayLength:(Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/spi/ArrayLengthProvider$FindLengthMode;Ljdk/vm/ci/meta/ConstantReflectionProvider;)Lorg/graalvm/compiler/nodes/ValueNode;
            astore 6 /* length */
        start local 6 // org.graalvm.compiler.nodes.ValueNode length
         7: .line 724
            aload 6 /* length */
            ifnonnull 9
         8: .line 725
            aconst_null
            areturn
         9: .line 727
      StackMap locals: org.graalvm.compiler.nodes.ValueNode org.graalvm.compiler.nodes.ValueNode
      StackMap stack:
            getstatic org.graalvm.compiler.nodes.util.GraphUtil.$assertionsDisabled:Z
            ifne 10
            aload 6 /* length */
            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;
            invokevirtual org.graalvm.compiler.core.common.type.Stamp.getStackKind:()Ljdk/vm/ci/meta/JavaKind;
            getstatic jdk.vm.ci.meta.JavaKind.Int:Ljdk/vm/ci/meta/JavaKind;
            if_acmpeq 10
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        10: .line 729
      StackMap locals:
      StackMap stack:
            iload 4 /* i */
            ifne 14
        11: .line 730
            getstatic org.graalvm.compiler.nodes.util.GraphUtil.$assertionsDisabled:Z
            ifne 12
            aload 3 /* singleLength */
            ifnull 12
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        12: .line 731
      StackMap locals:
      StackMap stack:
            aload 6 /* length */
            astore 3 /* singleLength */
        13: .line 732
            goto 16
      StackMap locals:
      StackMap stack:
        14: aload 3 /* singleLength */
            aload 6 /* length */
            if_acmpeq 16
        15: .line 735
            aconst_null
            areturn
        end local 6 // org.graalvm.compiler.nodes.ValueNode length
        end local 5 // org.graalvm.compiler.nodes.ValueNode input
        16: .line 721
      StackMap locals:
      StackMap stack:
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
        17: iload 4 /* i */
            aload 0 /* phi */
            invokevirtual org.graalvm.compiler.nodes.ValuePhiNode.values:()Lorg/graalvm/compiler/graph/NodeInputList;
            invokevirtual org.graalvm.compiler.graph.NodeInputList.count:()I
            if_icmplt 5
        end local 4 // int i
        18: .line 738
            aload 3 /* singleLength */
            areturn
        end local 3 // org.graalvm.compiler.nodes.ValueNode singleLength
        end local 2 // jdk.vm.ci.meta.ConstantReflectionProvider constantReflection
        end local 1 // org.graalvm.compiler.nodes.spi.ArrayLengthProvider$FindLengthMode mode
        end local 0 // org.graalvm.compiler.nodes.ValuePhiNode phi
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0   19     0                 phi  Lorg/graalvm/compiler/nodes/ValuePhiNode;
            0   19     1                mode  Lorg/graalvm/compiler/nodes/spi/ArrayLengthProvider$FindLengthMode;
            0   19     2  constantReflection  Ljdk/vm/ci/meta/ConstantReflectionProvider;
            3   19     3        singleLength  Lorg/graalvm/compiler/nodes/ValueNode;
            4   18     4                   i  I
            6   16     5               input  Lorg/graalvm/compiler/nodes/ValueNode;
            7   16     6              length  Lorg/graalvm/compiler/nodes/ValueNode;
    MethodParameters:
                    Name  Flags
      phi                 
      mode                
      constantReflection  

  public static org.graalvm.compiler.nodes.ValueNode originalValue(org.graalvm.compiler.nodes.ValueNode);
    descriptor: (Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/nodes/ValueNode;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // org.graalvm.compiler.nodes.ValueNode value
         0: .line 750
            aload 0 /* value */
            invokestatic org.graalvm.compiler.nodes.util.GraphUtil.originalValueSimple:(Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/nodes/ValueNode;
            astore 1 /* result */
        start local 1 // org.graalvm.compiler.nodes.ValueNode result
         1: .line 751
            getstatic org.graalvm.compiler.nodes.util.GraphUtil.$assertionsDisabled:Z
            ifne 2
            aload 1 /* result */
            ifnonnull 2
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         2: .line 752
      StackMap locals: org.graalvm.compiler.nodes.ValueNode
      StackMap stack:
            aload 1 /* result */
            areturn
        end local 1 // org.graalvm.compiler.nodes.ValueNode result
        end local 0 // org.graalvm.compiler.nodes.ValueNode value
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    3     0   value  Lorg/graalvm/compiler/nodes/ValueNode;
            1    3     1  result  Lorg/graalvm/compiler/nodes/ValueNode;
    MethodParameters:
       Name  Flags
      value  

  private static org.graalvm.compiler.nodes.ValueNode originalValueSimple(org.graalvm.compiler.nodes.ValueNode);
    descriptor: (Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/nodes/ValueNode;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=4, locals=7, args_size=1
        start local 0 // org.graalvm.compiler.nodes.ValueNode value
         0: .line 757
            aload 0 /* value */
            invokestatic org.graalvm.compiler.nodes.util.GraphUtil.originalValueForProxy:(Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/nodes/ValueNode;
            astore 1 /* cur */
        start local 1 // org.graalvm.compiler.nodes.ValueNode cur
         1: .line 759
            goto 20
         2: .line 764
      StackMap locals: org.graalvm.compiler.nodes.ValueNode
      StackMap stack:
            aload 1 /* cur */
            checkcast org.graalvm.compiler.nodes.PhiNode
            astore 2 /* phi */
        start local 2 // org.graalvm.compiler.nodes.PhiNode phi
         3: .line 766
            aconst_null
            astore 3 /* phiSingleValue */
        start local 3 // org.graalvm.compiler.nodes.ValueNode phiSingleValue
         4: .line 767
            aload 2 /* phi */
            invokevirtual org.graalvm.compiler.nodes.PhiNode.valueCount:()I
            istore 4 /* count */
        start local 4 // int count
         5: .line 768
            iconst_0
            istore 5 /* i */
        start local 5 // int i
         6: goto 17
         7: .line 769
      StackMap locals: org.graalvm.compiler.nodes.ValueNode org.graalvm.compiler.nodes.ValueNode org.graalvm.compiler.nodes.PhiNode org.graalvm.compiler.nodes.ValueNode int int
      StackMap stack:
            aload 2 /* phi */
            iload 5 /* i */
            invokevirtual org.graalvm.compiler.nodes.PhiNode.valueAt:(I)Lorg/graalvm/compiler/nodes/ValueNode;
            invokestatic org.graalvm.compiler.nodes.util.GraphUtil.originalValueForProxy:(Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/nodes/ValueNode;
            astore 6 /* phiCurValue */
        start local 6 // org.graalvm.compiler.nodes.ValueNode phiCurValue
         8: .line 770
            aload 6 /* phiCurValue */
            aload 2 /* phi */
            if_acmpeq 16
         9: .line 772
            aload 3 /* phiSingleValue */
            ifnonnull 12
        10: .line 774
            aload 6 /* phiCurValue */
            astore 3 /* phiSingleValue */
        11: .line 775
            goto 16
      StackMap locals: org.graalvm.compiler.nodes.ValueNode
      StackMap stack:
        12: aload 3 /* phiSingleValue */
            aload 6 /* phiCurValue */
            if_acmpeq 16
        13: .line 778
            aload 3 /* phiSingleValue */
            instanceof org.graalvm.compiler.nodes.PhiNode
            ifne 14
            aload 6 /* phiCurValue */
            instanceof org.graalvm.compiler.nodes.PhiNode
            ifeq 15
        14: .line 784
      StackMap locals:
      StackMap stack:
            aload 2 /* phi */
            new org.graalvm.compiler.graph.NodeBitMap
            dup
            aload 0 /* value */
            invokevirtual org.graalvm.compiler.nodes.ValueNode.graph:()Lorg/graalvm/compiler/nodes/StructuredGraph;
            invokespecial org.graalvm.compiler.graph.NodeBitMap.<init>:(Lorg/graalvm/compiler/graph/Graph;)V
            invokestatic org.graalvm.compiler.nodes.util.GraphUtil.originalValueForComplicatedPhi:(Lorg/graalvm/compiler/nodes/PhiNode;Lorg/graalvm/compiler/graph/NodeBitMap;)Lorg/graalvm/compiler/nodes/ValueNode;
            areturn
        15: .line 791
      StackMap locals:
      StackMap stack:
            aload 2 /* phi */
            areturn
        end local 6 // org.graalvm.compiler.nodes.ValueNode phiCurValue
        16: .line 768
      StackMap locals:
      StackMap stack:
            iinc 5 /* i */ 1
      StackMap locals:
      StackMap stack:
        17: iload 5 /* i */
            iload 4 /* count */
            if_icmplt 7
        end local 5 // int i
        18: .line 800
            getstatic org.graalvm.compiler.nodes.util.GraphUtil.$assertionsDisabled:Z
            ifne 19
            aload 3 /* phiSingleValue */
            ifnonnull 19
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        19: .line 801
      StackMap locals:
      StackMap stack:
            aload 3 /* phiSingleValue */
            astore 1 /* cur */
        end local 4 // int count
        end local 3 // org.graalvm.compiler.nodes.ValueNode phiSingleValue
        end local 2 // org.graalvm.compiler.nodes.PhiNode phi
        20: .line 759
      StackMap locals:
      StackMap stack:
            aload 1 /* cur */
            instanceof org.graalvm.compiler.nodes.PhiNode
            ifne 2
        21: .line 805
            getstatic org.graalvm.compiler.nodes.util.GraphUtil.$assertionsDisabled:Z
            ifne 23
            aload 1 /* cur */
            instanceof org.graalvm.compiler.nodes.spi.LimitedValueProxy
            ifne 22
            aload 1 /* cur */
            instanceof org.graalvm.compiler.nodes.PhiNode
            ifeq 23
      StackMap locals:
      StackMap stack:
        22: new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        23: .line 806
      StackMap locals:
      StackMap stack:
            aload 1 /* cur */
            areturn
        end local 1 // org.graalvm.compiler.nodes.ValueNode cur
        end local 0 // org.graalvm.compiler.nodes.ValueNode value
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   24     0           value  Lorg/graalvm/compiler/nodes/ValueNode;
            1   24     1             cur  Lorg/graalvm/compiler/nodes/ValueNode;
            3   20     2             phi  Lorg/graalvm/compiler/nodes/PhiNode;
            4   20     3  phiSingleValue  Lorg/graalvm/compiler/nodes/ValueNode;
            5   20     4           count  I
            6   18     5               i  I
            8   16     6     phiCurValue  Lorg/graalvm/compiler/nodes/ValueNode;
    MethodParameters:
       Name  Flags
      value  

  private static org.graalvm.compiler.nodes.ValueNode originalValueForProxy(org.graalvm.compiler.nodes.ValueNode);
    descriptor: (Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/nodes/ValueNode;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=1, locals=2, args_size=1
        start local 0 // org.graalvm.compiler.nodes.ValueNode value
         0: .line 810
            aload 0 /* value */
            astore 1 /* cur */
        start local 1 // org.graalvm.compiler.nodes.ValueNode cur
         1: .line 811
            goto 3
         2: .line 812
      StackMap locals: org.graalvm.compiler.nodes.ValueNode
      StackMap stack:
            aload 1 /* cur */
            checkcast org.graalvm.compiler.nodes.spi.LimitedValueProxy
            invokeinterface org.graalvm.compiler.nodes.spi.LimitedValueProxy.getOriginalNode:()Lorg/graalvm/compiler/nodes/ValueNode;
            astore 1 /* cur */
         3: .line 811
      StackMap locals:
      StackMap stack:
            aload 1 /* cur */
            instanceof org.graalvm.compiler.nodes.spi.LimitedValueProxy
            ifne 2
         4: .line 814
            aload 1 /* cur */
            areturn
        end local 1 // org.graalvm.compiler.nodes.ValueNode cur
        end local 0 // org.graalvm.compiler.nodes.ValueNode value
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    5     0  value  Lorg/graalvm/compiler/nodes/ValueNode;
            1    5     1    cur  Lorg/graalvm/compiler/nodes/ValueNode;
    MethodParameters:
       Name  Flags
      value  

  private static org.graalvm.compiler.nodes.ValueNode originalValueForComplicatedPhi(org.graalvm.compiler.nodes.PhiNode, org.graalvm.compiler.graph.NodeBitMap);
    descriptor: (Lorg/graalvm/compiler/nodes/PhiNode;Lorg/graalvm/compiler/graph/NodeBitMap;)Lorg/graalvm/compiler/nodes/ValueNode;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=6, args_size=2
        start local 0 // org.graalvm.compiler.nodes.PhiNode phi
        start local 1 // org.graalvm.compiler.graph.NodeBitMap visited
         0: .line 822
            aload 1 /* visited */
            aload 0 /* phi */
            invokevirtual org.graalvm.compiler.graph.NodeBitMap.isMarked:(Lorg/graalvm/compiler/graph/Node;)Z
            ifeq 2
         1: .line 827
            aconst_null
            areturn
         2: .line 829
      StackMap locals:
      StackMap stack:
            aload 1 /* visited */
            aload 0 /* phi */
            invokevirtual org.graalvm.compiler.graph.NodeBitMap.mark:(Lorg/graalvm/compiler/graph/Node;)V
         3: .line 831
            aconst_null
            astore 2 /* phiSingleValue */
        start local 2 // org.graalvm.compiler.nodes.ValueNode phiSingleValue
         4: .line 832
            aload 0 /* phi */
            invokevirtual org.graalvm.compiler.nodes.PhiNode.valueCount:()I
            istore 3 /* count */
        start local 3 // int count
         5: .line 833
            iconst_0
            istore 4 /* i */
        start local 4 // int i
         6: goto 17
         7: .line 834
      StackMap locals: org.graalvm.compiler.nodes.ValueNode int int
      StackMap stack:
            aload 0 /* phi */
            iload 4 /* i */
            invokevirtual org.graalvm.compiler.nodes.PhiNode.valueAt:(I)Lorg/graalvm/compiler/nodes/ValueNode;
            invokestatic org.graalvm.compiler.nodes.util.GraphUtil.originalValueForProxy:(Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/nodes/ValueNode;
            astore 5 /* phiCurValue */
        start local 5 // org.graalvm.compiler.nodes.ValueNode phiCurValue
         8: .line 835
            aload 5 /* phiCurValue */
            instanceof org.graalvm.compiler.nodes.PhiNode
            ifeq 10
         9: .line 837
            aload 5 /* phiCurValue */
            checkcast org.graalvm.compiler.nodes.PhiNode
            aload 1 /* visited */
            invokestatic org.graalvm.compiler.nodes.util.GraphUtil.originalValueForComplicatedPhi:(Lorg/graalvm/compiler/nodes/PhiNode;Lorg/graalvm/compiler/graph/NodeBitMap;)Lorg/graalvm/compiler/nodes/ValueNode;
            astore 5 /* phiCurValue */
        10: .line 840
      StackMap locals: org.graalvm.compiler.nodes.ValueNode
      StackMap stack:
            aload 5 /* phiCurValue */
            ifnull 16
        11: .line 842
            aload 2 /* phiSingleValue */
            ifnonnull 14
        12: .line 844
            aload 5 /* phiCurValue */
            astore 2 /* phiSingleValue */
        13: .line 845
            goto 16
      StackMap locals:
      StackMap stack:
        14: aload 5 /* phiCurValue */
            aload 2 /* phiSingleValue */
            if_acmpeq 16
        15: .line 851
            aload 0 /* phi */
            areturn
        end local 5 // org.graalvm.compiler.nodes.ValueNode phiCurValue
        16: .line 833
      StackMap locals:
      StackMap stack:
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
        17: iload 4 /* i */
            iload 3 /* count */
            if_icmplt 7
        end local 4 // int i
        18: .line 854
            aload 2 /* phiSingleValue */
            areturn
        end local 3 // int count
        end local 2 // org.graalvm.compiler.nodes.ValueNode phiSingleValue
        end local 1 // org.graalvm.compiler.graph.NodeBitMap visited
        end local 0 // org.graalvm.compiler.nodes.PhiNode phi
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   19     0             phi  Lorg/graalvm/compiler/nodes/PhiNode;
            0   19     1         visited  Lorg/graalvm/compiler/graph/NodeBitMap;
            4   19     2  phiSingleValue  Lorg/graalvm/compiler/nodes/ValueNode;
            5   19     3           count  I
            6   18     4               i  I
            8   16     5     phiCurValue  Lorg/graalvm/compiler/nodes/ValueNode;
    MethodParameters:
         Name  Flags
      phi      
      visited  

  public static boolean tryKillUnused(org.graalvm.compiler.graph.Node);
    descriptor: (Lorg/graalvm/compiler/graph/Node;)Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.graalvm.compiler.graph.Node node
         0: .line 858
            aload 0 /* node */
            invokevirtual org.graalvm.compiler.graph.Node.isAlive:()Z
            ifeq 3
            aload 0 /* node */
            invokestatic org.graalvm.compiler.nodes.util.GraphUtil.isFloatingNode:(Lorg/graalvm/compiler/graph/Node;)Z
            ifeq 3
            aload 0 /* node */
            invokevirtual org.graalvm.compiler.graph.Node.hasNoUsages:()Z
            ifeq 3
            aload 0 /* node */
            instanceof org.graalvm.compiler.nodes.GuardNode
            ifne 3
         1: .line 859
            aload 0 /* node */
            invokestatic org.graalvm.compiler.nodes.util.GraphUtil.killWithUnusedFloatingInputs:(Lorg/graalvm/compiler/graph/Node;)V
         2: .line 860
            iconst_1
            ireturn
         3: .line 862
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        end local 0 // org.graalvm.compiler.graph.Node node
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  node  Lorg/graalvm/compiler/graph/Node;
    MethodParameters:
      Name  Flags
      node  

  public static org.graalvm.compiler.graph.iterators.NodeIterable<org.graalvm.compiler.nodes.FixedNode> predecessorIterable(org.graalvm.compiler.nodes.FixedNode);
    descriptor: (Lorg/graalvm/compiler/nodes/FixedNode;)Lorg/graalvm/compiler/graph/iterators/NodeIterable;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // org.graalvm.compiler.nodes.FixedNode start
         0: .line 872
            new org.graalvm.compiler.nodes.util.GraphUtil$2
            dup
            aload 0 /* start */
            invokespecial org.graalvm.compiler.nodes.util.GraphUtil$2.<init>:(Lorg/graalvm/compiler/nodes/FixedNode;)V
            areturn
        end local 0 // org.graalvm.compiler.nodes.FixedNode start
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0  start  Lorg/graalvm/compiler/nodes/FixedNode;
    Signature: (Lorg/graalvm/compiler/nodes/FixedNode;)Lorg/graalvm/compiler/graph/iterators/NodeIterable<Lorg/graalvm/compiler/nodes/FixedNode;>;
    MethodParameters:
       Name  Flags
      start  final

  public static org.graalvm.compiler.graph.spi.SimplifierTool getDefaultSimplifier(jdk.vm.ci.meta.MetaAccessProvider, jdk.vm.ci.meta.ConstantReflectionProvider, org.graalvm.compiler.core.common.spi.ConstantFieldProvider, boolean, jdk.vm.ci.meta.Assumptions, org.graalvm.compiler.options.OptionValues);
    descriptor: (Ljdk/vm/ci/meta/MetaAccessProvider;Ljdk/vm/ci/meta/ConstantReflectionProvider;Lorg/graalvm/compiler/core/common/spi/ConstantFieldProvider;ZLjdk/vm/ci/meta/Assumptions;Lorg/graalvm/compiler/options/OptionValues;)Lorg/graalvm/compiler/graph/spi/SimplifierTool;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=7, locals=6, args_size=6
        start local 0 // jdk.vm.ci.meta.MetaAccessProvider metaAccess
        start local 1 // jdk.vm.ci.meta.ConstantReflectionProvider constantReflection
        start local 2 // org.graalvm.compiler.core.common.spi.ConstantFieldProvider constantFieldProvider
        start local 3 // boolean canonicalizeReads
        start local 4 // jdk.vm.ci.meta.Assumptions assumptions
        start local 5 // org.graalvm.compiler.options.OptionValues options
         0: .line 983
            aload 0 /* metaAccess */
            aload 1 /* constantReflection */
            aload 2 /* constantFieldProvider */
            iload 3 /* canonicalizeReads */
            aload 4 /* assumptions */
            aload 5 /* options */
            aconst_null
            invokestatic org.graalvm.compiler.nodes.util.GraphUtil.getDefaultSimplifier:(Ljdk/vm/ci/meta/MetaAccessProvider;Ljdk/vm/ci/meta/ConstantReflectionProvider;Lorg/graalvm/compiler/core/common/spi/ConstantFieldProvider;ZLjdk/vm/ci/meta/Assumptions;Lorg/graalvm/compiler/options/OptionValues;Lorg/graalvm/compiler/nodes/spi/LoweringProvider;)Lorg/graalvm/compiler/graph/spi/SimplifierTool;
            areturn
        end local 5 // org.graalvm.compiler.options.OptionValues options
        end local 4 // jdk.vm.ci.meta.Assumptions assumptions
        end local 3 // boolean canonicalizeReads
        end local 2 // org.graalvm.compiler.core.common.spi.ConstantFieldProvider constantFieldProvider
        end local 1 // jdk.vm.ci.meta.ConstantReflectionProvider constantReflection
        end local 0 // jdk.vm.ci.meta.MetaAccessProvider metaAccess
      LocalVariableTable:
        Start  End  Slot                   Name  Signature
            0    1     0             metaAccess  Ljdk/vm/ci/meta/MetaAccessProvider;
            0    1     1     constantReflection  Ljdk/vm/ci/meta/ConstantReflectionProvider;
            0    1     2  constantFieldProvider  Lorg/graalvm/compiler/core/common/spi/ConstantFieldProvider;
            0    1     3      canonicalizeReads  Z
            0    1     4            assumptions  Ljdk/vm/ci/meta/Assumptions;
            0    1     5                options  Lorg/graalvm/compiler/options/OptionValues;
    MethodParameters:
                       Name  Flags
      metaAccess             
      constantReflection     
      constantFieldProvider  
      canonicalizeReads      
      assumptions            
      options                

  public static org.graalvm.compiler.graph.spi.SimplifierTool getDefaultSimplifier(jdk.vm.ci.meta.MetaAccessProvider, jdk.vm.ci.meta.ConstantReflectionProvider, org.graalvm.compiler.core.common.spi.ConstantFieldProvider, boolean, jdk.vm.ci.meta.Assumptions, org.graalvm.compiler.options.OptionValues, org.graalvm.compiler.nodes.spi.LoweringProvider);
    descriptor: (Ljdk/vm/ci/meta/MetaAccessProvider;Ljdk/vm/ci/meta/ConstantReflectionProvider;Lorg/graalvm/compiler/core/common/spi/ConstantFieldProvider;ZLjdk/vm/ci/meta/Assumptions;Lorg/graalvm/compiler/options/OptionValues;Lorg/graalvm/compiler/nodes/spi/LoweringProvider;)Lorg/graalvm/compiler/graph/spi/SimplifierTool;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=9, locals=7, args_size=7
        start local 0 // jdk.vm.ci.meta.MetaAccessProvider metaAccess
        start local 1 // jdk.vm.ci.meta.ConstantReflectionProvider constantReflection
        start local 2 // org.graalvm.compiler.core.common.spi.ConstantFieldProvider constantFieldProvider
        start local 3 // boolean canonicalizeReads
        start local 4 // jdk.vm.ci.meta.Assumptions assumptions
        start local 5 // org.graalvm.compiler.options.OptionValues options
        start local 6 // org.graalvm.compiler.nodes.spi.LoweringProvider loweringProvider
         0: .line 988
            new org.graalvm.compiler.nodes.util.GraphUtil$DefaultSimplifierTool
            dup
            aload 0 /* metaAccess */
            aload 1 /* constantReflection */
            aload 2 /* constantFieldProvider */
            iload 3 /* canonicalizeReads */
            aload 4 /* assumptions */
            aload 5 /* options */
            aload 6 /* loweringProvider */
            invokespecial org.graalvm.compiler.nodes.util.GraphUtil$DefaultSimplifierTool.<init>:(Ljdk/vm/ci/meta/MetaAccessProvider;Ljdk/vm/ci/meta/ConstantReflectionProvider;Lorg/graalvm/compiler/core/common/spi/ConstantFieldProvider;ZLjdk/vm/ci/meta/Assumptions;Lorg/graalvm/compiler/options/OptionValues;Lorg/graalvm/compiler/nodes/spi/LoweringProvider;)V
            areturn
        end local 6 // org.graalvm.compiler.nodes.spi.LoweringProvider loweringProvider
        end local 5 // org.graalvm.compiler.options.OptionValues options
        end local 4 // jdk.vm.ci.meta.Assumptions assumptions
        end local 3 // boolean canonicalizeReads
        end local 2 // org.graalvm.compiler.core.common.spi.ConstantFieldProvider constantFieldProvider
        end local 1 // jdk.vm.ci.meta.ConstantReflectionProvider constantReflection
        end local 0 // jdk.vm.ci.meta.MetaAccessProvider metaAccess
      LocalVariableTable:
        Start  End  Slot                   Name  Signature
            0    1     0             metaAccess  Ljdk/vm/ci/meta/MetaAccessProvider;
            0    1     1     constantReflection  Ljdk/vm/ci/meta/ConstantReflectionProvider;
            0    1     2  constantFieldProvider  Lorg/graalvm/compiler/core/common/spi/ConstantFieldProvider;
            0    1     3      canonicalizeReads  Z
            0    1     4            assumptions  Ljdk/vm/ci/meta/Assumptions;
            0    1     5                options  Lorg/graalvm/compiler/options/OptionValues;
            0    1     6       loweringProvider  Lorg/graalvm/compiler/nodes/spi/LoweringProvider;
    MethodParameters:
                       Name  Flags
      metaAccess             
      constantReflection     
      constantFieldProvider  
      canonicalizeReads      
      assumptions            
      options                
      loweringProvider       

  public static jdk.vm.ci.meta.Constant foldIfConstantAndRemove(org.graalvm.compiler.nodes.ValueNode, org.graalvm.compiler.nodes.ValueNode);
    descriptor: (Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/ValueNode;)Ljdk/vm/ci/meta/Constant;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // org.graalvm.compiler.nodes.ValueNode node
        start local 1 // org.graalvm.compiler.nodes.ValueNode constant
         0: .line 992
            getstatic org.graalvm.compiler.nodes.util.GraphUtil.$assertionsDisabled:Z
            ifne 1
            aload 0 /* node */
            invokevirtual org.graalvm.compiler.nodes.ValueNode.inputs:()Lorg/graalvm/compiler/graph/iterators/NodeIterable;
            aload 1 /* constant */
            invokeinterface org.graalvm.compiler.graph.iterators.NodeIterable.contains:(Lorg/graalvm/compiler/graph/Node;)Z
            ifne 1
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         1: .line 993
      StackMap locals:
      StackMap stack:
            aload 1 /* constant */
            invokevirtual org.graalvm.compiler.nodes.ValueNode.isConstant:()Z
            ifeq 6
         2: .line 994
            aload 0 /* node */
            aload 1 /* constant */
            aconst_null
            invokevirtual org.graalvm.compiler.nodes.ValueNode.replaceFirstInput:(Lorg/graalvm/compiler/graph/Node;Lorg/graalvm/compiler/graph/Node;)V
         3: .line 995
            aload 1 /* constant */
            invokevirtual org.graalvm.compiler.nodes.ValueNode.asConstant:()Ljdk/vm/ci/meta/Constant;
            astore 2 /* result */
        start local 2 // jdk.vm.ci.meta.Constant result
         4: .line 996
            aload 1 /* constant */
            invokestatic org.graalvm.compiler.nodes.util.GraphUtil.tryKillUnused:(Lorg/graalvm/compiler/graph/Node;)Z
            pop
         5: .line 997
            aload 2 /* result */
            areturn
        end local 2 // jdk.vm.ci.meta.Constant result
         6: .line 999
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
        end local 1 // org.graalvm.compiler.nodes.ValueNode constant
        end local 0 // org.graalvm.compiler.nodes.ValueNode node
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    7     0      node  Lorg/graalvm/compiler/nodes/ValueNode;
            0    7     1  constant  Lorg/graalvm/compiler/nodes/ValueNode;
            4    6     2    result  Ljdk/vm/ci/meta/Constant;
    MethodParameters:
          Name  Flags
      node      
      constant  

  public static void virtualizeArrayCopy(org.graalvm.compiler.nodes.spi.VirtualizerTool, org.graalvm.compiler.nodes.ValueNode, org.graalvm.compiler.nodes.ValueNode, org.graalvm.compiler.nodes.ValueNode, org.graalvm.compiler.nodes.ValueNode, jdk.vm.ci.meta.ResolvedJavaType, jdk.vm.ci.meta.JavaKind, org.graalvm.compiler.nodes.StructuredGraph, java.util.function.BiFunction<jdk.vm.ci.meta.ResolvedJavaType, java.lang.Integer, org.graalvm.compiler.nodes.virtual.VirtualArrayNode>);
    descriptor: (Lorg/graalvm/compiler/nodes/spi/VirtualizerTool;Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/ValueNode;Ljdk/vm/ci/meta/ResolvedJavaType;Ljdk/vm/ci/meta/JavaKind;Lorg/graalvm/compiler/nodes/StructuredGraph;Ljava/util/function/BiFunction;)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=7, locals=23, args_size=9
        start local 0 // org.graalvm.compiler.nodes.spi.VirtualizerTool tool
        start local 1 // org.graalvm.compiler.nodes.ValueNode source
        start local 2 // org.graalvm.compiler.nodes.ValueNode sourceLength
        start local 3 // org.graalvm.compiler.nodes.ValueNode newLength
        start local 4 // org.graalvm.compiler.nodes.ValueNode from
        start local 5 // jdk.vm.ci.meta.ResolvedJavaType newComponentType
        start local 6 // jdk.vm.ci.meta.JavaKind elementKind
        start local 7 // org.graalvm.compiler.nodes.StructuredGraph graph
        start local 8 // java.util.function.BiFunction virtualArrayProvider
         0: .line 1019
            aload 0 /* tool */
            aload 1 /* source */
            invokeinterface org.graalvm.compiler.nodes.spi.VirtualizerTool.getAlias:(Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/nodes/ValueNode;
            astore 9 /* sourceAlias */
        start local 9 // org.graalvm.compiler.nodes.ValueNode sourceAlias
         1: .line 1020
            aload 0 /* tool */
            aload 2 /* sourceLength */
            invokeinterface org.graalvm.compiler.nodes.spi.VirtualizerTool.getAlias:(Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/nodes/ValueNode;
            astore 10 /* replacedSourceLength */
        start local 10 // org.graalvm.compiler.nodes.ValueNode replacedSourceLength
         2: .line 1021
            aload 0 /* tool */
            aload 3 /* newLength */
            invokeinterface org.graalvm.compiler.nodes.spi.VirtualizerTool.getAlias:(Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/nodes/ValueNode;
            astore 11 /* replacedNewLength */
        start local 11 // org.graalvm.compiler.nodes.ValueNode replacedNewLength
         3: .line 1022
            aload 0 /* tool */
            aload 4 /* from */
            invokeinterface org.graalvm.compiler.nodes.spi.VirtualizerTool.getAlias:(Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/nodes/ValueNode;
            astore 12 /* replacedFrom */
        start local 12 // org.graalvm.compiler.nodes.ValueNode replacedFrom
         4: .line 1023
            aload 11 /* replacedNewLength */
            invokevirtual org.graalvm.compiler.nodes.ValueNode.isConstant:()Z
            ifeq 5
            aload 12 /* replacedFrom */
            invokevirtual org.graalvm.compiler.nodes.ValueNode.isConstant:()Z
            ifeq 5
            aload 10 /* replacedSourceLength */
            invokevirtual org.graalvm.compiler.nodes.ValueNode.isConstant:()Z
            ifne 6
         5: .line 1024
      StackMap locals: org.graalvm.compiler.nodes.spi.VirtualizerTool org.graalvm.compiler.nodes.ValueNode org.graalvm.compiler.nodes.ValueNode org.graalvm.compiler.nodes.ValueNode org.graalvm.compiler.nodes.ValueNode jdk.vm.ci.meta.ResolvedJavaType jdk.vm.ci.meta.JavaKind org.graalvm.compiler.nodes.StructuredGraph java.util.function.BiFunction org.graalvm.compiler.nodes.ValueNode org.graalvm.compiler.nodes.ValueNode org.graalvm.compiler.nodes.ValueNode org.graalvm.compiler.nodes.ValueNode
      StackMap stack:
            return
         6: .line 1027
      StackMap locals:
      StackMap stack:
            getstatic org.graalvm.compiler.nodes.util.GraphUtil.$assertionsDisabled:Z
            ifne 7
            aload 5 /* newComponentType */
            ifnonnull 7
            new java.lang.AssertionError
            dup
            ldc "An array copy can be virtualized only if the real type of the resulting array is known statically."
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
         7: .line 1029
      StackMap locals:
      StackMap stack:
            aload 12 /* replacedFrom */
            invokevirtual org.graalvm.compiler.nodes.ValueNode.asJavaConstant:()Ljdk/vm/ci/meta/JavaConstant;
            invokeinterface jdk.vm.ci.meta.JavaConstant.asInt:()I
            istore 13 /* fromInt */
        start local 13 // int fromInt
         8: .line 1030
            aload 11 /* replacedNewLength */
            invokevirtual org.graalvm.compiler.nodes.ValueNode.asJavaConstant:()Ljdk/vm/ci/meta/JavaConstant;
            invokeinterface jdk.vm.ci.meta.JavaConstant.asInt:()I
            istore 14 /* newLengthInt */
        start local 14 // int newLengthInt
         9: .line 1031
            aload 10 /* replacedSourceLength */
            invokevirtual org.graalvm.compiler.nodes.ValueNode.asJavaConstant:()Ljdk/vm/ci/meta/JavaConstant;
            invokeinterface jdk.vm.ci.meta.JavaConstant.asInt:()I
            istore 15 /* sourceLengthInt */
        start local 15 // int sourceLengthInt
        10: .line 1032
            aload 9 /* sourceAlias */
            instanceof org.graalvm.compiler.nodes.virtual.VirtualObjectNode
            ifeq 13
        11: .line 1033
            aload 9 /* sourceAlias */
            checkcast org.graalvm.compiler.nodes.virtual.VirtualObjectNode
            astore 16 /* sourceVirtual */
        start local 16 // org.graalvm.compiler.nodes.virtual.VirtualObjectNode sourceVirtual
        12: .line 1034
            getstatic org.graalvm.compiler.nodes.util.GraphUtil.$assertionsDisabled:Z
            ifne 13
            iload 15 /* sourceLengthInt */
            aload 16 /* sourceVirtual */
            invokevirtual org.graalvm.compiler.nodes.virtual.VirtualObjectNode.entryCount:()I
            if_icmpeq 13
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        end local 16 // org.graalvm.compiler.nodes.virtual.VirtualObjectNode sourceVirtual
        13: .line 1037
      StackMap locals: int int int
      StackMap stack:
            iload 13 /* fromInt */
            iflt 14
            iload 14 /* newLengthInt */
            iflt 14
            iload 13 /* fromInt */
            iload 15 /* sourceLengthInt */
            if_icmple 15
        14: .line 1039
      StackMap locals:
      StackMap stack:
            return
        15: .line 1042
      StackMap locals:
      StackMap stack:
            iload 14 /* newLengthInt */
            aload 0 /* tool */
            invokeinterface org.graalvm.compiler.nodes.spi.VirtualizerTool.getMaximumEntryCount:()I
            if_icmplt 17
        16: .line 1044
            return
        17: .line 1047
      StackMap locals:
      StackMap stack:
            iload 14 /* newLengthInt */
            anewarray org.graalvm.compiler.nodes.ValueNode
            astore 16 /* newEntryState */
        start local 16 // org.graalvm.compiler.nodes.ValueNode[] newEntryState
        18: .line 1048
            iload 14 /* newLengthInt */
            iload 15 /* sourceLengthInt */
            iload 13 /* fromInt */
            isub
            invokestatic java.lang.Math.min:(II)I
            istore 17 /* readLength */
        start local 17 // int readLength
        19: .line 1050
            aload 9 /* sourceAlias */
            instanceof org.graalvm.compiler.nodes.virtual.VirtualObjectNode
            ifeq 37
        20: .line 1052
            aload 9 /* sourceAlias */
            checkcast org.graalvm.compiler.nodes.virtual.VirtualObjectNode
            astore 18 /* sourceVirtual */
        start local 18 // org.graalvm.compiler.nodes.virtual.VirtualObjectNode sourceVirtual
        21: .line 1053
            aload 5 /* newComponentType */
            invokeinterface jdk.vm.ci.meta.ResolvedJavaType.getJavaKind:()Ljdk/vm/ci/meta/JavaKind;
            getstatic jdk.vm.ci.meta.JavaKind.Object:Ljdk/vm/ci/meta/JavaKind;
            if_acmpne 22
            aload 5 /* newComponentType */
            invokeinterface jdk.vm.ci.meta.ResolvedJavaType.isJavaLangObject:()Z
            ifeq 22
            iconst_1
            goto 23
      StackMap locals: org.graalvm.compiler.nodes.ValueNode[] int org.graalvm.compiler.nodes.virtual.VirtualObjectNode
      StackMap stack:
        22: iconst_0
      StackMap locals:
      StackMap stack: int
        23: istore 19 /* alwaysAssignable */
        start local 19 // boolean alwaysAssignable
        24: .line 1054
            iconst_0
            istore 20 /* i */
        start local 20 // int i
        25: goto 35
        26: .line 1055
      StackMap locals: int int
      StackMap stack:
            aload 0 /* tool */
            aload 18 /* sourceVirtual */
            iload 13 /* fromInt */
            iload 20 /* i */
            iadd
            invokeinterface org.graalvm.compiler.nodes.spi.VirtualizerTool.getEntry:(Lorg/graalvm/compiler/nodes/virtual/VirtualObjectNode;I)Lorg/graalvm/compiler/nodes/ValueNode;
            astore 21 /* entry */
        start local 21 // org.graalvm.compiler.nodes.ValueNode entry
        27: .line 1056
            iload 19 /* alwaysAssignable */
            ifne 33
        28: .line 1057
            aload 21 /* entry */
            aload 0 /* tool */
            invokeinterface org.graalvm.compiler.nodes.spi.VirtualizerTool.getMetaAccess:()Ljdk/vm/ci/meta/MetaAccessProvider;
            invokestatic org.graalvm.compiler.nodes.type.StampTool.typeOrNull:(Lorg/graalvm/compiler/nodes/ValueNode;Ljdk/vm/ci/meta/MetaAccessProvider;)Ljdk/vm/ci/meta/ResolvedJavaType;
            astore 22 /* entryType */
        start local 22 // jdk.vm.ci.meta.ResolvedJavaType entryType
        29: .line 1058
            aload 22 /* entryType */
            ifnonnull 31
        30: .line 1059
            return
        31: .line 1061
      StackMap locals: org.graalvm.compiler.nodes.ValueNode jdk.vm.ci.meta.ResolvedJavaType
      StackMap stack:
            aload 5 /* newComponentType */
            aload 22 /* entryType */
            invokeinterface jdk.vm.ci.meta.ResolvedJavaType.isAssignableFrom:(Ljdk/vm/ci/meta/ResolvedJavaType;)Z
            ifne 33
        32: .line 1062
            return
        end local 22 // jdk.vm.ci.meta.ResolvedJavaType entryType
        33: .line 1065
      StackMap locals:
      StackMap stack:
            aload 16 /* newEntryState */
            iload 20 /* i */
            aload 21 /* entry */
            aastore
        end local 21 // org.graalvm.compiler.nodes.ValueNode entry
        34: .line 1054
            iinc 20 /* i */ 1
      StackMap locals:
      StackMap stack:
        35: iload 20 /* i */
            iload 17 /* readLength */
            if_icmplt 26
        end local 20 // int i
        end local 19 // boolean alwaysAssignable
        end local 18 // org.graalvm.compiler.nodes.virtual.VirtualObjectNode sourceVirtual
        36: .line 1067
            goto 47
        37: .line 1069
      StackMap locals:
      StackMap stack:
            aload 9 /* sourceAlias */
            aload 0 /* tool */
            invokeinterface org.graalvm.compiler.nodes.spi.VirtualizerTool.getMetaAccess:()Ljdk/vm/ci/meta/MetaAccessProvider;
            invokestatic org.graalvm.compiler.nodes.type.StampTool.typeOrNull:(Lorg/graalvm/compiler/nodes/ValueNode;Ljdk/vm/ci/meta/MetaAccessProvider;)Ljdk/vm/ci/meta/ResolvedJavaType;
            astore 18 /* sourceType */
        start local 18 // jdk.vm.ci.meta.ResolvedJavaType sourceType
        38: .line 1070
            aload 18 /* sourceType */
            ifnull 39
            aload 18 /* sourceType */
            invokeinterface jdk.vm.ci.meta.ResolvedJavaType.isArray:()Z
            ifeq 39
            aload 5 /* newComponentType */
            aload 18 /* sourceType */
            invokeinterface jdk.vm.ci.meta.ResolvedJavaType.getElementalType:()Ljdk/vm/ci/meta/ResolvedJavaType;
            invokeinterface jdk.vm.ci.meta.ResolvedJavaType.isAssignableFrom:(Ljdk/vm/ci/meta/ResolvedJavaType;)Z
            ifne 40
        39: .line 1071
      StackMap locals: jdk.vm.ci.meta.ResolvedJavaType
      StackMap stack:
            return
        40: .line 1073
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 19 /* i */
        start local 19 // int i
        41: goto 46
        42: .line 1074
      StackMap locals: int
      StackMap stack:
            new org.graalvm.compiler.nodes.java.LoadIndexedNode
            dup
            aconst_null
            aload 9 /* sourceAlias */
            iload 19 /* i */
            iload 13 /* fromInt */
            iadd
            aload 7 /* graph */
            invokestatic org.graalvm.compiler.nodes.ConstantNode.forInt:(ILorg/graalvm/compiler/nodes/StructuredGraph;)Lorg/graalvm/compiler/nodes/ConstantNode;
            aconst_null
            aload 6 /* elementKind */
            invokespecial org.graalvm.compiler.nodes.java.LoadIndexedNode.<init>:(Ljdk/vm/ci/meta/Assumptions;Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/extended/GuardingNode;Ljdk/vm/ci/meta/JavaKind;)V
            astore 20 /* load */
        start local 20 // org.graalvm.compiler.nodes.java.LoadIndexedNode load
        43: .line 1075
            aload 0 /* tool */
            aload 20 /* load */
            invokeinterface org.graalvm.compiler.nodes.spi.VirtualizerTool.addNode:(Lorg/graalvm/compiler/nodes/ValueNode;)V
        44: .line 1076
            aload 16 /* newEntryState */
            iload 19 /* i */
            aload 20 /* load */
            aastore
        end local 20 // org.graalvm.compiler.nodes.java.LoadIndexedNode load
        45: .line 1073
            iinc 19 /* i */ 1
      StackMap locals:
      StackMap stack:
        46: iload 19 /* i */
            iload 17 /* readLength */
            if_icmplt 42
        end local 19 // int i
        end local 18 // jdk.vm.ci.meta.ResolvedJavaType sourceType
        47: .line 1079
      StackMap locals:
      StackMap stack:
            iload 17 /* readLength */
            iload 14 /* newLengthInt */
            if_icmpge 54
        48: .line 1081
            aload 6 /* elementKind */
            aload 7 /* graph */
            invokestatic org.graalvm.compiler.nodes.ConstantNode.defaultForKind:(Ljdk/vm/ci/meta/JavaKind;Lorg/graalvm/compiler/nodes/StructuredGraph;)Lorg/graalvm/compiler/nodes/ConstantNode;
            astore 18 /* defaultValue */
        start local 18 // org.graalvm.compiler.nodes.ValueNode defaultValue
        49: .line 1082
            iload 17 /* readLength */
            istore 19 /* i */
        start local 19 // int i
        50: goto 53
        51: .line 1083
      StackMap locals: org.graalvm.compiler.nodes.ValueNode int
      StackMap stack:
            aload 16 /* newEntryState */
            iload 19 /* i */
            aload 18 /* defaultValue */
            aastore
        52: .line 1082
            iinc 19 /* i */ 1
      StackMap locals:
      StackMap stack:
        53: iload 19 /* i */
            iload 14 /* newLengthInt */
            if_icmplt 51
        end local 19 // int i
        end local 18 // org.graalvm.compiler.nodes.ValueNode defaultValue
        54: .line 1087
      StackMap locals:
      StackMap stack:
            aload 8 /* virtualArrayProvider */
            aload 5 /* newComponentType */
            iload 14 /* newLengthInt */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            invokeinterface java.util.function.BiFunction.apply:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            checkcast org.graalvm.compiler.nodes.virtual.VirtualArrayNode
            astore 18 /* newVirtualArray */
        start local 18 // org.graalvm.compiler.nodes.virtual.VirtualArrayNode newVirtualArray
        55: .line 1088
            aload 0 /* tool */
            aload 18 /* newVirtualArray */
            aload 16 /* newEntryState */
            invokestatic java.util.Collections.emptyList:()Ljava/util/List;
            iconst_0
            invokeinterface org.graalvm.compiler.nodes.spi.VirtualizerTool.createVirtualObject:(Lorg/graalvm/compiler/nodes/virtual/VirtualObjectNode;[Lorg/graalvm/compiler/nodes/ValueNode;Ljava/util/List;Z)V
        56: .line 1089
            aload 0 /* tool */
            aload 18 /* newVirtualArray */
            invokeinterface org.graalvm.compiler.nodes.spi.VirtualizerTool.replaceWithVirtual:(Lorg/graalvm/compiler/nodes/virtual/VirtualObjectNode;)V
        57: .line 1090
            return
        end local 18 // org.graalvm.compiler.nodes.virtual.VirtualArrayNode newVirtualArray
        end local 17 // int readLength
        end local 16 // org.graalvm.compiler.nodes.ValueNode[] newEntryState
        end local 15 // int sourceLengthInt
        end local 14 // int newLengthInt
        end local 13 // int fromInt
        end local 12 // org.graalvm.compiler.nodes.ValueNode replacedFrom
        end local 11 // org.graalvm.compiler.nodes.ValueNode replacedNewLength
        end local 10 // org.graalvm.compiler.nodes.ValueNode replacedSourceLength
        end local 9 // org.graalvm.compiler.nodes.ValueNode sourceAlias
        end local 8 // java.util.function.BiFunction virtualArrayProvider
        end local 7 // org.graalvm.compiler.nodes.StructuredGraph graph
        end local 6 // jdk.vm.ci.meta.JavaKind elementKind
        end local 5 // jdk.vm.ci.meta.ResolvedJavaType newComponentType
        end local 4 // org.graalvm.compiler.nodes.ValueNode from
        end local 3 // org.graalvm.compiler.nodes.ValueNode newLength
        end local 2 // org.graalvm.compiler.nodes.ValueNode sourceLength
        end local 1 // org.graalvm.compiler.nodes.ValueNode source
        end local 0 // org.graalvm.compiler.nodes.spi.VirtualizerTool tool
      LocalVariableTable:
        Start  End  Slot                  Name  Signature
            0   58     0                  tool  Lorg/graalvm/compiler/nodes/spi/VirtualizerTool;
            0   58     1                source  Lorg/graalvm/compiler/nodes/ValueNode;
            0   58     2          sourceLength  Lorg/graalvm/compiler/nodes/ValueNode;
            0   58     3             newLength  Lorg/graalvm/compiler/nodes/ValueNode;
            0   58     4                  from  Lorg/graalvm/compiler/nodes/ValueNode;
            0   58     5      newComponentType  Ljdk/vm/ci/meta/ResolvedJavaType;
            0   58     6           elementKind  Ljdk/vm/ci/meta/JavaKind;
            0   58     7                 graph  Lorg/graalvm/compiler/nodes/StructuredGraph;
            0   58     8  virtualArrayProvider  Ljava/util/function/BiFunction<Ljdk/vm/ci/meta/ResolvedJavaType;Ljava/lang/Integer;Lorg/graalvm/compiler/nodes/virtual/VirtualArrayNode;>;
            1   58     9           sourceAlias  Lorg/graalvm/compiler/nodes/ValueNode;
            2   58    10  replacedSourceLength  Lorg/graalvm/compiler/nodes/ValueNode;
            3   58    11     replacedNewLength  Lorg/graalvm/compiler/nodes/ValueNode;
            4   58    12          replacedFrom  Lorg/graalvm/compiler/nodes/ValueNode;
            8   58    13               fromInt  I
            9   58    14          newLengthInt  I
           10   58    15       sourceLengthInt  I
           12   13    16         sourceVirtual  Lorg/graalvm/compiler/nodes/virtual/VirtualObjectNode;
           18   58    16         newEntryState  [Lorg/graalvm/compiler/nodes/ValueNode;
           19   58    17            readLength  I
           21   36    18         sourceVirtual  Lorg/graalvm/compiler/nodes/virtual/VirtualObjectNode;
           24   36    19      alwaysAssignable  Z
           25   36    20                     i  I
           27   34    21                 entry  Lorg/graalvm/compiler/nodes/ValueNode;
           29   33    22             entryType  Ljdk/vm/ci/meta/ResolvedJavaType;
           38   47    18            sourceType  Ljdk/vm/ci/meta/ResolvedJavaType;
           41   47    19                     i  I
           43   45    20                  load  Lorg/graalvm/compiler/nodes/java/LoadIndexedNode;
           49   54    18          defaultValue  Lorg/graalvm/compiler/nodes/ValueNode;
           50   54    19                     i  I
           55   58    18       newVirtualArray  Lorg/graalvm/compiler/nodes/virtual/VirtualArrayNode;
    Signature: (Lorg/graalvm/compiler/nodes/spi/VirtualizerTool;Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/ValueNode;Ljdk/vm/ci/meta/ResolvedJavaType;Ljdk/vm/ci/meta/JavaKind;Lorg/graalvm/compiler/nodes/StructuredGraph;Ljava/util/function/BiFunction<Ljdk/vm/ci/meta/ResolvedJavaType;Ljava/lang/Integer;Lorg/graalvm/compiler/nodes/virtual/VirtualArrayNode;>;)V
    MethodParameters:
                      Name  Flags
      tool                  
      source                
      sourceLength          
      newLength             
      from                  
      newComponentType      
      elementKind           
      graph                 
      virtualArrayProvider  

  private static boolean lambda$0(jdk.internal.vm.compiler.collections.EconomicSet, org.graalvm.compiler.graph.Node);
    descriptor: (Ljdk/internal/vm/compiler/collections/EconomicSet;Lorg/graalvm/compiler/graph/Node;)Z
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=2, locals=2, args_size=2
        start local 1 // org.graalvm.compiler.graph.Node n
         0: .line 183
            aload 0
            aload 1 /* n */
            invokeinterface jdk.internal.vm.compiler.collections.EconomicSet.contains:(Ljava/lang/Object;)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
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     1     n  Lorg/graalvm/compiler/graph/Node;
}
SourceFile: "GraphUtil.java"
NestMembers:
  org.graalvm.compiler.nodes.util.GraphUtil$1  org.graalvm.compiler.nodes.util.GraphUtil$2  org.graalvm.compiler.nodes.util.GraphUtil$2$1  org.graalvm.compiler.nodes.util.GraphUtil$DefaultSimplifierTool  org.graalvm.compiler.nodes.util.GraphUtil$Options
InnerClasses:
  public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles
  public abstract Scope = org.graalvm.compiler.debug.DebugContext$Scope of org.graalvm.compiler.debug.DebugContext
  public Mark = org.graalvm.compiler.graph.Graph$Mark of org.graalvm.compiler.graph.Graph
  public abstract NodeEventListener = org.graalvm.compiler.graph.Graph$NodeEventListener of org.graalvm.compiler.graph.Graph
  public final NodeEventScope = org.graalvm.compiler.graph.Graph$NodeEventScope of org.graalvm.compiler.graph.Graph
  public Options = org.graalvm.compiler.graph.Graph$Options of org.graalvm.compiler.graph.Graph
  public final FindLengthMode = org.graalvm.compiler.nodes.spi.ArrayLengthProvider$FindLengthMode of org.graalvm.compiler.nodes.spi.ArrayLengthProvider
  org.graalvm.compiler.nodes.util.GraphUtil$1
  org.graalvm.compiler.nodes.util.GraphUtil$2
  private final DefaultSimplifierTool = org.graalvm.compiler.nodes.util.GraphUtil$DefaultSimplifierTool of org.graalvm.compiler.nodes.util.GraphUtil
  public Options = org.graalvm.compiler.nodes.util.GraphUtil$Options of org.graalvm.compiler.nodes.util.GraphUtil