public class org.graalvm.compiler.loop.phases.ConvertDeoptimizeToGuardPhase extends org.graalvm.compiler.phases.BasePhase<org.graalvm.compiler.nodes.spi.CoreProviders>
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.graalvm.compiler.loop.phases.ConvertDeoptimizeToGuardPhase
  super_class: org.graalvm.compiler.phases.BasePhase
{
  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 84
            ldc Lorg/graalvm/compiler/loop/phases/ConvertDeoptimizeToGuardPhase;
            invokevirtual java.lang.Class.desiredAssertionStatus:()Z
            ifne 1
            iconst_1
            goto 2
      StackMap locals:
      StackMap stack:
         1: iconst_0
      StackMap locals:
      StackMap stack: int
         2: putstatic org.graalvm.compiler.loop.phases.ConvertDeoptimizeToGuardPhase.$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.loop.phases.ConvertDeoptimizeToGuardPhase this
         0: .line 84
            aload 0 /* this */
            invokespecial org.graalvm.compiler.phases.BasePhase.<init>:()V
            return
        end local 0 // org.graalvm.compiler.loop.phases.ConvertDeoptimizeToGuardPhase this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/graalvm/compiler/loop/phases/ConvertDeoptimizeToGuardPhase;

  protected void run(org.graalvm.compiler.nodes.StructuredGraph, org.graalvm.compiler.nodes.spi.CoreProviders);
    descriptor: (Lorg/graalvm/compiler/nodes/StructuredGraph;Lorg/graalvm/compiler/nodes/spi/CoreProviders;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=4, locals=9, args_size=3
        start local 0 // org.graalvm.compiler.loop.phases.ConvertDeoptimizeToGuardPhase this
        start local 1 // org.graalvm.compiler.nodes.StructuredGraph graph
        start local 2 // org.graalvm.compiler.nodes.spi.CoreProviders context
         0: .line 88
            getstatic org.graalvm.compiler.loop.phases.ConvertDeoptimizeToGuardPhase.$assertionsDisabled:Z
            ifne 1
            aload 1 /* graph */
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph.hasValueProxies:()Z
            ifne 1
            new java.lang.AssertionError
            dup
            ldc "ConvertDeoptimizeToGuardPhase always creates proxies"
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
         1: .line 89
      StackMap locals:
      StackMap stack:
            getstatic org.graalvm.compiler.loop.phases.ConvertDeoptimizeToGuardPhase.$assertionsDisabled:Z
            ifne 2
            aload 1 /* graph */
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph.getGuardsStage:()Lorg/graalvm/compiler/nodes/StructuredGraph$GuardsStage;
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph$GuardsStage.areFrameStatesAtDeopts:()Z
            ifeq 2
            new java.lang.AssertionError
            dup
            aload 1 /* graph */
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph.getGuardsStage:()Lorg/graalvm/compiler/nodes/StructuredGraph$GuardsStage;
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
         2: .line 90
      StackMap locals:
      StackMap stack:
            new org.graalvm.compiler.phases.common.LazyValue
            dup
            aload 1 /* graph */
            invokedynamic get(Lorg/graalvm/compiler/nodes/StructuredGraph;)Ljava/util/function/Supplier;
              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:
                  ()Ljava/lang/Object;
                  org/graalvm/compiler/loop/phases/ConvertDeoptimizeToGuardPhase.lambda$0(Lorg/graalvm/compiler/nodes/StructuredGraph;)Lorg/graalvm/compiler/loop/LoopsData; (6)
                  ()Lorg/graalvm/compiler/loop/LoopsData;
            invokespecial org.graalvm.compiler.phases.common.LazyValue.<init>:(Ljava/util/function/Supplier;)V
            astore 3 /* lazyLoops */
        start local 3 // org.graalvm.compiler.phases.common.LazyValue lazyLoops
         3: .line 92
            aload 1 /* graph */
            getstatic org.graalvm.compiler.nodes.DeoptimizeNode.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 5
            goto 19
      StackMap locals: org.graalvm.compiler.loop.phases.ConvertDeoptimizeToGuardPhase org.graalvm.compiler.nodes.StructuredGraph org.graalvm.compiler.nodes.spi.CoreProviders org.graalvm.compiler.phases.common.LazyValue top java.util.Iterator
      StackMap stack:
         4: aload 5
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.graalvm.compiler.nodes.DeoptimizeNode
            astore 4 /* d */
        start local 4 // org.graalvm.compiler.nodes.DeoptimizeNode d
         5: .line 93
            getstatic org.graalvm.compiler.loop.phases.ConvertDeoptimizeToGuardPhase.$assertionsDisabled:Z
            ifne 6
            aload 4 /* d */
            invokevirtual org.graalvm.compiler.nodes.DeoptimizeNode.isAlive:()Z
            ifne 6
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         6: .line 94
      StackMap locals: org.graalvm.compiler.loop.phases.ConvertDeoptimizeToGuardPhase org.graalvm.compiler.nodes.StructuredGraph org.graalvm.compiler.nodes.spi.CoreProviders org.graalvm.compiler.phases.common.LazyValue org.graalvm.compiler.nodes.DeoptimizeNode java.util.Iterator
      StackMap stack:
            aload 4 /* d */
            invokevirtual org.graalvm.compiler.nodes.DeoptimizeNode.getAction:()Ljdk/vm/ci/meta/DeoptimizationAction;
            getstatic jdk.vm.ci.meta.DeoptimizationAction.None:Ljdk/vm/ci/meta/DeoptimizationAction;
            if_acmpne 8
         7: .line 95
            goto 19
         8: .line 97
      StackMap locals:
      StackMap stack:
            aconst_null
            astore 6
            aconst_null
            astore 7
         9: aload 4 /* d */
            invokevirtual org.graalvm.compiler.nodes.DeoptimizeNode.withNodeSourcePosition:()Lorg/graalvm/compiler/debug/DebugCloseable;
            astore 8 /* closable */
        start local 8 // org.graalvm.compiler.debug.DebugCloseable closable
        10: .line 98
            aload 4 /* d */
            aload 4 /* d */
            aload 2 /* context */
            ifnull 11
            aload 2 /* context */
            invokeinterface org.graalvm.compiler.nodes.spi.CoreProviders.getLowerer:()Lorg/graalvm/compiler/nodes/spi/LoweringProvider;
            goto 12
      StackMap locals: org.graalvm.compiler.loop.phases.ConvertDeoptimizeToGuardPhase org.graalvm.compiler.nodes.StructuredGraph org.graalvm.compiler.nodes.spi.CoreProviders org.graalvm.compiler.phases.common.LazyValue org.graalvm.compiler.nodes.DeoptimizeNode java.util.Iterator java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.DebugCloseable
      StackMap stack: org.graalvm.compiler.nodes.DeoptimizeNode org.graalvm.compiler.nodes.DeoptimizeNode
        11: aconst_null
      StackMap locals: org.graalvm.compiler.loop.phases.ConvertDeoptimizeToGuardPhase org.graalvm.compiler.nodes.StructuredGraph org.graalvm.compiler.nodes.spi.CoreProviders org.graalvm.compiler.phases.common.LazyValue org.graalvm.compiler.nodes.DeoptimizeNode java.util.Iterator java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.DebugCloseable
      StackMap stack: org.graalvm.compiler.nodes.DeoptimizeNode org.graalvm.compiler.nodes.DeoptimizeNode org.graalvm.compiler.nodes.spi.LoweringProvider
        12: aload 3 /* lazyLoops */
            invokestatic org.graalvm.compiler.loop.phases.ConvertDeoptimizeToGuardPhase.propagateFixed:(Lorg/graalvm/compiler/nodes/FixedNode;Lorg/graalvm/compiler/nodes/StaticDeoptimizingNode;Lorg/graalvm/compiler/nodes/spi/LoweringProvider;Lorg/graalvm/compiler/phases/common/LazyValue;)V
        13: .line 99
            aload 8 /* closable */
            ifnull 19
            aload 8 /* closable */
            invokeinterface org.graalvm.compiler.debug.DebugCloseable.close:()V
            goto 19
      StackMap locals:
      StackMap stack: java.lang.Throwable
        14: astore 6
            aload 8 /* closable */
            ifnull 15
            aload 8 /* closable */
            invokeinterface org.graalvm.compiler.debug.DebugCloseable.close:()V
        end local 8 // org.graalvm.compiler.debug.DebugCloseable closable
      StackMap locals:
      StackMap stack:
        15: aload 6
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
        16: astore 7
            aload 6
            ifnonnull 17
            aload 7
            astore 6
            goto 18
      StackMap locals:
      StackMap stack:
        17: aload 6
            aload 7
            if_acmpeq 18
            aload 6
            aload 7
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        18: aload 6
            athrow
        end local 4 // org.graalvm.compiler.nodes.DeoptimizeNode d
        19: .line 92
      StackMap locals: org.graalvm.compiler.loop.phases.ConvertDeoptimizeToGuardPhase org.graalvm.compiler.nodes.StructuredGraph org.graalvm.compiler.nodes.spi.CoreProviders org.graalvm.compiler.phases.common.LazyValue top java.util.Iterator
      StackMap stack:
            aload 5
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 4
        20: .line 102
            aload 2 /* context */
            ifnull 33
        21: .line 103
            aload 1 /* graph */
            getstatic org.graalvm.compiler.nodes.FixedGuardNode.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 5
            goto 32
      StackMap locals:
      StackMap stack:
        22: aload 5
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.graalvm.compiler.nodes.FixedGuardNode
            astore 4 /* fixedGuard */
        start local 4 // org.graalvm.compiler.nodes.FixedGuardNode fixedGuard
        23: .line 104
            aconst_null
            astore 6
            aconst_null
            astore 7
        24: aload 4 /* fixedGuard */
            invokevirtual org.graalvm.compiler.nodes.FixedGuardNode.withNodeSourcePosition:()Lorg/graalvm/compiler/debug/DebugCloseable;
            astore 8 /* closable */
        start local 8 // org.graalvm.compiler.debug.DebugCloseable closable
        25: .line 105
            aload 4 /* fixedGuard */
            aload 2 /* context */
            aload 3 /* lazyLoops */
            invokestatic org.graalvm.compiler.loop.phases.ConvertDeoptimizeToGuardPhase.trySplitFixedGuard:(Lorg/graalvm/compiler/nodes/FixedGuardNode;Lorg/graalvm/compiler/nodes/spi/CoreProviders;Lorg/graalvm/compiler/phases/common/LazyValue;)V
        26: .line 106
            aload 8 /* closable */
            ifnull 32
            aload 8 /* closable */
            invokeinterface org.graalvm.compiler.debug.DebugCloseable.close:()V
            goto 32
      StackMap locals: org.graalvm.compiler.loop.phases.ConvertDeoptimizeToGuardPhase org.graalvm.compiler.nodes.StructuredGraph org.graalvm.compiler.nodes.spi.CoreProviders org.graalvm.compiler.phases.common.LazyValue org.graalvm.compiler.nodes.FixedGuardNode java.util.Iterator java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.DebugCloseable
      StackMap stack: java.lang.Throwable
        27: astore 6
            aload 8 /* closable */
            ifnull 28
            aload 8 /* closable */
            invokeinterface org.graalvm.compiler.debug.DebugCloseable.close:()V
        end local 8 // org.graalvm.compiler.debug.DebugCloseable closable
      StackMap locals:
      StackMap stack:
        28: aload 6
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
        29: astore 7
            aload 6
            ifnonnull 30
            aload 7
            astore 6
            goto 31
      StackMap locals:
      StackMap stack:
        30: aload 6
            aload 7
            if_acmpeq 31
            aload 6
            aload 7
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        31: aload 6
            athrow
        end local 4 // org.graalvm.compiler.nodes.FixedGuardNode fixedGuard
        32: .line 103
      StackMap locals: org.graalvm.compiler.loop.phases.ConvertDeoptimizeToGuardPhase org.graalvm.compiler.nodes.StructuredGraph org.graalvm.compiler.nodes.spi.CoreProviders org.graalvm.compiler.phases.common.LazyValue top java.util.Iterator
      StackMap stack:
            aload 5
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 22
        33: .line 110
      StackMap locals: org.graalvm.compiler.loop.phases.ConvertDeoptimizeToGuardPhase org.graalvm.compiler.nodes.StructuredGraph org.graalvm.compiler.nodes.spi.CoreProviders org.graalvm.compiler.phases.common.LazyValue
      StackMap stack:
            new org.graalvm.compiler.phases.common.DeadCodeEliminationPhase
            dup
            getstatic org.graalvm.compiler.phases.common.DeadCodeEliminationPhase$Optionality.Optional:Lorg/graalvm/compiler/phases/common/DeadCodeEliminationPhase$Optionality;
            invokespecial org.graalvm.compiler.phases.common.DeadCodeEliminationPhase.<init>:(Lorg/graalvm/compiler/phases/common/DeadCodeEliminationPhase$Optionality;)V
            aload 1 /* graph */
            invokevirtual org.graalvm.compiler.phases.common.DeadCodeEliminationPhase.apply:(Lorg/graalvm/compiler/nodes/StructuredGraph;)V
        34: .line 111
            return
        end local 3 // org.graalvm.compiler.phases.common.LazyValue lazyLoops
        end local 2 // org.graalvm.compiler.nodes.spi.CoreProviders context
        end local 1 // org.graalvm.compiler.nodes.StructuredGraph graph
        end local 0 // org.graalvm.compiler.loop.phases.ConvertDeoptimizeToGuardPhase this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   35     0        this  Lorg/graalvm/compiler/loop/phases/ConvertDeoptimizeToGuardPhase;
            0   35     1       graph  Lorg/graalvm/compiler/nodes/StructuredGraph;
            0   35     2     context  Lorg/graalvm/compiler/nodes/spi/CoreProviders;
            3   35     3   lazyLoops  Lorg/graalvm/compiler/phases/common/LazyValue<Lorg/graalvm/compiler/loop/LoopsData;>;
            5   19     4           d  Lorg/graalvm/compiler/nodes/DeoptimizeNode;
           10   15     8    closable  Lorg/graalvm/compiler/debug/DebugCloseable;
           23   32     4  fixedGuard  Lorg/graalvm/compiler/nodes/FixedGuardNode;
           25   28     8    closable  Lorg/graalvm/compiler/debug/DebugCloseable;
      Exception table:
        from    to  target  type
          10    13      14  any
           9    16      16  any
          25    26      27  any
          24    29      29  any
    MethodParameters:
         Name  Flags
      graph    final
      context  

  private static void trySplitFixedGuard(org.graalvm.compiler.nodes.FixedGuardNode, org.graalvm.compiler.nodes.spi.CoreProviders, org.graalvm.compiler.phases.common.LazyValue<org.graalvm.compiler.loop.LoopsData>);
    descriptor: (Lorg/graalvm/compiler/nodes/FixedGuardNode;Lorg/graalvm/compiler/nodes/spi/CoreProviders;Lorg/graalvm/compiler/phases/common/LazyValue;)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=8, locals=9, args_size=3
        start local 0 // org.graalvm.compiler.nodes.FixedGuardNode fixedGuard
        start local 1 // org.graalvm.compiler.nodes.spi.CoreProviders context
        start local 2 // org.graalvm.compiler.phases.common.LazyValue lazyLoops
         0: .line 114
            aload 0 /* fixedGuard */
            invokevirtual org.graalvm.compiler.nodes.FixedGuardNode.condition:()Lorg/graalvm/compiler/nodes/LogicNode;
            astore 3 /* condition */
        start local 3 // org.graalvm.compiler.nodes.LogicNode condition
         1: .line 115
            aload 3 /* condition */
            instanceof org.graalvm.compiler.nodes.calc.CompareNode
            ifeq 14
         2: .line 116
            aload 3 /* condition */
            checkcast org.graalvm.compiler.nodes.calc.CompareNode
            astore 4 /* compare */
        start local 4 // org.graalvm.compiler.nodes.calc.CompareNode compare
         3: .line 117
            aload 4 /* compare */
            invokevirtual org.graalvm.compiler.nodes.calc.CompareNode.getX:()Lorg/graalvm/compiler/nodes/ValueNode;
            astore 5 /* x */
        start local 5 // org.graalvm.compiler.nodes.ValueNode x
         4: .line 118
            aload 5 /* x */
            instanceof org.graalvm.compiler.nodes.ValuePhiNode
            ifeq 5
            aload 5 /* x */
            checkcast org.graalvm.compiler.nodes.ValuePhiNode
            goto 6
      StackMap locals: org.graalvm.compiler.nodes.LogicNode org.graalvm.compiler.nodes.calc.CompareNode org.graalvm.compiler.nodes.ValueNode
      StackMap stack:
         5: aconst_null
      StackMap locals:
      StackMap stack: org.graalvm.compiler.nodes.ValuePhiNode
         6: astore 6 /* xPhi */
        start local 6 // org.graalvm.compiler.nodes.ValuePhiNode xPhi
         7: .line 119
            aload 5 /* x */
            instanceof org.graalvm.compiler.nodes.ConstantNode
            ifne 8
            aload 6 /* xPhi */
            ifnull 14
         8: .line 120
      StackMap locals: org.graalvm.compiler.nodes.ValuePhiNode
      StackMap stack:
            aload 4 /* compare */
            invokevirtual org.graalvm.compiler.nodes.calc.CompareNode.getY:()Lorg/graalvm/compiler/nodes/ValueNode;
            astore 7 /* y */
        start local 7 // org.graalvm.compiler.nodes.ValueNode y
         9: .line 121
            aload 7 /* y */
            instanceof org.graalvm.compiler.nodes.ValuePhiNode
            ifeq 10
            aload 7 /* y */
            checkcast org.graalvm.compiler.nodes.ValuePhiNode
            goto 11
      StackMap locals: org.graalvm.compiler.nodes.ValueNode
      StackMap stack:
        10: aconst_null
      StackMap locals:
      StackMap stack: org.graalvm.compiler.nodes.ValuePhiNode
        11: astore 8 /* yPhi */
        start local 8 // org.graalvm.compiler.nodes.ValuePhiNode yPhi
        12: .line 122
            aload 7 /* y */
            instanceof org.graalvm.compiler.nodes.ConstantNode
            ifne 13
            aload 8 /* yPhi */
            ifnull 14
        13: .line 123
      StackMap locals: org.graalvm.compiler.nodes.ValuePhiNode
      StackMap stack:
            aload 0 /* fixedGuard */
            aload 1 /* context */
            aload 4 /* compare */
            aload 5 /* x */
            aload 6 /* xPhi */
            aload 7 /* y */
            aload 8 /* yPhi */
            aload 2 /* lazyLoops */
            invokestatic org.graalvm.compiler.loop.phases.ConvertDeoptimizeToGuardPhase.processFixedGuardAndPhis:(Lorg/graalvm/compiler/nodes/FixedGuardNode;Lorg/graalvm/compiler/nodes/spi/CoreProviders;Lorg/graalvm/compiler/nodes/calc/CompareNode;Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/ValuePhiNode;Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/ValuePhiNode;Lorg/graalvm/compiler/phases/common/LazyValue;)V
        end local 8 // org.graalvm.compiler.nodes.ValuePhiNode yPhi
        end local 7 // org.graalvm.compiler.nodes.ValueNode y
        end local 6 // org.graalvm.compiler.nodes.ValuePhiNode xPhi
        end local 5 // org.graalvm.compiler.nodes.ValueNode x
        end local 4 // org.graalvm.compiler.nodes.calc.CompareNode compare
        14: .line 127
      StackMap locals: org.graalvm.compiler.nodes.FixedGuardNode org.graalvm.compiler.nodes.spi.CoreProviders org.graalvm.compiler.phases.common.LazyValue org.graalvm.compiler.nodes.LogicNode
      StackMap stack:
            return
        end local 3 // org.graalvm.compiler.nodes.LogicNode condition
        end local 2 // org.graalvm.compiler.phases.common.LazyValue lazyLoops
        end local 1 // org.graalvm.compiler.nodes.spi.CoreProviders context
        end local 0 // org.graalvm.compiler.nodes.FixedGuardNode fixedGuard
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   15     0  fixedGuard  Lorg/graalvm/compiler/nodes/FixedGuardNode;
            0   15     1     context  Lorg/graalvm/compiler/nodes/spi/CoreProviders;
            0   15     2   lazyLoops  Lorg/graalvm/compiler/phases/common/LazyValue<Lorg/graalvm/compiler/loop/LoopsData;>;
            1   15     3   condition  Lorg/graalvm/compiler/nodes/LogicNode;
            3   14     4     compare  Lorg/graalvm/compiler/nodes/calc/CompareNode;
            4   14     5           x  Lorg/graalvm/compiler/nodes/ValueNode;
            7   14     6        xPhi  Lorg/graalvm/compiler/nodes/ValuePhiNode;
            9   14     7           y  Lorg/graalvm/compiler/nodes/ValueNode;
           12   14     8        yPhi  Lorg/graalvm/compiler/nodes/ValuePhiNode;
    Signature: (Lorg/graalvm/compiler/nodes/FixedGuardNode;Lorg/graalvm/compiler/nodes/spi/CoreProviders;Lorg/graalvm/compiler/phases/common/LazyValue<Lorg/graalvm/compiler/loop/LoopsData;>;)V
    MethodParameters:
            Name  Flags
      fixedGuard  
      context     
      lazyLoops   

  private static void processFixedGuardAndPhis(org.graalvm.compiler.nodes.FixedGuardNode, org.graalvm.compiler.nodes.spi.CoreProviders, org.graalvm.compiler.nodes.calc.CompareNode, org.graalvm.compiler.nodes.ValueNode, org.graalvm.compiler.nodes.ValuePhiNode, org.graalvm.compiler.nodes.ValueNode, org.graalvm.compiler.nodes.ValuePhiNode, org.graalvm.compiler.phases.common.LazyValue<org.graalvm.compiler.loop.LoopsData>);
    descriptor: (Lorg/graalvm/compiler/nodes/FixedGuardNode;Lorg/graalvm/compiler/nodes/spi/CoreProviders;Lorg/graalvm/compiler/nodes/calc/CompareNode;Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/ValuePhiNode;Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/ValuePhiNode;Lorg/graalvm/compiler/phases/common/LazyValue;)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=9, locals=10, args_size=8
        start local 0 // org.graalvm.compiler.nodes.FixedGuardNode fixedGuard
        start local 1 // org.graalvm.compiler.nodes.spi.CoreProviders context
        start local 2 // org.graalvm.compiler.nodes.calc.CompareNode compare
        start local 3 // org.graalvm.compiler.nodes.ValueNode x
        start local 4 // org.graalvm.compiler.nodes.ValuePhiNode xPhi
        start local 5 // org.graalvm.compiler.nodes.ValueNode y
        start local 6 // org.graalvm.compiler.nodes.ValuePhiNode yPhi
        start local 7 // org.graalvm.compiler.phases.common.LazyValue lazyLoops
         0: .line 131
            aload 0 /* fixedGuard */
            invokestatic org.graalvm.compiler.nodes.AbstractBeginNode.prevBegin:(Lorg/graalvm/compiler/nodes/FixedNode;)Lorg/graalvm/compiler/nodes/AbstractBeginNode;
            astore 8 /* pred */
        start local 8 // org.graalvm.compiler.nodes.AbstractBeginNode pred
         1: .line 132
            aload 8 /* pred */
            instanceof org.graalvm.compiler.nodes.AbstractMergeNode
            ifeq 8
         2: .line 133
            aload 8 /* pred */
            checkcast org.graalvm.compiler.nodes.AbstractMergeNode
            astore 9 /* merge */
        start local 9 // org.graalvm.compiler.nodes.AbstractMergeNode merge
         3: .line 134
            aload 4 /* xPhi */
            ifnull 5
            aload 4 /* xPhi */
            invokevirtual org.graalvm.compiler.nodes.ValuePhiNode.merge:()Lorg/graalvm/compiler/nodes/AbstractMergeNode;
            aload 9 /* merge */
            if_acmpeq 5
         4: .line 135
            return
         5: .line 137
      StackMap locals: org.graalvm.compiler.nodes.AbstractBeginNode org.graalvm.compiler.nodes.AbstractMergeNode
      StackMap stack:
            aload 6 /* yPhi */
            ifnull 7
            aload 6 /* yPhi */
            invokevirtual org.graalvm.compiler.nodes.ValuePhiNode.merge:()Lorg/graalvm/compiler/nodes/AbstractMergeNode;
            aload 9 /* merge */
            if_acmpeq 7
         6: .line 138
            return
         7: .line 141
      StackMap locals:
      StackMap stack:
            aload 0 /* fixedGuard */
            aload 1 /* context */
            aload 2 /* compare */
            aload 3 /* x */
            aload 4 /* xPhi */
            aload 5 /* y */
            aload 6 /* yPhi */
            aload 9 /* merge */
            aload 7 /* lazyLoops */
            invokestatic org.graalvm.compiler.loop.phases.ConvertDeoptimizeToGuardPhase.processFixedGuardAndMerge:(Lorg/graalvm/compiler/nodes/FixedGuardNode;Lorg/graalvm/compiler/nodes/spi/CoreProviders;Lorg/graalvm/compiler/nodes/calc/CompareNode;Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/ValuePhiNode;Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/ValuePhiNode;Lorg/graalvm/compiler/nodes/AbstractMergeNode;Lorg/graalvm/compiler/phases/common/LazyValue;)V
        end local 9 // org.graalvm.compiler.nodes.AbstractMergeNode merge
         8: .line 143
      StackMap locals:
      StackMap stack:
            return
        end local 8 // org.graalvm.compiler.nodes.AbstractBeginNode pred
        end local 7 // org.graalvm.compiler.phases.common.LazyValue lazyLoops
        end local 6 // org.graalvm.compiler.nodes.ValuePhiNode yPhi
        end local 5 // org.graalvm.compiler.nodes.ValueNode y
        end local 4 // org.graalvm.compiler.nodes.ValuePhiNode xPhi
        end local 3 // org.graalvm.compiler.nodes.ValueNode x
        end local 2 // org.graalvm.compiler.nodes.calc.CompareNode compare
        end local 1 // org.graalvm.compiler.nodes.spi.CoreProviders context
        end local 0 // org.graalvm.compiler.nodes.FixedGuardNode fixedGuard
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    9     0  fixedGuard  Lorg/graalvm/compiler/nodes/FixedGuardNode;
            0    9     1     context  Lorg/graalvm/compiler/nodes/spi/CoreProviders;
            0    9     2     compare  Lorg/graalvm/compiler/nodes/calc/CompareNode;
            0    9     3           x  Lorg/graalvm/compiler/nodes/ValueNode;
            0    9     4        xPhi  Lorg/graalvm/compiler/nodes/ValuePhiNode;
            0    9     5           y  Lorg/graalvm/compiler/nodes/ValueNode;
            0    9     6        yPhi  Lorg/graalvm/compiler/nodes/ValuePhiNode;
            0    9     7   lazyLoops  Lorg/graalvm/compiler/phases/common/LazyValue<Lorg/graalvm/compiler/loop/LoopsData;>;
            1    9     8        pred  Lorg/graalvm/compiler/nodes/AbstractBeginNode;
            3    8     9       merge  Lorg/graalvm/compiler/nodes/AbstractMergeNode;
    Signature: (Lorg/graalvm/compiler/nodes/FixedGuardNode;Lorg/graalvm/compiler/nodes/spi/CoreProviders;Lorg/graalvm/compiler/nodes/calc/CompareNode;Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/ValuePhiNode;Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/ValuePhiNode;Lorg/graalvm/compiler/phases/common/LazyValue<Lorg/graalvm/compiler/loop/LoopsData;>;)V
    MethodParameters:
            Name  Flags
      fixedGuard  
      context     
      compare     
      x           
      xPhi        
      y           
      yPhi        
      lazyLoops   

  private static void processFixedGuardAndMerge(org.graalvm.compiler.nodes.FixedGuardNode, org.graalvm.compiler.nodes.spi.CoreProviders, org.graalvm.compiler.nodes.calc.CompareNode, org.graalvm.compiler.nodes.ValueNode, org.graalvm.compiler.nodes.ValuePhiNode, org.graalvm.compiler.nodes.ValueNode, org.graalvm.compiler.nodes.ValuePhiNode, org.graalvm.compiler.nodes.AbstractMergeNode, org.graalvm.compiler.phases.common.LazyValue<org.graalvm.compiler.loop.LoopsData>);
    descriptor: (Lorg/graalvm/compiler/nodes/FixedGuardNode;Lorg/graalvm/compiler/nodes/spi/CoreProviders;Lorg/graalvm/compiler/nodes/calc/CompareNode;Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/ValuePhiNode;Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/ValuePhiNode;Lorg/graalvm/compiler/nodes/AbstractMergeNode;Lorg/graalvm/compiler/phases/common/LazyValue;)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=5, locals=17, args_size=9
        start local 0 // org.graalvm.compiler.nodes.FixedGuardNode fixedGuard
        start local 1 // org.graalvm.compiler.nodes.spi.CoreProviders context
        start local 2 // org.graalvm.compiler.nodes.calc.CompareNode compare
        start local 3 // org.graalvm.compiler.nodes.ValueNode x
        start local 4 // org.graalvm.compiler.nodes.ValuePhiNode xPhi
        start local 5 // org.graalvm.compiler.nodes.ValueNode y
        start local 6 // org.graalvm.compiler.nodes.ValuePhiNode yPhi
        start local 7 // org.graalvm.compiler.nodes.AbstractMergeNode merge
        start local 8 // org.graalvm.compiler.phases.common.LazyValue lazyLoops
         0: .line 148
            aload 7 /* merge */
            invokevirtual org.graalvm.compiler.nodes.AbstractMergeNode.cfgPredecessors:()Lorg/graalvm/compiler/graph/iterators/NodeIterable;
            invokeinterface org.graalvm.compiler.graph.iterators.NodeIterable.snapshot:()Ljava/util/List;
            astore 9 /* mergePredecessors */
        start local 9 // java.util.List mergePredecessors
         1: .line 149
            aload 9 /* mergePredecessors */
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 11
            goto 23
      StackMap locals: org.graalvm.compiler.nodes.FixedGuardNode org.graalvm.compiler.nodes.spi.CoreProviders org.graalvm.compiler.nodes.calc.CompareNode org.graalvm.compiler.nodes.ValueNode org.graalvm.compiler.nodes.ValuePhiNode org.graalvm.compiler.nodes.ValueNode org.graalvm.compiler.nodes.ValuePhiNode org.graalvm.compiler.nodes.AbstractMergeNode org.graalvm.compiler.phases.common.LazyValue java.util.List top java.util.Iterator
      StackMap stack:
         2: aload 11
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.graalvm.compiler.nodes.AbstractEndNode
            astore 10 /* mergePredecessor */
        start local 10 // org.graalvm.compiler.nodes.AbstractEndNode mergePredecessor
         3: .line 150
            aload 10 /* mergePredecessor */
            invokevirtual org.graalvm.compiler.nodes.AbstractEndNode.isAlive:()Z
            ifne 5
         4: .line 151
            goto 24
         5: .line 154
      StackMap locals: org.graalvm.compiler.nodes.FixedGuardNode org.graalvm.compiler.nodes.spi.CoreProviders org.graalvm.compiler.nodes.calc.CompareNode org.graalvm.compiler.nodes.ValueNode org.graalvm.compiler.nodes.ValuePhiNode org.graalvm.compiler.nodes.ValueNode org.graalvm.compiler.nodes.ValuePhiNode org.graalvm.compiler.nodes.AbstractMergeNode org.graalvm.compiler.phases.common.LazyValue java.util.List org.graalvm.compiler.nodes.AbstractEndNode java.util.Iterator
      StackMap stack:
            aload 4 /* xPhi */
            ifnonnull 8
         6: .line 155
            aload 3 /* x */
            invokevirtual org.graalvm.compiler.nodes.ValueNode.asConstant:()Ljdk/vm/ci/meta/Constant;
            astore 12 /* xs */
        start local 12 // jdk.vm.ci.meta.Constant xs
         7: .line 156
            goto 9
        end local 12 // jdk.vm.ci.meta.Constant xs
         8: .line 157
      StackMap locals:
      StackMap stack:
            aload 4 /* xPhi */
            aload 10 /* mergePredecessor */
            invokevirtual org.graalvm.compiler.nodes.ValuePhiNode.valueAt:(Lorg/graalvm/compiler/nodes/AbstractEndNode;)Lorg/graalvm/compiler/nodes/ValueNode;
            invokevirtual org.graalvm.compiler.nodes.ValueNode.asConstant:()Ljdk/vm/ci/meta/Constant;
            astore 12 /* xs */
        start local 12 // jdk.vm.ci.meta.Constant xs
         9: .line 160
      StackMap locals: jdk.vm.ci.meta.Constant
      StackMap stack:
            aload 6 /* yPhi */
            ifnonnull 12
        10: .line 161
            aload 5 /* y */
            invokevirtual org.graalvm.compiler.nodes.ValueNode.asConstant:()Ljdk/vm/ci/meta/Constant;
            astore 13 /* ys */
        start local 13 // jdk.vm.ci.meta.Constant ys
        11: .line 162
            goto 13
        end local 13 // jdk.vm.ci.meta.Constant ys
        12: .line 163
      StackMap locals:
      StackMap stack:
            aload 6 /* yPhi */
            aload 10 /* mergePredecessor */
            invokevirtual org.graalvm.compiler.nodes.ValuePhiNode.valueAt:(Lorg/graalvm/compiler/nodes/AbstractEndNode;)Lorg/graalvm/compiler/nodes/ValueNode;
            invokevirtual org.graalvm.compiler.nodes.ValueNode.asConstant:()Ljdk/vm/ci/meta/Constant;
            astore 13 /* ys */
        start local 13 // jdk.vm.ci.meta.Constant ys
        13: .line 165
      StackMap locals: jdk.vm.ci.meta.Constant
      StackMap stack:
            aload 12 /* xs */
            ifnull 23
            aload 13 /* ys */
            ifnull 23
            aload 2 /* compare */
            invokevirtual org.graalvm.compiler.nodes.calc.CompareNode.condition:()Lorg/graalvm/compiler/core/common/calc/CanonicalCondition;
            aload 12 /* xs */
            aload 13 /* ys */
            aload 1 /* context */
            invokeinterface org.graalvm.compiler.nodes.spi.CoreProviders.getConstantReflection:()Ljdk/vm/ci/meta/ConstantReflectionProvider;
            aload 2 /* compare */
            invokevirtual org.graalvm.compiler.nodes.calc.CompareNode.unorderedIsTrue:()Z
            invokevirtual org.graalvm.compiler.core.common.calc.CanonicalCondition.foldCondition:(Ljdk/vm/ci/meta/Constant;Ljdk/vm/ci/meta/Constant;Ljdk/vm/ci/meta/ConstantReflectionProvider;Z)Z
            aload 0 /* fixedGuard */
            invokevirtual org.graalvm.compiler.nodes.FixedGuardNode.isNegated:()Z
            if_icmpne 23
        14: .line 166
            aconst_null
            astore 14
            aconst_null
            astore 15
        15: aload 0 /* fixedGuard */
            invokevirtual org.graalvm.compiler.nodes.FixedGuardNode.withNodeSourcePosition:()Lorg/graalvm/compiler/debug/DebugCloseable;
            astore 16 /* position */
        start local 16 // org.graalvm.compiler.debug.DebugCloseable position
        16: .line 167
            aload 10 /* mergePredecessor */
            aload 0 /* fixedGuard */
            aload 1 /* context */
            invokeinterface org.graalvm.compiler.nodes.spi.CoreProviders.getLowerer:()Lorg/graalvm/compiler/nodes/spi/LoweringProvider;
            aload 8 /* lazyLoops */
            invokestatic org.graalvm.compiler.loop.phases.ConvertDeoptimizeToGuardPhase.propagateFixed:(Lorg/graalvm/compiler/nodes/FixedNode;Lorg/graalvm/compiler/nodes/StaticDeoptimizingNode;Lorg/graalvm/compiler/nodes/spi/LoweringProvider;Lorg/graalvm/compiler/phases/common/LazyValue;)V
        17: .line 168
            aload 16 /* position */
            ifnull 23
            aload 16 /* position */
            invokeinterface org.graalvm.compiler.debug.DebugCloseable.close:()V
            goto 23
      StackMap locals: org.graalvm.compiler.nodes.FixedGuardNode org.graalvm.compiler.nodes.spi.CoreProviders org.graalvm.compiler.nodes.calc.CompareNode org.graalvm.compiler.nodes.ValueNode org.graalvm.compiler.nodes.ValuePhiNode org.graalvm.compiler.nodes.ValueNode org.graalvm.compiler.nodes.ValuePhiNode org.graalvm.compiler.nodes.AbstractMergeNode org.graalvm.compiler.phases.common.LazyValue java.util.List org.graalvm.compiler.nodes.AbstractEndNode java.util.Iterator jdk.vm.ci.meta.Constant jdk.vm.ci.meta.Constant java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.DebugCloseable
      StackMap stack: java.lang.Throwable
        18: astore 14
            aload 16 /* position */
            ifnull 19
            aload 16 /* position */
            invokeinterface org.graalvm.compiler.debug.DebugCloseable.close:()V
        end local 16 // org.graalvm.compiler.debug.DebugCloseable position
      StackMap locals:
      StackMap stack:
        19: aload 14
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
        20: astore 15
            aload 14
            ifnonnull 21
            aload 15
            astore 14
            goto 22
      StackMap locals:
      StackMap stack:
        21: aload 14
            aload 15
            if_acmpeq 22
            aload 14
            aload 15
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        22: aload 14
            athrow
        end local 13 // jdk.vm.ci.meta.Constant ys
        end local 12 // jdk.vm.ci.meta.Constant xs
        end local 10 // org.graalvm.compiler.nodes.AbstractEndNode mergePredecessor
        23: .line 149
      StackMap locals: org.graalvm.compiler.nodes.FixedGuardNode org.graalvm.compiler.nodes.spi.CoreProviders org.graalvm.compiler.nodes.calc.CompareNode org.graalvm.compiler.nodes.ValueNode org.graalvm.compiler.nodes.ValuePhiNode org.graalvm.compiler.nodes.ValueNode org.graalvm.compiler.nodes.ValuePhiNode org.graalvm.compiler.nodes.AbstractMergeNode org.graalvm.compiler.phases.common.LazyValue java.util.List top java.util.Iterator
      StackMap stack:
            aload 11
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 2
        24: .line 171
      StackMap locals: org.graalvm.compiler.nodes.FixedGuardNode org.graalvm.compiler.nodes.spi.CoreProviders org.graalvm.compiler.nodes.calc.CompareNode org.graalvm.compiler.nodes.ValueNode org.graalvm.compiler.nodes.ValuePhiNode org.graalvm.compiler.nodes.ValueNode org.graalvm.compiler.nodes.ValuePhiNode org.graalvm.compiler.nodes.AbstractMergeNode org.graalvm.compiler.phases.common.LazyValue java.util.List
      StackMap stack:
            return
        end local 9 // java.util.List mergePredecessors
        end local 8 // org.graalvm.compiler.phases.common.LazyValue lazyLoops
        end local 7 // org.graalvm.compiler.nodes.AbstractMergeNode merge
        end local 6 // org.graalvm.compiler.nodes.ValuePhiNode yPhi
        end local 5 // org.graalvm.compiler.nodes.ValueNode y
        end local 4 // org.graalvm.compiler.nodes.ValuePhiNode xPhi
        end local 3 // org.graalvm.compiler.nodes.ValueNode x
        end local 2 // org.graalvm.compiler.nodes.calc.CompareNode compare
        end local 1 // org.graalvm.compiler.nodes.spi.CoreProviders context
        end local 0 // org.graalvm.compiler.nodes.FixedGuardNode fixedGuard
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0   25     0         fixedGuard  Lorg/graalvm/compiler/nodes/FixedGuardNode;
            0   25     1            context  Lorg/graalvm/compiler/nodes/spi/CoreProviders;
            0   25     2            compare  Lorg/graalvm/compiler/nodes/calc/CompareNode;
            0   25     3                  x  Lorg/graalvm/compiler/nodes/ValueNode;
            0   25     4               xPhi  Lorg/graalvm/compiler/nodes/ValuePhiNode;
            0   25     5                  y  Lorg/graalvm/compiler/nodes/ValueNode;
            0   25     6               yPhi  Lorg/graalvm/compiler/nodes/ValuePhiNode;
            0   25     7              merge  Lorg/graalvm/compiler/nodes/AbstractMergeNode;
            0   25     8          lazyLoops  Lorg/graalvm/compiler/phases/common/LazyValue<Lorg/graalvm/compiler/loop/LoopsData;>;
            1   25     9  mergePredecessors  Ljava/util/List<Lorg/graalvm/compiler/nodes/EndNode;>;
            3   23    10   mergePredecessor  Lorg/graalvm/compiler/nodes/AbstractEndNode;
            7    8    12                 xs  Ljdk/vm/ci/meta/Constant;
            9   23    12                 xs  Ljdk/vm/ci/meta/Constant;
           11   12    13                 ys  Ljdk/vm/ci/meta/Constant;
           13   23    13                 ys  Ljdk/vm/ci/meta/Constant;
           16   19    16           position  Lorg/graalvm/compiler/debug/DebugCloseable;
      Exception table:
        from    to  target  type
          16    17      18  any
          15    20      20  any
    Signature: (Lorg/graalvm/compiler/nodes/FixedGuardNode;Lorg/graalvm/compiler/nodes/spi/CoreProviders;Lorg/graalvm/compiler/nodes/calc/CompareNode;Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/ValuePhiNode;Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/ValuePhiNode;Lorg/graalvm/compiler/nodes/AbstractMergeNode;Lorg/graalvm/compiler/phases/common/LazyValue<Lorg/graalvm/compiler/loop/LoopsData;>;)V
    MethodParameters:
            Name  Flags
      fixedGuard  
      context     
      compare     
      x           
      xPhi        
      y           
      yPhi        
      merge       
      lazyLoops   

  private static void propagateFixed(org.graalvm.compiler.nodes.FixedNode, org.graalvm.compiler.nodes.StaticDeoptimizingNode, org.graalvm.compiler.nodes.spi.LoweringProvider, org.graalvm.compiler.phases.common.LazyValue<org.graalvm.compiler.loop.LoopsData>);
    descriptor: (Lorg/graalvm/compiler/nodes/FixedNode;Lorg/graalvm/compiler/nodes/StaticDeoptimizingNode;Lorg/graalvm/compiler/nodes/spi/LoweringProvider;Lorg/graalvm/compiler/phases/common/LazyValue;)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=9, locals=20, args_size=4
        start local 0 // org.graalvm.compiler.nodes.FixedNode from
        start local 1 // org.graalvm.compiler.nodes.StaticDeoptimizingNode deopt
        start local 2 // org.graalvm.compiler.nodes.spi.LoweringProvider loweringProvider
        start local 3 // org.graalvm.compiler.phases.common.LazyValue lazyLoops
         0: .line 175
            aload 0 /* from */
            astore 4 /* current */
        start local 4 // org.graalvm.compiler.graph.Node current
         1: .line 176
            goto 66
         2: .line 177
      StackMap locals: org.graalvm.compiler.graph.Node
      StackMap stack:
            getstatic org.graalvm.compiler.core.common.GraalOptions.GuardPriorities:Lorg/graalvm/compiler/options/OptionKey;
            aload 0 /* from */
            invokevirtual org.graalvm.compiler.nodes.FixedNode.getOptions:()Lorg/graalvm/compiler/options/OptionValues;
            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 7
            aload 4 /* current */
            instanceof org.graalvm.compiler.nodes.FixedGuardNode
            ifeq 7
         3: .line 178
            aload 4 /* current */
            checkcast org.graalvm.compiler.nodes.FixedGuardNode
            astore 5 /* otherGuard */
        start local 5 // org.graalvm.compiler.nodes.FixedGuardNode otherGuard
         4: .line 179
            aload 5 /* otherGuard */
            invokevirtual org.graalvm.compiler.nodes.FixedGuardNode.computePriority:()Lorg/graalvm/compiler/nodes/StaticDeoptimizingNode$GuardPriority;
            aload 1 /* deopt */
            invokeinterface org.graalvm.compiler.nodes.StaticDeoptimizingNode.computePriority:()Lorg/graalvm/compiler/nodes/StaticDeoptimizingNode$GuardPriority;
            invokevirtual org.graalvm.compiler.nodes.StaticDeoptimizingNode$GuardPriority.isHigherPriorityThan:(Lorg/graalvm/compiler/nodes/StaticDeoptimizingNode$GuardPriority;)Z
            ifeq 65
         5: .line 180
            aload 5 /* otherGuard */
            aload 1 /* deopt */
            invokestatic org.graalvm.compiler.loop.phases.ConvertDeoptimizeToGuardPhase.moveAsDeoptAfter:(Lorg/graalvm/compiler/nodes/FixedWithNextNode;Lorg/graalvm/compiler/nodes/StaticDeoptimizingNode;)V
         6: .line 181
            return
        end local 5 // org.graalvm.compiler.nodes.FixedGuardNode otherGuard
         7: .line 183
      StackMap locals:
      StackMap stack:
            aload 4 /* current */
            instanceof org.graalvm.compiler.nodes.AbstractBeginNode
            ifeq 65
         8: .line 184
            aload 4 /* current */
            instanceof org.graalvm.compiler.nodes.AbstractMergeNode
            ifeq 18
         9: .line 185
            aload 4 /* current */
            checkcast org.graalvm.compiler.nodes.AbstractMergeNode
            astore 5 /* mergeNode */
        start local 5 // org.graalvm.compiler.nodes.AbstractMergeNode mergeNode
        10: .line 186
            aload 5 /* mergeNode */
            invokevirtual org.graalvm.compiler.nodes.AbstractMergeNode.next:()Lorg/graalvm/compiler/nodes/FixedNode;
            astore 6 /* next */
        start local 6 // org.graalvm.compiler.nodes.FixedNode next
        11: .line 187
            goto 14
        12: .line 188
      StackMap locals: org.graalvm.compiler.nodes.AbstractMergeNode org.graalvm.compiler.nodes.FixedNode
      StackMap stack:
            aload 5 /* mergeNode */
            invokevirtual org.graalvm.compiler.nodes.AbstractMergeNode.forwardEnds:()Lorg/graalvm/compiler/graph/NodeInputList;
            invokevirtual org.graalvm.compiler.graph.NodeInputList.first:()Lorg/graalvm/compiler/graph/Node;
            checkcast org.graalvm.compiler.nodes.AbstractEndNode
            astore 7 /* end */
        start local 7 // org.graalvm.compiler.nodes.AbstractEndNode end
        13: .line 189
            aload 7 /* end */
            aload 1 /* deopt */
            aload 2 /* loweringProvider */
            aload 3 /* lazyLoops */
            invokestatic org.graalvm.compiler.loop.phases.ConvertDeoptimizeToGuardPhase.propagateFixed:(Lorg/graalvm/compiler/nodes/FixedNode;Lorg/graalvm/compiler/nodes/StaticDeoptimizingNode;Lorg/graalvm/compiler/nodes/spi/LoweringProvider;Lorg/graalvm/compiler/phases/common/LazyValue;)V
        end local 7 // org.graalvm.compiler.nodes.AbstractEndNode end
        14: .line 187
      StackMap locals:
      StackMap stack:
            aload 5 /* mergeNode */
            invokevirtual org.graalvm.compiler.nodes.AbstractMergeNode.isAlive:()Z
            ifne 12
        15: .line 191
            aload 6 /* next */
            invokevirtual org.graalvm.compiler.nodes.FixedNode.isAlive:()Z
            ifeq 17
        16: .line 192
            aload 6 /* next */
            aload 1 /* deopt */
            aload 2 /* loweringProvider */
            aload 3 /* lazyLoops */
            invokestatic org.graalvm.compiler.loop.phases.ConvertDeoptimizeToGuardPhase.propagateFixed:(Lorg/graalvm/compiler/nodes/FixedNode;Lorg/graalvm/compiler/nodes/StaticDeoptimizingNode;Lorg/graalvm/compiler/nodes/spi/LoweringProvider;Lorg/graalvm/compiler/phases/common/LazyValue;)V
        17: .line 194
      StackMap locals:
      StackMap stack:
            return
        end local 6 // org.graalvm.compiler.nodes.FixedNode next
        end local 5 // org.graalvm.compiler.nodes.AbstractMergeNode mergeNode
        18: .line 195
      StackMap locals:
      StackMap stack:
            aload 4 /* current */
            invokevirtual org.graalvm.compiler.graph.Node.predecessor:()Lorg/graalvm/compiler/graph/Node;
            instanceof org.graalvm.compiler.nodes.IfNode
            ifeq 60
        19: .line 196
            aload 4 /* current */
            checkcast org.graalvm.compiler.nodes.AbstractBeginNode
            astore 5 /* begin */
        start local 5 // org.graalvm.compiler.nodes.AbstractBeginNode begin
        20: .line 197
            aload 4 /* current */
            invokevirtual org.graalvm.compiler.graph.Node.predecessor:()Lorg/graalvm/compiler/graph/Node;
            checkcast org.graalvm.compiler.nodes.IfNode
            astore 6 /* ifNode */
        start local 6 // org.graalvm.compiler.nodes.IfNode ifNode
        21: .line 198
            aload 5 /* begin */
            invokestatic org.graalvm.compiler.loop.phases.ConvertDeoptimizeToGuardPhase.isOsrLoopExit:(Lorg/graalvm/compiler/nodes/AbstractBeginNode;)Z
            ifne 22
            aload 6 /* ifNode */
            aload 3 /* lazyLoops */
            invokestatic org.graalvm.compiler.loop.phases.ConvertDeoptimizeToGuardPhase.isCountedLoopExit:(Lorg/graalvm/compiler/nodes/IfNode;Lorg/graalvm/compiler/phases/common/LazyValue;)Z
            ifeq 24
        22: .line 199
      StackMap locals: org.graalvm.compiler.nodes.AbstractBeginNode org.graalvm.compiler.nodes.IfNode
      StackMap stack:
            aload 5 /* begin */
            aload 1 /* deopt */
            invokestatic org.graalvm.compiler.loop.phases.ConvertDeoptimizeToGuardPhase.moveAsDeoptAfter:(Lorg/graalvm/compiler/nodes/FixedWithNextNode;Lorg/graalvm/compiler/nodes/StaticDeoptimizingNode;)V
        23: .line 200
            goto 59
        24: .line 202
      StackMap locals:
      StackMap stack:
            aconst_null
            astore 7
            aconst_null
            astore 8
        25: aload 6 /* ifNode */
            invokevirtual org.graalvm.compiler.nodes.IfNode.withNodeSourcePosition:()Lorg/graalvm/compiler/debug/DebugCloseable;
            astore 9 /* closable */
        start local 9 // org.graalvm.compiler.debug.DebugCloseable closable
        26: .line 203
            aload 6 /* ifNode */
            invokevirtual org.graalvm.compiler.nodes.IfNode.graph:()Lorg/graalvm/compiler/nodes/StructuredGraph;
            astore 10 /* graph */
        start local 10 // org.graalvm.compiler.nodes.StructuredGraph graph
        27: .line 204
            aload 6 /* ifNode */
            invokevirtual org.graalvm.compiler.nodes.IfNode.condition:()Lorg/graalvm/compiler/nodes/LogicNode;
            astore 11 /* conditionNode */
        start local 11 // org.graalvm.compiler.nodes.LogicNode conditionNode
        28: .line 205
            aload 4 /* current */
            aload 6 /* ifNode */
            invokevirtual org.graalvm.compiler.nodes.IfNode.trueSuccessor:()Lorg/graalvm/compiler/nodes/AbstractBeginNode;
            if_acmpne 29
            iconst_1
            goto 30
      StackMap locals: org.graalvm.compiler.nodes.FixedNode org.graalvm.compiler.nodes.StaticDeoptimizingNode org.graalvm.compiler.nodes.spi.LoweringProvider org.graalvm.compiler.phases.common.LazyValue org.graalvm.compiler.graph.Node org.graalvm.compiler.nodes.AbstractBeginNode org.graalvm.compiler.nodes.IfNode java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.DebugCloseable org.graalvm.compiler.nodes.StructuredGraph org.graalvm.compiler.nodes.LogicNode
      StackMap stack:
        29: iconst_0
      StackMap locals:
      StackMap stack: int
        30: istore 12 /* negateGuardCondition */
        start local 12 // boolean negateGuardCondition
        31: .line 206
            iload 12 /* negateGuardCondition */
            ifeq 32
            aload 6 /* ifNode */
            invokevirtual org.graalvm.compiler.nodes.IfNode.falseSuccessor:()Lorg/graalvm/compiler/nodes/AbstractBeginNode;
            invokevirtual org.graalvm.compiler.nodes.AbstractBeginNode.getNodeSourcePosition:()Lorg/graalvm/compiler/graph/NodeSourcePosition;
            goto 33
      StackMap locals: int
      StackMap stack:
        32: aload 6 /* ifNode */
            invokevirtual org.graalvm.compiler.nodes.IfNode.trueSuccessor:()Lorg/graalvm/compiler/nodes/AbstractBeginNode;
            invokevirtual org.graalvm.compiler.nodes.AbstractBeginNode.getNodeSourcePosition:()Lorg/graalvm/compiler/graph/NodeSourcePosition;
      StackMap locals:
      StackMap stack: org.graalvm.compiler.graph.NodeSourcePosition
        33: astore 13 /* survivingSuccessorPosition */
        start local 13 // org.graalvm.compiler.graph.NodeSourcePosition survivingSuccessorPosition
        34: .line 207
            aload 10 /* graph */
        35: .line 208
            new org.graalvm.compiler.nodes.FixedGuardNode
            dup
            aload 11 /* conditionNode */
            aload 1 /* deopt */
            invokeinterface org.graalvm.compiler.nodes.StaticDeoptimizingNode.getReason:()Ljdk/vm/ci/meta/DeoptimizationReason;
            aload 1 /* deopt */
            invokeinterface org.graalvm.compiler.nodes.StaticDeoptimizingNode.getAction:()Ljdk/vm/ci/meta/DeoptimizationAction;
            aload 1 /* deopt */
            invokeinterface org.graalvm.compiler.nodes.StaticDeoptimizingNode.getSpeculation:()Ljdk/vm/ci/meta/SpeculationLog$Speculation;
            iload 12 /* negateGuardCondition */
            aload 13 /* survivingSuccessorPosition */
            invokespecial org.graalvm.compiler.nodes.FixedGuardNode.<init>:(Lorg/graalvm/compiler/nodes/LogicNode;Ljdk/vm/ci/meta/DeoptimizationReason;Ljdk/vm/ci/meta/DeoptimizationAction;Ljdk/vm/ci/meta/SpeculationLog$Speculation;ZLorg/graalvm/compiler/graph/NodeSourcePosition;)V
        36: .line 207
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph.add:(Lorg/graalvm/compiler/graph/Node;)Lorg/graalvm/compiler/graph/Node;
            checkcast org.graalvm.compiler.nodes.FixedGuardNode
            astore 14 /* guard */
        start local 14 // org.graalvm.compiler.nodes.FixedGuardNode guard
        37: .line 209
            aload 6 /* ifNode */
            invokevirtual org.graalvm.compiler.nodes.IfNode.predecessor:()Lorg/graalvm/compiler/graph/Node;
            checkcast org.graalvm.compiler.nodes.FixedWithNextNode
            astore 15 /* pred */
        start local 15 // org.graalvm.compiler.nodes.FixedWithNextNode pred
        38: .line 211
            iload 12 /* negateGuardCondition */
            ifeq 41
        39: .line 212
            aload 6 /* ifNode */
            invokevirtual org.graalvm.compiler.nodes.IfNode.falseSuccessor:()Lorg/graalvm/compiler/nodes/AbstractBeginNode;
            astore 16 /* survivingSuccessor */
        start local 16 // org.graalvm.compiler.nodes.AbstractBeginNode survivingSuccessor
        40: .line 213
            goto 42
        end local 16 // org.graalvm.compiler.nodes.AbstractBeginNode survivingSuccessor
        41: .line 214
      StackMap locals: org.graalvm.compiler.graph.NodeSourcePosition org.graalvm.compiler.nodes.FixedGuardNode org.graalvm.compiler.nodes.FixedWithNextNode
      StackMap stack:
            aload 6 /* ifNode */
            invokevirtual org.graalvm.compiler.nodes.IfNode.trueSuccessor:()Lorg/graalvm/compiler/nodes/AbstractBeginNode;
            astore 16 /* survivingSuccessor */
        start local 16 // org.graalvm.compiler.nodes.AbstractBeginNode survivingSuccessor
        42: .line 216
      StackMap locals: org.graalvm.compiler.nodes.AbstractBeginNode
      StackMap stack:
            aload 10 /* graph */
            aload 6 /* ifNode */
            aload 16 /* survivingSuccessor */
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph.removeSplitPropagate:(Lorg/graalvm/compiler/nodes/ControlSplitNode;Lorg/graalvm/compiler/nodes/AbstractBeginNode;)V
        43: .line 218
            aload 14 /* guard */
            astore 17 /* newGuard */
        start local 17 // org.graalvm.compiler.graph.Node newGuard
        44: .line 219
            aload 16 /* survivingSuccessor */
            instanceof org.graalvm.compiler.nodes.LoopExitNode
            ifeq 46
        45: .line 220
            aload 14 /* guard */
            aload 16 /* survivingSuccessor */
            checkcast org.graalvm.compiler.nodes.LoopExitNode
            invokestatic org.graalvm.compiler.nodes.ProxyNode.forGuard:(Lorg/graalvm/compiler/nodes/extended/GuardingNode;Lorg/graalvm/compiler/nodes/LoopExitNode;)Lorg/graalvm/compiler/nodes/GuardProxyNode;
            astore 17 /* newGuard */
        46: .line 222
      StackMap locals: org.graalvm.compiler.graph.Node
      StackMap stack:
            aload 16 /* survivingSuccessor */
            getstatic org.graalvm.compiler.nodeinfo.InputType.Guard:Lorg/graalvm/compiler/nodeinfo/InputType;
            aload 17 /* newGuard */
            invokevirtual org.graalvm.compiler.nodes.AbstractBeginNode.replaceAtUsages:(Lorg/graalvm/compiler/nodeinfo/InputType;Lorg/graalvm/compiler/graph/Node;)V
        47: .line 224
            aload 10 /* graph */
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph.getDebug:()Lorg/graalvm/compiler/debug/DebugContext;
            ldc "Converting deopt on %-5s branch of %s to guard for remaining branch %s."
            iload 12 /* negateGuardCondition */
            invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
            aload 6 /* ifNode */
            aload 16 /* survivingSuccessor */
            invokevirtual org.graalvm.compiler.debug.DebugContext.log:(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)V
        48: .line 225
            aload 15 /* pred */
            invokevirtual org.graalvm.compiler.nodes.FixedWithNextNode.next:()Lorg/graalvm/compiler/nodes/FixedNode;
            astore 18 /* next */
        start local 18 // org.graalvm.compiler.nodes.FixedNode next
        49: .line 226
            aload 15 /* pred */
            aload 14 /* guard */
            invokevirtual org.graalvm.compiler.nodes.FixedWithNextNode.setNext:(Lorg/graalvm/compiler/nodes/FixedNode;)V
        50: .line 227
            aload 14 /* guard */
            aload 18 /* next */
            invokevirtual org.graalvm.compiler.nodes.FixedGuardNode.setNext:(Lorg/graalvm/compiler/nodes/FixedNode;)V
        51: .line 228
            aconst_null
            aconst_null
            aconst_null
            iconst_0
            aload 10 /* graph */
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph.getAssumptions:()Ljdk/vm/ci/meta/Assumptions;
            aload 10 /* graph */
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph.getOptions:()Lorg/graalvm/compiler/options/OptionValues;
            aload 2 /* loweringProvider */
            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;
            astore 19 /* simplifierTool */
        start local 19 // org.graalvm.compiler.graph.spi.SimplifierTool simplifierTool
        52: .line 229
            aload 16 /* survivingSuccessor */
            aload 19 /* simplifierTool */
            invokevirtual org.graalvm.compiler.nodes.AbstractBeginNode.simplify:(Lorg/graalvm/compiler/graph/spi/SimplifierTool;)V
        end local 19 // org.graalvm.compiler.graph.spi.SimplifierTool simplifierTool
        end local 18 // org.graalvm.compiler.nodes.FixedNode next
        end local 17 // org.graalvm.compiler.graph.Node newGuard
        end local 16 // org.graalvm.compiler.nodes.AbstractBeginNode survivingSuccessor
        end local 15 // org.graalvm.compiler.nodes.FixedWithNextNode pred
        end local 14 // org.graalvm.compiler.nodes.FixedGuardNode guard
        end local 13 // org.graalvm.compiler.graph.NodeSourcePosition survivingSuccessorPosition
        end local 12 // boolean negateGuardCondition
        end local 11 // org.graalvm.compiler.nodes.LogicNode conditionNode
        end local 10 // org.graalvm.compiler.nodes.StructuredGraph graph
        53: .line 230
            aload 9 /* closable */
            ifnull 59
            aload 9 /* closable */
            invokeinterface org.graalvm.compiler.debug.DebugCloseable.close:()V
            goto 59
      StackMap locals: org.graalvm.compiler.nodes.FixedNode org.graalvm.compiler.nodes.StaticDeoptimizingNode org.graalvm.compiler.nodes.spi.LoweringProvider org.graalvm.compiler.phases.common.LazyValue org.graalvm.compiler.graph.Node org.graalvm.compiler.nodes.AbstractBeginNode org.graalvm.compiler.nodes.IfNode java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.DebugCloseable
      StackMap stack: java.lang.Throwable
        54: astore 7
            aload 9 /* closable */
            ifnull 55
            aload 9 /* closable */
            invokeinterface org.graalvm.compiler.debug.DebugCloseable.close:()V
        end local 9 // org.graalvm.compiler.debug.DebugCloseable closable
      StackMap locals:
      StackMap stack:
        55: aload 7
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
        56: astore 8
            aload 7
            ifnonnull 57
            aload 8
            astore 7
            goto 58
      StackMap locals:
      StackMap stack:
        57: aload 7
            aload 8
            if_acmpeq 58
            aload 7
            aload 8
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        58: aload 7
            athrow
        59: .line 232
      StackMap locals:
      StackMap stack:
            return
        end local 6 // org.graalvm.compiler.nodes.IfNode ifNode
        end local 5 // org.graalvm.compiler.nodes.AbstractBeginNode begin
        60: .line 233
      StackMap locals:
      StackMap stack:
            aload 4 /* current */
            invokevirtual org.graalvm.compiler.graph.Node.predecessor:()Lorg/graalvm/compiler/graph/Node;
            ifnull 61
            aload 4 /* current */
            invokevirtual org.graalvm.compiler.graph.Node.predecessor:()Lorg/graalvm/compiler/graph/Node;
            instanceof org.graalvm.compiler.nodes.ControlSplitNode
            ifeq 65
        61: .line 234
      StackMap locals:
      StackMap stack:
            getstatic org.graalvm.compiler.loop.phases.ConvertDeoptimizeToGuardPhase.$assertionsDisabled:Z
            ifne 63
            aload 4 /* current */
            invokevirtual org.graalvm.compiler.graph.Node.predecessor:()Lorg/graalvm/compiler/graph/Node;
            ifnonnull 63
            aload 4 /* current */
            instanceof org.graalvm.compiler.nodes.StartNode
            ifeq 62
            aload 4 /* current */
            aload 4 /* current */
            checkcast org.graalvm.compiler.nodes.AbstractBeginNode
            invokevirtual org.graalvm.compiler.nodes.AbstractBeginNode.graph:()Lorg/graalvm/compiler/nodes/StructuredGraph;
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph.start:()Lorg/graalvm/compiler/nodes/StartNode;
            if_acmpeq 63
      StackMap locals:
      StackMap stack:
        62: new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        63: .line 235
      StackMap locals:
      StackMap stack:
            aload 4 /* current */
            checkcast org.graalvm.compiler.nodes.AbstractBeginNode
            aload 1 /* deopt */
            invokestatic org.graalvm.compiler.loop.phases.ConvertDeoptimizeToGuardPhase.moveAsDeoptAfter:(Lorg/graalvm/compiler/nodes/FixedWithNextNode;Lorg/graalvm/compiler/nodes/StaticDeoptimizingNode;)V
        64: .line 236
            return
        65: .line 239
      StackMap locals:
      StackMap stack:
            aload 4 /* current */
            invokevirtual org.graalvm.compiler.graph.Node.predecessor:()Lorg/graalvm/compiler/graph/Node;
            astore 4 /* current */
        66: .line 176
      StackMap locals:
      StackMap stack:
            aload 4 /* current */
            ifnonnull 2
        67: .line 241
            return
        end local 4 // org.graalvm.compiler.graph.Node current
        end local 3 // org.graalvm.compiler.phases.common.LazyValue lazyLoops
        end local 2 // org.graalvm.compiler.nodes.spi.LoweringProvider loweringProvider
        end local 1 // org.graalvm.compiler.nodes.StaticDeoptimizingNode deopt
        end local 0 // org.graalvm.compiler.nodes.FixedNode from
      LocalVariableTable:
        Start  End  Slot                        Name  Signature
            0   68     0                        from  Lorg/graalvm/compiler/nodes/FixedNode;
            0   68     1                       deopt  Lorg/graalvm/compiler/nodes/StaticDeoptimizingNode;
            0   68     2            loweringProvider  Lorg/graalvm/compiler/nodes/spi/LoweringProvider;
            0   68     3                   lazyLoops  Lorg/graalvm/compiler/phases/common/LazyValue<Lorg/graalvm/compiler/loop/LoopsData;>;
            1   68     4                     current  Lorg/graalvm/compiler/graph/Node;
            4    7     5                  otherGuard  Lorg/graalvm/compiler/nodes/FixedGuardNode;
           10   18     5                   mergeNode  Lorg/graalvm/compiler/nodes/AbstractMergeNode;
           11   18     6                        next  Lorg/graalvm/compiler/nodes/FixedNode;
           13   14     7                         end  Lorg/graalvm/compiler/nodes/AbstractEndNode;
           20   60     5                       begin  Lorg/graalvm/compiler/nodes/AbstractBeginNode;
           21   60     6                      ifNode  Lorg/graalvm/compiler/nodes/IfNode;
           26   55     9                    closable  Lorg/graalvm/compiler/debug/DebugCloseable;
           27   53    10                       graph  Lorg/graalvm/compiler/nodes/StructuredGraph;
           28   53    11               conditionNode  Lorg/graalvm/compiler/nodes/LogicNode;
           31   53    12        negateGuardCondition  Z
           34   53    13  survivingSuccessorPosition  Lorg/graalvm/compiler/graph/NodeSourcePosition;
           37   53    14                       guard  Lorg/graalvm/compiler/nodes/FixedGuardNode;
           38   53    15                        pred  Lorg/graalvm/compiler/nodes/FixedWithNextNode;
           40   41    16          survivingSuccessor  Lorg/graalvm/compiler/nodes/AbstractBeginNode;
           42   53    16          survivingSuccessor  Lorg/graalvm/compiler/nodes/AbstractBeginNode;
           44   53    17                    newGuard  Lorg/graalvm/compiler/graph/Node;
           49   53    18                        next  Lorg/graalvm/compiler/nodes/FixedNode;
           52   53    19              simplifierTool  Lorg/graalvm/compiler/graph/spi/SimplifierTool;
      Exception table:
        from    to  target  type
          26    53      54  any
          25    56      56  any
    Signature: (Lorg/graalvm/compiler/nodes/FixedNode;Lorg/graalvm/compiler/nodes/StaticDeoptimizingNode;Lorg/graalvm/compiler/nodes/spi/LoweringProvider;Lorg/graalvm/compiler/phases/common/LazyValue<Lorg/graalvm/compiler/loop/LoopsData;>;)V
    MethodParameters:
                  Name  Flags
      from              
      deopt             
      loweringProvider  
      lazyLoops         

  private static void moveAsDeoptAfter(org.graalvm.compiler.nodes.FixedWithNextNode, org.graalvm.compiler.nodes.StaticDeoptimizingNode);
    descriptor: (Lorg/graalvm/compiler/nodes/FixedWithNextNode;Lorg/graalvm/compiler/nodes/StaticDeoptimizingNode;)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=7, locals=6, args_size=2
        start local 0 // org.graalvm.compiler.nodes.FixedWithNextNode node
        start local 1 // org.graalvm.compiler.nodes.StaticDeoptimizingNode deopt
         0: .line 245
            aconst_null
            astore 2
            aconst_null
            astore 3
         1: aload 1 /* deopt */
            invokeinterface org.graalvm.compiler.nodes.StaticDeoptimizingNode.asNode:()Lorg/graalvm/compiler/nodes/ValueNode;
            invokevirtual org.graalvm.compiler.nodes.ValueNode.withNodeSourcePosition:()Lorg/graalvm/compiler/debug/DebugCloseable;
            astore 4 /* position */
        start local 4 // org.graalvm.compiler.debug.DebugCloseable position
         2: .line 246
            aload 0 /* node */
            invokevirtual org.graalvm.compiler.nodes.FixedWithNextNode.next:()Lorg/graalvm/compiler/nodes/FixedNode;
            astore 5 /* next */
        start local 5 // org.graalvm.compiler.nodes.FixedNode next
         3: .line 247
            aload 5 /* next */
            aload 1 /* deopt */
            invokeinterface org.graalvm.compiler.nodes.StaticDeoptimizingNode.asNode:()Lorg/graalvm/compiler/nodes/ValueNode;
            if_acmpeq 6
         4: .line 248
            aload 0 /* node */
            aload 0 /* node */
            invokevirtual org.graalvm.compiler.nodes.FixedWithNextNode.graph:()Lorg/graalvm/compiler/nodes/StructuredGraph;
            new org.graalvm.compiler.nodes.DeoptimizeNode
            dup
            aload 1 /* deopt */
            invokeinterface org.graalvm.compiler.nodes.StaticDeoptimizingNode.getAction:()Ljdk/vm/ci/meta/DeoptimizationAction;
            aload 1 /* deopt */
            invokeinterface org.graalvm.compiler.nodes.StaticDeoptimizingNode.getReason:()Ljdk/vm/ci/meta/DeoptimizationReason;
            aload 1 /* deopt */
            invokeinterface org.graalvm.compiler.nodes.StaticDeoptimizingNode.getSpeculation:()Ljdk/vm/ci/meta/SpeculationLog$Speculation;
            invokespecial org.graalvm.compiler.nodes.DeoptimizeNode.<init>:(Ljdk/vm/ci/meta/DeoptimizationAction;Ljdk/vm/ci/meta/DeoptimizationReason;Ljdk/vm/ci/meta/SpeculationLog$Speculation;)V
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph.add:(Lorg/graalvm/compiler/graph/Node;)Lorg/graalvm/compiler/graph/Node;
            checkcast org.graalvm.compiler.nodes.FixedNode
            invokevirtual org.graalvm.compiler.nodes.FixedWithNextNode.setNext:(Lorg/graalvm/compiler/nodes/FixedNode;)V
         5: .line 249
            aload 5 /* next */
            invokestatic org.graalvm.compiler.nodes.util.GraphUtil.killCFG:(Lorg/graalvm/compiler/nodes/FixedNode;)V
        end local 5 // org.graalvm.compiler.nodes.FixedNode next
         6: .line 251
      StackMap locals: java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.DebugCloseable
      StackMap stack:
            aload 4 /* position */
            ifnull 12
            aload 4 /* position */
            invokeinterface org.graalvm.compiler.debug.DebugCloseable.close:()V
            goto 12
      StackMap locals:
      StackMap stack: java.lang.Throwable
         7: astore 2
            aload 4 /* position */
            ifnull 8
            aload 4 /* position */
            invokeinterface org.graalvm.compiler.debug.DebugCloseable.close:()V
        end local 4 // org.graalvm.compiler.debug.DebugCloseable position
      StackMap locals:
      StackMap stack:
         8: aload 2
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
         9: astore 3
            aload 2
            ifnonnull 10
            aload 3
            astore 2
            goto 11
      StackMap locals:
      StackMap stack:
        10: aload 2
            aload 3
            if_acmpeq 11
            aload 2
            aload 3
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        11: aload 2
            athrow
        12: .line 252
      StackMap locals:
      StackMap stack:
            return
        end local 1 // org.graalvm.compiler.nodes.StaticDeoptimizingNode deopt
        end local 0 // org.graalvm.compiler.nodes.FixedWithNextNode node
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   13     0      node  Lorg/graalvm/compiler/nodes/FixedWithNextNode;
            0   13     1     deopt  Lorg/graalvm/compiler/nodes/StaticDeoptimizingNode;
            2    8     4  position  Lorg/graalvm/compiler/debug/DebugCloseable;
            3    6     5      next  Lorg/graalvm/compiler/nodes/FixedNode;
      Exception table:
        from    to  target  type
           2     6       7  any
           1     9       9  any
    MethodParameters:
       Name  Flags
      node   
      deopt  

  private static boolean isOsrLoopExit(org.graalvm.compiler.nodes.AbstractBeginNode);
    descriptor: (Lorg/graalvm/compiler/nodes/AbstractBeginNode;)Z
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.graalvm.compiler.nodes.AbstractBeginNode node
         0: .line 255
            aload 0 /* node */
            instanceof org.graalvm.compiler.nodes.LoopExitNode
            ifne 2
         1: .line 256
            iconst_0
            ireturn
         2: .line 258
      StackMap locals:
      StackMap stack:
            aload 0 /* node */
            checkcast org.graalvm.compiler.nodes.LoopExitNode
            invokevirtual org.graalvm.compiler.nodes.LoopExitNode.loopBegin:()Lorg/graalvm/compiler/nodes/LoopBeginNode;
            invokevirtual org.graalvm.compiler.nodes.LoopBeginNode.isOsrLoop:()Z
            ireturn
        end local 0 // org.graalvm.compiler.nodes.AbstractBeginNode node
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  node  Lorg/graalvm/compiler/nodes/AbstractBeginNode;
    MethodParameters:
      Name  Flags
      node  

  private static boolean isCountedLoopExit(org.graalvm.compiler.nodes.IfNode, org.graalvm.compiler.phases.common.LazyValue<org.graalvm.compiler.loop.LoopsData>);
    descriptor: (Lorg/graalvm/compiler/nodes/IfNode;Lorg/graalvm/compiler/phases/common/LazyValue;)Z
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=5, args_size=2
        start local 0 // org.graalvm.compiler.nodes.IfNode ifNode
        start local 1 // org.graalvm.compiler.phases.common.LazyValue lazyLoops
         0: .line 262
            aload 1 /* lazyLoops */
            invokevirtual org.graalvm.compiler.phases.common.LazyValue.get:()Ljava/lang/Object;
            checkcast org.graalvm.compiler.loop.LoopsData
            astore 2 /* loopsData */
        start local 2 // org.graalvm.compiler.loop.LoopsData loopsData
         1: .line 263
            aload 2 /* loopsData */
            invokevirtual org.graalvm.compiler.loop.LoopsData.getCFG:()Lorg/graalvm/compiler/nodes/cfg/ControlFlowGraph;
            invokevirtual org.graalvm.compiler.nodes.cfg.ControlFlowGraph.getNodeToBlock:()Lorg/graalvm/compiler/graph/NodeMap;
            aload 0 /* ifNode */
            invokevirtual org.graalvm.compiler.graph.NodeMap.get:(Lorg/graalvm/compiler/graph/Node;)Ljava/lang/Object;
            checkcast org.graalvm.compiler.nodes.cfg.Block
            invokevirtual org.graalvm.compiler.nodes.cfg.Block.getLoop:()Lorg/graalvm/compiler/core/common/cfg/Loop;
            astore 3 /* loop */
        start local 3 // org.graalvm.compiler.core.common.cfg.Loop loop
         2: .line 264
            aload 3 /* loop */
            ifnull 7
         3: .line 265
            aload 2 /* loopsData */
            aload 3 /* loop */
            invokevirtual org.graalvm.compiler.loop.LoopsData.loop:(Lorg/graalvm/compiler/core/common/cfg/Loop;)Lorg/graalvm/compiler/loop/LoopEx;
            astore 4 /* loopEx */
        start local 4 // org.graalvm.compiler.loop.LoopEx loopEx
         4: .line 266
            aload 4 /* loopEx */
            invokevirtual org.graalvm.compiler.loop.LoopEx.detectCounted:()Z
            ifeq 7
         5: .line 267
            aload 0 /* ifNode */
            aload 4 /* loopEx */
            invokevirtual org.graalvm.compiler.loop.LoopEx.counted:()Lorg/graalvm/compiler/loop/CountedLoopInfo;
            invokevirtual org.graalvm.compiler.loop.CountedLoopInfo.getLimitTest:()Lorg/graalvm/compiler/nodes/IfNode;
            if_acmpne 6
            iconst_1
            ireturn
      StackMap locals: org.graalvm.compiler.loop.LoopsData org.graalvm.compiler.core.common.cfg.Loop org.graalvm.compiler.loop.LoopEx
      StackMap stack:
         6: iconst_0
            ireturn
        end local 4 // org.graalvm.compiler.loop.LoopEx loopEx
         7: .line 270
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        end local 3 // org.graalvm.compiler.core.common.cfg.Loop loop
        end local 2 // org.graalvm.compiler.loop.LoopsData loopsData
        end local 1 // org.graalvm.compiler.phases.common.LazyValue lazyLoops
        end local 0 // org.graalvm.compiler.nodes.IfNode ifNode
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    8     0     ifNode  Lorg/graalvm/compiler/nodes/IfNode;
            0    8     1  lazyLoops  Lorg/graalvm/compiler/phases/common/LazyValue<Lorg/graalvm/compiler/loop/LoopsData;>;
            1    8     2  loopsData  Lorg/graalvm/compiler/loop/LoopsData;
            2    8     3       loop  Lorg/graalvm/compiler/core/common/cfg/Loop<Lorg/graalvm/compiler/nodes/cfg/Block;>;
            4    7     4     loopEx  Lorg/graalvm/compiler/loop/LoopEx;
    Signature: (Lorg/graalvm/compiler/nodes/IfNode;Lorg/graalvm/compiler/phases/common/LazyValue<Lorg/graalvm/compiler/loop/LoopsData;>;)Z
    MethodParameters:
           Name  Flags
      ifNode     
      lazyLoops  

  protected void run(org.graalvm.compiler.nodes.StructuredGraph, java.lang.Object);
    descriptor: (Lorg/graalvm/compiler/nodes/StructuredGraph;Ljava/lang/Object;)V
    flags: (0x1044) ACC_PROTECTED, ACC_BRIDGE, ACC_SYNTHETIC
    Code:
      stack=3, locals=3, args_size=3
         0: .line 1
            aload 0
            aload 1
            aload 2
            checkcast org.graalvm.compiler.nodes.spi.CoreProviders
            invokevirtual org.graalvm.compiler.loop.phases.ConvertDeoptimizeToGuardPhase.run:(Lorg/graalvm/compiler/nodes/StructuredGraph;Lorg/graalvm/compiler/nodes/spi/CoreProviders;)V
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  private static org.graalvm.compiler.loop.LoopsData lambda$0(org.graalvm.compiler.nodes.StructuredGraph);
    descriptor: (Lorg/graalvm/compiler/nodes/StructuredGraph;)Lorg/graalvm/compiler/loop/LoopsData;
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=3, locals=1, args_size=1
         0: .line 90
            new org.graalvm.compiler.loop.LoopsData
            dup
            aload 0
            invokespecial org.graalvm.compiler.loop.LoopsData.<init>:(Lorg/graalvm/compiler/nodes/StructuredGraph;)V
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
}
Signature: Lorg/graalvm/compiler/phases/BasePhase<Lorg/graalvm/compiler/nodes/spi/CoreProviders;>;
SourceFile: "ConvertDeoptimizeToGuardPhase.java"
InnerClasses:
  public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles
  public Speculation = jdk.vm.ci.meta.SpeculationLog$Speculation of jdk.vm.ci.meta.SpeculationLog
  public final GuardPriority = org.graalvm.compiler.nodes.StaticDeoptimizingNode$GuardPriority of org.graalvm.compiler.nodes.StaticDeoptimizingNode
  public final GuardsStage = org.graalvm.compiler.nodes.StructuredGraph$GuardsStage of org.graalvm.compiler.nodes.StructuredGraph
  public final Optionality = org.graalvm.compiler.phases.common.DeadCodeEliminationPhase$Optionality of org.graalvm.compiler.phases.common.DeadCodeEliminationPhase