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
{
  private static final org.graalvm.compiler.phases.util.Providers EMPTY_PROVIDERS;
    descriptor: Lorg/graalvm/compiler/phases/util/Providers;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  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=12, 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
         3: .line 86
            new org.graalvm.compiler.phases.util.Providers
            dup
            aconst_null
            aconst_null
            aconst_null
            aconst_null
            aconst_null
            aconst_null
            aconst_null
            aconst_null
            aconst_null
            aconst_null
            invokespecial org.graalvm.compiler.phases.util.Providers.<init>:(Ljdk/vm/ci/meta/MetaAccessProvider;Ljdk/vm/ci/code/CodeCacheProvider;Ljdk/vm/ci/meta/ConstantReflectionProvider;Lorg/graalvm/compiler/core/common/spi/ConstantFieldProvider;Lorg/graalvm/compiler/core/common/spi/ForeignCallsProvider;Lorg/graalvm/compiler/nodes/spi/LoweringProvider;Lorg/graalvm/compiler/nodes/spi/Replacements;Lorg/graalvm/compiler/nodes/spi/StampProvider;Lorg/graalvm/compiler/nodes/spi/PlatformConfigurationProvider;Lorg/graalvm/compiler/core/common/spi/MetaAccessExtensionProvider;)V
            putstatic org.graalvm.compiler.loop.phases.ConvertDeoptimizeToGuardPhase.EMPTY_PROVIDERS:Lorg/graalvm/compiler/phases/util/Providers;
            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 91
            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 92
      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 93
      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 95
            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 17
      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 96
            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 97
      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 98
            goto 17
         8: .line 100
      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 101
            aload 4 /* d */
            aload 4 /* d */
            aload 2 /* context */
            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/CoreProviders;Lorg/graalvm/compiler/phases/common/LazyValue;)V
        11: .line 102
            aload 8 /* closable */
            ifnull 17
            aload 8 /* closable */
            invokeinterface org.graalvm.compiler.debug.DebugCloseable.close:()V
            goto 17
      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: java.lang.Throwable
        12: astore 6
            aload 8 /* closable */
            ifnull 13
            aload 8 /* closable */
            invokeinterface org.graalvm.compiler.debug.DebugCloseable.close:()V
        end local 8 // org.graalvm.compiler.debug.DebugCloseable closable
      StackMap locals:
      StackMap stack:
        13: aload 6
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
        14: astore 7
            aload 6
            ifnonnull 15
            aload 7
            astore 6
            goto 16
      StackMap locals:
      StackMap stack:
        15: aload 6
            aload 7
            if_acmpeq 16
            aload 6
            aload 7
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        16: aload 6
            athrow
        end local 4 // org.graalvm.compiler.nodes.DeoptimizeNode d
        17: .line 95
      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
        18: .line 105
            aload 2 /* context */
            ifnull 31
        19: .line 106
            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 30
      StackMap locals:
      StackMap stack:
        20: 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
        21: .line 107
            aconst_null
            astore 6
            aconst_null
            astore 7
        22: 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
        23: .line 108
            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
        24: .line 109
            aload 8 /* closable */
            ifnull 30
            aload 8 /* closable */
            invokeinterface org.graalvm.compiler.debug.DebugCloseable.close:()V
            goto 30
      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
        25: astore 6
            aload 8 /* closable */
            ifnull 26
            aload 8 /* closable */
            invokeinterface org.graalvm.compiler.debug.DebugCloseable.close:()V
        end local 8 // org.graalvm.compiler.debug.DebugCloseable closable
      StackMap locals:
      StackMap stack:
        26: aload 6
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
        27: astore 7
            aload 6
            ifnonnull 28
            aload 7
            astore 6
            goto 29
      StackMap locals:
      StackMap stack:
        28: aload 6
            aload 7
            if_acmpeq 29
            aload 6
            aload 7
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        29: aload 6
            athrow
        end local 4 // org.graalvm.compiler.nodes.FixedGuardNode fixedGuard
        30: .line 106
      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 20
        31: .line 113
      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
        32: .line 114
            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   33     0        this  Lorg/graalvm/compiler/loop/phases/ConvertDeoptimizeToGuardPhase;
            0   33     1       graph  Lorg/graalvm/compiler/nodes/StructuredGraph;
            0   33     2     context  Lorg/graalvm/compiler/nodes/spi/CoreProviders;
            3   33     3   lazyLoops  Lorg/graalvm/compiler/phases/common/LazyValue<Lorg/graalvm/compiler/loop/LoopsData;>;
            5   17     4           d  Lorg/graalvm/compiler/nodes/DeoptimizeNode;
           10   13     8    closable  Lorg/graalvm/compiler/debug/DebugCloseable;
           21   30     4  fixedGuard  Lorg/graalvm/compiler/nodes/FixedGuardNode;
           23   26     8    closable  Lorg/graalvm/compiler/debug/DebugCloseable;
      Exception table:
        from    to  target  type
          10    11      12  any
           9    14      14  any
          23    24      25  any
          22    27      27  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 117
            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 118
            aload 3 /* condition */
            instanceof org.graalvm.compiler.nodes.calc.CompareNode
            ifeq 14
         2: .line 119
            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 120
            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 121
            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 122
            aload 5 /* x */
            instanceof org.graalvm.compiler.nodes.ConstantNode
            ifne 8
            aload 6 /* xPhi */
            ifnull 14
         8: .line 123
      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 124
            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 125
            aload 7 /* y */
            instanceof org.graalvm.compiler.nodes.ConstantNode
            ifne 13
            aload 8 /* yPhi */
            ifnull 14
        13: .line 126
      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 130
      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 134
            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 135
            aload 8 /* pred */
            instanceof org.graalvm.compiler.nodes.AbstractMergeNode
            ifeq 8
         2: .line 136
            aload 8 /* pred */
            checkcast org.graalvm.compiler.nodes.AbstractMergeNode
            astore 9 /* merge */
        start local 9 // org.graalvm.compiler.nodes.AbstractMergeNode merge
         3: .line 137
            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 138
            return
         5: .line 140
      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 141
            return
         7: .line 144
      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 146
      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 151
            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 152
            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 153
            aload 10 /* mergePredecessor */
            invokevirtual org.graalvm.compiler.nodes.AbstractEndNode.isAlive:()Z
            ifne 5
         4: .line 154
            goto 24
         5: .line 157
      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 158
            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 159
            goto 9
        end local 12 // jdk.vm.ci.meta.Constant xs
         8: .line 160
      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 163
      StackMap locals: jdk.vm.ci.meta.Constant
      StackMap stack:
            aload 6 /* yPhi */
            ifnonnull 12
        10: .line 164
            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 165
            goto 13
        end local 13 // jdk.vm.ci.meta.Constant ys
        12: .line 166
      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 168
      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 169
            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 170
            aload 10 /* mergePredecessor */
            aload 0 /* fixedGuard */
            aload 1 /* context */
            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/CoreProviders;Lorg/graalvm/compiler/phases/common/LazyValue;)V
        17: .line 171
            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 152
      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 174
      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.CoreProviders, 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/CoreProviders;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.CoreProviders providers
        start local 3 // org.graalvm.compiler.phases.common.LazyValue lazyLoops
         0: .line 178
            aload 0 /* from */
            astore 4 /* current */
        start local 4 // org.graalvm.compiler.graph.Node current
         1: .line 179
            goto 68
         2: .line 180
      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 181
            aload 4 /* current */
            checkcast org.graalvm.compiler.nodes.FixedGuardNode
            astore 5 /* otherGuard */
        start local 5 // org.graalvm.compiler.nodes.FixedGuardNode otherGuard
         4: .line 182
            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 67
         5: .line 183
            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 184
            return
        end local 5 // org.graalvm.compiler.nodes.FixedGuardNode otherGuard
         7: .line 186
      StackMap locals:
      StackMap stack:
            aload 4 /* current */
            instanceof org.graalvm.compiler.nodes.AbstractBeginNode
            ifeq 67
         8: .line 187
            aload 4 /* current */
            instanceof org.graalvm.compiler.nodes.AbstractMergeNode
            ifeq 18
         9: .line 188
            aload 4 /* current */
            checkcast org.graalvm.compiler.nodes.AbstractMergeNode
            astore 5 /* mergeNode */
        start local 5 // org.graalvm.compiler.nodes.AbstractMergeNode mergeNode
        10: .line 189
            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 190
            goto 14
        12: .line 191
      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 192
            aload 7 /* end */
            aload 1 /* deopt */
            aload 2 /* providers */
            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/CoreProviders;Lorg/graalvm/compiler/phases/common/LazyValue;)V
        end local 7 // org.graalvm.compiler.nodes.AbstractEndNode end
        14: .line 190
      StackMap locals:
      StackMap stack:
            aload 5 /* mergeNode */
            invokevirtual org.graalvm.compiler.nodes.AbstractMergeNode.isAlive:()Z
            ifne 12
        15: .line 194
            aload 6 /* next */
            invokevirtual org.graalvm.compiler.nodes.FixedNode.isAlive:()Z
            ifeq 17
        16: .line 195
            aload 6 /* next */
            aload 1 /* deopt */
            aload 2 /* providers */
            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/CoreProviders;Lorg/graalvm/compiler/phases/common/LazyValue;)V
        17: .line 197
      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 198
      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 62
        19: .line 199
            aload 4 /* current */
            checkcast org.graalvm.compiler.nodes.AbstractBeginNode
            astore 5 /* begin */
        start local 5 // org.graalvm.compiler.nodes.AbstractBeginNode begin
        20: .line 200
            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 201
            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 202
      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 203
            goto 61
        24: .line 205
      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 206
            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 207
            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 208
            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.CoreProviders 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 209
            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 210
            aload 10 /* graph */
        35: .line 211
            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 210
            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 212
            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 214
            iload 12 /* negateGuardCondition */
            ifeq 41
        39: .line 215
            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 216
            goto 42
        end local 16 // org.graalvm.compiler.nodes.AbstractBeginNode survivingSuccessor
        41: .line 217
      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 219
      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 221
            aload 14 /* guard */
            astore 17 /* newGuard */
        start local 17 // org.graalvm.compiler.graph.Node newGuard
        44: .line 222
            aload 16 /* survivingSuccessor */
            instanceof org.graalvm.compiler.nodes.LoopExitNode
            ifeq 46
        45: .line 223
            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 225
      StackMap locals: org.graalvm.compiler.graph.Node
      StackMap stack:
            aload 16 /* survivingSuccessor */
            aload 17 /* newGuard */
            getstatic org.graalvm.compiler.nodeinfo.InputType.Guard:Lorg/graalvm/compiler/nodeinfo/InputType;
            invokevirtual org.graalvm.compiler.nodes.AbstractBeginNode.replaceAtUsages:(Lorg/graalvm/compiler/graph/Node;Lorg/graalvm/compiler/nodeinfo/InputType;)V
        47: .line 227
            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 228
            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 229
            aload 15 /* pred */
            aload 14 /* guard */
            invokevirtual org.graalvm.compiler.nodes.FixedWithNextNode.setNext:(Lorg/graalvm/compiler/nodes/FixedNode;)V
        50: .line 230
            aload 14 /* guard */
            aload 18 /* next */
            invokevirtual org.graalvm.compiler.nodes.FixedGuardNode.setNext:(Lorg/graalvm/compiler/nodes/FixedNode;)V
        51: .line 231
            aload 2 /* providers */
            ifnull 52
            aload 2 /* providers */
            goto 53
      StackMap locals: org.graalvm.compiler.nodes.FixedNode
      StackMap stack:
        52: getstatic org.graalvm.compiler.loop.phases.ConvertDeoptimizeToGuardPhase.EMPTY_PROVIDERS:Lorg/graalvm/compiler/phases/util/Providers;
      StackMap locals:
      StackMap stack: org.graalvm.compiler.nodes.spi.CoreProviders
        53: 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;
            invokestatic org.graalvm.compiler.nodes.util.GraphUtil.getDefaultSimplifier:(Lorg/graalvm/compiler/nodes/spi/CoreProviders;ZLjdk/vm/ci/meta/Assumptions;Lorg/graalvm/compiler/options/OptionValues;)Lorg/graalvm/compiler/graph/spi/SimplifierTool;
            astore 19 /* simplifierTool */
        start local 19 // org.graalvm.compiler.graph.spi.SimplifierTool simplifierTool
        54: .line 232
            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
        55: .line 233
            aload 9 /* closable */
            ifnull 61
            aload 9 /* closable */
            invokeinterface org.graalvm.compiler.debug.DebugCloseable.close:()V
            goto 61
      StackMap locals: org.graalvm.compiler.nodes.FixedNode org.graalvm.compiler.nodes.StaticDeoptimizingNode org.graalvm.compiler.nodes.spi.CoreProviders 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
        56: astore 7
            aload 9 /* closable */
            ifnull 57
            aload 9 /* closable */
            invokeinterface org.graalvm.compiler.debug.DebugCloseable.close:()V
        end local 9 // org.graalvm.compiler.debug.DebugCloseable closable
      StackMap locals:
      StackMap stack:
        57: aload 7
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
        58: astore 8
            aload 7
            ifnonnull 59
            aload 8
            astore 7
            goto 60
      StackMap locals:
      StackMap stack:
        59: aload 7
            aload 8
            if_acmpeq 60
            aload 7
            aload 8
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        60: aload 7
            athrow
        61: .line 235
      StackMap locals:
      StackMap stack:
            return
        end local 6 // org.graalvm.compiler.nodes.IfNode ifNode
        end local 5 // org.graalvm.compiler.nodes.AbstractBeginNode begin
        62: .line 236
      StackMap locals:
      StackMap stack:
            aload 4 /* current */
            invokevirtual org.graalvm.compiler.graph.Node.predecessor:()Lorg/graalvm/compiler/graph/Node;
            ifnull 63
            aload 4 /* current */
            invokevirtual org.graalvm.compiler.graph.Node.predecessor:()Lorg/graalvm/compiler/graph/Node;
            instanceof org.graalvm.compiler.nodes.ControlSplitNode
            ifeq 67
        63: .line 237
      StackMap locals:
      StackMap stack:
            getstatic org.graalvm.compiler.loop.phases.ConvertDeoptimizeToGuardPhase.$assertionsDisabled:Z
            ifne 65
            aload 4 /* current */
            invokevirtual org.graalvm.compiler.graph.Node.predecessor:()Lorg/graalvm/compiler/graph/Node;
            ifnonnull 65
            aload 4 /* current */
            instanceof org.graalvm.compiler.nodes.StartNode
            ifeq 64
            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 65
      StackMap locals:
      StackMap stack:
        64: new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        65: .line 238
      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
        66: .line 239
            return
        67: .line 242
      StackMap locals:
      StackMap stack:
            aload 4 /* current */
            invokevirtual org.graalvm.compiler.graph.Node.predecessor:()Lorg/graalvm/compiler/graph/Node;
            astore 4 /* current */
        68: .line 179
      StackMap locals:
      StackMap stack:
            aload 4 /* current */
            ifnonnull 2
        69: .line 244
            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.CoreProviders providers
        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   70     0                        from  Lorg/graalvm/compiler/nodes/FixedNode;
            0   70     1                       deopt  Lorg/graalvm/compiler/nodes/StaticDeoptimizingNode;
            0   70     2                   providers  Lorg/graalvm/compiler/nodes/spi/CoreProviders;
            0   70     3                   lazyLoops  Lorg/graalvm/compiler/phases/common/LazyValue<Lorg/graalvm/compiler/loop/LoopsData;>;
            1   70     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   62     5                       begin  Lorg/graalvm/compiler/nodes/AbstractBeginNode;
           21   62     6                      ifNode  Lorg/graalvm/compiler/nodes/IfNode;
           26   57     9                    closable  Lorg/graalvm/compiler/debug/DebugCloseable;
           27   55    10                       graph  Lorg/graalvm/compiler/nodes/StructuredGraph;
           28   55    11               conditionNode  Lorg/graalvm/compiler/nodes/LogicNode;
           31   55    12        negateGuardCondition  Z
           34   55    13  survivingSuccessorPosition  Lorg/graalvm/compiler/graph/NodeSourcePosition;
           37   55    14                       guard  Lorg/graalvm/compiler/nodes/FixedGuardNode;
           38   55    15                        pred  Lorg/graalvm/compiler/nodes/FixedWithNextNode;
           40   41    16          survivingSuccessor  Lorg/graalvm/compiler/nodes/AbstractBeginNode;
           42   55    16          survivingSuccessor  Lorg/graalvm/compiler/nodes/AbstractBeginNode;
           44   55    17                    newGuard  Lorg/graalvm/compiler/graph/Node;
           49   55    18                        next  Lorg/graalvm/compiler/nodes/FixedNode;
           54   55    19              simplifierTool  Lorg/graalvm/compiler/graph/spi/SimplifierTool;
      Exception table:
        from    to  target  type
          26    55      56  any
          25    58      58  any
    Signature: (Lorg/graalvm/compiler/nodes/FixedNode;Lorg/graalvm/compiler/nodes/StaticDeoptimizingNode;Lorg/graalvm/compiler/nodes/spi/CoreProviders;Lorg/graalvm/compiler/phases/common/LazyValue<Lorg/graalvm/compiler/loop/LoopsData;>;)V
    MethodParameters:
           Name  Flags
      from       
      deopt      
      providers  
      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 248
            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 249
            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 250
            aload 5 /* next */
            aload 1 /* deopt */
            invokeinterface org.graalvm.compiler.nodes.StaticDeoptimizingNode.asNode:()Lorg/graalvm/compiler/nodes/ValueNode;
            if_acmpeq 6
         4: .line 251
            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 252
            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 254
      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 255
      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 258
            aload 0 /* node */
            instanceof org.graalvm.compiler.nodes.LoopExitNode
            ifne 2
         1: .line 259
            iconst_0
            ireturn
         2: .line 261
      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 265
            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 266
            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 267
            aload 3 /* loop */
            ifnull 7
         3: .line 268
            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 269
            aload 4 /* loopEx */
            invokevirtual org.graalvm.compiler.loop.LoopEx.detectCounted:()Z
            ifeq 7
         5: .line 270
            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 273
      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 93
            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