public class org.graalvm.compiler.phases.common.ConvertDeoptimizeToGuardPhase extends org.graalvm.compiler.phases.BasePhase<org.graalvm.compiler.phases.tiers.PhaseContext>
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.graalvm.compiler.phases.common.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 74
            ldc Lorg/graalvm/compiler/phases/common/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.phases.common.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.phases.common.ConvertDeoptimizeToGuardPhase this
         0: .line 74
            aload 0 /* this */
            invokespecial org.graalvm.compiler.phases.BasePhase.<init>:()V
            return
        end local 0 // org.graalvm.compiler.phases.common.ConvertDeoptimizeToGuardPhase this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/graalvm/compiler/phases/common/ConvertDeoptimizeToGuardPhase;

  private static org.graalvm.compiler.nodes.AbstractBeginNode findBeginNode(org.graalvm.compiler.nodes.FixedNode);
    descriptor: (Lorg/graalvm/compiler/nodes/FixedNode;)Lorg/graalvm/compiler/nodes/AbstractBeginNode;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.graalvm.compiler.nodes.FixedNode startNode
         0: .line 76
            aload 0 /* startNode */
            invokestatic org.graalvm.compiler.nodes.util.GraphUtil.predecessorIterable:(Lorg/graalvm/compiler/nodes/FixedNode;)Lorg/graalvm/compiler/graph/iterators/NodeIterable;
            ldc Lorg/graalvm/compiler/nodes/AbstractBeginNode;
            invokeinterface org.graalvm.compiler.graph.iterators.NodeIterable.filter:(Ljava/lang/Class;)Lorg/graalvm/compiler/graph/iterators/NodeIterable;
            invokeinterface org.graalvm.compiler.graph.iterators.NodeIterable.first:()Lorg/graalvm/compiler/graph/Node;
            checkcast org.graalvm.compiler.nodes.AbstractBeginNode
            areturn
        end local 0 // org.graalvm.compiler.nodes.FixedNode startNode
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    1     0  startNode  Lorg/graalvm/compiler/nodes/FixedNode;
    MethodParameters:
           Name  Flags
      startNode  

  protected void run(org.graalvm.compiler.nodes.StructuredGraph, org.graalvm.compiler.phases.tiers.PhaseContext);
    descriptor: (Lorg/graalvm/compiler/nodes/StructuredGraph;Lorg/graalvm/compiler/phases/tiers/PhaseContext;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=7, locals=5, args_size=3
        start local 0 // org.graalvm.compiler.phases.common.ConvertDeoptimizeToGuardPhase this
        start local 1 // org.graalvm.compiler.nodes.StructuredGraph graph
        start local 2 // org.graalvm.compiler.phases.tiers.PhaseContext context
         0: .line 81
            getstatic org.graalvm.compiler.phases.common.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 82
      StackMap locals:
      StackMap stack:
            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.isEmpty:()Z
            ifeq 3
         2: .line 83
            return
         3: .line 85
      StackMap locals:
      StackMap stack:
            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 4
            goto 9
      StackMap locals: org.graalvm.compiler.phases.common.ConvertDeoptimizeToGuardPhase org.graalvm.compiler.nodes.StructuredGraph org.graalvm.compiler.phases.tiers.PhaseContext top java.util.Iterator
      StackMap stack:
         4: aload 4
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.graalvm.compiler.nodes.DeoptimizeNode
            astore 3 /* d */
        start local 3 // org.graalvm.compiler.nodes.DeoptimizeNode d
         5: .line 86
            getstatic org.graalvm.compiler.phases.common.ConvertDeoptimizeToGuardPhase.$assertionsDisabled:Z
            ifne 6
            aload 3 /* 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 87
      StackMap locals: org.graalvm.compiler.phases.common.ConvertDeoptimizeToGuardPhase org.graalvm.compiler.nodes.StructuredGraph org.graalvm.compiler.phases.tiers.PhaseContext org.graalvm.compiler.nodes.DeoptimizeNode java.util.Iterator
      StackMap stack:
            aload 0 /* this */
            aload 3 /* d */
            invokestatic org.graalvm.compiler.nodes.AbstractBeginNode.prevBegin:(Lorg/graalvm/compiler/nodes/FixedNode;)Lorg/graalvm/compiler/nodes/AbstractBeginNode;
            aload 3 /* d */
            invokevirtual org.graalvm.compiler.nodes.DeoptimizeNode.action:()Ljdk/vm/ci/meta/DeoptimizationAction;
            aload 3 /* d */
            invokevirtual org.graalvm.compiler.nodes.DeoptimizeNode.reason:()Ljdk/vm/ci/meta/DeoptimizationReason;
            aload 3 /* d */
            invokevirtual org.graalvm.compiler.nodes.DeoptimizeNode.getSpeculation:()Ljdk/vm/ci/meta/JavaConstant;
            aload 1 /* graph */
            aload 2 /* context */
            ifnull 7
            aload 2 /* context */
            invokevirtual org.graalvm.compiler.phases.tiers.PhaseContext.getLowerer:()Lorg/graalvm/compiler/nodes/spi/LoweringProvider;
            goto 8
      StackMap locals: org.graalvm.compiler.phases.common.ConvertDeoptimizeToGuardPhase org.graalvm.compiler.nodes.StructuredGraph org.graalvm.compiler.phases.tiers.PhaseContext org.graalvm.compiler.nodes.DeoptimizeNode java.util.Iterator
      StackMap stack: org.graalvm.compiler.phases.common.ConvertDeoptimizeToGuardPhase org.graalvm.compiler.nodes.AbstractBeginNode jdk.vm.ci.meta.DeoptimizationAction jdk.vm.ci.meta.DeoptimizationReason jdk.vm.ci.meta.JavaConstant org.graalvm.compiler.nodes.StructuredGraph
         7: aconst_null
      StackMap locals: org.graalvm.compiler.phases.common.ConvertDeoptimizeToGuardPhase org.graalvm.compiler.nodes.StructuredGraph org.graalvm.compiler.phases.tiers.PhaseContext org.graalvm.compiler.nodes.DeoptimizeNode java.util.Iterator
      StackMap stack: org.graalvm.compiler.phases.common.ConvertDeoptimizeToGuardPhase org.graalvm.compiler.nodes.AbstractBeginNode jdk.vm.ci.meta.DeoptimizationAction jdk.vm.ci.meta.DeoptimizationReason jdk.vm.ci.meta.JavaConstant org.graalvm.compiler.nodes.StructuredGraph org.graalvm.compiler.nodes.spi.LoweringProvider
         8: invokevirtual org.graalvm.compiler.phases.common.ConvertDeoptimizeToGuardPhase.visitDeoptBegin:(Lorg/graalvm/compiler/nodes/AbstractBeginNode;Ljdk/vm/ci/meta/DeoptimizationAction;Ljdk/vm/ci/meta/DeoptimizationReason;Ljdk/vm/ci/meta/JavaConstant;Lorg/graalvm/compiler/nodes/StructuredGraph;Lorg/graalvm/compiler/nodes/spi/LoweringProvider;)V
        end local 3 // org.graalvm.compiler.nodes.DeoptimizeNode d
         9: .line 85
      StackMap locals: org.graalvm.compiler.phases.common.ConvertDeoptimizeToGuardPhase org.graalvm.compiler.nodes.StructuredGraph org.graalvm.compiler.phases.tiers.PhaseContext top java.util.Iterator
      StackMap stack:
            aload 4
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 4
        10: .line 90
            aload 2 /* context */
            ifnull 15
        11: .line 91
            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 4
            goto 14
      StackMap locals:
      StackMap stack:
        12: aload 4
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.graalvm.compiler.nodes.FixedGuardNode
            astore 3 /* fixedGuard */
        start local 3 // org.graalvm.compiler.nodes.FixedGuardNode fixedGuard
        13: .line 92
            aload 0 /* this */
            aload 3 /* fixedGuard */
            aload 2 /* context */
            invokevirtual org.graalvm.compiler.phases.common.ConvertDeoptimizeToGuardPhase.trySplitFixedGuard:(Lorg/graalvm/compiler/nodes/FixedGuardNode;Lorg/graalvm/compiler/phases/tiers/PhaseContext;)V
        end local 3 // org.graalvm.compiler.nodes.FixedGuardNode fixedGuard
        14: .line 91
      StackMap locals:
      StackMap stack:
            aload 4
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 12
        15: .line 96
      StackMap locals: org.graalvm.compiler.phases.common.ConvertDeoptimizeToGuardPhase org.graalvm.compiler.nodes.StructuredGraph org.graalvm.compiler.phases.tiers.PhaseContext
      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
        16: .line 97
            return
        end local 2 // org.graalvm.compiler.phases.tiers.PhaseContext context
        end local 1 // org.graalvm.compiler.nodes.StructuredGraph graph
        end local 0 // org.graalvm.compiler.phases.common.ConvertDeoptimizeToGuardPhase this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   17     0        this  Lorg/graalvm/compiler/phases/common/ConvertDeoptimizeToGuardPhase;
            0   17     1       graph  Lorg/graalvm/compiler/nodes/StructuredGraph;
            0   17     2     context  Lorg/graalvm/compiler/phases/tiers/PhaseContext;
            5    9     3           d  Lorg/graalvm/compiler/nodes/DeoptimizeNode;
           13   14     3  fixedGuard  Lorg/graalvm/compiler/nodes/FixedGuardNode;
    MethodParameters:
         Name  Flags
      graph    final
      context  

  private void trySplitFixedGuard(org.graalvm.compiler.nodes.FixedGuardNode, org.graalvm.compiler.phases.tiers.PhaseContext);
    descriptor: (Lorg/graalvm/compiler/nodes/FixedGuardNode;Lorg/graalvm/compiler/phases/tiers/PhaseContext;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=8, locals=9, args_size=3
        start local 0 // org.graalvm.compiler.phases.common.ConvertDeoptimizeToGuardPhase this
        start local 1 // org.graalvm.compiler.nodes.FixedGuardNode fixedGuard
        start local 2 // org.graalvm.compiler.phases.tiers.PhaseContext context
         0: .line 100
            aload 1 /* 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 101
            aload 3 /* condition */
            instanceof org.graalvm.compiler.nodes.calc.CompareNode
            ifeq 14
         2: .line 102
            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 103
            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 104
            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 105
            aload 5 /* x */
            instanceof org.graalvm.compiler.nodes.ConstantNode
            ifne 8
            aload 6 /* xPhi */
            ifnull 14
         8: .line 106
      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 107
            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 108
            aload 7 /* y */
            instanceof org.graalvm.compiler.nodes.ConstantNode
            ifne 13
            aload 8 /* yPhi */
            ifnull 14
        13: .line 109
      StackMap locals: org.graalvm.compiler.nodes.ValuePhiNode
      StackMap stack:
            aload 0 /* this */
            aload 1 /* fixedGuard */
            aload 2 /* context */
            aload 4 /* compare */
            aload 5 /* x */
            aload 6 /* xPhi */
            aload 7 /* y */
            aload 8 /* yPhi */
            invokevirtual org.graalvm.compiler.phases.common.ConvertDeoptimizeToGuardPhase.processFixedGuardAndPhis:(Lorg/graalvm/compiler/nodes/FixedGuardNode;Lorg/graalvm/compiler/phases/tiers/PhaseContext;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;)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 113
      StackMap locals: org.graalvm.compiler.phases.common.ConvertDeoptimizeToGuardPhase org.graalvm.compiler.nodes.FixedGuardNode org.graalvm.compiler.phases.tiers.PhaseContext org.graalvm.compiler.nodes.LogicNode
      StackMap stack:
            return
        end local 3 // org.graalvm.compiler.nodes.LogicNode condition
        end local 2 // org.graalvm.compiler.phases.tiers.PhaseContext context
        end local 1 // org.graalvm.compiler.nodes.FixedGuardNode fixedGuard
        end local 0 // org.graalvm.compiler.phases.common.ConvertDeoptimizeToGuardPhase this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   15     0        this  Lorg/graalvm/compiler/phases/common/ConvertDeoptimizeToGuardPhase;
            0   15     1  fixedGuard  Lorg/graalvm/compiler/nodes/FixedGuardNode;
            0   15     2     context  Lorg/graalvm/compiler/phases/tiers/PhaseContext;
            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;
    MethodParameters:
            Name  Flags
      fixedGuard  
      context     

  private void processFixedGuardAndPhis(org.graalvm.compiler.nodes.FixedGuardNode, org.graalvm.compiler.phases.tiers.PhaseContext, 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);
    descriptor: (Lorg/graalvm/compiler/nodes/FixedGuardNode;Lorg/graalvm/compiler/phases/tiers/PhaseContext;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;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=9, locals=10, args_size=8
        start local 0 // org.graalvm.compiler.phases.common.ConvertDeoptimizeToGuardPhase this
        start local 1 // org.graalvm.compiler.nodes.FixedGuardNode fixedGuard
        start local 2 // org.graalvm.compiler.phases.tiers.PhaseContext context
        start local 3 // org.graalvm.compiler.nodes.calc.CompareNode compare
        start local 4 // org.graalvm.compiler.nodes.ValueNode x
        start local 5 // org.graalvm.compiler.nodes.ValuePhiNode xPhi
        start local 6 // org.graalvm.compiler.nodes.ValueNode y
        start local 7 // org.graalvm.compiler.nodes.ValuePhiNode yPhi
         0: .line 116
            aload 1 /* 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 117
            aload 8 /* pred */
            instanceof org.graalvm.compiler.nodes.AbstractMergeNode
            ifeq 8
         2: .line 118
            aload 8 /* pred */
            checkcast org.graalvm.compiler.nodes.AbstractMergeNode
            astore 9 /* merge */
        start local 9 // org.graalvm.compiler.nodes.AbstractMergeNode merge
         3: .line 119
            aload 5 /* xPhi */
            ifnull 5
            aload 5 /* xPhi */
            invokevirtual org.graalvm.compiler.nodes.ValuePhiNode.merge:()Lorg/graalvm/compiler/nodes/AbstractMergeNode;
            aload 9 /* merge */
            if_acmpeq 5
         4: .line 120
            return
         5: .line 122
      StackMap locals: org.graalvm.compiler.nodes.AbstractBeginNode org.graalvm.compiler.nodes.AbstractMergeNode
      StackMap stack:
            aload 7 /* yPhi */
            ifnull 7
            aload 7 /* yPhi */
            invokevirtual org.graalvm.compiler.nodes.ValuePhiNode.merge:()Lorg/graalvm/compiler/nodes/AbstractMergeNode;
            aload 9 /* merge */
            if_acmpeq 7
         6: .line 123
            return
         7: .line 126
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* fixedGuard */
            aload 2 /* context */
            aload 3 /* compare */
            aload 4 /* x */
            aload 5 /* xPhi */
            aload 6 /* y */
            aload 7 /* yPhi */
            aload 9 /* merge */
            invokevirtual org.graalvm.compiler.phases.common.ConvertDeoptimizeToGuardPhase.processFixedGuardAndMerge:(Lorg/graalvm/compiler/nodes/FixedGuardNode;Lorg/graalvm/compiler/phases/tiers/PhaseContext;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;)V
        end local 9 // org.graalvm.compiler.nodes.AbstractMergeNode merge
         8: .line 128
      StackMap locals:
      StackMap stack:
            return
        end local 8 // org.graalvm.compiler.nodes.AbstractBeginNode pred
        end local 7 // org.graalvm.compiler.nodes.ValuePhiNode yPhi
        end local 6 // org.graalvm.compiler.nodes.ValueNode y
        end local 5 // org.graalvm.compiler.nodes.ValuePhiNode xPhi
        end local 4 // org.graalvm.compiler.nodes.ValueNode x
        end local 3 // org.graalvm.compiler.nodes.calc.CompareNode compare
        end local 2 // org.graalvm.compiler.phases.tiers.PhaseContext context
        end local 1 // org.graalvm.compiler.nodes.FixedGuardNode fixedGuard
        end local 0 // org.graalvm.compiler.phases.common.ConvertDeoptimizeToGuardPhase this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    9     0        this  Lorg/graalvm/compiler/phases/common/ConvertDeoptimizeToGuardPhase;
            0    9     1  fixedGuard  Lorg/graalvm/compiler/nodes/FixedGuardNode;
            0    9     2     context  Lorg/graalvm/compiler/phases/tiers/PhaseContext;
            0    9     3     compare  Lorg/graalvm/compiler/nodes/calc/CompareNode;
            0    9     4           x  Lorg/graalvm/compiler/nodes/ValueNode;
            0    9     5        xPhi  Lorg/graalvm/compiler/nodes/ValuePhiNode;
            0    9     6           y  Lorg/graalvm/compiler/nodes/ValueNode;
            0    9     7        yPhi  Lorg/graalvm/compiler/nodes/ValuePhiNode;
            1    9     8        pred  Lorg/graalvm/compiler/nodes/AbstractBeginNode;
            3    8     9       merge  Lorg/graalvm/compiler/nodes/AbstractMergeNode;
    MethodParameters:
            Name  Flags
      fixedGuard  
      context     
      compare     
      x           
      xPhi        
      y           
      yPhi        

  private void processFixedGuardAndMerge(org.graalvm.compiler.nodes.FixedGuardNode, org.graalvm.compiler.phases.tiers.PhaseContext, 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);
    descriptor: (Lorg/graalvm/compiler/nodes/FixedGuardNode;Lorg/graalvm/compiler/phases/tiers/PhaseContext;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;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=7, locals=14, args_size=9
        start local 0 // org.graalvm.compiler.phases.common.ConvertDeoptimizeToGuardPhase this
        start local 1 // org.graalvm.compiler.nodes.FixedGuardNode fixedGuard
        start local 2 // org.graalvm.compiler.phases.tiers.PhaseContext context
        start local 3 // org.graalvm.compiler.nodes.calc.CompareNode compare
        start local 4 // org.graalvm.compiler.nodes.ValueNode x
        start local 5 // org.graalvm.compiler.nodes.ValuePhiNode xPhi
        start local 6 // org.graalvm.compiler.nodes.ValueNode y
        start local 7 // org.graalvm.compiler.nodes.ValuePhiNode yPhi
        start local 8 // org.graalvm.compiler.nodes.AbstractMergeNode merge
         0: .line 132
            aload 8 /* 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 133
            iconst_0
            istore 10 /* i */
        start local 10 // int i
         2: goto 17
         3: .line 134
      StackMap locals: java.util.List int
      StackMap stack:
            aload 9 /* mergePredecessors */
            iload 10 /* i */
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast org.graalvm.compiler.nodes.AbstractEndNode
            astore 11 /* mergePredecessor */
        start local 11 // org.graalvm.compiler.nodes.AbstractEndNode mergePredecessor
         4: .line 135
            aload 11 /* mergePredecessor */
            invokevirtual org.graalvm.compiler.nodes.AbstractEndNode.isAlive:()Z
            ifne 6
         5: .line 136
            goto 18
         6: .line 139
      StackMap locals: org.graalvm.compiler.nodes.AbstractEndNode
      StackMap stack:
            aload 5 /* xPhi */
            ifnonnull 9
         7: .line 140
            aload 4 /* 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
         8: .line 141
            goto 10
        end local 12 // jdk.vm.ci.meta.Constant xs
         9: .line 142
      StackMap locals:
      StackMap stack:
            aload 5 /* xPhi */
            aload 11 /* 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
        10: .line 145
      StackMap locals: jdk.vm.ci.meta.Constant
      StackMap stack:
            aload 7 /* yPhi */
            ifnonnull 13
        11: .line 146
            aload 6 /* 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
        12: .line 147
            goto 14
        end local 13 // jdk.vm.ci.meta.Constant ys
        13: .line 148
      StackMap locals:
      StackMap stack:
            aload 7 /* yPhi */
            aload 11 /* 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
        14: .line 150
      StackMap locals: jdk.vm.ci.meta.Constant
      StackMap stack:
            aload 12 /* xs */
            ifnull 16
            aload 13 /* ys */
            ifnull 16
            aload 3 /* compare */
            invokevirtual org.graalvm.compiler.nodes.calc.CompareNode.condition:()Lorg/graalvm/compiler/core/common/calc/Condition;
            aload 12 /* xs */
            aload 13 /* ys */
            aload 2 /* context */
            invokevirtual org.graalvm.compiler.phases.tiers.PhaseContext.getConstantReflection:()Ljdk/vm/ci/meta/ConstantReflectionProvider;
            aload 3 /* compare */
            invokevirtual org.graalvm.compiler.nodes.calc.CompareNode.unorderedIsTrue:()Z
            invokevirtual org.graalvm.compiler.core.common.calc.Condition.foldCondition:(Ljdk/vm/ci/meta/Constant;Ljdk/vm/ci/meta/Constant;Ljdk/vm/ci/meta/ConstantReflectionProvider;Z)Z
            aload 1 /* fixedGuard */
            invokevirtual org.graalvm.compiler.nodes.FixedGuardNode.isNegated:()Z
            if_icmpne 16
        15: .line 151
            aload 0 /* this */
            aload 11 /* mergePredecessor */
            invokestatic org.graalvm.compiler.nodes.AbstractBeginNode.prevBegin:(Lorg/graalvm/compiler/nodes/FixedNode;)Lorg/graalvm/compiler/nodes/AbstractBeginNode;
            aload 1 /* fixedGuard */
            invokevirtual org.graalvm.compiler.nodes.FixedGuardNode.getAction:()Ljdk/vm/ci/meta/DeoptimizationAction;
            aload 1 /* fixedGuard */
            invokevirtual org.graalvm.compiler.nodes.FixedGuardNode.getReason:()Ljdk/vm/ci/meta/DeoptimizationReason;
            aload 1 /* fixedGuard */
            invokevirtual org.graalvm.compiler.nodes.FixedGuardNode.getSpeculation:()Ljdk/vm/ci/meta/JavaConstant;
            aload 1 /* fixedGuard */
            invokevirtual org.graalvm.compiler.nodes.FixedGuardNode.graph:()Lorg/graalvm/compiler/nodes/StructuredGraph;
            aload 2 /* context */
            invokevirtual org.graalvm.compiler.phases.tiers.PhaseContext.getLowerer:()Lorg/graalvm/compiler/nodes/spi/LoweringProvider;
            invokevirtual org.graalvm.compiler.phases.common.ConvertDeoptimizeToGuardPhase.visitDeoptBegin:(Lorg/graalvm/compiler/nodes/AbstractBeginNode;Ljdk/vm/ci/meta/DeoptimizationAction;Ljdk/vm/ci/meta/DeoptimizationReason;Ljdk/vm/ci/meta/JavaConstant;Lorg/graalvm/compiler/nodes/StructuredGraph;Lorg/graalvm/compiler/nodes/spi/LoweringProvider;)V
        end local 13 // jdk.vm.ci.meta.Constant ys
        end local 12 // jdk.vm.ci.meta.Constant xs
        end local 11 // org.graalvm.compiler.nodes.AbstractEndNode mergePredecessor
        16: .line 133
      StackMap locals:
      StackMap stack:
            iinc 10 /* i */ 1
      StackMap locals:
      StackMap stack:
        17: iload 10 /* i */
            aload 9 /* mergePredecessors */
            invokeinterface java.util.List.size:()I
            if_icmplt 3
        end local 10 // int i
        18: .line 154
      StackMap locals:
      StackMap stack:
            return
        end local 9 // java.util.List mergePredecessors
        end local 8 // org.graalvm.compiler.nodes.AbstractMergeNode merge
        end local 7 // org.graalvm.compiler.nodes.ValuePhiNode yPhi
        end local 6 // org.graalvm.compiler.nodes.ValueNode y
        end local 5 // org.graalvm.compiler.nodes.ValuePhiNode xPhi
        end local 4 // org.graalvm.compiler.nodes.ValueNode x
        end local 3 // org.graalvm.compiler.nodes.calc.CompareNode compare
        end local 2 // org.graalvm.compiler.phases.tiers.PhaseContext context
        end local 1 // org.graalvm.compiler.nodes.FixedGuardNode fixedGuard
        end local 0 // org.graalvm.compiler.phases.common.ConvertDeoptimizeToGuardPhase this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0   19     0               this  Lorg/graalvm/compiler/phases/common/ConvertDeoptimizeToGuardPhase;
            0   19     1         fixedGuard  Lorg/graalvm/compiler/nodes/FixedGuardNode;
            0   19     2            context  Lorg/graalvm/compiler/phases/tiers/PhaseContext;
            0   19     3            compare  Lorg/graalvm/compiler/nodes/calc/CompareNode;
            0   19     4                  x  Lorg/graalvm/compiler/nodes/ValueNode;
            0   19     5               xPhi  Lorg/graalvm/compiler/nodes/ValuePhiNode;
            0   19     6                  y  Lorg/graalvm/compiler/nodes/ValueNode;
            0   19     7               yPhi  Lorg/graalvm/compiler/nodes/ValuePhiNode;
            0   19     8              merge  Lorg/graalvm/compiler/nodes/AbstractMergeNode;
            1   19     9  mergePredecessors  Ljava/util/List<Lorg/graalvm/compiler/nodes/EndNode;>;
            2   18    10                  i  I
            4   16    11   mergePredecessor  Lorg/graalvm/compiler/nodes/AbstractEndNode;
            8    9    12                 xs  Ljdk/vm/ci/meta/Constant;
           10   16    12                 xs  Ljdk/vm/ci/meta/Constant;
           12   13    13                 ys  Ljdk/vm/ci/meta/Constant;
           14   16    13                 ys  Ljdk/vm/ci/meta/Constant;
    MethodParameters:
            Name  Flags
      fixedGuard  
      context     
      compare     
      x           
      xPhi        
      y           
      yPhi        
      merge       

  private void visitDeoptBegin(org.graalvm.compiler.nodes.AbstractBeginNode, jdk.vm.ci.meta.DeoptimizationAction, jdk.vm.ci.meta.DeoptimizationReason, jdk.vm.ci.meta.JavaConstant, org.graalvm.compiler.nodes.StructuredGraph, org.graalvm.compiler.nodes.spi.LoweringProvider);
    descriptor: (Lorg/graalvm/compiler/nodes/AbstractBeginNode;Ljdk/vm/ci/meta/DeoptimizationAction;Ljdk/vm/ci/meta/DeoptimizationReason;Ljdk/vm/ci/meta/JavaConstant;Lorg/graalvm/compiler/nodes/StructuredGraph;Lorg/graalvm/compiler/nodes/spi/LoweringProvider;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=9, locals=16, args_size=7
        start local 0 // org.graalvm.compiler.phases.common.ConvertDeoptimizeToGuardPhase this
        start local 1 // org.graalvm.compiler.nodes.AbstractBeginNode deoptBegin
        start local 2 // jdk.vm.ci.meta.DeoptimizationAction deoptAction
        start local 3 // jdk.vm.ci.meta.DeoptimizationReason deoptReason
        start local 4 // jdk.vm.ci.meta.JavaConstant speculation
        start local 5 // org.graalvm.compiler.nodes.StructuredGraph graph
        start local 6 // org.graalvm.compiler.nodes.spi.LoweringProvider loweringProvider
         0: .line 158
            aload 1 /* deoptBegin */
            invokevirtual org.graalvm.compiler.nodes.AbstractBeginNode.predecessor:()Lorg/graalvm/compiler/graph/Node;
            instanceof org.graalvm.compiler.nodes.AbstractBeginNode
            ifeq 3
         1: .line 162
            aload 0 /* this */
            aload 1 /* deoptBegin */
            invokevirtual org.graalvm.compiler.nodes.AbstractBeginNode.predecessor:()Lorg/graalvm/compiler/graph/Node;
            checkcast org.graalvm.compiler.nodes.AbstractBeginNode
            aload 2 /* deoptAction */
            aload 3 /* deoptReason */
            aload 4 /* speculation */
            aload 5 /* graph */
            aload 6 /* loweringProvider */
            invokevirtual org.graalvm.compiler.phases.common.ConvertDeoptimizeToGuardPhase.visitDeoptBegin:(Lorg/graalvm/compiler/nodes/AbstractBeginNode;Ljdk/vm/ci/meta/DeoptimizationAction;Ljdk/vm/ci/meta/DeoptimizationReason;Ljdk/vm/ci/meta/JavaConstant;Lorg/graalvm/compiler/nodes/StructuredGraph;Lorg/graalvm/compiler/nodes/spi/LoweringProvider;)V
         2: .line 163
            return
         3: .line 166
      StackMap locals:
      StackMap stack:
            aload 1 /* deoptBegin */
            instanceof org.graalvm.compiler.nodes.AbstractMergeNode
            ifeq 16
         4: .line 167
            aload 1 /* deoptBegin */
            checkcast org.graalvm.compiler.nodes.AbstractMergeNode
            astore 7 /* mergeNode */
        start local 7 // org.graalvm.compiler.nodes.AbstractMergeNode mergeNode
         5: .line 168
            ldc "Visiting %s"
            aload 7 /* mergeNode */
            invokestatic org.graalvm.compiler.debug.Debug.log:(Ljava/lang/String;Ljava/lang/Object;)V
         6: .line 169
            aload 7 /* mergeNode */
            invokevirtual org.graalvm.compiler.nodes.AbstractMergeNode.next:()Lorg/graalvm/compiler/nodes/FixedNode;
            astore 8 /* next */
        start local 8 // org.graalvm.compiler.nodes.FixedNode next
         7: .line 170
            goto 11
         8: .line 171
      StackMap locals: org.graalvm.compiler.nodes.AbstractMergeNode org.graalvm.compiler.nodes.FixedNode
      StackMap stack:
            aload 7 /* 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 9 /* end */
        start local 9 // org.graalvm.compiler.nodes.AbstractEndNode end
         9: .line 172
            aload 9 /* end */
            invokestatic org.graalvm.compiler.phases.common.ConvertDeoptimizeToGuardPhase.findBeginNode:(Lorg/graalvm/compiler/nodes/FixedNode;)Lorg/graalvm/compiler/nodes/AbstractBeginNode;
            astore 10 /* newBeginNode */
        start local 10 // org.graalvm.compiler.nodes.AbstractBeginNode newBeginNode
        10: .line 173
            aload 0 /* this */
            aload 10 /* newBeginNode */
            aload 2 /* deoptAction */
            aload 3 /* deoptReason */
            aload 4 /* speculation */
            aload 5 /* graph */
            aload 6 /* loweringProvider */
            invokevirtual org.graalvm.compiler.phases.common.ConvertDeoptimizeToGuardPhase.visitDeoptBegin:(Lorg/graalvm/compiler/nodes/AbstractBeginNode;Ljdk/vm/ci/meta/DeoptimizationAction;Ljdk/vm/ci/meta/DeoptimizationReason;Ljdk/vm/ci/meta/JavaConstant;Lorg/graalvm/compiler/nodes/StructuredGraph;Lorg/graalvm/compiler/nodes/spi/LoweringProvider;)V
        end local 10 // org.graalvm.compiler.nodes.AbstractBeginNode newBeginNode
        end local 9 // org.graalvm.compiler.nodes.AbstractEndNode end
        11: .line 170
      StackMap locals:
      StackMap stack:
            aload 7 /* mergeNode */
            invokevirtual org.graalvm.compiler.nodes.AbstractMergeNode.isAlive:()Z
            ifne 8
        12: .line 175
            getstatic org.graalvm.compiler.phases.common.ConvertDeoptimizeToGuardPhase.$assertionsDisabled:Z
            ifne 13
            aload 8 /* next */
            invokevirtual org.graalvm.compiler.nodes.FixedNode.isAlive:()Z
            ifne 13
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        13: .line 176
      StackMap locals:
      StackMap stack:
            aload 8 /* next */
            invokestatic org.graalvm.compiler.phases.common.ConvertDeoptimizeToGuardPhase.findBeginNode:(Lorg/graalvm/compiler/nodes/FixedNode;)Lorg/graalvm/compiler/nodes/AbstractBeginNode;
            astore 9 /* newBeginNode */
        start local 9 // org.graalvm.compiler.nodes.AbstractBeginNode newBeginNode
        14: .line 177
            aload 0 /* this */
            aload 9 /* newBeginNode */
            aload 2 /* deoptAction */
            aload 3 /* deoptReason */
            aload 4 /* speculation */
            aload 5 /* graph */
            aload 6 /* loweringProvider */
            invokevirtual org.graalvm.compiler.phases.common.ConvertDeoptimizeToGuardPhase.visitDeoptBegin:(Lorg/graalvm/compiler/nodes/AbstractBeginNode;Ljdk/vm/ci/meta/DeoptimizationAction;Ljdk/vm/ci/meta/DeoptimizationReason;Ljdk/vm/ci/meta/JavaConstant;Lorg/graalvm/compiler/nodes/StructuredGraph;Lorg/graalvm/compiler/nodes/spi/LoweringProvider;)V
        15: .line 178
            return
        end local 9 // org.graalvm.compiler.nodes.AbstractBeginNode newBeginNode
        end local 8 // org.graalvm.compiler.nodes.FixedNode next
        end local 7 // org.graalvm.compiler.nodes.AbstractMergeNode mergeNode
        16: .line 179
      StackMap locals:
      StackMap stack:
            aload 1 /* deoptBegin */
            invokevirtual org.graalvm.compiler.nodes.AbstractBeginNode.predecessor:()Lorg/graalvm/compiler/graph/Node;
            instanceof org.graalvm.compiler.nodes.IfNode
            ifeq 43
        17: .line 180
            aload 1 /* deoptBegin */
            invokevirtual org.graalvm.compiler.nodes.AbstractBeginNode.predecessor:()Lorg/graalvm/compiler/graph/Node;
            checkcast org.graalvm.compiler.nodes.IfNode
            astore 7 /* ifNode */
        start local 7 // org.graalvm.compiler.nodes.IfNode ifNode
        18: .line 181
            aload 7 /* ifNode */
            invokevirtual org.graalvm.compiler.nodes.IfNode.trueSuccessor:()Lorg/graalvm/compiler/nodes/AbstractBeginNode;
            astore 8 /* otherBegin */
        start local 8 // org.graalvm.compiler.nodes.AbstractBeginNode otherBegin
        19: .line 182
            aload 7 /* ifNode */
            invokevirtual org.graalvm.compiler.nodes.IfNode.condition:()Lorg/graalvm/compiler/nodes/LogicNode;
            astore 9 /* conditionNode */
        start local 9 // org.graalvm.compiler.nodes.LogicNode conditionNode
        20: .line 183
            aload 5 /* graph */
        21: new org.graalvm.compiler.nodes.FixedGuardNode
            dup
            aload 9 /* conditionNode */
            aload 3 /* deoptReason */
            aload 2 /* deoptAction */
            aload 4 /* speculation */
            aload 1 /* deoptBegin */
            aload 7 /* ifNode */
            invokevirtual org.graalvm.compiler.nodes.IfNode.trueSuccessor:()Lorg/graalvm/compiler/nodes/AbstractBeginNode;
            if_acmpne 22
            iconst_1
            goto 23
      StackMap locals: org.graalvm.compiler.phases.common.ConvertDeoptimizeToGuardPhase org.graalvm.compiler.nodes.AbstractBeginNode jdk.vm.ci.meta.DeoptimizationAction jdk.vm.ci.meta.DeoptimizationReason jdk.vm.ci.meta.JavaConstant org.graalvm.compiler.nodes.StructuredGraph org.graalvm.compiler.nodes.spi.LoweringProvider org.graalvm.compiler.nodes.IfNode org.graalvm.compiler.nodes.AbstractBeginNode org.graalvm.compiler.nodes.LogicNode
      StackMap stack: org.graalvm.compiler.nodes.StructuredGraph new 21 new 21 org.graalvm.compiler.nodes.LogicNode jdk.vm.ci.meta.DeoptimizationReason jdk.vm.ci.meta.DeoptimizationAction jdk.vm.ci.meta.JavaConstant
        22: iconst_0
      StackMap locals: org.graalvm.compiler.phases.common.ConvertDeoptimizeToGuardPhase org.graalvm.compiler.nodes.AbstractBeginNode jdk.vm.ci.meta.DeoptimizationAction jdk.vm.ci.meta.DeoptimizationReason jdk.vm.ci.meta.JavaConstant org.graalvm.compiler.nodes.StructuredGraph org.graalvm.compiler.nodes.spi.LoweringProvider org.graalvm.compiler.nodes.IfNode org.graalvm.compiler.nodes.AbstractBeginNode org.graalvm.compiler.nodes.LogicNode
      StackMap stack: org.graalvm.compiler.nodes.StructuredGraph new 21 new 21 org.graalvm.compiler.nodes.LogicNode jdk.vm.ci.meta.DeoptimizationReason jdk.vm.ci.meta.DeoptimizationAction jdk.vm.ci.meta.JavaConstant int
        23: 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/JavaConstant;Z)V
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph.add:(Lorg/graalvm/compiler/graph/Node;)Lorg/graalvm/compiler/graph/Node;
            checkcast org.graalvm.compiler.nodes.FixedGuardNode
            astore 10 /* guard */
        start local 10 // org.graalvm.compiler.nodes.FixedGuardNode guard
        24: .line 184
            aload 7 /* ifNode */
            invokevirtual org.graalvm.compiler.nodes.IfNode.predecessor:()Lorg/graalvm/compiler/graph/Node;
            checkcast org.graalvm.compiler.nodes.FixedWithNextNode
            astore 11 /* pred */
        start local 11 // org.graalvm.compiler.nodes.FixedWithNextNode pred
        25: .line 186
            aload 1 /* deoptBegin */
            aload 7 /* ifNode */
            invokevirtual org.graalvm.compiler.nodes.IfNode.trueSuccessor:()Lorg/graalvm/compiler/nodes/AbstractBeginNode;
            if_acmpne 28
        26: .line 187
            aload 7 /* ifNode */
            invokevirtual org.graalvm.compiler.nodes.IfNode.falseSuccessor:()Lorg/graalvm/compiler/nodes/AbstractBeginNode;
            astore 12 /* survivingSuccessor */
        start local 12 // org.graalvm.compiler.nodes.AbstractBeginNode survivingSuccessor
        27: .line 188
            goto 29
        end local 12 // org.graalvm.compiler.nodes.AbstractBeginNode survivingSuccessor
        28: .line 189
      StackMap locals: org.graalvm.compiler.nodes.FixedGuardNode org.graalvm.compiler.nodes.FixedWithNextNode
      StackMap stack:
            aload 7 /* ifNode */
            invokevirtual org.graalvm.compiler.nodes.IfNode.trueSuccessor:()Lorg/graalvm/compiler/nodes/AbstractBeginNode;
            astore 12 /* survivingSuccessor */
        start local 12 // org.graalvm.compiler.nodes.AbstractBeginNode survivingSuccessor
        29: .line 191
      StackMap locals: org.graalvm.compiler.nodes.AbstractBeginNode
      StackMap stack:
            aload 5 /* graph */
            aload 7 /* ifNode */
            aload 12 /* survivingSuccessor */
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph.removeSplitPropagate:(Lorg/graalvm/compiler/nodes/ControlSplitNode;Lorg/graalvm/compiler/nodes/AbstractBeginNode;)V
        30: .line 193
            aload 10 /* guard */
            astore 13 /* newGuard */
        start local 13 // org.graalvm.compiler.graph.Node newGuard
        31: .line 194
            aload 12 /* survivingSuccessor */
            instanceof org.graalvm.compiler.nodes.LoopExitNode
            ifeq 33
        32: .line 195
            aload 10 /* guard */
            aload 12 /* survivingSuccessor */
            checkcast org.graalvm.compiler.nodes.LoopExitNode
            aload 5 /* graph */
            invokestatic org.graalvm.compiler.nodes.ProxyNode.forGuard:(Lorg/graalvm/compiler/nodes/extended/GuardingNode;Lorg/graalvm/compiler/nodes/LoopExitNode;Lorg/graalvm/compiler/nodes/StructuredGraph;)Lorg/graalvm/compiler/nodes/GuardProxyNode;
            astore 13 /* newGuard */
        33: .line 197
      StackMap locals: org.graalvm.compiler.graph.Node
      StackMap stack:
            aload 12 /* survivingSuccessor */
            getstatic org.graalvm.compiler.nodeinfo.InputType.Guard:Lorg/graalvm/compiler/nodeinfo/InputType;
            aload 13 /* newGuard */
            invokevirtual org.graalvm.compiler.nodes.AbstractBeginNode.replaceAtUsages:(Lorg/graalvm/compiler/nodeinfo/InputType;Lorg/graalvm/compiler/graph/Node;)V
        34: .line 199
            ldc "Converting deopt on %-5s branch of %s to guard for remaining branch %s."
            aload 1 /* deoptBegin */
            aload 7 /* ifNode */
            invokevirtual org.graalvm.compiler.nodes.IfNode.trueSuccessor:()Lorg/graalvm/compiler/nodes/AbstractBeginNode;
            if_acmpne 35
            ldc "true"
            goto 36
      StackMap locals:
      StackMap stack: java.lang.String
        35: ldc "false"
      StackMap locals: org.graalvm.compiler.phases.common.ConvertDeoptimizeToGuardPhase org.graalvm.compiler.nodes.AbstractBeginNode jdk.vm.ci.meta.DeoptimizationAction jdk.vm.ci.meta.DeoptimizationReason jdk.vm.ci.meta.JavaConstant org.graalvm.compiler.nodes.StructuredGraph org.graalvm.compiler.nodes.spi.LoweringProvider org.graalvm.compiler.nodes.IfNode org.graalvm.compiler.nodes.AbstractBeginNode org.graalvm.compiler.nodes.LogicNode org.graalvm.compiler.nodes.FixedGuardNode org.graalvm.compiler.nodes.FixedWithNextNode org.graalvm.compiler.nodes.AbstractBeginNode org.graalvm.compiler.graph.Node
      StackMap stack: java.lang.String java.lang.String
        36: aload 7 /* ifNode */
            aload 8 /* otherBegin */
            invokestatic org.graalvm.compiler.debug.Debug.log:(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)V
        37: .line 200
            aload 11 /* pred */
            invokevirtual org.graalvm.compiler.nodes.FixedWithNextNode.next:()Lorg/graalvm/compiler/nodes/FixedNode;
            astore 14 /* next */
        start local 14 // org.graalvm.compiler.nodes.FixedNode next
        38: .line 201
            aload 11 /* pred */
            aload 10 /* guard */
            invokevirtual org.graalvm.compiler.nodes.FixedWithNextNode.setNext:(Lorg/graalvm/compiler/nodes/FixedNode;)V
        39: .line 202
            aload 10 /* guard */
            aload 14 /* next */
            invokevirtual org.graalvm.compiler.nodes.FixedGuardNode.setNext:(Lorg/graalvm/compiler/nodes/FixedNode;)V
        40: .line 203
            aconst_null
            aconst_null
            aconst_null
            iconst_0
            aload 5 /* graph */
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph.getAssumptions:()Ljdk/vm/ci/meta/Assumptions;
            aload 6 /* 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/nodes/spi/LoweringProvider;)Lorg/graalvm/compiler/graph/spi/SimplifierTool;
            astore 15 /* simplifierTool */
        start local 15 // org.graalvm.compiler.graph.spi.SimplifierTool simplifierTool
        41: .line 204
            aload 12 /* survivingSuccessor */
            aload 15 /* simplifierTool */
            invokevirtual org.graalvm.compiler.nodes.AbstractBeginNode.simplify:(Lorg/graalvm/compiler/graph/spi/SimplifierTool;)V
        42: .line 205
            return
        end local 15 // org.graalvm.compiler.graph.spi.SimplifierTool simplifierTool
        end local 14 // org.graalvm.compiler.nodes.FixedNode next
        end local 13 // org.graalvm.compiler.graph.Node newGuard
        end local 12 // org.graalvm.compiler.nodes.AbstractBeginNode survivingSuccessor
        end local 11 // org.graalvm.compiler.nodes.FixedWithNextNode pred
        end local 10 // org.graalvm.compiler.nodes.FixedGuardNode guard
        end local 9 // org.graalvm.compiler.nodes.LogicNode conditionNode
        end local 8 // org.graalvm.compiler.nodes.AbstractBeginNode otherBegin
        end local 7 // org.graalvm.compiler.nodes.IfNode ifNode
        43: .line 209
      StackMap locals: org.graalvm.compiler.phases.common.ConvertDeoptimizeToGuardPhase org.graalvm.compiler.nodes.AbstractBeginNode jdk.vm.ci.meta.DeoptimizationAction jdk.vm.ci.meta.DeoptimizationReason jdk.vm.ci.meta.JavaConstant org.graalvm.compiler.nodes.StructuredGraph org.graalvm.compiler.nodes.spi.LoweringProvider
      StackMap stack:
            aload 1 /* deoptBegin */
            astore 7 /* deoptPred */
        start local 7 // org.graalvm.compiler.nodes.FixedWithNextNode deoptPred
        44: .line 210
            aload 7 /* deoptPred */
            invokevirtual org.graalvm.compiler.nodes.FixedWithNextNode.next:()Lorg/graalvm/compiler/nodes/FixedNode;
            astore 8 /* next */
        start local 8 // org.graalvm.compiler.nodes.FixedNode next
        45: .line 212
            aload 8 /* next */
            instanceof org.graalvm.compiler.nodes.DeoptimizeNode
            ifne 50
        46: .line 213
            aload 5 /* graph */
            new org.graalvm.compiler.nodes.DeoptimizeNode
            dup
            aload 2 /* deoptAction */
            aload 3 /* deoptReason */
            aload 4 /* speculation */
            invokespecial org.graalvm.compiler.nodes.DeoptimizeNode.<init>:(Ljdk/vm/ci/meta/DeoptimizationAction;Ljdk/vm/ci/meta/DeoptimizationReason;Ljdk/vm/ci/meta/JavaConstant;)V
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph.add:(Lorg/graalvm/compiler/graph/Node;)Lorg/graalvm/compiler/graph/Node;
            checkcast org.graalvm.compiler.nodes.DeoptimizeNode
            astore 9 /* newDeoptNode */
        start local 9 // org.graalvm.compiler.nodes.DeoptimizeNode newDeoptNode
        47: .line 214
            aload 7 /* deoptPred */
            aload 9 /* newDeoptNode */
            invokevirtual org.graalvm.compiler.nodes.FixedWithNextNode.setNext:(Lorg/graalvm/compiler/nodes/FixedNode;)V
        48: .line 215
            getstatic org.graalvm.compiler.phases.common.ConvertDeoptimizeToGuardPhase.$assertionsDisabled:Z
            ifne 49
            aload 7 /* deoptPred */
            aload 9 /* newDeoptNode */
            invokevirtual org.graalvm.compiler.nodes.DeoptimizeNode.predecessor:()Lorg/graalvm/compiler/graph/Node;
            if_acmpeq 49
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        49: .line 216
      StackMap locals: org.graalvm.compiler.nodes.FixedWithNextNode org.graalvm.compiler.nodes.FixedNode org.graalvm.compiler.nodes.DeoptimizeNode
      StackMap stack:
            aload 8 /* next */
            invokestatic org.graalvm.compiler.nodes.util.GraphUtil.killCFG:(Lorg/graalvm/compiler/nodes/FixedNode;)V
        end local 9 // org.graalvm.compiler.nodes.DeoptimizeNode newDeoptNode
        50: .line 218
      StackMap locals:
      StackMap stack:
            return
        end local 8 // org.graalvm.compiler.nodes.FixedNode next
        end local 7 // org.graalvm.compiler.nodes.FixedWithNextNode deoptPred
        end local 6 // org.graalvm.compiler.nodes.spi.LoweringProvider loweringProvider
        end local 5 // org.graalvm.compiler.nodes.StructuredGraph graph
        end local 4 // jdk.vm.ci.meta.JavaConstant speculation
        end local 3 // jdk.vm.ci.meta.DeoptimizationReason deoptReason
        end local 2 // jdk.vm.ci.meta.DeoptimizationAction deoptAction
        end local 1 // org.graalvm.compiler.nodes.AbstractBeginNode deoptBegin
        end local 0 // org.graalvm.compiler.phases.common.ConvertDeoptimizeToGuardPhase this
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0   51     0                this  Lorg/graalvm/compiler/phases/common/ConvertDeoptimizeToGuardPhase;
            0   51     1          deoptBegin  Lorg/graalvm/compiler/nodes/AbstractBeginNode;
            0   51     2         deoptAction  Ljdk/vm/ci/meta/DeoptimizationAction;
            0   51     3         deoptReason  Ljdk/vm/ci/meta/DeoptimizationReason;
            0   51     4         speculation  Ljdk/vm/ci/meta/JavaConstant;
            0   51     5               graph  Lorg/graalvm/compiler/nodes/StructuredGraph;
            0   51     6    loweringProvider  Lorg/graalvm/compiler/nodes/spi/LoweringProvider;
            5   16     7           mergeNode  Lorg/graalvm/compiler/nodes/AbstractMergeNode;
            7   16     8                next  Lorg/graalvm/compiler/nodes/FixedNode;
            9   11     9                 end  Lorg/graalvm/compiler/nodes/AbstractEndNode;
           10   11    10        newBeginNode  Lorg/graalvm/compiler/nodes/AbstractBeginNode;
           14   16     9        newBeginNode  Lorg/graalvm/compiler/nodes/AbstractBeginNode;
           18   43     7              ifNode  Lorg/graalvm/compiler/nodes/IfNode;
           19   43     8          otherBegin  Lorg/graalvm/compiler/nodes/AbstractBeginNode;
           20   43     9       conditionNode  Lorg/graalvm/compiler/nodes/LogicNode;
           24   43    10               guard  Lorg/graalvm/compiler/nodes/FixedGuardNode;
           25   43    11                pred  Lorg/graalvm/compiler/nodes/FixedWithNextNode;
           27   28    12  survivingSuccessor  Lorg/graalvm/compiler/nodes/AbstractBeginNode;
           29   43    12  survivingSuccessor  Lorg/graalvm/compiler/nodes/AbstractBeginNode;
           31   43    13            newGuard  Lorg/graalvm/compiler/graph/Node;
           38   43    14                next  Lorg/graalvm/compiler/nodes/FixedNode;
           41   43    15      simplifierTool  Lorg/graalvm/compiler/graph/spi/SimplifierTool;
           44   51     7           deoptPred  Lorg/graalvm/compiler/nodes/FixedWithNextNode;
           45   51     8                next  Lorg/graalvm/compiler/nodes/FixedNode;
           47   50     9        newDeoptNode  Lorg/graalvm/compiler/nodes/DeoptimizeNode;
    MethodParameters:
                  Name  Flags
      deoptBegin        
      deoptAction       
      deoptReason       
      speculation       
      graph             
      loweringProvider  

  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.phases.tiers.PhaseContext
            invokevirtual org.graalvm.compiler.phases.common.ConvertDeoptimizeToGuardPhase.run:(Lorg/graalvm/compiler/nodes/StructuredGraph;Lorg/graalvm/compiler/phases/tiers/PhaseContext;)V
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature
}
Signature: Lorg/graalvm/compiler/phases/BasePhase<Lorg/graalvm/compiler/phases/tiers/PhaseContext;>;
SourceFile: "ConvertDeoptimizeToGuardPhase.java"
InnerClasses:
  public final Optionality = org.graalvm.compiler.phases.common.DeadCodeEliminationPhase$Optionality of org.graalvm.compiler.phases.common.DeadCodeEliminationPhase