public class org.graalvm.compiler.phases.common.ConditionalEliminationPhase$Instance implements org.graalvm.compiler.nodes.cfg.ControlFlowGraph$RecursiveVisitor<java.lang.Integer>
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.graalvm.compiler.phases.common.ConditionalEliminationPhase$Instance
  super_class: java.lang.Object
{
  protected final org.graalvm.compiler.graph.NodeMap<org.graalvm.compiler.phases.common.ConditionalEliminationPhase$InfoElement> map;
    descriptor: Lorg/graalvm/compiler/graph/NodeMap;
    flags: (0x0014) ACC_PROTECTED, ACC_FINAL
    Signature: Lorg/graalvm/compiler/graph/NodeMap<Lorg/graalvm/compiler/phases/common/ConditionalEliminationPhase$InfoElement;>;

  protected final org.graalvm.compiler.core.common.cfg.BlockMap<java.util.List<org.graalvm.compiler.graph.Node>> blockToNodes;
    descriptor: Lorg/graalvm/compiler/core/common/cfg/BlockMap;
    flags: (0x0014) ACC_PROTECTED, ACC_FINAL
    Signature: Lorg/graalvm/compiler/core/common/cfg/BlockMap<Ljava/util/List<Lorg/graalvm/compiler/graph/Node;>;>;

  protected final org.graalvm.compiler.graph.spi.CanonicalizerTool tool;
    descriptor: Lorg/graalvm/compiler/graph/spi/CanonicalizerTool;
    flags: (0x0014) ACC_PROTECTED, ACC_FINAL

  protected final org.graalvm.compiler.graph.NodeStack undoOperations;
    descriptor: Lorg/graalvm/compiler/graph/NodeStack;
    flags: (0x0014) ACC_PROTECTED, ACC_FINAL

  protected final org.graalvm.compiler.nodes.StructuredGraph graph;
    descriptor: Lorg/graalvm/compiler/nodes/StructuredGraph;
    flags: (0x0014) ACC_PROTECTED, ACC_FINAL

  protected final org.graalvm.compiler.debug.DebugContext debug;
    descriptor: Lorg/graalvm/compiler/debug/DebugContext;
    flags: (0x0014) ACC_PROTECTED, ACC_FINAL

  protected final org.graalvm.util.EconomicMap<org.graalvm.compiler.nodes.MergeNode, org.graalvm.util.EconomicMap<org.graalvm.compiler.nodes.ValuePhiNode, org.graalvm.compiler.phases.common.ConditionalEliminationPhase$PhiInfoElement>> mergeMaps;
    descriptor: Lorg/graalvm/util/EconomicMap;
    flags: (0x0014) ACC_PROTECTED, ACC_FINAL
    Signature: Lorg/graalvm/util/EconomicMap<Lorg/graalvm/compiler/nodes/MergeNode;Lorg/graalvm/util/EconomicMap<Lorg/graalvm/compiler/nodes/ValuePhiNode;Lorg/graalvm/compiler/phases/common/ConditionalEliminationPhase$PhiInfoElement;>;>;

  private java.util.Deque<org.graalvm.compiler.nodes.DeoptimizingGuard> pendingTests;
    descriptor: Ljava/util/Deque;
    flags: (0x0002) ACC_PRIVATE
    Signature: Ljava/util/Deque<Lorg/graalvm/compiler/nodes/DeoptimizingGuard;>;

  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 240
            ldc Lorg/graalvm/compiler/phases/common/ConditionalEliminationPhase;
            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.ConditionalEliminationPhase$Instance.$assertionsDisabled:Z
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public void <init>(org.graalvm.compiler.nodes.StructuredGraph, org.graalvm.compiler.core.common.cfg.BlockMap<java.util.List<org.graalvm.compiler.graph.Node>>, org.graalvm.compiler.phases.tiers.PhaseContext);
    descriptor: (Lorg/graalvm/compiler/nodes/StructuredGraph;Lorg/graalvm/compiler/core/common/cfg/BlockMap;Lorg/graalvm/compiler/phases/tiers/PhaseContext;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=8, locals=4, args_size=4
        start local 0 // org.graalvm.compiler.phases.common.ConditionalEliminationPhase$Instance this
        start local 1 // org.graalvm.compiler.nodes.StructuredGraph graph
        start local 2 // org.graalvm.compiler.core.common.cfg.BlockMap blockToNodes
        start local 3 // org.graalvm.compiler.phases.tiers.PhaseContext context
         0: .line 254
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 255
            aload 0 /* this */
            aload 1 /* graph */
            putfield org.graalvm.compiler.phases.common.ConditionalEliminationPhase$Instance.graph:Lorg/graalvm/compiler/nodes/StructuredGraph;
         2: .line 256
            aload 0 /* this */
            aload 1 /* graph */
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph.getDebug:()Lorg/graalvm/compiler/debug/DebugContext;
            putfield org.graalvm.compiler.phases.common.ConditionalEliminationPhase$Instance.debug:Lorg/graalvm/compiler/debug/DebugContext;
         3: .line 257
            aload 0 /* this */
            aload 2 /* blockToNodes */
            putfield org.graalvm.compiler.phases.common.ConditionalEliminationPhase$Instance.blockToNodes:Lorg/graalvm/compiler/core/common/cfg/BlockMap;
         4: .line 258
            aload 0 /* this */
            new org.graalvm.compiler.graph.NodeStack
            dup
            invokespecial org.graalvm.compiler.graph.NodeStack.<init>:()V
            putfield org.graalvm.compiler.phases.common.ConditionalEliminationPhase$Instance.undoOperations:Lorg/graalvm/compiler/graph/NodeStack;
         5: .line 259
            aload 0 /* this */
            aload 1 /* graph */
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph.createNodeMap:()Lorg/graalvm/compiler/graph/NodeMap;
            putfield org.graalvm.compiler.phases.common.ConditionalEliminationPhase$Instance.map:Lorg/graalvm/compiler/graph/NodeMap;
         6: .line 260
            aload 0 /* this */
            new java.util.ArrayDeque
            dup
            invokespecial java.util.ArrayDeque.<init>:()V
            putfield org.graalvm.compiler.phases.common.ConditionalEliminationPhase$Instance.pendingTests:Ljava/util/Deque;
         7: .line 261
            aload 0 /* this */
            aload 3 /* context */
            invokevirtual org.graalvm.compiler.phases.tiers.PhaseContext.getMetaAccess:()Ljdk/vm/ci/meta/MetaAccessProvider;
            aload 3 /* context */
            invokevirtual org.graalvm.compiler.phases.tiers.PhaseContext.getConstantReflection:()Ljdk/vm/ci/meta/ConstantReflectionProvider;
            aload 3 /* context */
            invokevirtual org.graalvm.compiler.phases.tiers.PhaseContext.getConstantFieldProvider:()Lorg/graalvm/compiler/core/common/spi/ConstantFieldProvider;
            iconst_0
            aload 1 /* graph */
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph.getAssumptions:()Ljdk/vm/ci/meta/Assumptions;
            aload 1 /* graph */
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph.getOptions:()Lorg/graalvm/compiler/options/OptionValues;
         8: .line 262
            aload 3 /* context */
            invokevirtual org.graalvm.compiler.phases.tiers.PhaseContext.getLowerer:()Lorg/graalvm/compiler/nodes/spi/LoweringProvider;
         9: .line 261
            invokestatic org.graalvm.compiler.nodes.util.GraphUtil.getDefaultSimplifier:(Ljdk/vm/ci/meta/MetaAccessProvider;Ljdk/vm/ci/meta/ConstantReflectionProvider;Lorg/graalvm/compiler/core/common/spi/ConstantFieldProvider;ZLjdk/vm/ci/meta/Assumptions;Lorg/graalvm/compiler/options/OptionValues;Lorg/graalvm/compiler/nodes/spi/LoweringProvider;)Lorg/graalvm/compiler/graph/spi/SimplifierTool;
            putfield org.graalvm.compiler.phases.common.ConditionalEliminationPhase$Instance.tool:Lorg/graalvm/compiler/graph/spi/CanonicalizerTool;
        10: .line 263
            aload 0 /* this */
            invokestatic org.graalvm.util.EconomicMap.create:()Lorg/graalvm/util/EconomicMap;
            putfield org.graalvm.compiler.phases.common.ConditionalEliminationPhase$Instance.mergeMaps:Lorg/graalvm/util/EconomicMap;
        11: .line 264
            return
        end local 3 // org.graalvm.compiler.phases.tiers.PhaseContext context
        end local 2 // org.graalvm.compiler.core.common.cfg.BlockMap blockToNodes
        end local 1 // org.graalvm.compiler.nodes.StructuredGraph graph
        end local 0 // org.graalvm.compiler.phases.common.ConditionalEliminationPhase$Instance this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   12     0          this  Lorg/graalvm/compiler/phases/common/ConditionalEliminationPhase$Instance;
            0   12     1         graph  Lorg/graalvm/compiler/nodes/StructuredGraph;
            0   12     2  blockToNodes  Lorg/graalvm/compiler/core/common/cfg/BlockMap<Ljava/util/List<Lorg/graalvm/compiler/graph/Node;>;>;
            0   12     3       context  Lorg/graalvm/compiler/phases/tiers/PhaseContext;
    Signature: (Lorg/graalvm/compiler/nodes/StructuredGraph;Lorg/graalvm/compiler/core/common/cfg/BlockMap<Ljava/util/List<Lorg/graalvm/compiler/graph/Node;>;>;Lorg/graalvm/compiler/phases/tiers/PhaseContext;)V
    MethodParameters:
              Name  Flags
      graph         
      blockToNodes  
      context       

  protected void processConditionAnchor(org.graalvm.compiler.nodes.ConditionAnchorNode);
    descriptor: (Lorg/graalvm/compiler/nodes/ConditionAnchorNode;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.graalvm.compiler.phases.common.ConditionalEliminationPhase$Instance this
        start local 1 // org.graalvm.compiler.nodes.ConditionAnchorNode node
         0: .line 267
            aload 0 /* this */
            aload 1 /* node */
            invokevirtual org.graalvm.compiler.nodes.ConditionAnchorNode.condition:()Lorg/graalvm/compiler/nodes/LogicNode;
            aload 1 /* node */
            invokedynamic rewire(Lorg/graalvm/compiler/nodes/ConditionAnchorNode;)Lorg/graalvm/compiler/phases/common/ConditionalEliminationPhase$GuardRewirer;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Lorg/graalvm/compiler/nodes/extended/GuardingNode;ZLorg/graalvm/compiler/core/common/type/Stamp;Lorg/graalvm/compiler/nodes/ValueNode;)Z
                  org/graalvm/compiler/phases/common/ConditionalEliminationPhase$Instance.lambda$0(Lorg/graalvm/compiler/nodes/ConditionAnchorNode;Lorg/graalvm/compiler/nodes/extended/GuardingNode;ZLorg/graalvm/compiler/core/common/type/Stamp;Lorg/graalvm/compiler/nodes/ValueNode;)Z (6)
                  (Lorg/graalvm/compiler/nodes/extended/GuardingNode;ZLorg/graalvm/compiler/core/common/type/Stamp;Lorg/graalvm/compiler/nodes/ValueNode;)Z
            invokevirtual org.graalvm.compiler.phases.common.ConditionalEliminationPhase$Instance.tryProveCondition:(Lorg/graalvm/compiler/nodes/LogicNode;Lorg/graalvm/compiler/phases/common/ConditionalEliminationPhase$GuardRewirer;)Z
            pop
         1: .line 279
            return
        end local 1 // org.graalvm.compiler.nodes.ConditionAnchorNode node
        end local 0 // org.graalvm.compiler.phases.common.ConditionalEliminationPhase$Instance this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/graalvm/compiler/phases/common/ConditionalEliminationPhase$Instance;
            0    2     1  node  Lorg/graalvm/compiler/nodes/ConditionAnchorNode;
    MethodParameters:
      Name  Flags
      node  

  protected void processGuard(org.graalvm.compiler.nodes.GuardNode);
    descriptor: (Lorg/graalvm/compiler/nodes/GuardNode;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // org.graalvm.compiler.phases.common.ConditionalEliminationPhase$Instance this
        start local 1 // org.graalvm.compiler.nodes.GuardNode node
         0: .line 282
            aload 0 /* this */
            aload 1 /* node */
            aload 1 /* node */
            invokevirtual org.graalvm.compiler.nodes.GuardNode.getCondition:()Lorg/graalvm/compiler/nodes/LogicNode;
            aload 1 /* node */
            invokedynamic rewire(Lorg/graalvm/compiler/nodes/GuardNode;)Lorg/graalvm/compiler/phases/common/ConditionalEliminationPhase$GuardRewirer;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Lorg/graalvm/compiler/nodes/extended/GuardingNode;ZLorg/graalvm/compiler/core/common/type/Stamp;Lorg/graalvm/compiler/nodes/ValueNode;)Z
                  org/graalvm/compiler/phases/common/ConditionalEliminationPhase$Instance.lambda$1(Lorg/graalvm/compiler/nodes/GuardNode;Lorg/graalvm/compiler/nodes/extended/GuardingNode;ZLorg/graalvm/compiler/core/common/type/Stamp;Lorg/graalvm/compiler/nodes/ValueNode;)Z (6)
                  (Lorg/graalvm/compiler/nodes/extended/GuardingNode;ZLorg/graalvm/compiler/core/common/type/Stamp;Lorg/graalvm/compiler/nodes/ValueNode;)Z
            invokevirtual org.graalvm.compiler.phases.common.ConditionalEliminationPhase$Instance.tryProveGuardCondition:(Lorg/graalvm/compiler/nodes/DeoptimizingGuard;Lorg/graalvm/compiler/nodes/LogicNode;Lorg/graalvm/compiler/phases/common/ConditionalEliminationPhase$GuardRewirer;)Z
         1: .line 293
            ifne 3
         2: .line 294
            aload 0 /* this */
            aload 1 /* node */
            invokevirtual org.graalvm.compiler.nodes.GuardNode.getCondition:()Lorg/graalvm/compiler/nodes/LogicNode;
            aload 1 /* node */
            invokevirtual org.graalvm.compiler.nodes.GuardNode.isNegated:()Z
            aload 1 /* node */
            invokevirtual org.graalvm.compiler.phases.common.ConditionalEliminationPhase$Instance.registerNewCondition:(Lorg/graalvm/compiler/nodes/LogicNode;ZLorg/graalvm/compiler/nodes/extended/GuardingNode;)V
         3: .line 296
      StackMap locals:
      StackMap stack:
            return
        end local 1 // org.graalvm.compiler.nodes.GuardNode node
        end local 0 // org.graalvm.compiler.phases.common.ConditionalEliminationPhase$Instance this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lorg/graalvm/compiler/phases/common/ConditionalEliminationPhase$Instance;
            0    4     1  node  Lorg/graalvm/compiler/nodes/GuardNode;
    MethodParameters:
      Name  Flags
      node  

  protected void processFixedGuard(org.graalvm.compiler.nodes.FixedGuardNode);
    descriptor: (Lorg/graalvm/compiler/nodes/FixedGuardNode;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=5, locals=2, args_size=2
        start local 0 // org.graalvm.compiler.phases.common.ConditionalEliminationPhase$Instance this
        start local 1 // org.graalvm.compiler.nodes.FixedGuardNode node
         0: .line 299
            aload 0 /* this */
            aload 1 /* node */
            aload 1 /* node */
            invokevirtual org.graalvm.compiler.nodes.FixedGuardNode.condition:()Lorg/graalvm/compiler/nodes/LogicNode;
            aload 0 /* this */
            aload 1 /* node */
            invokedynamic rewire(Lorg/graalvm/compiler/phases/common/ConditionalEliminationPhase$Instance;Lorg/graalvm/compiler/nodes/FixedGuardNode;)Lorg/graalvm/compiler/phases/common/ConditionalEliminationPhase$GuardRewirer;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Lorg/graalvm/compiler/nodes/extended/GuardingNode;ZLorg/graalvm/compiler/core/common/type/Stamp;Lorg/graalvm/compiler/nodes/ValueNode;)Z
                  org/graalvm/compiler/phases/common/ConditionalEliminationPhase$Instance.lambda$2(Lorg/graalvm/compiler/nodes/FixedGuardNode;Lorg/graalvm/compiler/nodes/extended/GuardingNode;ZLorg/graalvm/compiler/core/common/type/Stamp;Lorg/graalvm/compiler/nodes/ValueNode;)Z (7)
                  (Lorg/graalvm/compiler/nodes/extended/GuardingNode;ZLorg/graalvm/compiler/core/common/type/Stamp;Lorg/graalvm/compiler/nodes/ValueNode;)Z
            invokevirtual org.graalvm.compiler.phases.common.ConditionalEliminationPhase$Instance.tryProveGuardCondition:(Lorg/graalvm/compiler/nodes/DeoptimizingGuard;Lorg/graalvm/compiler/nodes/LogicNode;Lorg/graalvm/compiler/phases/common/ConditionalEliminationPhase$GuardRewirer;)Z
         1: .line 312
            ifne 3
         2: .line 313
            aload 0 /* this */
            aload 1 /* node */
            invokevirtual org.graalvm.compiler.nodes.FixedGuardNode.condition:()Lorg/graalvm/compiler/nodes/LogicNode;
            aload 1 /* node */
            invokevirtual org.graalvm.compiler.nodes.FixedGuardNode.isNegated:()Z
            aload 1 /* node */
            invokevirtual org.graalvm.compiler.phases.common.ConditionalEliminationPhase$Instance.registerNewCondition:(Lorg/graalvm/compiler/nodes/LogicNode;ZLorg/graalvm/compiler/nodes/extended/GuardingNode;)V
         3: .line 315
      StackMap locals:
      StackMap stack:
            return
        end local 1 // org.graalvm.compiler.nodes.FixedGuardNode node
        end local 0 // org.graalvm.compiler.phases.common.ConditionalEliminationPhase$Instance this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lorg/graalvm/compiler/phases/common/ConditionalEliminationPhase$Instance;
            0    4     1  node  Lorg/graalvm/compiler/nodes/FixedGuardNode;
    MethodParameters:
      Name  Flags
      node  

  protected void processIf(org.graalvm.compiler.nodes.IfNode);
    descriptor: (Lorg/graalvm/compiler/nodes/IfNode;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // org.graalvm.compiler.phases.common.ConditionalEliminationPhase$Instance this
        start local 1 // org.graalvm.compiler.nodes.IfNode node
         0: .line 318
            aload 0 /* this */
            aload 1 /* node */
            invokevirtual org.graalvm.compiler.nodes.IfNode.condition:()Lorg/graalvm/compiler/nodes/LogicNode;
            aload 0 /* this */
            aload 1 /* node */
            invokedynamic rewire(Lorg/graalvm/compiler/phases/common/ConditionalEliminationPhase$Instance;Lorg/graalvm/compiler/nodes/IfNode;)Lorg/graalvm/compiler/phases/common/ConditionalEliminationPhase$GuardRewirer;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Lorg/graalvm/compiler/nodes/extended/GuardingNode;ZLorg/graalvm/compiler/core/common/type/Stamp;Lorg/graalvm/compiler/nodes/ValueNode;)Z
                  org/graalvm/compiler/phases/common/ConditionalEliminationPhase$Instance.lambda$3(Lorg/graalvm/compiler/nodes/IfNode;Lorg/graalvm/compiler/nodes/extended/GuardingNode;ZLorg/graalvm/compiler/core/common/type/Stamp;Lorg/graalvm/compiler/nodes/ValueNode;)Z (7)
                  (Lorg/graalvm/compiler/nodes/extended/GuardingNode;ZLorg/graalvm/compiler/core/common/type/Stamp;Lorg/graalvm/compiler/nodes/ValueNode;)Z
            invokevirtual org.graalvm.compiler.phases.common.ConditionalEliminationPhase$Instance.tryProveCondition:(Lorg/graalvm/compiler/nodes/LogicNode;Lorg/graalvm/compiler/phases/common/ConditionalEliminationPhase$GuardRewirer;)Z
            pop
         1: .line 327
            return
        end local 1 // org.graalvm.compiler.nodes.IfNode node
        end local 0 // org.graalvm.compiler.phases.common.ConditionalEliminationPhase$Instance this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/graalvm/compiler/phases/common/ConditionalEliminationPhase$Instance;
            0    2     1  node  Lorg/graalvm/compiler/nodes/IfNode;
    MethodParameters:
      Name  Flags
      node  

  public java.lang.Integer enter(org.graalvm.compiler.nodes.cfg.Block);
    descriptor: (Lorg/graalvm/compiler/nodes/cfg/Block;)Ljava/lang/Integer;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // org.graalvm.compiler.phases.common.ConditionalEliminationPhase$Instance this
        start local 1 // org.graalvm.compiler.nodes.cfg.Block block
         0: .line 331
            aload 0 /* this */
            getfield org.graalvm.compiler.phases.common.ConditionalEliminationPhase$Instance.undoOperations:Lorg/graalvm/compiler/graph/NodeStack;
            invokevirtual org.graalvm.compiler.graph.NodeStack.size:()I
            istore 2 /* mark */
        start local 2 // int mark
         1: .line 332
            aload 0 /* this */
            getfield org.graalvm.compiler.phases.common.ConditionalEliminationPhase$Instance.debug:Lorg/graalvm/compiler/debug/DebugContext;
            ldc "[Pre Processing block %s]"
            aload 1 /* block */
            invokevirtual org.graalvm.compiler.debug.DebugContext.log:(Ljava/lang/String;Ljava/lang/Object;)V
         2: .line 334
            aload 0 /* this */
            getfield org.graalvm.compiler.phases.common.ConditionalEliminationPhase$Instance.pendingTests:Ljava/util/Deque;
            invokeinterface java.util.Deque.clear:()V
         3: .line 335
            aload 0 /* this */
            aload 1 /* block */
            invokevirtual org.graalvm.compiler.phases.common.ConditionalEliminationPhase$Instance.processNodes:(Lorg/graalvm/compiler/nodes/cfg/Block;)V
         4: .line 336
            iload 2 /* mark */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            areturn
        end local 2 // int mark
        end local 1 // org.graalvm.compiler.nodes.cfg.Block block
        end local 0 // org.graalvm.compiler.phases.common.ConditionalEliminationPhase$Instance this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    5     0   this  Lorg/graalvm/compiler/phases/common/ConditionalEliminationPhase$Instance;
            0    5     1  block  Lorg/graalvm/compiler/nodes/cfg/Block;
            1    5     2   mark  I
    MethodParameters:
       Name  Flags
      block  

  protected void processNodes(org.graalvm.compiler.nodes.cfg.Block);
    descriptor: (Lorg/graalvm/compiler/nodes/cfg/Block;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=4, args_size=2
        start local 0 // org.graalvm.compiler.phases.common.ConditionalEliminationPhase$Instance this
        start local 1 // org.graalvm.compiler.nodes.cfg.Block block
         0: .line 340
            aload 0 /* this */
            getfield org.graalvm.compiler.phases.common.ConditionalEliminationPhase$Instance.blockToNodes:Lorg/graalvm/compiler/core/common/cfg/BlockMap;
            ifnull 7
         1: .line 341
            aload 0 /* this */
            getfield org.graalvm.compiler.phases.common.ConditionalEliminationPhase$Instance.blockToNodes:Lorg/graalvm/compiler/core/common/cfg/BlockMap;
            aload 1 /* block */
            invokevirtual org.graalvm.compiler.core.common.cfg.BlockMap.get:(Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;)Ljava/lang/Object;
            checkcast java.util.List
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 3
            goto 5
      StackMap locals: org.graalvm.compiler.phases.common.ConditionalEliminationPhase$Instance org.graalvm.compiler.nodes.cfg.Block top java.util.Iterator
      StackMap stack:
         2: aload 3
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.graalvm.compiler.graph.Node
            astore 2 /* n */
        start local 2 // org.graalvm.compiler.graph.Node n
         3: .line 342
            aload 2 /* n */
            invokevirtual org.graalvm.compiler.graph.Node.isAlive:()Z
            ifeq 5
         4: .line 343
            aload 0 /* this */
            aload 2 /* n */
            invokevirtual org.graalvm.compiler.phases.common.ConditionalEliminationPhase$Instance.processNode:(Lorg/graalvm/compiler/graph/Node;)V
        end local 2 // org.graalvm.compiler.graph.Node n
         5: .line 341
      StackMap locals:
      StackMap stack:
            aload 3
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 2
         6: .line 346
            goto 8
         7: .line 347
      StackMap locals: org.graalvm.compiler.phases.common.ConditionalEliminationPhase$Instance org.graalvm.compiler.nodes.cfg.Block
      StackMap stack:
            aload 0 /* this */
            aload 1 /* block */
            invokevirtual org.graalvm.compiler.phases.common.ConditionalEliminationPhase$Instance.processBlock:(Lorg/graalvm/compiler/nodes/cfg/Block;)V
         8: .line 349
      StackMap locals:
      StackMap stack:
            return
        end local 1 // org.graalvm.compiler.nodes.cfg.Block block
        end local 0 // org.graalvm.compiler.phases.common.ConditionalEliminationPhase$Instance this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    9     0   this  Lorg/graalvm/compiler/phases/common/ConditionalEliminationPhase$Instance;
            0    9     1  block  Lorg/graalvm/compiler/nodes/cfg/Block;
            3    5     2      n  Lorg/graalvm/compiler/graph/Node;
    MethodParameters:
       Name  Flags
      block  

  private void processBlock(org.graalvm.compiler.nodes.cfg.Block);
    descriptor: (Lorg/graalvm/compiler/nodes/cfg/Block;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=5, args_size=2
        start local 0 // org.graalvm.compiler.phases.common.ConditionalEliminationPhase$Instance this
        start local 1 // org.graalvm.compiler.nodes.cfg.Block block
         0: .line 352
            aload 1 /* block */
            invokevirtual org.graalvm.compiler.nodes.cfg.Block.getBeginNode:()Lorg/graalvm/compiler/nodes/AbstractBeginNode;
            astore 2 /* n */
        start local 2 // org.graalvm.compiler.nodes.FixedNode n
         1: .line 353
            aload 1 /* block */
            invokevirtual org.graalvm.compiler.nodes.cfg.Block.getEndNode:()Lorg/graalvm/compiler/nodes/FixedNode;
            astore 3 /* endNode */
        start local 3 // org.graalvm.compiler.nodes.FixedNode endNode
         2: .line 354
            aload 0 /* this */
            getfield org.graalvm.compiler.phases.common.ConditionalEliminationPhase$Instance.debug:Lorg/graalvm/compiler/debug/DebugContext;
            ldc "[Processing block %s]"
            aload 1 /* block */
            invokevirtual org.graalvm.compiler.debug.DebugContext.log:(Ljava/lang/String;Ljava/lang/Object;)V
         3: .line 355
            goto 9
         4: .line 356
      StackMap locals: org.graalvm.compiler.nodes.FixedNode org.graalvm.compiler.nodes.FixedNode
      StackMap stack:
            aload 2 /* n */
            invokevirtual org.graalvm.compiler.nodes.FixedNode.isDeleted:()Z
            ifne 5
            aload 3 /* endNode */
            invokevirtual org.graalvm.compiler.nodes.FixedNode.isDeleted:()Z
            ifeq 6
         5: .line 358
      StackMap locals:
      StackMap stack:
            return
         6: .line 360
      StackMap locals:
      StackMap stack:
            aload 2 /* n */
            checkcast org.graalvm.compiler.nodes.FixedWithNextNode
            invokevirtual org.graalvm.compiler.nodes.FixedWithNextNode.next:()Lorg/graalvm/compiler/nodes/FixedNode;
            astore 4 /* next */
        start local 4 // org.graalvm.compiler.nodes.FixedNode next
         7: .line 361
            aload 0 /* this */
            aload 2 /* n */
            invokevirtual org.graalvm.compiler.phases.common.ConditionalEliminationPhase$Instance.processNode:(Lorg/graalvm/compiler/graph/Node;)V
         8: .line 362
            aload 4 /* next */
            astore 2 /* n */
        end local 4 // org.graalvm.compiler.nodes.FixedNode next
         9: .line 355
      StackMap locals:
      StackMap stack:
            aload 2 /* n */
            aload 3 /* endNode */
            if_acmpne 4
        10: .line 364
            aload 3 /* endNode */
            invokevirtual org.graalvm.compiler.nodes.FixedNode.isAlive:()Z
            ifeq 12
        11: .line 365
            aload 0 /* this */
            aload 3 /* endNode */
            invokevirtual org.graalvm.compiler.phases.common.ConditionalEliminationPhase$Instance.processNode:(Lorg/graalvm/compiler/graph/Node;)V
        12: .line 367
      StackMap locals:
      StackMap stack:
            return
        end local 3 // org.graalvm.compiler.nodes.FixedNode endNode
        end local 2 // org.graalvm.compiler.nodes.FixedNode n
        end local 1 // org.graalvm.compiler.nodes.cfg.Block block
        end local 0 // org.graalvm.compiler.phases.common.ConditionalEliminationPhase$Instance this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   13     0     this  Lorg/graalvm/compiler/phases/common/ConditionalEliminationPhase$Instance;
            0   13     1    block  Lorg/graalvm/compiler/nodes/cfg/Block;
            1   13     2        n  Lorg/graalvm/compiler/nodes/FixedNode;
            2   13     3  endNode  Lorg/graalvm/compiler/nodes/FixedNode;
            7    9     4     next  Lorg/graalvm/compiler/nodes/FixedNode;
    MethodParameters:
       Name  Flags
      block  

  protected void processNode(org.graalvm.compiler.graph.Node);
    descriptor: (Lorg/graalvm/compiler/graph/Node;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=5, args_size=2
        start local 0 // org.graalvm.compiler.phases.common.ConditionalEliminationPhase$Instance this
        start local 1 // org.graalvm.compiler.graph.Node node
         0: .line 371
            aconst_null
            astore 2
            aconst_null
            astore 3
         1: aload 1 /* node */
            invokevirtual org.graalvm.compiler.graph.Node.withNodeSourcePosition:()Lorg/graalvm/compiler/debug/DebugCloseable;
            astore 4 /* closeable */
        start local 4 // org.graalvm.compiler.debug.DebugCloseable closeable
         2: .line 372
            aload 1 /* node */
            instanceof org.graalvm.compiler.nodes.spi.NodeWithState
            ifeq 4
            aload 1 /* node */
            instanceof org.graalvm.compiler.nodes.extended.GuardingNode
            ifne 4
         3: .line 373
            aload 0 /* this */
            getfield org.graalvm.compiler.phases.common.ConditionalEliminationPhase$Instance.pendingTests:Ljava/util/Deque;
            invokeinterface java.util.Deque.clear:()V
         4: .line 376
      StackMap locals: java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.DebugCloseable
      StackMap stack:
            aload 1 /* node */
            instanceof org.graalvm.compiler.nodes.MergeNode
            ifeq 6
         5: .line 377
            aload 0 /* this */
            aload 1 /* node */
            checkcast org.graalvm.compiler.nodes.MergeNode
            invokevirtual org.graalvm.compiler.phases.common.ConditionalEliminationPhase$Instance.introducePisForPhis:(Lorg/graalvm/compiler/nodes/MergeNode;)V
         6: .line 380
      StackMap locals:
      StackMap stack:
            aload 1 /* node */
            instanceof org.graalvm.compiler.nodes.AbstractBeginNode
            ifeq 12
         7: .line 381
            aload 1 /* node */
            instanceof org.graalvm.compiler.nodes.LoopExitNode
            ifeq 10
            aload 0 /* this */
            getfield org.graalvm.compiler.phases.common.ConditionalEliminationPhase$Instance.graph:Lorg/graalvm/compiler/nodes/StructuredGraph;
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph.hasValueProxies:()Z
            ifeq 10
         8: .line 397
            aload 4 /* closeable */
            ifnull 9
            aload 4 /* closeable */
            invokeinterface org.graalvm.compiler.debug.DebugCloseable.close:()V
         9: .line 383
      StackMap locals:
      StackMap stack:
            return
        10: .line 385
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* node */
            checkcast org.graalvm.compiler.nodes.AbstractBeginNode
            invokevirtual org.graalvm.compiler.phases.common.ConditionalEliminationPhase$Instance.processAbstractBegin:(Lorg/graalvm/compiler/nodes/AbstractBeginNode;)V
        11: .line 386
            goto 26
      StackMap locals:
      StackMap stack:
        12: aload 1 /* node */
            instanceof org.graalvm.compiler.nodes.FixedGuardNode
            ifeq 15
        13: .line 387
            aload 0 /* this */
            aload 1 /* node */
            checkcast org.graalvm.compiler.nodes.FixedGuardNode
            invokevirtual org.graalvm.compiler.phases.common.ConditionalEliminationPhase$Instance.processFixedGuard:(Lorg/graalvm/compiler/nodes/FixedGuardNode;)V
        14: .line 388
            goto 26
      StackMap locals:
      StackMap stack:
        15: aload 1 /* node */
            instanceof org.graalvm.compiler.nodes.GuardNode
            ifeq 18
        16: .line 389
            aload 0 /* this */
            aload 1 /* node */
            checkcast org.graalvm.compiler.nodes.GuardNode
            invokevirtual org.graalvm.compiler.phases.common.ConditionalEliminationPhase$Instance.processGuard:(Lorg/graalvm/compiler/nodes/GuardNode;)V
        17: .line 390
            goto 26
      StackMap locals:
      StackMap stack:
        18: aload 1 /* node */
            instanceof org.graalvm.compiler.nodes.ConditionAnchorNode
            ifeq 21
        19: .line 391
            aload 0 /* this */
            aload 1 /* node */
            checkcast org.graalvm.compiler.nodes.ConditionAnchorNode
            invokevirtual org.graalvm.compiler.phases.common.ConditionalEliminationPhase$Instance.processConditionAnchor:(Lorg/graalvm/compiler/nodes/ConditionAnchorNode;)V
        20: .line 392
            goto 26
      StackMap locals:
      StackMap stack:
        21: aload 1 /* node */
            instanceof org.graalvm.compiler.nodes.IfNode
            ifeq 24
        22: .line 393
            aload 0 /* this */
            aload 1 /* node */
            checkcast org.graalvm.compiler.nodes.IfNode
            invokevirtual org.graalvm.compiler.phases.common.ConditionalEliminationPhase$Instance.processIf:(Lorg/graalvm/compiler/nodes/IfNode;)V
        23: .line 394
            goto 26
      StackMap locals:
      StackMap stack:
        24: aload 1 /* node */
            instanceof org.graalvm.compiler.nodes.EndNode
            ifeq 26
        25: .line 395
            aload 0 /* this */
            aload 1 /* node */
            checkcast org.graalvm.compiler.nodes.EndNode
            invokevirtual org.graalvm.compiler.phases.common.ConditionalEliminationPhase$Instance.processEnd:(Lorg/graalvm/compiler/nodes/EndNode;)V
        26: .line 397
      StackMap locals:
      StackMap stack:
            aload 4 /* closeable */
            ifnull 32
            aload 4 /* closeable */
            invokeinterface org.graalvm.compiler.debug.DebugCloseable.close:()V
            goto 32
      StackMap locals:
      StackMap stack: java.lang.Throwable
        27: astore 2
            aload 4 /* closeable */
            ifnull 28
            aload 4 /* closeable */
            invokeinterface org.graalvm.compiler.debug.DebugCloseable.close:()V
        end local 4 // org.graalvm.compiler.debug.DebugCloseable closeable
      StackMap locals:
      StackMap stack:
        28: aload 2
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
        29: astore 3
            aload 2
            ifnonnull 30
            aload 3
            astore 2
            goto 31
      StackMap locals:
      StackMap stack:
        30: aload 2
            aload 3
            if_acmpeq 31
            aload 2
            aload 3
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        31: aload 2
            athrow
        32: .line 398
      StackMap locals:
      StackMap stack:
            return
        end local 1 // org.graalvm.compiler.graph.Node node
        end local 0 // org.graalvm.compiler.phases.common.ConditionalEliminationPhase$Instance this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   33     0       this  Lorg/graalvm/compiler/phases/common/ConditionalEliminationPhase$Instance;
            0   33     1       node  Lorg/graalvm/compiler/graph/Node;
            2   28     4  closeable  Lorg/graalvm/compiler/debug/DebugCloseable;
      Exception table:
        from    to  target  type
           2     8      27  any
          10    26      27  any
           1     9      29  any
          10    29      29  any
    MethodParameters:
      Name  Flags
      node  

  protected void introducePisForPhis(org.graalvm.compiler.nodes.MergeNode);
    descriptor: (Lorg/graalvm/compiler/nodes/MergeNode;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=5, locals=16, args_size=2
        start local 0 // org.graalvm.compiler.phases.common.ConditionalEliminationPhase$Instance this
        start local 1 // org.graalvm.compiler.nodes.MergeNode merge
         0: .line 401
            aload 0 /* this */
            getfield org.graalvm.compiler.phases.common.ConditionalEliminationPhase$Instance.mergeMaps:Lorg/graalvm/util/EconomicMap;
            aload 1 /* merge */
            invokeinterface org.graalvm.util.EconomicMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast org.graalvm.util.EconomicMap
            astore 2 /* mergeMap */
        start local 2 // org.graalvm.util.EconomicMap mergeMap
         1: .line 402
            aload 2 /* mergeMap */
            ifnull 73
         2: .line 403
            aload 2 /* mergeMap */
            invokeinterface org.graalvm.util.EconomicMap.getEntries:()Lorg/graalvm/util/MapCursor;
            astore 3 /* entries */
        start local 3 // org.graalvm.util.MapCursor entries
         3: .line 404
            goto 72
         4: .line 405
      StackMap locals: org.graalvm.util.EconomicMap org.graalvm.util.MapCursor
      StackMap stack:
            aload 3 /* entries */
            invokeinterface org.graalvm.util.MapCursor.getKey:()Ljava/lang/Object;
            checkcast org.graalvm.compiler.nodes.ValuePhiNode
            astore 4 /* phi */
        start local 4 // org.graalvm.compiler.nodes.ValuePhiNode phi
         5: .line 406
            getstatic org.graalvm.compiler.phases.common.ConditionalEliminationPhase$Instance.$assertionsDisabled:Z
            ifne 6
            aload 4 /* phi */
            invokevirtual org.graalvm.compiler.nodes.ValuePhiNode.isAlive:()Z
            ifne 6
            aload 4 /* phi */
            invokevirtual org.graalvm.compiler.nodes.ValuePhiNode.isDeleted:()Z
            ifne 6
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         6: .line 411
      StackMap locals: org.graalvm.compiler.nodes.ValuePhiNode
      StackMap stack:
            aload 4 /* phi */
            invokevirtual org.graalvm.compiler.nodes.ValuePhiNode.isDeleted:()Z
            ifeq 8
         7: .line 412
            goto 72
         8: .line 414
      StackMap locals:
      StackMap stack:
            aload 3 /* entries */
            invokeinterface org.graalvm.util.MapCursor.getValue:()Ljava/lang/Object;
            checkcast org.graalvm.compiler.phases.common.ConditionalEliminationPhase$PhiInfoElement
            astore 5 /* phiInfoElements */
        start local 5 // org.graalvm.compiler.phases.common.ConditionalEliminationPhase$PhiInfoElement phiInfoElements
         9: .line 415
            aconst_null
            astore 6 /* bestPossibleStamp */
        start local 6 // org.graalvm.compiler.core.common.type.Stamp bestPossibleStamp
        10: .line 416
            iconst_0
            istore 7 /* i */
        start local 7 // int i
        11: goto 22
        12: .line 417
      StackMap locals: org.graalvm.compiler.phases.common.ConditionalEliminationPhase$PhiInfoElement org.graalvm.compiler.core.common.type.Stamp int
      StackMap stack:
            aload 4 /* phi */
            iload 7 /* i */
            invokevirtual org.graalvm.compiler.nodes.ValuePhiNode.valueAt:(I)Lorg/graalvm/compiler/nodes/ValueNode;
            astore 8 /* valueAt */
        start local 8 // org.graalvm.compiler.nodes.ValueNode valueAt
        13: .line 418
            aload 8 /* valueAt */
            getstatic org.graalvm.compiler.nodes.NodeView.DEFAULT:Lorg/graalvm/compiler/nodes/NodeView;
            invokevirtual org.graalvm.compiler.nodes.ValueNode.stamp:(Lorg/graalvm/compiler/nodes/NodeView;)Lorg/graalvm/compiler/core/common/type/Stamp;
            astore 9 /* curBestStamp */
        start local 9 // org.graalvm.compiler.core.common.type.Stamp curBestStamp
        14: .line 419
            aload 5 /* phiInfoElements */
            aload 1 /* merge */
            iload 7 /* i */
            invokevirtual org.graalvm.compiler.nodes.MergeNode.forwardEndAt:(I)Lorg/graalvm/compiler/nodes/EndNode;
            invokevirtual org.graalvm.compiler.phases.common.ConditionalEliminationPhase$PhiInfoElement.get:(Lorg/graalvm/compiler/nodes/EndNode;)Lorg/graalvm/compiler/phases/common/ConditionalEliminationPhase$InfoElement;
            astore 10 /* infoElement */
        start local 10 // org.graalvm.compiler.phases.common.ConditionalEliminationPhase$InfoElement infoElement
        15: .line 420
            aload 10 /* infoElement */
            ifnull 17
        16: .line 421
            aload 9 /* curBestStamp */
            aload 10 /* infoElement */
            invokevirtual org.graalvm.compiler.phases.common.ConditionalEliminationPhase$InfoElement.getStamp:()Lorg/graalvm/compiler/core/common/type/Stamp;
            invokevirtual org.graalvm.compiler.core.common.type.Stamp.join:(Lorg/graalvm/compiler/core/common/type/Stamp;)Lorg/graalvm/compiler/core/common/type/Stamp;
            astore 9 /* curBestStamp */
        17: .line 424
      StackMap locals: org.graalvm.compiler.nodes.ValueNode org.graalvm.compiler.core.common.type.Stamp org.graalvm.compiler.phases.common.ConditionalEliminationPhase$InfoElement
      StackMap stack:
            aload 6 /* bestPossibleStamp */
            ifnonnull 20
        18: .line 425
            aload 9 /* curBestStamp */
            astore 6 /* bestPossibleStamp */
        19: .line 426
            goto 21
        20: .line 427
      StackMap locals:
      StackMap stack:
            aload 6 /* bestPossibleStamp */
            aload 9 /* curBestStamp */
            invokevirtual org.graalvm.compiler.core.common.type.Stamp.meet:(Lorg/graalvm/compiler/core/common/type/Stamp;)Lorg/graalvm/compiler/core/common/type/Stamp;
            astore 6 /* bestPossibleStamp */
        end local 10 // org.graalvm.compiler.phases.common.ConditionalEliminationPhase$InfoElement infoElement
        end local 9 // org.graalvm.compiler.core.common.type.Stamp curBestStamp
        end local 8 // org.graalvm.compiler.nodes.ValueNode valueAt
        21: .line 416
      StackMap locals:
      StackMap stack:
            iinc 7 /* i */ 1
      StackMap locals:
      StackMap stack:
        22: iload 7 /* i */
            aload 4 /* phi */
            invokevirtual org.graalvm.compiler.nodes.ValuePhiNode.valueCount:()I
            if_icmplt 12
        end local 7 // int i
        23: .line 431
            aload 4 /* phi */
            getstatic org.graalvm.compiler.nodes.NodeView.DEFAULT:Lorg/graalvm/compiler/nodes/NodeView;
            invokevirtual org.graalvm.compiler.nodes.ValuePhiNode.stamp:(Lorg/graalvm/compiler/nodes/NodeView;)Lorg/graalvm/compiler/core/common/type/Stamp;
            astore 7 /* oldStamp */
        start local 7 // org.graalvm.compiler.core.common.type.Stamp oldStamp
        24: .line 432
            aload 7 /* oldStamp */
            aload 6 /* bestPossibleStamp */
            invokevirtual org.graalvm.compiler.core.common.type.Stamp.tryImproveWith:(Lorg/graalvm/compiler/core/common/type/Stamp;)Lorg/graalvm/compiler/core/common/type/Stamp;
            ifnull 72
        25: .line 436
            iconst_0
            istore 8 /* allow */
        start local 8 // boolean allow
        26: .line 437
            aload 6 /* bestPossibleStamp */
            instanceof org.graalvm.compiler.core.common.type.ObjectStamp
            ifeq 29
        27: .line 439
            iconst_1
            istore 8 /* allow */
        28: .line 440
            goto 53
      StackMap locals: org.graalvm.compiler.phases.common.ConditionalEliminationPhase$Instance org.graalvm.compiler.nodes.MergeNode org.graalvm.util.EconomicMap org.graalvm.util.MapCursor org.graalvm.compiler.nodes.ValuePhiNode org.graalvm.compiler.phases.common.ConditionalEliminationPhase$PhiInfoElement org.graalvm.compiler.core.common.type.Stamp org.graalvm.compiler.core.common.type.Stamp int
      StackMap stack:
        29: aload 6 /* bestPossibleStamp */
            instanceof org.graalvm.compiler.core.common.type.IntegerStamp
            ifeq 50
        30: .line 441
            aload 6 /* bestPossibleStamp */
            checkcast org.graalvm.compiler.core.common.type.IntegerStamp
            astore 9 /* integerStamp */
        start local 9 // org.graalvm.compiler.core.common.type.IntegerStamp integerStamp
        31: .line 442
            aload 7 /* oldStamp */
            checkcast org.graalvm.compiler.core.common.type.IntegerStamp
            astore 10 /* oldIntegerStamp */
        start local 10 // org.graalvm.compiler.core.common.type.IntegerStamp oldIntegerStamp
        32: .line 443
            aload 9 /* integerStamp */
            invokevirtual org.graalvm.compiler.core.common.type.IntegerStamp.isPositive:()Z
            aload 10 /* oldIntegerStamp */
            invokevirtual org.graalvm.compiler.core.common.type.IntegerStamp.isPositive:()Z
            if_icmpeq 35
        33: .line 444
            iconst_1
            istore 8 /* allow */
        34: .line 445
            goto 53
      StackMap locals: org.graalvm.compiler.core.common.type.IntegerStamp org.graalvm.compiler.core.common.type.IntegerStamp
      StackMap stack:
        35: aload 9 /* integerStamp */
            invokevirtual org.graalvm.compiler.core.common.type.IntegerStamp.isNegative:()Z
            aload 10 /* oldIntegerStamp */
            invokevirtual org.graalvm.compiler.core.common.type.IntegerStamp.isNegative:()Z
            if_icmpeq 38
        36: .line 446
            iconst_1
            istore 8 /* allow */
        37: .line 447
            goto 53
      StackMap locals:
      StackMap stack:
        38: aload 9 /* integerStamp */
            invokevirtual org.graalvm.compiler.core.common.type.IntegerStamp.isStrictlyPositive:()Z
            aload 10 /* oldIntegerStamp */
            invokevirtual org.graalvm.compiler.core.common.type.IntegerStamp.isStrictlyPositive:()Z
            if_icmpeq 41
        39: .line 448
            iconst_1
            istore 8 /* allow */
        40: .line 449
            goto 53
      StackMap locals:
      StackMap stack:
        41: aload 9 /* integerStamp */
            invokevirtual org.graalvm.compiler.core.common.type.IntegerStamp.isStrictlyNegative:()Z
            aload 10 /* oldIntegerStamp */
            invokevirtual org.graalvm.compiler.core.common.type.IntegerStamp.isStrictlyNegative:()Z
            if_icmpeq 44
        42: .line 450
            iconst_1
            istore 8 /* allow */
        43: .line 451
            goto 53
      StackMap locals:
      StackMap stack:
        44: aload 9 /* integerStamp */
            invokevirtual org.graalvm.compiler.core.common.type.IntegerStamp.asConstant:()Ljdk/vm/ci/meta/JavaConstant;
            ifnull 47
        45: .line 452
            iconst_1
            istore 8 /* allow */
        46: .line 453
            goto 53
      StackMap locals:
      StackMap stack:
        47: aload 7 /* oldStamp */
            invokevirtual org.graalvm.compiler.core.common.type.Stamp.isUnrestricted:()Z
            ifeq 53
        48: .line 454
            iconst_1
            istore 8 /* allow */
        end local 10 // org.graalvm.compiler.core.common.type.IntegerStamp oldIntegerStamp
        end local 9 // org.graalvm.compiler.core.common.type.IntegerStamp integerStamp
        49: .line 456
            goto 53
        50: .line 457
      StackMap locals:
      StackMap stack:
            aload 6 /* bestPossibleStamp */
            invokevirtual org.graalvm.compiler.core.common.type.Stamp.asConstant:()Ljdk/vm/ci/meta/Constant;
            ifnull 51
            iconst_1
            goto 52
      StackMap locals:
      StackMap stack:
        51: iconst_0
      StackMap locals:
      StackMap stack: int
        52: istore 8 /* allow */
        53: .line 460
      StackMap locals:
      StackMap stack:
            iload 8 /* allow */
            ifeq 72
        54: .line 461
            aload 0 /* this */
            getfield org.graalvm.compiler.phases.common.ConditionalEliminationPhase$Instance.graph:Lorg/graalvm/compiler/nodes/StructuredGraph;
            new org.graalvm.compiler.nodes.ValuePhiNode
            dup
            aload 6 /* bestPossibleStamp */
            aload 1 /* merge */
            invokespecial org.graalvm.compiler.nodes.ValuePhiNode.<init>:(Lorg/graalvm/compiler/core/common/type/Stamp;Lorg/graalvm/compiler/nodes/AbstractMergeNode;)V
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph.addWithoutUnique:(Lorg/graalvm/compiler/graph/Node;)Lorg/graalvm/compiler/graph/Node;
            checkcast org.graalvm.compiler.nodes.ValuePhiNode
            astore 9 /* newPhi */
        start local 9 // org.graalvm.compiler.nodes.ValuePhiNode newPhi
        55: .line 462
            iconst_0
            istore 10 /* i */
        start local 10 // int i
        56: goto 69
        57: .line 463
      StackMap locals: org.graalvm.compiler.nodes.ValuePhiNode int
      StackMap stack:
            aload 4 /* phi */
            iload 10 /* i */
            invokevirtual org.graalvm.compiler.nodes.ValuePhiNode.valueAt:(I)Lorg/graalvm/compiler/nodes/ValueNode;
            astore 11 /* valueAt */
        start local 11 // org.graalvm.compiler.nodes.ValueNode valueAt
        58: .line 464
            aload 6 /* bestPossibleStamp */
            aload 11 /* valueAt */
            getstatic org.graalvm.compiler.nodes.NodeView.DEFAULT:Lorg/graalvm/compiler/nodes/NodeView;
            invokevirtual org.graalvm.compiler.nodes.ValueNode.stamp:(Lorg/graalvm/compiler/nodes/NodeView;)Lorg/graalvm/compiler/core/common/type/Stamp;
            invokevirtual org.graalvm.compiler.core.common.type.Stamp.meet:(Lorg/graalvm/compiler/core/common/type/Stamp;)Lorg/graalvm/compiler/core/common/type/Stamp;
            aload 6 /* bestPossibleStamp */
            invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
            ifne 67
        59: .line 467
            aload 5 /* phiInfoElements */
            aload 1 /* merge */
            iload 10 /* i */
            invokevirtual org.graalvm.compiler.nodes.MergeNode.forwardEndAt:(I)Lorg/graalvm/compiler/nodes/EndNode;
            invokevirtual org.graalvm.compiler.phases.common.ConditionalEliminationPhase$PhiInfoElement.get:(Lorg/graalvm/compiler/nodes/EndNode;)Lorg/graalvm/compiler/phases/common/ConditionalEliminationPhase$InfoElement;
            astore 12 /* infoElement */
        start local 12 // org.graalvm.compiler.phases.common.ConditionalEliminationPhase$InfoElement infoElement
        60: .line 468
            getstatic org.graalvm.compiler.phases.common.ConditionalEliminationPhase$Instance.$assertionsDisabled:Z
            ifne 61
            aload 12 /* infoElement */
            ifnonnull 61
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        61: .line 469
      StackMap locals: org.graalvm.compiler.nodes.ValueNode org.graalvm.compiler.phases.common.ConditionalEliminationPhase$InfoElement
      StackMap stack:
            aload 12 /* infoElement */
            invokevirtual org.graalvm.compiler.phases.common.ConditionalEliminationPhase$InfoElement.getStamp:()Lorg/graalvm/compiler/core/common/type/Stamp;
            astore 13 /* curBestStamp */
        start local 13 // org.graalvm.compiler.core.common.type.Stamp curBestStamp
        62: .line 470
            aload 12 /* infoElement */
            invokevirtual org.graalvm.compiler.phases.common.ConditionalEliminationPhase$InfoElement.getProxifiedInput:()Lorg/graalvm/compiler/nodes/ValueNode;
            astore 14 /* input */
        start local 14 // org.graalvm.compiler.nodes.ValueNode input
        63: .line 471
            aload 14 /* input */
            ifnonnull 65
        64: .line 472
            aload 11 /* valueAt */
            astore 14 /* input */
        65: .line 474
      StackMap locals: org.graalvm.compiler.core.common.type.Stamp org.graalvm.compiler.nodes.ValueNode
      StackMap stack:
            aload 0 /* this */
            getfield org.graalvm.compiler.phases.common.ConditionalEliminationPhase$Instance.graph:Lorg/graalvm/compiler/nodes/StructuredGraph;
            aload 14 /* input */
            aload 13 /* curBestStamp */
            aload 12 /* infoElement */
            getfield org.graalvm.compiler.phases.common.ConditionalEliminationPhase$InfoElement.guard:Lorg/graalvm/compiler/nodes/extended/GuardingNode;
            checkcast org.graalvm.compiler.nodes.ValueNode
            invokestatic org.graalvm.compiler.nodes.PiNode.create:(Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/core/common/type/Stamp;Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/nodes/ValueNode;
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph.maybeAddOrUnique:(Lorg/graalvm/compiler/graph/Node;)Lorg/graalvm/compiler/graph/Node;
            checkcast org.graalvm.compiler.nodes.ValueNode
            astore 15 /* valueNode */
        start local 15 // org.graalvm.compiler.nodes.ValueNode valueNode
        66: .line 475
            aload 15 /* valueNode */
            astore 11 /* valueAt */
        end local 15 // org.graalvm.compiler.nodes.ValueNode valueNode
        end local 14 // org.graalvm.compiler.nodes.ValueNode input
        end local 13 // org.graalvm.compiler.core.common.type.Stamp curBestStamp
        end local 12 // org.graalvm.compiler.phases.common.ConditionalEliminationPhase$InfoElement infoElement
        67: .line 477
      StackMap locals:
      StackMap stack:
            aload 9 /* newPhi */
            aload 11 /* valueAt */
            invokevirtual org.graalvm.compiler.nodes.ValuePhiNode.addInput:(Lorg/graalvm/compiler/nodes/ValueNode;)V
        end local 11 // org.graalvm.compiler.nodes.ValueNode valueAt
        68: .line 462
            iinc 10 /* i */ 1
      StackMap locals:
      StackMap stack:
        69: iload 10 /* i */
            aload 4 /* phi */
            invokevirtual org.graalvm.compiler.nodes.ValuePhiNode.valueCount:()I
            if_icmplt 57
        end local 10 // int i
        70: .line 479
            getstatic org.graalvm.compiler.phases.common.ConditionalEliminationPhase.counterPhiStampsImproved:Lorg/graalvm/compiler/debug/CounterKey;
            aload 0 /* this */
            getfield org.graalvm.compiler.phases.common.ConditionalEliminationPhase$Instance.debug:Lorg/graalvm/compiler/debug/DebugContext;
            invokeinterface org.graalvm.compiler.debug.CounterKey.increment:(Lorg/graalvm/compiler/debug/DebugContext;)V
        71: .line 480
            aload 4 /* phi */
            aload 9 /* newPhi */
            invokevirtual org.graalvm.compiler.nodes.ValuePhiNode.replaceAtUsagesAndDelete:(Lorg/graalvm/compiler/graph/Node;)V
        end local 9 // org.graalvm.compiler.nodes.ValuePhiNode newPhi
        end local 8 // boolean allow
        end local 7 // org.graalvm.compiler.core.common.type.Stamp oldStamp
        end local 6 // org.graalvm.compiler.core.common.type.Stamp bestPossibleStamp
        end local 5 // org.graalvm.compiler.phases.common.ConditionalEliminationPhase$PhiInfoElement phiInfoElements
        end local 4 // org.graalvm.compiler.nodes.ValuePhiNode phi
        72: .line 404
      StackMap locals: org.graalvm.compiler.phases.common.ConditionalEliminationPhase$Instance org.graalvm.compiler.nodes.MergeNode org.graalvm.util.EconomicMap org.graalvm.util.MapCursor
      StackMap stack:
            aload 3 /* entries */
            invokeinterface org.graalvm.util.MapCursor.advance:()Z
            ifne 4
        end local 3 // org.graalvm.util.MapCursor entries
        73: .line 485
      StackMap locals:
      StackMap stack:
            return
        end local 2 // org.graalvm.util.EconomicMap mergeMap
        end local 1 // org.graalvm.compiler.nodes.MergeNode merge
        end local 0 // org.graalvm.compiler.phases.common.ConditionalEliminationPhase$Instance this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0   74     0               this  Lorg/graalvm/compiler/phases/common/ConditionalEliminationPhase$Instance;
            0   74     1              merge  Lorg/graalvm/compiler/nodes/MergeNode;
            1   74     2           mergeMap  Lorg/graalvm/util/EconomicMap<Lorg/graalvm/compiler/nodes/ValuePhiNode;Lorg/graalvm/compiler/phases/common/ConditionalEliminationPhase$PhiInfoElement;>;
            3   73     3            entries  Lorg/graalvm/util/MapCursor<Lorg/graalvm/compiler/nodes/ValuePhiNode;Lorg/graalvm/compiler/phases/common/ConditionalEliminationPhase$PhiInfoElement;>;
            5   72     4                phi  Lorg/graalvm/compiler/nodes/ValuePhiNode;
            9   72     5    phiInfoElements  Lorg/graalvm/compiler/phases/common/ConditionalEliminationPhase$PhiInfoElement;
           10   72     6  bestPossibleStamp  Lorg/graalvm/compiler/core/common/type/Stamp;
           11   23     7                  i  I
           13   21     8            valueAt  Lorg/graalvm/compiler/nodes/ValueNode;
           14   21     9       curBestStamp  Lorg/graalvm/compiler/core/common/type/Stamp;
           15   21    10        infoElement  Lorg/graalvm/compiler/phases/common/ConditionalEliminationPhase$InfoElement;
           24   72     7           oldStamp  Lorg/graalvm/compiler/core/common/type/Stamp;
           26   72     8              allow  Z
           31   49     9       integerStamp  Lorg/graalvm/compiler/core/common/type/IntegerStamp;
           32   49    10    oldIntegerStamp  Lorg/graalvm/compiler/core/common/type/IntegerStamp;
           55   72     9             newPhi  Lorg/graalvm/compiler/nodes/ValuePhiNode;
           56   70    10                  i  I
           58   68    11            valueAt  Lorg/graalvm/compiler/nodes/ValueNode;
           60   67    12        infoElement  Lorg/graalvm/compiler/phases/common/ConditionalEliminationPhase$InfoElement;
           62   67    13       curBestStamp  Lorg/graalvm/compiler/core/common/type/Stamp;
           63   67    14              input  Lorg/graalvm/compiler/nodes/ValueNode;
           66   67    15          valueNode  Lorg/graalvm/compiler/nodes/ValueNode;
    MethodParameters:
       Name  Flags
      merge  

  protected void processEnd(org.graalvm.compiler.nodes.EndNode);
    descriptor: (Lorg/graalvm/compiler/nodes/EndNode;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=3, locals=11, args_size=2
        start local 0 // org.graalvm.compiler.phases.common.ConditionalEliminationPhase$Instance this
        start local 1 // org.graalvm.compiler.nodes.EndNode end
         0: .line 488
            aload 1 /* end */
            invokevirtual org.graalvm.compiler.nodes.EndNode.merge:()Lorg/graalvm/compiler/nodes/AbstractMergeNode;
            astore 2 /* abstractMerge */
        start local 2 // org.graalvm.compiler.nodes.AbstractMergeNode abstractMerge
         1: .line 489
            aload 2 /* abstractMerge */
            instanceof org.graalvm.compiler.nodes.MergeNode
            ifeq 23
         2: .line 490
            aload 2 /* abstractMerge */
            checkcast org.graalvm.compiler.nodes.MergeNode
            astore 3 /* merge */
        start local 3 // org.graalvm.compiler.nodes.MergeNode merge
         3: .line 492
            aload 0 /* this */
            getfield org.graalvm.compiler.phases.common.ConditionalEliminationPhase$Instance.mergeMaps:Lorg/graalvm/util/EconomicMap;
            aload 3 /* merge */
            invokeinterface org.graalvm.util.EconomicMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast org.graalvm.util.EconomicMap
            astore 4 /* mergeMap */
        start local 4 // org.graalvm.util.EconomicMap mergeMap
         4: .line 493
            aload 3 /* merge */
            invokevirtual org.graalvm.compiler.nodes.MergeNode.valuePhis:()Lorg/graalvm/compiler/graph/iterators/NodeIterable;
            invokeinterface org.graalvm.compiler.graph.iterators.NodeIterable.iterator:()Ljava/util/Iterator;
            astore 6
            goto 22
      StackMap locals: org.graalvm.compiler.phases.common.ConditionalEliminationPhase$Instance org.graalvm.compiler.nodes.EndNode org.graalvm.compiler.nodes.AbstractMergeNode org.graalvm.compiler.nodes.MergeNode org.graalvm.util.EconomicMap top java.util.Iterator
      StackMap stack:
         5: aload 6
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.graalvm.compiler.nodes.ValuePhiNode
            astore 5 /* phi */
        start local 5 // org.graalvm.compiler.nodes.ValuePhiNode phi
         6: .line 494
            aload 5 /* phi */
            aload 1 /* end */
            invokevirtual org.graalvm.compiler.nodes.ValuePhiNode.valueAt:(Lorg/graalvm/compiler/nodes/AbstractEndNode;)Lorg/graalvm/compiler/nodes/ValueNode;
            astore 7 /* valueAt */
        start local 7 // org.graalvm.compiler.nodes.ValueNode valueAt
         7: .line 495
            aload 0 /* this */
            aload 7 /* valueAt */
            invokevirtual org.graalvm.compiler.phases.common.ConditionalEliminationPhase$Instance.getInfoElements:(Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/phases/common/ConditionalEliminationPhase$InfoElement;
            astore 8 /* infoElement */
        start local 8 // org.graalvm.compiler.phases.common.ConditionalEliminationPhase$InfoElement infoElement
         8: .line 496
            goto 21
         9: .line 497
      StackMap locals: org.graalvm.compiler.phases.common.ConditionalEliminationPhase$Instance org.graalvm.compiler.nodes.EndNode org.graalvm.compiler.nodes.AbstractMergeNode org.graalvm.compiler.nodes.MergeNode org.graalvm.util.EconomicMap org.graalvm.compiler.nodes.ValuePhiNode java.util.Iterator org.graalvm.compiler.nodes.ValueNode org.graalvm.compiler.phases.common.ConditionalEliminationPhase$InfoElement
      StackMap stack:
            aload 8 /* infoElement */
            invokevirtual org.graalvm.compiler.phases.common.ConditionalEliminationPhase$InfoElement.getStamp:()Lorg/graalvm/compiler/core/common/type/Stamp;
            astore 9 /* newStamp */
        start local 9 // org.graalvm.compiler.core.common.type.Stamp newStamp
        10: .line 498
            aload 5 /* phi */
            getstatic org.graalvm.compiler.nodes.NodeView.DEFAULT:Lorg/graalvm/compiler/nodes/NodeView;
            invokevirtual org.graalvm.compiler.nodes.ValuePhiNode.stamp:(Lorg/graalvm/compiler/nodes/NodeView;)Lorg/graalvm/compiler/core/common/type/Stamp;
            aload 9 /* newStamp */
            invokevirtual org.graalvm.compiler.core.common.type.Stamp.tryImproveWith:(Lorg/graalvm/compiler/core/common/type/Stamp;)Lorg/graalvm/compiler/core/common/type/Stamp;
            ifnull 20
        11: .line 499
            aload 4 /* mergeMap */
            ifnonnull 14
        12: .line 500
            invokestatic org.graalvm.util.EconomicMap.create:()Lorg/graalvm/util/EconomicMap;
            astore 4 /* mergeMap */
        13: .line 501
            aload 0 /* this */
            getfield org.graalvm.compiler.phases.common.ConditionalEliminationPhase$Instance.mergeMaps:Lorg/graalvm/util/EconomicMap;
            aload 3 /* merge */
            aload 4 /* mergeMap */
            invokeinterface org.graalvm.util.EconomicMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        14: .line 504
      StackMap locals: org.graalvm.compiler.core.common.type.Stamp
      StackMap stack:
            aload 4 /* mergeMap */
            aload 5 /* phi */
            invokeinterface org.graalvm.util.EconomicMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast org.graalvm.compiler.phases.common.ConditionalEliminationPhase$PhiInfoElement
            astore 10 /* phiInfoElement */
        start local 10 // org.graalvm.compiler.phases.common.ConditionalEliminationPhase$PhiInfoElement phiInfoElement
        15: .line 505
            aload 10 /* phiInfoElement */
            ifnonnull 18
        16: .line 506
            new org.graalvm.compiler.phases.common.ConditionalEliminationPhase$PhiInfoElement
            dup
            invokespecial org.graalvm.compiler.phases.common.ConditionalEliminationPhase$PhiInfoElement.<init>:()V
            astore 10 /* phiInfoElement */
        17: .line 507
            aload 4 /* mergeMap */
            aload 5 /* phi */
            aload 10 /* phiInfoElement */
            invokeinterface org.graalvm.util.EconomicMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        18: .line 510
      StackMap locals: org.graalvm.compiler.phases.common.ConditionalEliminationPhase$PhiInfoElement
      StackMap stack:
            aload 10 /* phiInfoElement */
            aload 1 /* end */
            aload 8 /* infoElement */
            invokevirtual org.graalvm.compiler.phases.common.ConditionalEliminationPhase$PhiInfoElement.set:(Lorg/graalvm/compiler/nodes/EndNode;Lorg/graalvm/compiler/phases/common/ConditionalEliminationPhase$InfoElement;)V
        19: .line 511
            goto 22
        end local 10 // org.graalvm.compiler.phases.common.ConditionalEliminationPhase$PhiInfoElement phiInfoElement
        20: .line 513
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 8 /* infoElement */
            invokevirtual org.graalvm.compiler.phases.common.ConditionalEliminationPhase$Instance.nextElement:(Lorg/graalvm/compiler/phases/common/ConditionalEliminationPhase$InfoElement;)Lorg/graalvm/compiler/phases/common/ConditionalEliminationPhase$InfoElement;
            astore 8 /* infoElement */
        end local 9 // org.graalvm.compiler.core.common.type.Stamp newStamp
        21: .line 496
      StackMap locals:
      StackMap stack:
            aload 8 /* infoElement */
            ifnonnull 9
        end local 8 // org.graalvm.compiler.phases.common.ConditionalEliminationPhase$InfoElement infoElement
        end local 7 // org.graalvm.compiler.nodes.ValueNode valueAt
        end local 5 // org.graalvm.compiler.nodes.ValuePhiNode phi
        22: .line 493
      StackMap locals: org.graalvm.compiler.phases.common.ConditionalEliminationPhase$Instance org.graalvm.compiler.nodes.EndNode org.graalvm.compiler.nodes.AbstractMergeNode org.graalvm.compiler.nodes.MergeNode org.graalvm.util.EconomicMap top java.util.Iterator
      StackMap stack:
            aload 6
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 5
        end local 4 // org.graalvm.util.EconomicMap mergeMap
        end local 3 // org.graalvm.compiler.nodes.MergeNode merge
        23: .line 517
      StackMap locals: org.graalvm.compiler.phases.common.ConditionalEliminationPhase$Instance org.graalvm.compiler.nodes.EndNode org.graalvm.compiler.nodes.AbstractMergeNode
      StackMap stack:
            return
        end local 2 // org.graalvm.compiler.nodes.AbstractMergeNode abstractMerge
        end local 1 // org.graalvm.compiler.nodes.EndNode end
        end local 0 // org.graalvm.compiler.phases.common.ConditionalEliminationPhase$Instance this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   24     0            this  Lorg/graalvm/compiler/phases/common/ConditionalEliminationPhase$Instance;
            0   24     1             end  Lorg/graalvm/compiler/nodes/EndNode;
            1   24     2   abstractMerge  Lorg/graalvm/compiler/nodes/AbstractMergeNode;
            3   23     3           merge  Lorg/graalvm/compiler/nodes/MergeNode;
            4   23     4        mergeMap  Lorg/graalvm/util/EconomicMap<Lorg/graalvm/compiler/nodes/ValuePhiNode;Lorg/graalvm/compiler/phases/common/ConditionalEliminationPhase$PhiInfoElement;>;
            6   22     5             phi  Lorg/graalvm/compiler/nodes/ValuePhiNode;
            7   22     7         valueAt  Lorg/graalvm/compiler/nodes/ValueNode;
            8   22     8     infoElement  Lorg/graalvm/compiler/phases/common/ConditionalEliminationPhase$InfoElement;
           10   21     9        newStamp  Lorg/graalvm/compiler/core/common/type/Stamp;
           15   20    10  phiInfoElement  Lorg/graalvm/compiler/phases/common/ConditionalEliminationPhase$PhiInfoElement;
    MethodParameters:
      Name  Flags
      end   

  protected void registerNewCondition(org.graalvm.compiler.nodes.LogicNode, boolean, org.graalvm.compiler.nodes.extended.GuardingNode);
    descriptor: (Lorg/graalvm/compiler/nodes/LogicNode;ZLorg/graalvm/compiler/nodes/extended/GuardingNode;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=4, locals=11, args_size=4
        start local 0 // org.graalvm.compiler.phases.common.ConditionalEliminationPhase$Instance this
        start local 1 // org.graalvm.compiler.nodes.LogicNode condition
        start local 2 // boolean negated
        start local 3 // org.graalvm.compiler.nodes.extended.GuardingNode guard
         0: .line 520
            aload 1 /* condition */
            instanceof org.graalvm.compiler.nodes.UnaryOpLogicNode
            ifeq 7
         1: .line 521
            aload 1 /* condition */
            checkcast org.graalvm.compiler.nodes.UnaryOpLogicNode
            astore 4 /* unaryLogicNode */
        start local 4 // org.graalvm.compiler.nodes.UnaryOpLogicNode unaryLogicNode
         2: .line 522
            aload 4 /* unaryLogicNode */
            invokevirtual org.graalvm.compiler.nodes.UnaryOpLogicNode.getValue:()Lorg/graalvm/compiler/nodes/ValueNode;
            astore 5 /* value */
        start local 5 // org.graalvm.compiler.nodes.ValueNode value
         3: .line 523
            aload 5 /* value */
            invokestatic org.graalvm.compiler.phases.common.ConditionalEliminationPhase$Instance.maybeMultipleUsages:(Lorg/graalvm/compiler/nodes/ValueNode;)Z
            ifeq 25
         4: .line 524
            aload 4 /* unaryLogicNode */
            iload 2 /* negated */
            invokevirtual org.graalvm.compiler.nodes.UnaryOpLogicNode.getSucceedingStampForValue:(Z)Lorg/graalvm/compiler/core/common/type/Stamp;
            astore 6 /* newStamp */
        start local 6 // org.graalvm.compiler.core.common.type.Stamp newStamp
         5: .line 525
            aload 0 /* this */
            aload 5 /* value */
            aload 6 /* newStamp */
            aload 3 /* guard */
            invokevirtual org.graalvm.compiler.phases.common.ConditionalEliminationPhase$Instance.registerNewStamp:(Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/core/common/type/Stamp;Lorg/graalvm/compiler/nodes/extended/GuardingNode;)V
        end local 6 // org.graalvm.compiler.core.common.type.Stamp newStamp
        end local 5 // org.graalvm.compiler.nodes.ValueNode value
        end local 4 // org.graalvm.compiler.nodes.UnaryOpLogicNode unaryLogicNode
         6: .line 527
            goto 25
      StackMap locals:
      StackMap stack:
         7: aload 1 /* condition */
            instanceof org.graalvm.compiler.nodes.BinaryOpLogicNode
            ifeq 25
         8: .line 528
            aload 1 /* condition */
            checkcast org.graalvm.compiler.nodes.BinaryOpLogicNode
            astore 4 /* binaryOpLogicNode */
        start local 4 // org.graalvm.compiler.nodes.BinaryOpLogicNode binaryOpLogicNode
         9: .line 529
            aload 4 /* binaryOpLogicNode */
            invokevirtual org.graalvm.compiler.nodes.BinaryOpLogicNode.getX:()Lorg/graalvm/compiler/nodes/ValueNode;
            astore 5 /* x */
        start local 5 // org.graalvm.compiler.nodes.ValueNode x
        10: .line 530
            aload 4 /* binaryOpLogicNode */
            invokevirtual org.graalvm.compiler.nodes.BinaryOpLogicNode.getY:()Lorg/graalvm/compiler/nodes/ValueNode;
            astore 6 /* y */
        start local 6 // org.graalvm.compiler.nodes.ValueNode y
        11: .line 531
            aload 5 /* x */
            invokevirtual org.graalvm.compiler.nodes.ValueNode.isConstant:()Z
            ifne 14
            aload 5 /* x */
            invokestatic org.graalvm.compiler.phases.common.ConditionalEliminationPhase$Instance.maybeMultipleUsages:(Lorg/graalvm/compiler/nodes/ValueNode;)Z
            ifeq 14
        12: .line 532
            aload 4 /* binaryOpLogicNode */
            iload 2 /* negated */
            aload 5 /* x */
            invokestatic org.graalvm.compiler.phases.common.ConditionalEliminationPhase$Instance.getSafeStamp:(Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/core/common/type/Stamp;
            aload 6 /* y */
            invokestatic org.graalvm.compiler.phases.common.ConditionalEliminationPhase$Instance.getOtherSafeStamp:(Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/core/common/type/Stamp;
            invokevirtual org.graalvm.compiler.nodes.BinaryOpLogicNode.getSucceedingStampForX:(ZLorg/graalvm/compiler/core/common/type/Stamp;Lorg/graalvm/compiler/core/common/type/Stamp;)Lorg/graalvm/compiler/core/common/type/Stamp;
            astore 7 /* newStampX */
        start local 7 // org.graalvm.compiler.core.common.type.Stamp newStampX
        13: .line 533
            aload 0 /* this */
            aload 5 /* x */
            aload 7 /* newStampX */
            aload 3 /* guard */
            invokevirtual org.graalvm.compiler.phases.common.ConditionalEliminationPhase$Instance.registerNewStamp:(Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/core/common/type/Stamp;Lorg/graalvm/compiler/nodes/extended/GuardingNode;)V
        end local 7 // org.graalvm.compiler.core.common.type.Stamp newStampX
        14: .line 536
      StackMap locals: org.graalvm.compiler.nodes.BinaryOpLogicNode org.graalvm.compiler.nodes.ValueNode org.graalvm.compiler.nodes.ValueNode
      StackMap stack:
            aload 6 /* y */
            invokevirtual org.graalvm.compiler.nodes.ValueNode.isConstant:()Z
            ifne 17
            aload 6 /* y */
            invokestatic org.graalvm.compiler.phases.common.ConditionalEliminationPhase$Instance.maybeMultipleUsages:(Lorg/graalvm/compiler/nodes/ValueNode;)Z
            ifeq 17
        15: .line 537
            aload 4 /* binaryOpLogicNode */
            iload 2 /* negated */
            aload 5 /* x */
            invokestatic org.graalvm.compiler.phases.common.ConditionalEliminationPhase$Instance.getOtherSafeStamp:(Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/core/common/type/Stamp;
            aload 6 /* y */
            invokestatic org.graalvm.compiler.phases.common.ConditionalEliminationPhase$Instance.getSafeStamp:(Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/core/common/type/Stamp;
            invokevirtual org.graalvm.compiler.nodes.BinaryOpLogicNode.getSucceedingStampForY:(ZLorg/graalvm/compiler/core/common/type/Stamp;Lorg/graalvm/compiler/core/common/type/Stamp;)Lorg/graalvm/compiler/core/common/type/Stamp;
            astore 7 /* newStampY */
        start local 7 // org.graalvm.compiler.core.common.type.Stamp newStampY
        16: .line 538
            aload 0 /* this */
            aload 6 /* y */
            aload 7 /* newStampY */
            aload 3 /* guard */
            invokevirtual org.graalvm.compiler.phases.common.ConditionalEliminationPhase$Instance.registerNewStamp:(Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/core/common/type/Stamp;Lorg/graalvm/compiler/nodes/extended/GuardingNode;)V
        end local 7 // org.graalvm.compiler.core.common.type.Stamp newStampY
        17: .line 541
      StackMap locals:
      StackMap stack:
            aload 1 /* condition */
            instanceof org.graalvm.compiler.nodes.calc.IntegerEqualsNode
            ifeq 25
            aload 3 /* guard */
            instanceof org.graalvm.compiler.nodes.DeoptimizingGuard
            ifeq 25
            iload 2 /* negated */
            ifne 25
        18: .line 542
            aload 6 /* y */
            invokevirtual org.graalvm.compiler.nodes.ValueNode.isConstant:()Z
            ifeq 25
            aload 5 /* x */
            instanceof org.graalvm.compiler.nodes.calc.AndNode
            ifeq 25
        19: .line 543
            aload 5 /* x */
            checkcast org.graalvm.compiler.nodes.calc.AndNode
            astore 7 /* and */
        start local 7 // org.graalvm.compiler.nodes.calc.AndNode and
        20: .line 544
            aload 7 /* and */
            invokevirtual org.graalvm.compiler.nodes.calc.AndNode.getX:()Lorg/graalvm/compiler/nodes/ValueNode;
            astore 8 /* andX */
        start local 8 // org.graalvm.compiler.nodes.ValueNode andX
        21: .line 545
            aload 7 /* and */
            invokevirtual org.graalvm.compiler.nodes.calc.AndNode.getY:()Lorg/graalvm/compiler/nodes/ValueNode;
            aload 6 /* y */
            if_acmpne 25
            aload 8 /* andX */
            invokestatic org.graalvm.compiler.phases.common.ConditionalEliminationPhase$Instance.maybeMultipleUsages:(Lorg/graalvm/compiler/nodes/ValueNode;)Z
            ifeq 25
        22: .line 551
            aload 5 /* x */
            getstatic org.graalvm.compiler.nodes.NodeView.DEFAULT:Lorg/graalvm/compiler/nodes/NodeView;
            invokevirtual org.graalvm.compiler.nodes.ValueNode.stamp:(Lorg/graalvm/compiler/nodes/NodeView;)Lorg/graalvm/compiler/core/common/type/Stamp;
            invokestatic org.graalvm.compiler.core.common.type.ArithmeticOpTable.forStamp:(Lorg/graalvm/compiler/core/common/type/Stamp;)Lorg/graalvm/compiler/core/common/type/ArithmeticOpTable;
            invokevirtual org.graalvm.compiler.core.common.type.ArithmeticOpTable.getOr:()Lorg/graalvm/compiler/core/common/type/ArithmeticOpTable$BinaryOp;
            astore 9 /* op */
        start local 9 // org.graalvm.compiler.core.common.type.ArithmeticOpTable$BinaryOp op
        23: .line 552
            aload 9 /* op */
            aload 8 /* andX */
            invokestatic org.graalvm.compiler.phases.common.ConditionalEliminationPhase$Instance.getSafeStamp:(Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/core/common/type/Stamp;
            aload 6 /* y */
            invokestatic org.graalvm.compiler.phases.common.ConditionalEliminationPhase$Instance.getOtherSafeStamp:(Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/core/common/type/Stamp;
            invokevirtual org.graalvm.compiler.core.common.type.ArithmeticOpTable$BinaryOp.foldStamp:(Lorg/graalvm/compiler/core/common/type/Stamp;Lorg/graalvm/compiler/core/common/type/Stamp;)Lorg/graalvm/compiler/core/common/type/Stamp;
            checkcast org.graalvm.compiler.core.common.type.IntegerStamp
            astore 10 /* newStampX */
        start local 10 // org.graalvm.compiler.core.common.type.IntegerStamp newStampX
        24: .line 553
            aload 0 /* this */
            aload 8 /* andX */
            aload 10 /* newStampX */
            aload 3 /* guard */
            invokevirtual org.graalvm.compiler.phases.common.ConditionalEliminationPhase$Instance.registerNewStamp:(Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/core/common/type/Stamp;Lorg/graalvm/compiler/nodes/extended/GuardingNode;)V
        end local 10 // org.graalvm.compiler.core.common.type.IntegerStamp newStampX
        end local 9 // org.graalvm.compiler.core.common.type.ArithmeticOpTable$BinaryOp op
        end local 8 // org.graalvm.compiler.nodes.ValueNode andX
        end local 7 // org.graalvm.compiler.nodes.calc.AndNode and
        end local 6 // org.graalvm.compiler.nodes.ValueNode y
        end local 5 // org.graalvm.compiler.nodes.ValueNode x
        end local 4 // org.graalvm.compiler.nodes.BinaryOpLogicNode binaryOpLogicNode
        25: .line 558
      StackMap locals:
      StackMap stack:
            aload 3 /* guard */
            instanceof org.graalvm.compiler.nodes.DeoptimizingGuard
            ifeq 28
        26: .line 559
            getstatic org.graalvm.compiler.phases.common.ConditionalEliminationPhase$Instance.$assertionsDisabled:Z
            ifne 27
            aload 3 /* guard */
            checkcast org.graalvm.compiler.nodes.DeoptimizingGuard
            invokeinterface org.graalvm.compiler.nodes.DeoptimizingGuard.getCondition:()Lorg/graalvm/compiler/nodes/LogicNode;
            aload 1 /* condition */
            if_acmpeq 27
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        27: .line 560
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.graalvm.compiler.phases.common.ConditionalEliminationPhase$Instance.pendingTests:Ljava/util/Deque;
            aload 3 /* guard */
            checkcast org.graalvm.compiler.nodes.DeoptimizingGuard
            invokeinterface java.util.Deque.push:(Ljava/lang/Object;)V
        28: .line 562
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* condition */
            iload 2 /* negated */
            aload 3 /* guard */
            invokevirtual org.graalvm.compiler.phases.common.ConditionalEliminationPhase$Instance.registerCondition:(Lorg/graalvm/compiler/nodes/LogicNode;ZLorg/graalvm/compiler/nodes/extended/GuardingNode;)V
        29: .line 563
            return
        end local 3 // org.graalvm.compiler.nodes.extended.GuardingNode guard
        end local 2 // boolean negated
        end local 1 // org.graalvm.compiler.nodes.LogicNode condition
        end local 0 // org.graalvm.compiler.phases.common.ConditionalEliminationPhase$Instance this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0   30     0               this  Lorg/graalvm/compiler/phases/common/ConditionalEliminationPhase$Instance;
            0   30     1          condition  Lorg/graalvm/compiler/nodes/LogicNode;
            0   30     2            negated  Z
            0   30     3              guard  Lorg/graalvm/compiler/nodes/extended/GuardingNode;
            2    6     4     unaryLogicNode  Lorg/graalvm/compiler/nodes/UnaryOpLogicNode;
            3    6     5              value  Lorg/graalvm/compiler/nodes/ValueNode;
            5    6     6           newStamp  Lorg/graalvm/compiler/core/common/type/Stamp;
            9   25     4  binaryOpLogicNode  Lorg/graalvm/compiler/nodes/BinaryOpLogicNode;
           10   25     5                  x  Lorg/graalvm/compiler/nodes/ValueNode;
           11   25     6                  y  Lorg/graalvm/compiler/nodes/ValueNode;
           13   14     7          newStampX  Lorg/graalvm/compiler/core/common/type/Stamp;
           16   17     7          newStampY  Lorg/graalvm/compiler/core/common/type/Stamp;
           20   25     7                and  Lorg/graalvm/compiler/nodes/calc/AndNode;
           21   25     8               andX  Lorg/graalvm/compiler/nodes/ValueNode;
           23   25     9                 op  Lorg/graalvm/compiler/core/common/type/ArithmeticOpTable$BinaryOp<Lorg/graalvm/compiler/core/common/type/ArithmeticOpTable$BinaryOp$Or;>;
           24   25    10          newStampX  Lorg/graalvm/compiler/core/common/type/IntegerStamp;
    MethodParameters:
           Name  Flags
      condition  
      negated    
      guard      

  org.graalvm.util.Pair<org.graalvm.compiler.phases.common.ConditionalEliminationPhase$InfoElement, org.graalvm.compiler.core.common.type.Stamp> recursiveFoldStamp(org.graalvm.compiler.graph.Node);
    descriptor: (Lorg/graalvm/compiler/graph/Node;)Lorg/graalvm/util/Pair;
    flags: (0x0000) 
    Code:
      stack=4, locals=7, args_size=2
        start local 0 // org.graalvm.compiler.phases.common.ConditionalEliminationPhase$Instance this
        start local 1 // org.graalvm.compiler.graph.Node node
         0: .line 566
            aload 1 /* node */
            instanceof org.graalvm.compiler.nodes.calc.UnaryNode
            ifeq 11
         1: .line 567
            aload 1 /* node */
            checkcast org.graalvm.compiler.nodes.calc.UnaryNode
            astore 2 /* unary */
        start local 2 // org.graalvm.compiler.nodes.calc.UnaryNode unary
         2: .line 568
            aload 2 /* unary */
            invokevirtual org.graalvm.compiler.nodes.calc.UnaryNode.getValue:()Lorg/graalvm/compiler/nodes/ValueNode;
            astore 3 /* value */
        start local 3 // org.graalvm.compiler.nodes.ValueNode value
         3: .line 569
            aload 0 /* this */
            aload 3 /* value */
            invokevirtual org.graalvm.compiler.phases.common.ConditionalEliminationPhase$Instance.getInfoElements:(Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/phases/common/ConditionalEliminationPhase$InfoElement;
            astore 4 /* infoElement */
        start local 4 // org.graalvm.compiler.phases.common.ConditionalEliminationPhase$InfoElement infoElement
         4: .line 570
            goto 9
         5: .line 571
      StackMap locals: org.graalvm.compiler.nodes.calc.UnaryNode org.graalvm.compiler.nodes.ValueNode org.graalvm.compiler.phases.common.ConditionalEliminationPhase$InfoElement
      StackMap stack:
            aload 2 /* unary */
            aload 4 /* infoElement */
            invokevirtual org.graalvm.compiler.phases.common.ConditionalEliminationPhase$InfoElement.getStamp:()Lorg/graalvm/compiler/core/common/type/Stamp;
            invokevirtual org.graalvm.compiler.nodes.calc.UnaryNode.foldStamp:(Lorg/graalvm/compiler/core/common/type/Stamp;)Lorg/graalvm/compiler/core/common/type/Stamp;
            astore 5 /* result */
        start local 5 // org.graalvm.compiler.core.common.type.Stamp result
         6: .line 572
            aload 5 /* result */
            ifnull 8
         7: .line 573
            aload 4 /* infoElement */
            aload 5 /* result */
            invokestatic org.graalvm.util.Pair.create:(Ljava/lang/Object;Ljava/lang/Object;)Lorg/graalvm/util/Pair;
            areturn
         8: .line 575
      StackMap locals: org.graalvm.compiler.core.common.type.Stamp
      StackMap stack:
            aload 0 /* this */
            aload 4 /* infoElement */
            invokevirtual org.graalvm.compiler.phases.common.ConditionalEliminationPhase$Instance.nextElement:(Lorg/graalvm/compiler/phases/common/ConditionalEliminationPhase$InfoElement;)Lorg/graalvm/compiler/phases/common/ConditionalEliminationPhase$InfoElement;
            astore 4 /* infoElement */
        end local 5 // org.graalvm.compiler.core.common.type.Stamp result
         9: .line 570
      StackMap locals:
      StackMap stack:
            aload 4 /* infoElement */
            ifnonnull 5
        end local 4 // org.graalvm.compiler.phases.common.ConditionalEliminationPhase$InfoElement infoElement
        end local 3 // org.graalvm.compiler.nodes.ValueNode value
        end local 2 // org.graalvm.compiler.nodes.calc.UnaryNode unary
        10: .line 577
            goto 23
      StackMap locals:
      StackMap stack:
        11: aload 1 /* node */
            instanceof org.graalvm.compiler.nodes.calc.BinaryNode
            ifeq 23
        12: .line 578
            aload 1 /* node */
            checkcast org.graalvm.compiler.nodes.calc.BinaryNode
            astore 2 /* binary */
        start local 2 // org.graalvm.compiler.nodes.calc.BinaryNode binary
        13: .line 579
            aload 2 /* binary */
            invokevirtual org.graalvm.compiler.nodes.calc.BinaryNode.getY:()Lorg/graalvm/compiler/nodes/ValueNode;
            astore 3 /* y */
        start local 3 // org.graalvm.compiler.nodes.ValueNode y
        14: .line 580
            aload 2 /* binary */
            invokevirtual org.graalvm.compiler.nodes.calc.BinaryNode.getX:()Lorg/graalvm/compiler/nodes/ValueNode;
            astore 4 /* x */
        start local 4 // org.graalvm.compiler.nodes.ValueNode x
        15: .line 581
            aload 3 /* y */
            invokevirtual org.graalvm.compiler.nodes.ValueNode.isConstant:()Z
            ifeq 23
        16: .line 582
            aload 0 /* this */
            aload 4 /* x */
            invokevirtual org.graalvm.compiler.phases.common.ConditionalEliminationPhase$Instance.getInfoElements:(Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/phases/common/ConditionalEliminationPhase$InfoElement;
            astore 5 /* infoElement */
        start local 5 // org.graalvm.compiler.phases.common.ConditionalEliminationPhase$InfoElement infoElement
        17: .line 583
            goto 22
        18: .line 584
      StackMap locals: org.graalvm.compiler.phases.common.ConditionalEliminationPhase$Instance org.graalvm.compiler.graph.Node org.graalvm.compiler.nodes.calc.BinaryNode org.graalvm.compiler.nodes.ValueNode org.graalvm.compiler.nodes.ValueNode org.graalvm.compiler.phases.common.ConditionalEliminationPhase$InfoElement
      StackMap stack:
            aload 2 /* binary */
            aload 5 /* infoElement */
            getfield org.graalvm.compiler.phases.common.ConditionalEliminationPhase$InfoElement.stamp:Lorg/graalvm/compiler/core/common/type/Stamp;
            aload 3 /* y */
            getstatic org.graalvm.compiler.nodes.NodeView.DEFAULT:Lorg/graalvm/compiler/nodes/NodeView;
            invokevirtual org.graalvm.compiler.nodes.ValueNode.stamp:(Lorg/graalvm/compiler/nodes/NodeView;)Lorg/graalvm/compiler/core/common/type/Stamp;
            invokevirtual org.graalvm.compiler.nodes.calc.BinaryNode.foldStamp:(Lorg/graalvm/compiler/core/common/type/Stamp;Lorg/graalvm/compiler/core/common/type/Stamp;)Lorg/graalvm/compiler/core/common/type/Stamp;
            astore 6 /* result */
        start local 6 // org.graalvm.compiler.core.common.type.Stamp result
        19: .line 585
            aload 6 /* result */
            ifnull 21
        20: .line 586
            aload 5 /* infoElement */
            aload 6 /* result */
            invokestatic org.graalvm.util.Pair.create:(Ljava/lang/Object;Ljava/lang/Object;)Lorg/graalvm/util/Pair;
            areturn
        21: .line 588
      StackMap locals: org.graalvm.compiler.core.common.type.Stamp
      StackMap stack:
            aload 0 /* this */
            aload 5 /* infoElement */
            invokevirtual org.graalvm.compiler.phases.common.ConditionalEliminationPhase$Instance.nextElement:(Lorg/graalvm/compiler/phases/common/ConditionalEliminationPhase$InfoElement;)Lorg/graalvm/compiler/phases/common/ConditionalEliminationPhase$InfoElement;
            astore 5 /* infoElement */
        end local 6 // org.graalvm.compiler.core.common.type.Stamp result
        22: .line 583
      StackMap locals:
      StackMap stack:
            aload 5 /* infoElement */
            ifnonnull 18
        end local 5 // org.graalvm.compiler.phases.common.ConditionalEliminationPhase$InfoElement infoElement
        end local 4 // org.graalvm.compiler.nodes.ValueNode x
        end local 3 // org.graalvm.compiler.nodes.ValueNode y
        end local 2 // org.graalvm.compiler.nodes.calc.BinaryNode binary
        23: .line 592
      StackMap locals: org.graalvm.compiler.phases.common.ConditionalEliminationPhase$Instance org.graalvm.compiler.graph.Node
      StackMap stack:
            aconst_null
            areturn
        end local 1 // org.graalvm.compiler.graph.Node node
        end local 0 // org.graalvm.compiler.phases.common.ConditionalEliminationPhase$Instance this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   24     0         this  Lorg/graalvm/compiler/phases/common/ConditionalEliminationPhase$Instance;
            0   24     1         node  Lorg/graalvm/compiler/graph/Node;
            2   10     2        unary  Lorg/graalvm/compiler/nodes/calc/UnaryNode;
            3   10     3        value  Lorg/graalvm/compiler/nodes/ValueNode;
            4   10     4  infoElement  Lorg/graalvm/compiler/phases/common/ConditionalEliminationPhase$InfoElement;
            6    9     5       result  Lorg/graalvm/compiler/core/common/type/Stamp;
           13   23     2       binary  Lorg/graalvm/compiler/nodes/calc/BinaryNode;
           14   23     3            y  Lorg/graalvm/compiler/nodes/ValueNode;
           15   23     4            x  Lorg/graalvm/compiler/nodes/ValueNode;
           17   23     5  infoElement  Lorg/graalvm/compiler/phases/common/ConditionalEliminationPhase$InfoElement;
           19   22     6       result  Lorg/graalvm/compiler/core/common/type/Stamp;
    Signature: (Lorg/graalvm/compiler/graph/Node;)Lorg/graalvm/util/Pair<Lorg/graalvm/compiler/phases/common/ConditionalEliminationPhase$InfoElement;Lorg/graalvm/compiler/core/common/type/Stamp;>;
    MethodParameters:
      Name  Flags
      node  

  private static org.graalvm.compiler.core.common.type.Stamp getSafeStamp(org.graalvm.compiler.nodes.ValueNode);
    descriptor: (Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/core/common/type/Stamp;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.graalvm.compiler.nodes.ValueNode x
         0: .line 601
            aload 0 /* x */
            getstatic org.graalvm.compiler.nodes.NodeView.DEFAULT:Lorg/graalvm/compiler/nodes/NodeView;
            invokevirtual org.graalvm.compiler.nodes.ValueNode.stamp:(Lorg/graalvm/compiler/nodes/NodeView;)Lorg/graalvm/compiler/core/common/type/Stamp;
            areturn
        end local 0 // org.graalvm.compiler.nodes.ValueNode x
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0     x  Lorg/graalvm/compiler/nodes/ValueNode;
    MethodParameters:
      Name  Flags
      x     

  private static org.graalvm.compiler.core.common.type.Stamp getOtherSafeStamp(org.graalvm.compiler.nodes.ValueNode);
    descriptor: (Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/core/common/type/Stamp;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.graalvm.compiler.nodes.ValueNode x
         0: .line 613
            aload 0 /* x */
            invokevirtual org.graalvm.compiler.nodes.ValueNode.isConstant:()Z
            ifeq 2
         1: .line 614
            aload 0 /* x */
            getstatic org.graalvm.compiler.nodes.NodeView.DEFAULT:Lorg/graalvm/compiler/nodes/NodeView;
            invokevirtual org.graalvm.compiler.nodes.ValueNode.stamp:(Lorg/graalvm/compiler/nodes/NodeView;)Lorg/graalvm/compiler/core/common/type/Stamp;
            areturn
         2: .line 616
      StackMap locals:
      StackMap stack:
            aload 0 /* x */
            getstatic org.graalvm.compiler.nodes.NodeView.DEFAULT:Lorg/graalvm/compiler/nodes/NodeView;
            invokevirtual org.graalvm.compiler.nodes.ValueNode.stamp:(Lorg/graalvm/compiler/nodes/NodeView;)Lorg/graalvm/compiler/core/common/type/Stamp;
            invokevirtual org.graalvm.compiler.core.common.type.Stamp.unrestricted:()Lorg/graalvm/compiler/core/common/type/Stamp;
            areturn
        end local 0 // org.graalvm.compiler.nodes.ValueNode x
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0     x  Lorg/graalvm/compiler/nodes/ValueNode;
    MethodParameters:
      Name  Flags
      x     

  org.graalvm.util.Pair<org.graalvm.compiler.phases.common.ConditionalEliminationPhase$InfoElement, org.graalvm.compiler.core.common.type.Stamp> recursiveFoldStampFromInfo(org.graalvm.compiler.graph.Node);
    descriptor: (Lorg/graalvm/compiler/graph/Node;)Lorg/graalvm/util/Pair;
    flags: (0x0000) 
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.graalvm.compiler.phases.common.ConditionalEliminationPhase$Instance this
        start local 1 // org.graalvm.compiler.graph.Node node
         0: .line 629
            aload 0 /* this */
            aload 1 /* node */
            invokevirtual org.graalvm.compiler.phases.common.ConditionalEliminationPhase$Instance.recursiveFoldStamp:(Lorg/graalvm/compiler/graph/Node;)Lorg/graalvm/util/Pair;
            areturn
        end local 1 // org.graalvm.compiler.graph.Node node
        end local 0 // org.graalvm.compiler.phases.common.ConditionalEliminationPhase$Instance this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/graalvm/compiler/phases/common/ConditionalEliminationPhase$Instance;
            0    1     1  node  Lorg/graalvm/compiler/graph/Node;
    Signature: (Lorg/graalvm/compiler/graph/Node;)Lorg/graalvm/util/Pair<Lorg/graalvm/compiler/phases/common/ConditionalEliminationPhase$InfoElement;Lorg/graalvm/compiler/core/common/type/Stamp;>;
    MethodParameters:
      Name  Flags
      node  

  protected boolean foldPendingTest(org.graalvm.compiler.nodes.DeoptimizingGuard, org.graalvm.compiler.nodes.ValueNode, org.graalvm.compiler.core.common.type.Stamp, org.graalvm.compiler.phases.common.ConditionalEliminationPhase$GuardRewirer);
    descriptor: (Lorg/graalvm/compiler/nodes/DeoptimizingGuard;Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/core/common/type/Stamp;Lorg/graalvm/compiler/phases/common/ConditionalEliminationPhase$GuardRewirer;)Z
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=5, locals=14, args_size=5
        start local 0 // org.graalvm.compiler.phases.common.ConditionalEliminationPhase$Instance this
        start local 1 // org.graalvm.compiler.nodes.DeoptimizingGuard thisGuard
        start local 2 // org.graalvm.compiler.nodes.ValueNode original
        start local 3 // org.graalvm.compiler.core.common.type.Stamp newStamp
        start local 4 // org.graalvm.compiler.phases.common.ConditionalEliminationPhase$GuardRewirer rewireGuardFunction
         0: .line 633
            aload 0 /* this */
            getfield org.graalvm.compiler.phases.common.ConditionalEliminationPhase$Instance.pendingTests:Ljava/util/Deque;
            invokeinterface java.util.Deque.iterator:()Ljava/util/Iterator;
            astore 6
            goto 29
      StackMap locals: org.graalvm.compiler.phases.common.ConditionalEliminationPhase$Instance org.graalvm.compiler.nodes.DeoptimizingGuard org.graalvm.compiler.nodes.ValueNode org.graalvm.compiler.core.common.type.Stamp org.graalvm.compiler.phases.common.ConditionalEliminationPhase$GuardRewirer top java.util.Iterator
      StackMap stack:
         1: aload 6
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.graalvm.compiler.nodes.DeoptimizingGuard
            astore 5 /* pendingGuard */
        start local 5 // org.graalvm.compiler.nodes.DeoptimizingGuard pendingGuard
         2: .line 634
            aload 5 /* pendingGuard */
            invokeinterface org.graalvm.compiler.nodes.DeoptimizingGuard.getCondition:()Lorg/graalvm/compiler/nodes/LogicNode;
            astore 7 /* pendingCondition */
        start local 7 // org.graalvm.compiler.nodes.LogicNode pendingCondition
         3: .line 635
            getstatic jdk.vm.ci.meta.TriState.UNKNOWN:Ljdk/vm/ci/meta/TriState;
            astore 8 /* result */
        start local 8 // jdk.vm.ci.meta.TriState result
         4: .line 636
            aload 7 /* pendingCondition */
            instanceof org.graalvm.compiler.nodes.UnaryOpLogicNode
            ifeq 9
         5: .line 637
            aload 7 /* pendingCondition */
            checkcast org.graalvm.compiler.nodes.UnaryOpLogicNode
            astore 9 /* unaryLogicNode */
        start local 9 // org.graalvm.compiler.nodes.UnaryOpLogicNode unaryLogicNode
         6: .line 638
            aload 9 /* unaryLogicNode */
            invokevirtual org.graalvm.compiler.nodes.UnaryOpLogicNode.getValue:()Lorg/graalvm/compiler/nodes/ValueNode;
            aload 2 /* original */
            if_acmpne 24
         7: .line 639
            aload 9 /* unaryLogicNode */
            aload 3 /* newStamp */
            invokevirtual org.graalvm.compiler.nodes.UnaryOpLogicNode.tryFold:(Lorg/graalvm/compiler/core/common/type/Stamp;)Ljdk/vm/ci/meta/TriState;
            astore 8 /* result */
        end local 9 // org.graalvm.compiler.nodes.UnaryOpLogicNode unaryLogicNode
         8: .line 641
            goto 24
      StackMap locals: org.graalvm.compiler.phases.common.ConditionalEliminationPhase$Instance org.graalvm.compiler.nodes.DeoptimizingGuard org.graalvm.compiler.nodes.ValueNode org.graalvm.compiler.core.common.type.Stamp org.graalvm.compiler.phases.common.ConditionalEliminationPhase$GuardRewirer org.graalvm.compiler.nodes.DeoptimizingGuard java.util.Iterator org.graalvm.compiler.nodes.LogicNode jdk.vm.ci.meta.TriState
      StackMap stack:
         9: aload 7 /* pendingCondition */
            instanceof org.graalvm.compiler.nodes.BinaryOpLogicNode
            ifeq 24
        10: .line 642
            aload 7 /* pendingCondition */
            checkcast org.graalvm.compiler.nodes.BinaryOpLogicNode
            astore 9 /* binaryOpLogicNode */
        start local 9 // org.graalvm.compiler.nodes.BinaryOpLogicNode binaryOpLogicNode
        11: .line 643
            aload 9 /* binaryOpLogicNode */
            invokevirtual org.graalvm.compiler.nodes.BinaryOpLogicNode.getX:()Lorg/graalvm/compiler/nodes/ValueNode;
            astore 10 /* x */
        start local 10 // org.graalvm.compiler.nodes.ValueNode x
        12: .line 644
            aload 9 /* binaryOpLogicNode */
            invokevirtual org.graalvm.compiler.nodes.BinaryOpLogicNode.getY:()Lorg/graalvm/compiler/nodes/ValueNode;
            astore 11 /* y */
        start local 11 // org.graalvm.compiler.nodes.ValueNode y
        13: .line 645
            aload 10 /* x */
            aload 2 /* original */
            if_acmpne 16
        14: .line 646
            aload 9 /* binaryOpLogicNode */
            aload 3 /* newStamp */
            aload 11 /* y */
            invokestatic org.graalvm.compiler.phases.common.ConditionalEliminationPhase$Instance.getOtherSafeStamp:(Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/core/common/type/Stamp;
            invokevirtual org.graalvm.compiler.nodes.BinaryOpLogicNode.tryFold:(Lorg/graalvm/compiler/core/common/type/Stamp;Lorg/graalvm/compiler/core/common/type/Stamp;)Ljdk/vm/ci/meta/TriState;
            astore 8 /* result */
        15: .line 647
            goto 24
      StackMap locals: org.graalvm.compiler.nodes.BinaryOpLogicNode org.graalvm.compiler.nodes.ValueNode org.graalvm.compiler.nodes.ValueNode
      StackMap stack:
        16: aload 11 /* y */
            aload 2 /* original */
            if_acmpne 19
        17: .line 648
            aload 9 /* binaryOpLogicNode */
            aload 10 /* x */
            invokestatic org.graalvm.compiler.phases.common.ConditionalEliminationPhase$Instance.getOtherSafeStamp:(Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/core/common/type/Stamp;
            aload 3 /* newStamp */
            invokevirtual org.graalvm.compiler.nodes.BinaryOpLogicNode.tryFold:(Lorg/graalvm/compiler/core/common/type/Stamp;Lorg/graalvm/compiler/core/common/type/Stamp;)Ljdk/vm/ci/meta/TriState;
            astore 8 /* result */
        18: .line 649
            goto 24
      StackMap locals:
      StackMap stack:
        19: aload 9 /* binaryOpLogicNode */
            instanceof org.graalvm.compiler.nodes.calc.IntegerEqualsNode
            ifeq 24
            aload 11 /* y */
            invokevirtual org.graalvm.compiler.nodes.ValueNode.isConstant:()Z
            ifeq 24
            aload 10 /* x */
            instanceof org.graalvm.compiler.nodes.calc.AndNode
            ifeq 24
        20: .line 650
            aload 10 /* x */
            checkcast org.graalvm.compiler.nodes.calc.AndNode
            astore 12 /* and */
        start local 12 // org.graalvm.compiler.nodes.calc.AndNode and
        21: .line 651
            aload 12 /* and */
            invokevirtual org.graalvm.compiler.nodes.calc.AndNode.getY:()Lorg/graalvm/compiler/nodes/ValueNode;
            aload 11 /* y */
            if_acmpne 24
            aload 12 /* and */
            invokevirtual org.graalvm.compiler.nodes.calc.AndNode.getX:()Lorg/graalvm/compiler/nodes/ValueNode;
            aload 2 /* original */
            if_acmpne 24
        22: .line 652
            aload 3 /* newStamp */
            invokestatic org.graalvm.compiler.core.common.type.ArithmeticOpTable.forStamp:(Lorg/graalvm/compiler/core/common/type/Stamp;)Lorg/graalvm/compiler/core/common/type/ArithmeticOpTable;
            invokevirtual org.graalvm.compiler.core.common.type.ArithmeticOpTable.getAnd:()Lorg/graalvm/compiler/core/common/type/ArithmeticOpTable$BinaryOp;
            astore 13 /* andOp */
        start local 13 // org.graalvm.compiler.core.common.type.ArithmeticOpTable$BinaryOp andOp
        23: .line 653
            aload 9 /* binaryOpLogicNode */
            aload 13 /* andOp */
            aload 3 /* newStamp */
            aload 11 /* y */
            invokestatic org.graalvm.compiler.phases.common.ConditionalEliminationPhase$Instance.getOtherSafeStamp:(Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/core/common/type/Stamp;
            invokevirtual org.graalvm.compiler.core.common.type.ArithmeticOpTable$BinaryOp.foldStamp:(Lorg/graalvm/compiler/core/common/type/Stamp;Lorg/graalvm/compiler/core/common/type/Stamp;)Lorg/graalvm/compiler/core/common/type/Stamp;
            aload 11 /* y */
            invokestatic org.graalvm.compiler.phases.common.ConditionalEliminationPhase$Instance.getOtherSafeStamp:(Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/core/common/type/Stamp;
            invokevirtual org.graalvm.compiler.nodes.BinaryOpLogicNode.tryFold:(Lorg/graalvm/compiler/core/common/type/Stamp;Lorg/graalvm/compiler/core/common/type/Stamp;)Ljdk/vm/ci/meta/TriState;
            astore 8 /* result */
        end local 13 // org.graalvm.compiler.core.common.type.ArithmeticOpTable$BinaryOp andOp
        end local 12 // org.graalvm.compiler.nodes.calc.AndNode and
        end local 11 // org.graalvm.compiler.nodes.ValueNode y
        end local 10 // org.graalvm.compiler.nodes.ValueNode x
        end local 9 // org.graalvm.compiler.nodes.BinaryOpLogicNode binaryOpLogicNode
        24: .line 657
      StackMap locals:
      StackMap stack:
            aload 8 /* result */
            invokevirtual jdk.vm.ci.meta.TriState.isKnown:()Z
            ifeq 29
        25: .line 663
            new org.graalvm.compiler.phases.common.ConditionalEliminationPhase$InputFilter
            dup
            aload 2 /* original */
            invokespecial org.graalvm.compiler.phases.common.ConditionalEliminationPhase$InputFilter.<init>:(Lorg/graalvm/compiler/nodes/ValueNode;)V
            astore 9 /* v */
        start local 9 // org.graalvm.compiler.phases.common.ConditionalEliminationPhase$InputFilter v
        26: .line 664
            aload 1 /* thisGuard */
            invokeinterface org.graalvm.compiler.nodes.DeoptimizingGuard.getCondition:()Lorg/graalvm/compiler/nodes/LogicNode;
            aload 9 /* v */
            invokevirtual org.graalvm.compiler.nodes.LogicNode.applyInputs:(Lorg/graalvm/compiler/graph/Node$EdgeVisitor;)V
        27: .line 665
            aload 9 /* v */
            getfield org.graalvm.compiler.phases.common.ConditionalEliminationPhase$InputFilter.ok:Z
            ifeq 29
            aload 0 /* this */
            aload 1 /* thisGuard */
            aload 5 /* pendingGuard */
            aload 3 /* newStamp */
            aload 4 /* rewireGuardFunction */
            invokevirtual org.graalvm.compiler.phases.common.ConditionalEliminationPhase$Instance.foldGuard:(Lorg/graalvm/compiler/nodes/DeoptimizingGuard;Lorg/graalvm/compiler/nodes/DeoptimizingGuard;Lorg/graalvm/compiler/core/common/type/Stamp;Lorg/graalvm/compiler/phases/common/ConditionalEliminationPhase$GuardRewirer;)Z
            ifeq 29
        28: .line 666
            iconst_1
            ireturn
        end local 9 // org.graalvm.compiler.phases.common.ConditionalEliminationPhase$InputFilter v
        end local 8 // jdk.vm.ci.meta.TriState result
        end local 7 // org.graalvm.compiler.nodes.LogicNode pendingCondition
        end local 5 // org.graalvm.compiler.nodes.DeoptimizingGuard pendingGuard
        29: .line 633
      StackMap locals: org.graalvm.compiler.phases.common.ConditionalEliminationPhase$Instance org.graalvm.compiler.nodes.DeoptimizingGuard org.graalvm.compiler.nodes.ValueNode org.graalvm.compiler.core.common.type.Stamp org.graalvm.compiler.phases.common.ConditionalEliminationPhase$GuardRewirer top java.util.Iterator
      StackMap stack:
            aload 6
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 1
        30: .line 670
            iconst_0
            ireturn
        end local 4 // org.graalvm.compiler.phases.common.ConditionalEliminationPhase$GuardRewirer rewireGuardFunction
        end local 3 // org.graalvm.compiler.core.common.type.Stamp newStamp
        end local 2 // org.graalvm.compiler.nodes.ValueNode original
        end local 1 // org.graalvm.compiler.nodes.DeoptimizingGuard thisGuard
        end local 0 // org.graalvm.compiler.phases.common.ConditionalEliminationPhase$Instance this
      LocalVariableTable:
        Start  End  Slot                 Name  Signature
            0   31     0                 this  Lorg/graalvm/compiler/phases/common/ConditionalEliminationPhase$Instance;
            0   31     1            thisGuard  Lorg/graalvm/compiler/nodes/DeoptimizingGuard;
            0   31     2             original  Lorg/graalvm/compiler/nodes/ValueNode;
            0   31     3             newStamp  Lorg/graalvm/compiler/core/common/type/Stamp;
            0   31     4  rewireGuardFunction  Lorg/graalvm/compiler/phases/common/ConditionalEliminationPhase$GuardRewirer;
            2   29     5         pendingGuard  Lorg/graalvm/compiler/nodes/DeoptimizingGuard;
            3   29     7     pendingCondition  Lorg/graalvm/compiler/nodes/LogicNode;
            4   29     8               result  Ljdk/vm/ci/meta/TriState;
            6    8     9       unaryLogicNode  Lorg/graalvm/compiler/nodes/UnaryOpLogicNode;
           11   24     9    binaryOpLogicNode  Lorg/graalvm/compiler/nodes/BinaryOpLogicNode;
           12   24    10                    x  Lorg/graalvm/compiler/nodes/ValueNode;
           13   24    11                    y  Lorg/graalvm/compiler/nodes/ValueNode;
           21   24    12                  and  Lorg/graalvm/compiler/nodes/calc/AndNode;
           23   24    13                andOp  Lorg/graalvm/compiler/core/common/type/ArithmeticOpTable$BinaryOp<Lorg/graalvm/compiler/core/common/type/ArithmeticOpTable$BinaryOp$And;>;
           26   29     9                    v  Lorg/graalvm/compiler/phases/common/ConditionalEliminationPhase$InputFilter;
    MethodParameters:
                     Name  Flags
      thisGuard            
      original             
      newStamp             
      rewireGuardFunction  

  protected boolean foldGuard(org.graalvm.compiler.nodes.DeoptimizingGuard, org.graalvm.compiler.nodes.DeoptimizingGuard, org.graalvm.compiler.core.common.type.Stamp, org.graalvm.compiler.phases.common.ConditionalEliminationPhase$GuardRewirer);
    descriptor: (Lorg/graalvm/compiler/nodes/DeoptimizingGuard;Lorg/graalvm/compiler/nodes/DeoptimizingGuard;Lorg/graalvm/compiler/core/common/type/Stamp;Lorg/graalvm/compiler/phases/common/ConditionalEliminationPhase$GuardRewirer;)Z
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=6, locals=7, args_size=5
        start local 0 // org.graalvm.compiler.phases.common.ConditionalEliminationPhase$Instance this
        start local 1 // org.graalvm.compiler.nodes.DeoptimizingGuard thisGuard
        start local 2 // org.graalvm.compiler.nodes.DeoptimizingGuard otherGuard
        start local 3 // org.graalvm.compiler.core.common.type.Stamp guardedValueStamp
        start local 4 // org.graalvm.compiler.phases.common.ConditionalEliminationPhase$GuardRewirer rewireGuardFunction
         0: .line 674
            aload 2 /* otherGuard */
            invokeinterface org.graalvm.compiler.nodes.DeoptimizingGuard.getAction:()Ljdk/vm/ci/meta/DeoptimizationAction;
            aload 1 /* thisGuard */
            invokeinterface org.graalvm.compiler.nodes.DeoptimizingGuard.getAction:()Ljdk/vm/ci/meta/DeoptimizationAction;
            if_acmpne 6
            aload 2 /* otherGuard */
            invokeinterface org.graalvm.compiler.nodes.DeoptimizingGuard.getSpeculation:()Ljdk/vm/ci/meta/JavaConstant;
            aload 1 /* thisGuard */
            invokeinterface org.graalvm.compiler.nodes.DeoptimizingGuard.getSpeculation:()Ljdk/vm/ci/meta/JavaConstant;
            if_acmpne 6
         1: .line 675
            aload 1 /* thisGuard */
            invokeinterface org.graalvm.compiler.nodes.DeoptimizingGuard.getCondition:()Lorg/graalvm/compiler/nodes/LogicNode;
            invokevirtual org.graalvm.compiler.nodes.LogicNode.copyWithInputs:()Lorg/graalvm/compiler/graph/Node;
            checkcast org.graalvm.compiler.nodes.LogicNode
            astore 5 /* condition */
        start local 5 // org.graalvm.compiler.nodes.LogicNode condition
         2: .line 676
            aload 4 /* rewireGuardFunction */
            aload 2 /* otherGuard */
            aload 5 /* condition */
            aload 1 /* thisGuard */
            invokedynamic rewire(Lorg/graalvm/compiler/phases/common/ConditionalEliminationPhase$GuardRewirer;Lorg/graalvm/compiler/nodes/DeoptimizingGuard;Lorg/graalvm/compiler/nodes/LogicNode;Lorg/graalvm/compiler/nodes/DeoptimizingGuard;)Lorg/graalvm/compiler/phases/common/ConditionalEliminationPhase$GuardRewirer;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Lorg/graalvm/compiler/nodes/extended/GuardingNode;ZLorg/graalvm/compiler/core/common/type/Stamp;Lorg/graalvm/compiler/nodes/ValueNode;)Z
                  org/graalvm/compiler/phases/common/ConditionalEliminationPhase$Instance.lambda$4(Lorg/graalvm/compiler/phases/common/ConditionalEliminationPhase$GuardRewirer;Lorg/graalvm/compiler/nodes/DeoptimizingGuard;Lorg/graalvm/compiler/nodes/LogicNode;Lorg/graalvm/compiler/nodes/DeoptimizingGuard;Lorg/graalvm/compiler/nodes/extended/GuardingNode;ZLorg/graalvm/compiler/core/common/type/Stamp;Lorg/graalvm/compiler/nodes/ValueNode;)Z (6)
                  (Lorg/graalvm/compiler/nodes/extended/GuardingNode;ZLorg/graalvm/compiler/core/common/type/Stamp;Lorg/graalvm/compiler/nodes/ValueNode;)Z
            astore 6 /* rewirer */
        start local 6 // org.graalvm.compiler.phases.common.ConditionalEliminationPhase$GuardRewirer rewirer
         3: .line 685
            aload 0 /* this */
            aload 2 /* otherGuard */
            aload 1 /* thisGuard */
            invokeinterface org.graalvm.compiler.nodes.DeoptimizingGuard.isNegated:()Z
            ifeq 4
            iconst_0
            goto 5
      StackMap locals: org.graalvm.compiler.phases.common.ConditionalEliminationPhase$Instance org.graalvm.compiler.nodes.DeoptimizingGuard org.graalvm.compiler.nodes.DeoptimizingGuard org.graalvm.compiler.core.common.type.Stamp org.graalvm.compiler.phases.common.ConditionalEliminationPhase$GuardRewirer org.graalvm.compiler.nodes.LogicNode org.graalvm.compiler.phases.common.ConditionalEliminationPhase$GuardRewirer
      StackMap stack: org.graalvm.compiler.phases.common.ConditionalEliminationPhase$Instance org.graalvm.compiler.nodes.DeoptimizingGuard
         4: iconst_1
      StackMap locals: org.graalvm.compiler.phases.common.ConditionalEliminationPhase$Instance org.graalvm.compiler.nodes.DeoptimizingGuard org.graalvm.compiler.nodes.DeoptimizingGuard org.graalvm.compiler.core.common.type.Stamp org.graalvm.compiler.phases.common.ConditionalEliminationPhase$GuardRewirer org.graalvm.compiler.nodes.LogicNode org.graalvm.compiler.phases.common.ConditionalEliminationPhase$GuardRewirer
      StackMap stack: org.graalvm.compiler.phases.common.ConditionalEliminationPhase$Instance org.graalvm.compiler.nodes.DeoptimizingGuard int
         5: aconst_null
            aload 3 /* guardedValueStamp */
            aload 6 /* rewirer */
            invokevirtual org.graalvm.compiler.phases.common.ConditionalEliminationPhase$Instance.rewireGuards:(Lorg/graalvm/compiler/nodes/extended/GuardingNode;ZLorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/core/common/type/Stamp;Lorg/graalvm/compiler/phases/common/ConditionalEliminationPhase$GuardRewirer;)Z
            ireturn
        end local 6 // org.graalvm.compiler.phases.common.ConditionalEliminationPhase$GuardRewirer rewirer
        end local 5 // org.graalvm.compiler.nodes.LogicNode condition
         6: .line 687
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        end local 4 // org.graalvm.compiler.phases.common.ConditionalEliminationPhase$GuardRewirer rewireGuardFunction
        end local 3 // org.graalvm.compiler.core.common.type.Stamp guardedValueStamp
        end local 2 // org.graalvm.compiler.nodes.DeoptimizingGuard otherGuard
        end local 1 // org.graalvm.compiler.nodes.DeoptimizingGuard thisGuard
        end local 0 // org.graalvm.compiler.phases.common.ConditionalEliminationPhase$Instance this
      LocalVariableTable:
        Start  End  Slot                 Name  Signature
            0    7     0                 this  Lorg/graalvm/compiler/phases/common/ConditionalEliminationPhase$Instance;
            0    7     1            thisGuard  Lorg/graalvm/compiler/nodes/DeoptimizingGuard;
            0    7     2           otherGuard  Lorg/graalvm/compiler/nodes/DeoptimizingGuard;
            0    7     3    guardedValueStamp  Lorg/graalvm/compiler/core/common/type/Stamp;
            0    7     4  rewireGuardFunction  Lorg/graalvm/compiler/phases/common/ConditionalEliminationPhase$GuardRewirer;
            2    6     5            condition  Lorg/graalvm/compiler/nodes/LogicNode;
            3    6     6              rewirer  Lorg/graalvm/compiler/phases/common/ConditionalEliminationPhase$GuardRewirer;
    MethodParameters:
                     Name  Flags
      thisGuard            
      otherGuard           
      guardedValueStamp    
      rewireGuardFunction  

  protected void registerCondition(org.graalvm.compiler.nodes.LogicNode, boolean, org.graalvm.compiler.nodes.extended.GuardingNode);
    descriptor: (Lorg/graalvm/compiler/nodes/LogicNode;ZLorg/graalvm/compiler/nodes/extended/GuardingNode;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=4, locals=4, args_size=4
        start local 0 // org.graalvm.compiler.phases.common.ConditionalEliminationPhase$Instance this
        start local 1 // org.graalvm.compiler.nodes.LogicNode condition
        start local 2 // boolean negated
        start local 3 // org.graalvm.compiler.nodes.extended.GuardingNode guard
         0: .line 691
            aload 1 /* condition */
            invokevirtual org.graalvm.compiler.nodes.LogicNode.getUsageCount:()I
            iconst_1
            if_icmple 4
         1: .line 692
            aload 0 /* this */
            aload 1 /* condition */
            iload 2 /* negated */
            ifeq 2
            invokestatic org.graalvm.compiler.core.common.type.StampFactory.contradiction:()Lorg/graalvm/compiler/core/common/type/Stamp;
            goto 3
      StackMap locals: org.graalvm.compiler.phases.common.ConditionalEliminationPhase$Instance org.graalvm.compiler.nodes.LogicNode int org.graalvm.compiler.nodes.extended.GuardingNode
      StackMap stack: org.graalvm.compiler.phases.common.ConditionalEliminationPhase$Instance org.graalvm.compiler.nodes.LogicNode
         2: invokestatic org.graalvm.compiler.core.common.type.StampFactory.tautology:()Lorg/graalvm/compiler/core/common/type/Stamp;
      StackMap locals: org.graalvm.compiler.phases.common.ConditionalEliminationPhase$Instance org.graalvm.compiler.nodes.LogicNode int org.graalvm.compiler.nodes.extended.GuardingNode
      StackMap stack: org.graalvm.compiler.phases.common.ConditionalEliminationPhase$Instance org.graalvm.compiler.nodes.LogicNode org.graalvm.compiler.core.common.type.Stamp
         3: aload 3 /* guard */
            invokevirtual org.graalvm.compiler.phases.common.ConditionalEliminationPhase$Instance.registerNewStamp:(Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/core/common/type/Stamp;Lorg/graalvm/compiler/nodes/extended/GuardingNode;)V
         4: .line 694
      StackMap locals:
      StackMap stack:
            return
        end local 3 // org.graalvm.compiler.nodes.extended.GuardingNode guard
        end local 2 // boolean negated
        end local 1 // org.graalvm.compiler.nodes.LogicNode condition
        end local 0 // org.graalvm.compiler.phases.common.ConditionalEliminationPhase$Instance this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    5     0       this  Lorg/graalvm/compiler/phases/common/ConditionalEliminationPhase$Instance;
            0    5     1  condition  Lorg/graalvm/compiler/nodes/LogicNode;
            0    5     2    negated  Z
            0    5     3      guard  Lorg/graalvm/compiler/nodes/extended/GuardingNode;
    MethodParameters:
           Name  Flags
      condition  
      negated    
      guard      

  protected org.graalvm.compiler.phases.common.ConditionalEliminationPhase$InfoElement getInfoElements(org.graalvm.compiler.nodes.ValueNode);
    descriptor: (Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/phases/common/ConditionalEliminationPhase$InfoElement;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // org.graalvm.compiler.phases.common.ConditionalEliminationPhase$Instance this
        start local 1 // org.graalvm.compiler.nodes.ValueNode proxiedValue
         0: .line 697
            aload 1 /* proxiedValue */
            invokestatic org.graalvm.compiler.nodes.util.GraphUtil.skipPi:(Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/nodes/ValueNode;
            astore 2 /* value */
        start local 2 // org.graalvm.compiler.nodes.ValueNode value
         1: .line 698
            aload 2 /* value */
            ifnonnull 3
         2: .line 699
            aconst_null
            areturn
         3: .line 701
      StackMap locals: org.graalvm.compiler.nodes.ValueNode
      StackMap stack:
            aload 0 /* this */
            getfield org.graalvm.compiler.phases.common.ConditionalEliminationPhase$Instance.map:Lorg/graalvm/compiler/graph/NodeMap;
            aload 2 /* value */
            invokevirtual org.graalvm.compiler.graph.NodeMap.getAndGrow:(Lorg/graalvm/compiler/graph/Node;)Ljava/lang/Object;
            checkcast org.graalvm.compiler.phases.common.ConditionalEliminationPhase$InfoElement
            areturn
        end local 2 // org.graalvm.compiler.nodes.ValueNode value
        end local 1 // org.graalvm.compiler.nodes.ValueNode proxiedValue
        end local 0 // org.graalvm.compiler.phases.common.ConditionalEliminationPhase$Instance this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    4     0          this  Lorg/graalvm/compiler/phases/common/ConditionalEliminationPhase$Instance;
            0    4     1  proxiedValue  Lorg/graalvm/compiler/nodes/ValueNode;
            1    4     2         value  Lorg/graalvm/compiler/nodes/ValueNode;
    MethodParameters:
              Name  Flags
      proxiedValue  

  protected boolean rewireGuards(org.graalvm.compiler.nodes.extended.GuardingNode, boolean, org.graalvm.compiler.nodes.ValueNode, org.graalvm.compiler.core.common.type.Stamp, org.graalvm.compiler.phases.common.ConditionalEliminationPhase$GuardRewirer);
    descriptor: (Lorg/graalvm/compiler/nodes/extended/GuardingNode;ZLorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/core/common/type/Stamp;Lorg/graalvm/compiler/phases/common/ConditionalEliminationPhase$GuardRewirer;)Z
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=5, locals=6, args_size=6
        start local 0 // org.graalvm.compiler.phases.common.ConditionalEliminationPhase$Instance this
        start local 1 // org.graalvm.compiler.nodes.extended.GuardingNode guard
        start local 2 // boolean result
        start local 3 // org.graalvm.compiler.nodes.ValueNode proxifiedInput
        start local 4 // org.graalvm.compiler.core.common.type.Stamp guardedValueStamp
        start local 5 // org.graalvm.compiler.phases.common.ConditionalEliminationPhase$GuardRewirer rewireGuardFunction
         0: .line 705
            getstatic org.graalvm.compiler.phases.common.ConditionalEliminationPhase.counterStampsFound:Lorg/graalvm/compiler/debug/CounterKey;
            aload 0 /* this */
            getfield org.graalvm.compiler.phases.common.ConditionalEliminationPhase$Instance.debug:Lorg/graalvm/compiler/debug/DebugContext;
            invokeinterface org.graalvm.compiler.debug.CounterKey.increment:(Lorg/graalvm/compiler/debug/DebugContext;)V
         1: .line 706
            aload 5 /* rewireGuardFunction */
            aload 1 /* guard */
            iload 2 /* result */
            aload 4 /* guardedValueStamp */
            aload 3 /* proxifiedInput */
            invokeinterface org.graalvm.compiler.phases.common.ConditionalEliminationPhase$GuardRewirer.rewire:(Lorg/graalvm/compiler/nodes/extended/GuardingNode;ZLorg/graalvm/compiler/core/common/type/Stamp;Lorg/graalvm/compiler/nodes/ValueNode;)Z
            ireturn
        end local 5 // org.graalvm.compiler.phases.common.ConditionalEliminationPhase$GuardRewirer rewireGuardFunction
        end local 4 // org.graalvm.compiler.core.common.type.Stamp guardedValueStamp
        end local 3 // org.graalvm.compiler.nodes.ValueNode proxifiedInput
        end local 2 // boolean result
        end local 1 // org.graalvm.compiler.nodes.extended.GuardingNode guard
        end local 0 // org.graalvm.compiler.phases.common.ConditionalEliminationPhase$Instance this
      LocalVariableTable:
        Start  End  Slot                 Name  Signature
            0    2     0                 this  Lorg/graalvm/compiler/phases/common/ConditionalEliminationPhase$Instance;
            0    2     1                guard  Lorg/graalvm/compiler/nodes/extended/GuardingNode;
            0    2     2               result  Z
            0    2     3       proxifiedInput  Lorg/graalvm/compiler/nodes/ValueNode;
            0    2     4    guardedValueStamp  Lorg/graalvm/compiler/core/common/type/Stamp;
            0    2     5  rewireGuardFunction  Lorg/graalvm/compiler/phases/common/ConditionalEliminationPhase$GuardRewirer;
    MethodParameters:
                     Name  Flags
      guard                
      result               
      proxifiedInput       
      guardedValueStamp    
      rewireGuardFunction  

  protected boolean tryProveCondition(org.graalvm.compiler.nodes.LogicNode, org.graalvm.compiler.phases.common.ConditionalEliminationPhase$GuardRewirer);
    descriptor: (Lorg/graalvm/compiler/nodes/LogicNode;Lorg/graalvm/compiler/phases/common/ConditionalEliminationPhase$GuardRewirer;)Z
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // org.graalvm.compiler.phases.common.ConditionalEliminationPhase$Instance this
        start local 1 // org.graalvm.compiler.nodes.LogicNode node
        start local 2 // org.graalvm.compiler.phases.common.ConditionalEliminationPhase$GuardRewirer rewireGuardFunction
         0: .line 710
            aload 0 /* this */
            aconst_null
            aload 1 /* node */
            aload 2 /* rewireGuardFunction */
            invokevirtual org.graalvm.compiler.phases.common.ConditionalEliminationPhase$Instance.tryProveGuardCondition:(Lorg/graalvm/compiler/nodes/DeoptimizingGuard;Lorg/graalvm/compiler/nodes/LogicNode;Lorg/graalvm/compiler/phases/common/ConditionalEliminationPhase$GuardRewirer;)Z
            ireturn
        end local 2 // org.graalvm.compiler.phases.common.ConditionalEliminationPhase$GuardRewirer rewireGuardFunction
        end local 1 // org.graalvm.compiler.nodes.LogicNode node
        end local 0 // org.graalvm.compiler.phases.common.ConditionalEliminationPhase$Instance this
      LocalVariableTable:
        Start  End  Slot                 Name  Signature
            0    1     0                 this  Lorg/graalvm/compiler/phases/common/ConditionalEliminationPhase$Instance;
            0    1     1                 node  Lorg/graalvm/compiler/nodes/LogicNode;
            0    1     2  rewireGuardFunction  Lorg/graalvm/compiler/phases/common/ConditionalEliminationPhase$GuardRewirer;
    MethodParameters:
                     Name  Flags
      node                 
      rewireGuardFunction  

  private org.graalvm.compiler.phases.common.ConditionalEliminationPhase$InfoElement nextElement(org.graalvm.compiler.phases.common.ConditionalEliminationPhase$InfoElement);
    descriptor: (Lorg/graalvm/compiler/phases/common/ConditionalEliminationPhase$InfoElement;)Lorg/graalvm/compiler/phases/common/ConditionalEliminationPhase$InfoElement;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=5, args_size=2
        start local 0 // org.graalvm.compiler.phases.common.ConditionalEliminationPhase$Instance this
        start local 1 // org.graalvm.compiler.phases.common.ConditionalEliminationPhase$InfoElement current
         0: .line 714
            aload 1 /* current */
            invokevirtual org.graalvm.compiler.phases.common.ConditionalEliminationPhase$InfoElement.getParent:()Lorg/graalvm/compiler/phases/common/ConditionalEliminationPhase$InfoElement;
            astore 2 /* parent */
        start local 2 // org.graalvm.compiler.phases.common.ConditionalEliminationPhase$InfoElement parent
         1: .line 715
            aload 2 /* parent */
            ifnull 3
         2: .line 716
            aload 2 /* parent */
            areturn
         3: .line 718
      StackMap locals: org.graalvm.compiler.phases.common.ConditionalEliminationPhase$InfoElement
      StackMap stack:
            aload 1 /* current */
            invokevirtual org.graalvm.compiler.phases.common.ConditionalEliminationPhase$InfoElement.getProxifiedInput:()Lorg/graalvm/compiler/nodes/ValueNode;
            astore 3 /* proxifiedInput */
        start local 3 // org.graalvm.compiler.nodes.ValueNode proxifiedInput
         4: .line 719
            aload 3 /* proxifiedInput */
            instanceof org.graalvm.compiler.nodes.PiNode
            ifeq 7
         5: .line 720
            aload 3 /* proxifiedInput */
            checkcast org.graalvm.compiler.nodes.PiNode
            astore 4 /* piNode */
        start local 4 // org.graalvm.compiler.nodes.PiNode piNode
         6: .line 721
            aload 0 /* this */
            aload 4 /* piNode */
            invokevirtual org.graalvm.compiler.nodes.PiNode.getOriginalNode:()Lorg/graalvm/compiler/nodes/ValueNode;
            invokevirtual org.graalvm.compiler.phases.common.ConditionalEliminationPhase$Instance.getInfoElements:(Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/phases/common/ConditionalEliminationPhase$InfoElement;
            areturn
        end local 4 // org.graalvm.compiler.nodes.PiNode piNode
        end local 3 // org.graalvm.compiler.nodes.ValueNode proxifiedInput
         7: .line 724
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
        end local 2 // org.graalvm.compiler.phases.common.ConditionalEliminationPhase$InfoElement parent
        end local 1 // org.graalvm.compiler.phases.common.ConditionalEliminationPhase$InfoElement current
        end local 0 // org.graalvm.compiler.phases.common.ConditionalEliminationPhase$Instance this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    8     0            this  Lorg/graalvm/compiler/phases/common/ConditionalEliminationPhase$Instance;
            0    8     1         current  Lorg/graalvm/compiler/phases/common/ConditionalEliminationPhase$InfoElement;
            1    8     2          parent  Lorg/graalvm/compiler/phases/common/ConditionalEliminationPhase$InfoElement;
            4    7     3  proxifiedInput  Lorg/graalvm/compiler/nodes/ValueNode;
            6    7     4          piNode  Lorg/graalvm/compiler/nodes/PiNode;
    MethodParameters:
         Name  Flags
      current  

  protected boolean tryProveGuardCondition(org.graalvm.compiler.nodes.DeoptimizingGuard, org.graalvm.compiler.nodes.LogicNode, org.graalvm.compiler.phases.common.ConditionalEliminationPhase$GuardRewirer);
    descriptor: (Lorg/graalvm/compiler/nodes/DeoptimizingGuard;Lorg/graalvm/compiler/nodes/LogicNode;Lorg/graalvm/compiler/phases/common/ConditionalEliminationPhase$GuardRewirer;)Z
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=6, locals=11, args_size=4
        start local 0 // org.graalvm.compiler.phases.common.ConditionalEliminationPhase$Instance this
        start local 1 // org.graalvm.compiler.nodes.DeoptimizingGuard thisGuard
        start local 2 // org.graalvm.compiler.nodes.LogicNode node
        start local 3 // org.graalvm.compiler.phases.common.ConditionalEliminationPhase$GuardRewirer rewireGuardFunction
         0: .line 728
            aload 0 /* this */
            aload 2 /* node */
            invokevirtual org.graalvm.compiler.phases.common.ConditionalEliminationPhase$Instance.getInfoElements:(Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/phases/common/ConditionalEliminationPhase$InfoElement;
            astore 4 /* infoElement */
        start local 4 // org.graalvm.compiler.phases.common.ConditionalEliminationPhase$InfoElement infoElement
         1: .line 729
            goto 7
         2: .line 730
      StackMap locals: org.graalvm.compiler.phases.common.ConditionalEliminationPhase$InfoElement
      StackMap stack:
            aload 4 /* infoElement */
            invokevirtual org.graalvm.compiler.phases.common.ConditionalEliminationPhase$InfoElement.getStamp:()Lorg/graalvm/compiler/core/common/type/Stamp;
            astore 5 /* stamp */
        start local 5 // org.graalvm.compiler.core.common.type.Stamp stamp
         3: .line 731
            aload 5 /* stamp */
            invokevirtual org.graalvm.compiler.core.common.type.Stamp.asConstant:()Ljdk/vm/ci/meta/Constant;
            checkcast jdk.vm.ci.meta.JavaConstant
            astore 6 /* constant */
        start local 6 // jdk.vm.ci.meta.JavaConstant constant
         4: .line 732
            aload 6 /* constant */
            ifnull 6
         5: .line 734
            aload 0 /* this */
            aload 4 /* infoElement */
            invokevirtual org.graalvm.compiler.phases.common.ConditionalEliminationPhase$InfoElement.getGuard:()Lorg/graalvm/compiler/nodes/extended/GuardingNode;
            aload 6 /* constant */
            invokeinterface jdk.vm.ci.meta.JavaConstant.asBoolean:()Z
            aconst_null
            aconst_null
            aload 3 /* rewireGuardFunction */
            invokevirtual org.graalvm.compiler.phases.common.ConditionalEliminationPhase$Instance.rewireGuards:(Lorg/graalvm/compiler/nodes/extended/GuardingNode;ZLorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/core/common/type/Stamp;Lorg/graalvm/compiler/phases/common/ConditionalEliminationPhase$GuardRewirer;)Z
            ireturn
         6: .line 736
      StackMap locals: org.graalvm.compiler.core.common.type.Stamp jdk.vm.ci.meta.JavaConstant
      StackMap stack:
            aload 0 /* this */
            aload 4 /* infoElement */
            invokevirtual org.graalvm.compiler.phases.common.ConditionalEliminationPhase$Instance.nextElement:(Lorg/graalvm/compiler/phases/common/ConditionalEliminationPhase$InfoElement;)Lorg/graalvm/compiler/phases/common/ConditionalEliminationPhase$InfoElement;
            astore 4 /* infoElement */
        end local 6 // jdk.vm.ci.meta.JavaConstant constant
        end local 5 // org.graalvm.compiler.core.common.type.Stamp stamp
         7: .line 729
      StackMap locals:
      StackMap stack:
            aload 4 /* infoElement */
            ifnonnull 2
         8: .line 739
            aload 2 /* node */
            instanceof org.graalvm.compiler.nodes.UnaryOpLogicNode
            ifeq 28
         9: .line 740
            aload 2 /* node */
            checkcast org.graalvm.compiler.nodes.UnaryOpLogicNode
            astore 5 /* unaryLogicNode */
        start local 5 // org.graalvm.compiler.nodes.UnaryOpLogicNode unaryLogicNode
        10: .line 741
            aload 5 /* unaryLogicNode */
            invokevirtual org.graalvm.compiler.nodes.UnaryOpLogicNode.getValue:()Lorg/graalvm/compiler/nodes/ValueNode;
            astore 6 /* value */
        start local 6 // org.graalvm.compiler.nodes.ValueNode value
        11: .line 742
            aload 0 /* this */
            aload 6 /* value */
            invokevirtual org.graalvm.compiler.phases.common.ConditionalEliminationPhase$Instance.getInfoElements:(Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/phases/common/ConditionalEliminationPhase$InfoElement;
            astore 4 /* infoElement */
        12: .line 743
            goto 18
        13: .line 744
      StackMap locals: org.graalvm.compiler.nodes.UnaryOpLogicNode org.graalvm.compiler.nodes.ValueNode
      StackMap stack:
            aload 4 /* infoElement */
            invokevirtual org.graalvm.compiler.phases.common.ConditionalEliminationPhase$InfoElement.getStamp:()Lorg/graalvm/compiler/core/common/type/Stamp;
            astore 7 /* stamp */
        start local 7 // org.graalvm.compiler.core.common.type.Stamp stamp
        14: .line 745
            aload 5 /* unaryLogicNode */
            aload 7 /* stamp */
            invokevirtual org.graalvm.compiler.nodes.UnaryOpLogicNode.tryFold:(Lorg/graalvm/compiler/core/common/type/Stamp;)Ljdk/vm/ci/meta/TriState;
            astore 8 /* result */
        start local 8 // jdk.vm.ci.meta.TriState result
        15: .line 746
            aload 8 /* result */
            invokevirtual jdk.vm.ci.meta.TriState.isKnown:()Z
            ifeq 17
        16: .line 747
            aload 0 /* this */
            aload 4 /* infoElement */
            invokevirtual org.graalvm.compiler.phases.common.ConditionalEliminationPhase$InfoElement.getGuard:()Lorg/graalvm/compiler/nodes/extended/GuardingNode;
            aload 8 /* result */
            invokevirtual jdk.vm.ci.meta.TriState.toBoolean:()Z
            aload 4 /* infoElement */
            invokevirtual org.graalvm.compiler.phases.common.ConditionalEliminationPhase$InfoElement.getProxifiedInput:()Lorg/graalvm/compiler/nodes/ValueNode;
            aload 4 /* infoElement */
            invokevirtual org.graalvm.compiler.phases.common.ConditionalEliminationPhase$InfoElement.getStamp:()Lorg/graalvm/compiler/core/common/type/Stamp;
            aload 3 /* rewireGuardFunction */
            invokevirtual org.graalvm.compiler.phases.common.ConditionalEliminationPhase$Instance.rewireGuards:(Lorg/graalvm/compiler/nodes/extended/GuardingNode;ZLorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/core/common/type/Stamp;Lorg/graalvm/compiler/phases/common/ConditionalEliminationPhase$GuardRewirer;)Z
            ireturn
        17: .line 749
      StackMap locals: org.graalvm.compiler.core.common.type.Stamp jdk.vm.ci.meta.TriState
      StackMap stack:
            aload 0 /* this */
            aload 4 /* infoElement */
            invokevirtual org.graalvm.compiler.phases.common.ConditionalEliminationPhase$Instance.nextElement:(Lorg/graalvm/compiler/phases/common/ConditionalEliminationPhase$InfoElement;)Lorg/graalvm/compiler/phases/common/ConditionalEliminationPhase$InfoElement;
            astore 4 /* infoElement */
        end local 8 // jdk.vm.ci.meta.TriState result
        end local 7 // org.graalvm.compiler.core.common.type.Stamp stamp
        18: .line 743
      StackMap locals:
      StackMap stack:
            aload 4 /* infoElement */
            ifnonnull 13
        19: .line 751
            aload 0 /* this */
            aload 6 /* value */
            invokevirtual org.graalvm.compiler.phases.common.ConditionalEliminationPhase$Instance.recursiveFoldStampFromInfo:(Lorg/graalvm/compiler/graph/Node;)Lorg/graalvm/util/Pair;
            astore 7 /* foldResult */
        start local 7 // org.graalvm.util.Pair foldResult
        20: .line 752
            aload 7 /* foldResult */
            ifnull 24
        21: .line 753
            aload 5 /* unaryLogicNode */
            aload 7 /* foldResult */
            invokevirtual org.graalvm.util.Pair.getRight:()Ljava/lang/Object;
            checkcast org.graalvm.compiler.core.common.type.Stamp
            invokevirtual org.graalvm.compiler.nodes.UnaryOpLogicNode.tryFold:(Lorg/graalvm/compiler/core/common/type/Stamp;)Ljdk/vm/ci/meta/TriState;
            astore 8 /* result */
        start local 8 // jdk.vm.ci.meta.TriState result
        22: .line 754
            aload 8 /* result */
            invokevirtual jdk.vm.ci.meta.TriState.isKnown:()Z
            ifeq 24
        23: .line 755
            aload 0 /* this */
            aload 7 /* foldResult */
            invokevirtual org.graalvm.util.Pair.getLeft:()Ljava/lang/Object;
            checkcast org.graalvm.compiler.phases.common.ConditionalEliminationPhase$InfoElement
            invokevirtual org.graalvm.compiler.phases.common.ConditionalEliminationPhase$InfoElement.getGuard:()Lorg/graalvm/compiler/nodes/extended/GuardingNode;
            aload 8 /* result */
            invokevirtual jdk.vm.ci.meta.TriState.toBoolean:()Z
            aload 7 /* foldResult */
            invokevirtual org.graalvm.util.Pair.getLeft:()Ljava/lang/Object;
            checkcast org.graalvm.compiler.phases.common.ConditionalEliminationPhase$InfoElement
            invokevirtual org.graalvm.compiler.phases.common.ConditionalEliminationPhase$InfoElement.getProxifiedInput:()Lorg/graalvm/compiler/nodes/ValueNode;
            aload 7 /* foldResult */
            invokevirtual org.graalvm.util.Pair.getRight:()Ljava/lang/Object;
            checkcast org.graalvm.compiler.core.common.type.Stamp
            aload 3 /* rewireGuardFunction */
            invokevirtual org.graalvm.compiler.phases.common.ConditionalEliminationPhase$Instance.rewireGuards:(Lorg/graalvm/compiler/nodes/extended/GuardingNode;ZLorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/core/common/type/Stamp;Lorg/graalvm/compiler/phases/common/ConditionalEliminationPhase$GuardRewirer;)Z
            ireturn
        end local 8 // jdk.vm.ci.meta.TriState result
        24: .line 758
      StackMap locals: org.graalvm.util.Pair
      StackMap stack:
            aload 1 /* thisGuard */
            ifnull 91
        25: .line 759
            aload 5 /* unaryLogicNode */
            aload 1 /* thisGuard */
            invokeinterface org.graalvm.compiler.nodes.DeoptimizingGuard.isNegated:()Z
            invokevirtual org.graalvm.compiler.nodes.UnaryOpLogicNode.getSucceedingStampForValue:(Z)Lorg/graalvm/compiler/core/common/type/Stamp;
            astore 8 /* newStamp */
        start local 8 // org.graalvm.compiler.core.common.type.Stamp newStamp
        26: .line 760
            aload 8 /* newStamp */
            ifnull 91
            aload 0 /* this */
            aload 1 /* thisGuard */
            aload 6 /* value */
            aload 8 /* newStamp */
            aload 3 /* rewireGuardFunction */
            invokevirtual org.graalvm.compiler.phases.common.ConditionalEliminationPhase$Instance.foldPendingTest:(Lorg/graalvm/compiler/nodes/DeoptimizingGuard;Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/core/common/type/Stamp;Lorg/graalvm/compiler/phases/common/ConditionalEliminationPhase$GuardRewirer;)Z
            ifeq 91
        27: .line 761
            iconst_1
            ireturn
        end local 8 // org.graalvm.compiler.core.common.type.Stamp newStamp
        end local 7 // org.graalvm.util.Pair foldResult
        end local 6 // org.graalvm.compiler.nodes.ValueNode value
        end local 5 // org.graalvm.compiler.nodes.UnaryOpLogicNode unaryLogicNode
        28: .line 765
      StackMap locals:
      StackMap stack:
            aload 2 /* node */
            instanceof org.graalvm.compiler.nodes.BinaryOpLogicNode
            ifeq 88
        29: .line 766
            aload 2 /* node */
            checkcast org.graalvm.compiler.nodes.BinaryOpLogicNode
            astore 5 /* binaryOpLogicNode */
        start local 5 // org.graalvm.compiler.nodes.BinaryOpLogicNode binaryOpLogicNode
        30: .line 767
            aload 0 /* this */
            aload 5 /* binaryOpLogicNode */
            invokevirtual org.graalvm.compiler.phases.common.ConditionalEliminationPhase$Instance.getInfoElements:(Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/phases/common/ConditionalEliminationPhase$InfoElement;
            astore 4 /* infoElement */
        31: .line 768
            goto 37
        32: .line 769
      StackMap locals: org.graalvm.compiler.nodes.BinaryOpLogicNode
      StackMap stack:
            aload 4 /* infoElement */
            invokevirtual org.graalvm.compiler.phases.common.ConditionalEliminationPhase$InfoElement.getStamp:()Lorg/graalvm/compiler/core/common/type/Stamp;
            invokestatic org.graalvm.compiler.core.common.type.StampFactory.contradiction:()Lorg/graalvm/compiler/core/common/type/Stamp;
            invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
            ifeq 34
        33: .line 770
            aload 0 /* this */
            aload 4 /* infoElement */
            invokevirtual org.graalvm.compiler.phases.common.ConditionalEliminationPhase$InfoElement.getGuard:()Lorg/graalvm/compiler/nodes/extended/GuardingNode;
            iconst_0
            aload 4 /* infoElement */
            invokevirtual org.graalvm.compiler.phases.common.ConditionalEliminationPhase$InfoElement.getProxifiedInput:()Lorg/graalvm/compiler/nodes/ValueNode;
            aconst_null
            aload 3 /* rewireGuardFunction */
            invokevirtual org.graalvm.compiler.phases.common.ConditionalEliminationPhase$Instance.rewireGuards:(Lorg/graalvm/compiler/nodes/extended/GuardingNode;ZLorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/core/common/type/Stamp;Lorg/graalvm/compiler/phases/common/ConditionalEliminationPhase$GuardRewirer;)Z
            ireturn
        34: .line 771
      StackMap locals:
      StackMap stack:
            aload 4 /* infoElement */
            invokevirtual org.graalvm.compiler.phases.common.ConditionalEliminationPhase$InfoElement.getStamp:()Lorg/graalvm/compiler/core/common/type/Stamp;
            invokestatic org.graalvm.compiler.core.common.type.StampFactory.tautology:()Lorg/graalvm/compiler/core/common/type/Stamp;
            invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
            ifeq 36
        35: .line 772
            aload 0 /* this */
            aload 4 /* infoElement */
            invokevirtual org.graalvm.compiler.phases.common.ConditionalEliminationPhase$InfoElement.getGuard:()Lorg/graalvm/compiler/nodes/extended/GuardingNode;
            iconst_1
            aload 4 /* infoElement */
            invokevirtual org.graalvm.compiler.phases.common.ConditionalEliminationPhase$InfoElement.getProxifiedInput:()Lorg/graalvm/compiler/nodes/ValueNode;
            aconst_null
            aload 3 /* rewireGuardFunction */
            invokevirtual org.graalvm.compiler.phases.common.ConditionalEliminationPhase$Instance.rewireGuards:(Lorg/graalvm/compiler/nodes/extended/GuardingNode;ZLorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/core/common/type/Stamp;Lorg/graalvm/compiler/phases/common/ConditionalEliminationPhase$GuardRewirer;)Z
            ireturn
        36: .line 774
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 4 /* infoElement */
            invokevirtual org.graalvm.compiler.phases.common.ConditionalEliminationPhase$Instance.nextElement:(Lorg/graalvm/compiler/phases/common/ConditionalEliminationPhase$InfoElement;)Lorg/graalvm/compiler/phases/common/ConditionalEliminationPhase$InfoElement;
            astore 4 /* infoElement */
        37: .line 768
      StackMap locals:
      StackMap stack:
            aload 4 /* infoElement */
            ifnonnull 32
        38: .line 777
            aload 5 /* binaryOpLogicNode */
            invokevirtual org.graalvm.compiler.nodes.BinaryOpLogicNode.getX:()Lorg/graalvm/compiler/nodes/ValueNode;
            astore 6 /* x */
        start local 6 // org.graalvm.compiler.nodes.ValueNode x
        39: .line 778
            aload 5 /* binaryOpLogicNode */
            invokevirtual org.graalvm.compiler.nodes.BinaryOpLogicNode.getY:()Lorg/graalvm/compiler/nodes/ValueNode;
            astore 7 /* y */
        start local 7 // org.graalvm.compiler.nodes.ValueNode y
        40: .line 779
            aload 0 /* this */
            aload 6 /* x */
            invokevirtual org.graalvm.compiler.phases.common.ConditionalEliminationPhase$Instance.getInfoElements:(Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/phases/common/ConditionalEliminationPhase$InfoElement;
            astore 4 /* infoElement */
        41: .line 780
            goto 46
        42: .line 781
      StackMap locals: org.graalvm.compiler.nodes.ValueNode org.graalvm.compiler.nodes.ValueNode
      StackMap stack:
            aload 5 /* binaryOpLogicNode */
            aload 4 /* infoElement */
            invokevirtual org.graalvm.compiler.phases.common.ConditionalEliminationPhase$InfoElement.getStamp:()Lorg/graalvm/compiler/core/common/type/Stamp;
            aload 7 /* y */
            getstatic org.graalvm.compiler.nodes.NodeView.DEFAULT:Lorg/graalvm/compiler/nodes/NodeView;
            invokevirtual org.graalvm.compiler.nodes.ValueNode.stamp:(Lorg/graalvm/compiler/nodes/NodeView;)Lorg/graalvm/compiler/core/common/type/Stamp;
            invokevirtual org.graalvm.compiler.nodes.BinaryOpLogicNode.tryFold:(Lorg/graalvm/compiler/core/common/type/Stamp;Lorg/graalvm/compiler/core/common/type/Stamp;)Ljdk/vm/ci/meta/TriState;
            astore 8 /* result */
        start local 8 // jdk.vm.ci.meta.TriState result
        43: .line 782
            aload 8 /* result */
            invokevirtual jdk.vm.ci.meta.TriState.isKnown:()Z
            ifeq 45
        44: .line 783
            aload 0 /* this */
            aload 4 /* infoElement */
            invokevirtual org.graalvm.compiler.phases.common.ConditionalEliminationPhase$InfoElement.getGuard:()Lorg/graalvm/compiler/nodes/extended/GuardingNode;
            aload 8 /* result */
            invokevirtual jdk.vm.ci.meta.TriState.toBoolean:()Z
            aload 4 /* infoElement */
            invokevirtual org.graalvm.compiler.phases.common.ConditionalEliminationPhase$InfoElement.getProxifiedInput:()Lorg/graalvm/compiler/nodes/ValueNode;
            aload 4 /* infoElement */
            invokevirtual org.graalvm.compiler.phases.common.ConditionalEliminationPhase$InfoElement.getStamp:()Lorg/graalvm/compiler/core/common/type/Stamp;
            aload 3 /* rewireGuardFunction */
            invokevirtual org.graalvm.compiler.phases.common.ConditionalEliminationPhase$Instance.rewireGuards:(Lorg/graalvm/compiler/nodes/extended/GuardingNode;ZLorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/core/common/type/Stamp;Lorg/graalvm/compiler/phases/common/ConditionalEliminationPhase$GuardRewirer;)Z
            ireturn
        45: .line 785
      StackMap locals: jdk.vm.ci.meta.TriState
      StackMap stack:
            aload 0 /* this */
            aload 4 /* infoElement */
            invokevirtual org.graalvm.compiler.phases.common.ConditionalEliminationPhase$Instance.nextElement:(Lorg/graalvm/compiler/phases/common/ConditionalEliminationPhase$InfoElement;)Lorg/graalvm/compiler/phases/common/ConditionalEliminationPhase$InfoElement;
            astore 4 /* infoElement */
        end local 8 // jdk.vm.ci.meta.TriState result
        46: .line 780
      StackMap locals:
      StackMap stack:
            aload 4 /* infoElement */
            ifnonnull 42
        47: .line 788
            aload 7 /* y */
            invokevirtual org.graalvm.compiler.nodes.ValueNode.isConstant:()Z
            ifeq 53
        48: .line 789
            aload 0 /* this */
            aload 6 /* x */
            invokevirtual org.graalvm.compiler.phases.common.ConditionalEliminationPhase$Instance.recursiveFoldStampFromInfo:(Lorg/graalvm/compiler/graph/Node;)Lorg/graalvm/util/Pair;
            astore 8 /* foldResult */
        start local 8 // org.graalvm.util.Pair foldResult
        49: .line 790
            aload 8 /* foldResult */
            ifnull 60
        50: .line 791
            aload 5 /* binaryOpLogicNode */
            aload 8 /* foldResult */
            invokevirtual org.graalvm.util.Pair.getRight:()Ljava/lang/Object;
            checkcast org.graalvm.compiler.core.common.type.Stamp
            aload 7 /* y */
            getstatic org.graalvm.compiler.nodes.NodeView.DEFAULT:Lorg/graalvm/compiler/nodes/NodeView;
            invokevirtual org.graalvm.compiler.nodes.ValueNode.stamp:(Lorg/graalvm/compiler/nodes/NodeView;)Lorg/graalvm/compiler/core/common/type/Stamp;
            invokevirtual org.graalvm.compiler.nodes.BinaryOpLogicNode.tryFold:(Lorg/graalvm/compiler/core/common/type/Stamp;Lorg/graalvm/compiler/core/common/type/Stamp;)Ljdk/vm/ci/meta/TriState;
            astore 9 /* result */
        start local 9 // jdk.vm.ci.meta.TriState result
        51: .line 792
            aload 9 /* result */
            invokevirtual jdk.vm.ci.meta.TriState.isKnown:()Z
            ifeq 60
        52: .line 793
            aload 0 /* this */
            aload 8 /* foldResult */
            invokevirtual org.graalvm.util.Pair.getLeft:()Ljava/lang/Object;
            checkcast org.graalvm.compiler.phases.common.ConditionalEliminationPhase$InfoElement
            invokevirtual org.graalvm.compiler.phases.common.ConditionalEliminationPhase$InfoElement.getGuard:()Lorg/graalvm/compiler/nodes/extended/GuardingNode;
            aload 9 /* result */
            invokevirtual jdk.vm.ci.meta.TriState.toBoolean:()Z
            aload 8 /* foldResult */
            invokevirtual org.graalvm.util.Pair.getLeft:()Ljava/lang/Object;
            checkcast org.graalvm.compiler.phases.common.ConditionalEliminationPhase$InfoElement
            invokevirtual org.graalvm.compiler.phases.common.ConditionalEliminationPhase$InfoElement.getProxifiedInput:()Lorg/graalvm/compiler/nodes/ValueNode;
            aload 8 /* foldResult */
            invokevirtual org.graalvm.util.Pair.getRight:()Ljava/lang/Object;
            checkcast org.graalvm.compiler.core.common.type.Stamp
            aload 3 /* rewireGuardFunction */
            invokevirtual org.graalvm.compiler.phases.common.ConditionalEliminationPhase$Instance.rewireGuards:(Lorg/graalvm/compiler/nodes/extended/GuardingNode;ZLorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/core/common/type/Stamp;Lorg/graalvm/compiler/phases/common/ConditionalEliminationPhase$GuardRewirer;)Z
            ireturn
        end local 9 // jdk.vm.ci.meta.TriState result
        end local 8 // org.graalvm.util.Pair foldResult
        53: .line 797
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 7 /* y */
            invokevirtual org.graalvm.compiler.phases.common.ConditionalEliminationPhase$Instance.getInfoElements:(Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/phases/common/ConditionalEliminationPhase$InfoElement;
            astore 4 /* infoElement */
        54: .line 798
            goto 59
        55: .line 799
      StackMap locals:
      StackMap stack:
            aload 5 /* binaryOpLogicNode */
            aload 6 /* x */
            getstatic org.graalvm.compiler.nodes.NodeView.DEFAULT:Lorg/graalvm/compiler/nodes/NodeView;
            invokevirtual org.graalvm.compiler.nodes.ValueNode.stamp:(Lorg/graalvm/compiler/nodes/NodeView;)Lorg/graalvm/compiler/core/common/type/Stamp;
            aload 4 /* infoElement */
            invokevirtual org.graalvm.compiler.phases.common.ConditionalEliminationPhase$InfoElement.getStamp:()Lorg/graalvm/compiler/core/common/type/Stamp;
            invokevirtual org.graalvm.compiler.nodes.BinaryOpLogicNode.tryFold:(Lorg/graalvm/compiler/core/common/type/Stamp;Lorg/graalvm/compiler/core/common/type/Stamp;)Ljdk/vm/ci/meta/TriState;
            astore 8 /* result */
        start local 8 // jdk.vm.ci.meta.TriState result
        56: .line 800
            aload 8 /* result */
            invokevirtual jdk.vm.ci.meta.TriState.isKnown:()Z
            ifeq 58
        57: .line 801
            aload 0 /* this */
            aload 4 /* infoElement */
            invokevirtual org.graalvm.compiler.phases.common.ConditionalEliminationPhase$InfoElement.getGuard:()Lorg/graalvm/compiler/nodes/extended/GuardingNode;
            aload 8 /* result */
            invokevirtual jdk.vm.ci.meta.TriState.toBoolean:()Z
            aload 4 /* infoElement */
            invokevirtual org.graalvm.compiler.phases.common.ConditionalEliminationPhase$InfoElement.getProxifiedInput:()Lorg/graalvm/compiler/nodes/ValueNode;
            aload 4 /* infoElement */
            invokevirtual org.graalvm.compiler.phases.common.ConditionalEliminationPhase$InfoElement.getStamp:()Lorg/graalvm/compiler/core/common/type/Stamp;
            aload 3 /* rewireGuardFunction */
            invokevirtual org.graalvm.compiler.phases.common.ConditionalEliminationPhase$Instance.rewireGuards:(Lorg/graalvm/compiler/nodes/extended/GuardingNode;ZLorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/core/common/type/Stamp;Lorg/graalvm/compiler/phases/common/ConditionalEliminationPhase$GuardRewirer;)Z
            ireturn
        58: .line 803
      StackMap locals: jdk.vm.ci.meta.TriState
      StackMap stack:
            aload 0 /* this */
            aload 4 /* infoElement */
            invokevirtual org.graalvm.compiler.phases.common.ConditionalEliminationPhase$Instance.nextElement:(Lorg/graalvm/compiler/phases/common/ConditionalEliminationPhase$InfoElement;)Lorg/graalvm/compiler/phases/common/ConditionalEliminationPhase$InfoElement;
            astore 4 /* infoElement */
        end local 8 // jdk.vm.ci.meta.TriState result
        59: .line 798
      StackMap locals:
      StackMap stack:
            aload 4 /* infoElement */
            ifnonnull 55
        60: .line 814
      StackMap locals:
      StackMap stack:
            aload 6 /* x */
            instanceof org.graalvm.compiler.nodes.calc.BinaryArithmeticNode
            ifeq 71
            aload 7 /* y */
            invokevirtual org.graalvm.compiler.nodes.ValueNode.isConstant:()Z
            ifeq 71
        61: .line 815
            aload 6 /* x */
            checkcast org.graalvm.compiler.nodes.calc.BinaryArithmeticNode
            astore 8 /* binary */
        start local 8 // org.graalvm.compiler.nodes.calc.BinaryArithmeticNode binary
        62: .line 816
            aload 8 /* binary */
            invokevirtual org.graalvm.compiler.nodes.calc.BinaryArithmeticNode.getY:()Lorg/graalvm/compiler/nodes/ValueNode;
            invokevirtual org.graalvm.compiler.nodes.ValueNode.isConstant:()Z
            ifeq 71
        63: .line 817
            aload 0 /* this */
            aload 8 /* binary */
            invokevirtual org.graalvm.compiler.nodes.calc.BinaryArithmeticNode.getX:()Lorg/graalvm/compiler/nodes/ValueNode;
            invokevirtual org.graalvm.compiler.phases.common.ConditionalEliminationPhase$Instance.getInfoElements:(Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/phases/common/ConditionalEliminationPhase$InfoElement;
            astore 4 /* infoElement */
        64: .line 818
            goto 70
        65: .line 819
      StackMap locals: org.graalvm.compiler.nodes.calc.BinaryArithmeticNode
      StackMap stack:
            aload 8 /* binary */
            aload 4 /* infoElement */
            invokevirtual org.graalvm.compiler.phases.common.ConditionalEliminationPhase$InfoElement.getStamp:()Lorg/graalvm/compiler/core/common/type/Stamp;
            aload 8 /* binary */
            invokevirtual org.graalvm.compiler.nodes.calc.BinaryArithmeticNode.getY:()Lorg/graalvm/compiler/nodes/ValueNode;
            getstatic org.graalvm.compiler.nodes.NodeView.DEFAULT:Lorg/graalvm/compiler/nodes/NodeView;
            invokevirtual org.graalvm.compiler.nodes.ValueNode.stamp:(Lorg/graalvm/compiler/nodes/NodeView;)Lorg/graalvm/compiler/core/common/type/Stamp;
            invokevirtual org.graalvm.compiler.nodes.calc.BinaryArithmeticNode.foldStamp:(Lorg/graalvm/compiler/core/common/type/Stamp;Lorg/graalvm/compiler/core/common/type/Stamp;)Lorg/graalvm/compiler/core/common/type/Stamp;
            astore 9 /* newStampX */
        start local 9 // org.graalvm.compiler.core.common.type.Stamp newStampX
        66: .line 820
            aload 5 /* binaryOpLogicNode */
            aload 9 /* newStampX */
            aload 7 /* y */
            getstatic org.graalvm.compiler.nodes.NodeView.DEFAULT:Lorg/graalvm/compiler/nodes/NodeView;
            invokevirtual org.graalvm.compiler.nodes.ValueNode.stamp:(Lorg/graalvm/compiler/nodes/NodeView;)Lorg/graalvm/compiler/core/common/type/Stamp;
            invokevirtual org.graalvm.compiler.nodes.BinaryOpLogicNode.tryFold:(Lorg/graalvm/compiler/core/common/type/Stamp;Lorg/graalvm/compiler/core/common/type/Stamp;)Ljdk/vm/ci/meta/TriState;
            astore 10 /* result */
        start local 10 // jdk.vm.ci.meta.TriState result
        67: .line 821
            aload 10 /* result */
            invokevirtual jdk.vm.ci.meta.TriState.isKnown:()Z
            ifeq 69
        68: .line 822
            aload 0 /* this */
            aload 4 /* infoElement */
            invokevirtual org.graalvm.compiler.phases.common.ConditionalEliminationPhase$InfoElement.getGuard:()Lorg/graalvm/compiler/nodes/extended/GuardingNode;
            aload 10 /* result */
            invokevirtual jdk.vm.ci.meta.TriState.toBoolean:()Z
            aload 4 /* infoElement */
            invokevirtual org.graalvm.compiler.phases.common.ConditionalEliminationPhase$InfoElement.getProxifiedInput:()Lorg/graalvm/compiler/nodes/ValueNode;
            aload 9 /* newStampX */
            aload 3 /* rewireGuardFunction */
            invokevirtual org.graalvm.compiler.phases.common.ConditionalEliminationPhase$Instance.rewireGuards:(Lorg/graalvm/compiler/nodes/extended/GuardingNode;ZLorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/core/common/type/Stamp;Lorg/graalvm/compiler/phases/common/ConditionalEliminationPhase$GuardRewirer;)Z
            ireturn
        69: .line 824
      StackMap locals: org.graalvm.compiler.core.common.type.Stamp jdk.vm.ci.meta.TriState
      StackMap stack:
            aload 0 /* this */
            aload 4 /* infoElement */
            invokevirtual org.graalvm.compiler.phases.common.ConditionalEliminationPhase$Instance.nextElement:(Lorg/graalvm/compiler/phases/common/ConditionalEliminationPhase$InfoElement;)Lorg/graalvm/compiler/phases/common/ConditionalEliminationPhase$InfoElement;
            astore 4 /* infoElement */
        end local 10 // jdk.vm.ci.meta.TriState result
        end local 9 // org.graalvm.compiler.core.common.type.Stamp newStampX
        70: .line 818
      StackMap locals:
      StackMap stack:
            aload 4 /* infoElement */
            ifnonnull 65
        end local 8 // org.graalvm.compiler.nodes.calc.BinaryArithmeticNode binary
        71: .line 829
      StackMap locals:
      StackMap stack:
            aload 1 /* thisGuard */
            ifnull 79
            aload 5 /* binaryOpLogicNode */
            instanceof org.graalvm.compiler.nodes.calc.IntegerEqualsNode
            ifeq 79
            aload 1 /* thisGuard */
            invokeinterface org.graalvm.compiler.nodes.DeoptimizingGuard.isNegated:()Z
            ifne 79
        72: .line 830
            aload 7 /* y */
            invokevirtual org.graalvm.compiler.nodes.ValueNode.isConstant:()Z
            ifeq 79
            aload 6 /* x */
            instanceof org.graalvm.compiler.nodes.calc.AndNode
            ifeq 79
        73: .line 831
            aload 6 /* x */
            checkcast org.graalvm.compiler.nodes.calc.AndNode
            astore 8 /* and */
        start local 8 // org.graalvm.compiler.nodes.calc.AndNode and
        74: .line 832
            aload 8 /* and */
            invokevirtual org.graalvm.compiler.nodes.calc.AndNode.getY:()Lorg/graalvm/compiler/nodes/ValueNode;
            aload 7 /* y */
            if_acmpne 79
        75: .line 838
            aload 6 /* x */
            getstatic org.graalvm.compiler.nodes.NodeView.DEFAULT:Lorg/graalvm/compiler/nodes/NodeView;
            invokevirtual org.graalvm.compiler.nodes.ValueNode.stamp:(Lorg/graalvm/compiler/nodes/NodeView;)Lorg/graalvm/compiler/core/common/type/Stamp;
            invokestatic org.graalvm.compiler.core.common.type.ArithmeticOpTable.forStamp:(Lorg/graalvm/compiler/core/common/type/Stamp;)Lorg/graalvm/compiler/core/common/type/ArithmeticOpTable;
            invokevirtual org.graalvm.compiler.core.common.type.ArithmeticOpTable.getOr:()Lorg/graalvm/compiler/core/common/type/ArithmeticOpTable$BinaryOp;
            astore 9 /* op */
        start local 9 // org.graalvm.compiler.core.common.type.ArithmeticOpTable$BinaryOp op
        76: .line 839
            aload 9 /* op */
            aload 8 /* and */
            invokevirtual org.graalvm.compiler.nodes.calc.AndNode.getX:()Lorg/graalvm/compiler/nodes/ValueNode;
            invokestatic org.graalvm.compiler.phases.common.ConditionalEliminationPhase$Instance.getSafeStamp:(Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/core/common/type/Stamp;
            aload 7 /* y */
            invokestatic org.graalvm.compiler.phases.common.ConditionalEliminationPhase$Instance.getOtherSafeStamp:(Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/core/common/type/Stamp;
            invokevirtual org.graalvm.compiler.core.common.type.ArithmeticOpTable$BinaryOp.foldStamp:(Lorg/graalvm/compiler/core/common/type/Stamp;Lorg/graalvm/compiler/core/common/type/Stamp;)Lorg/graalvm/compiler/core/common/type/Stamp;
            checkcast org.graalvm.compiler.core.common.type.IntegerStamp
            astore 10 /* newStampX */
        start local 10 // org.graalvm.compiler.core.common.type.IntegerStamp newStampX
        77: .line 840
            aload 0 /* this */
            aload 1 /* thisGuard */
            aload 8 /* and */
            invokevirtual org.graalvm.compiler.nodes.calc.AndNode.getX:()Lorg/graalvm/compiler/nodes/ValueNode;
            aload 10 /* newStampX */
            aload 3 /* rewireGuardFunction */
            invokevirtual org.graalvm.compiler.phases.common.ConditionalEliminationPhase$Instance.foldPendingTest:(Lorg/graalvm/compiler/nodes/DeoptimizingGuard;Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/core/common/type/Stamp;Lorg/graalvm/compiler/phases/common/ConditionalEliminationPhase$GuardRewirer;)Z
            ifeq 79
        78: .line 841
            iconst_1
            ireturn
        end local 10 // org.graalvm.compiler.core.common.type.IntegerStamp newStampX
        end local 9 // org.graalvm.compiler.core.common.type.ArithmeticOpTable$BinaryOp op
        end local 8 // org.graalvm.compiler.nodes.calc.AndNode and
        79: .line 847
      StackMap locals:
      StackMap stack:
            aload 1 /* thisGuard */
            ifnull 91
        80: .line 848
            aload 6 /* x */
            invokevirtual org.graalvm.compiler.nodes.ValueNode.isConstant:()Z
            ifne 84
        81: .line 849
            aload 5 /* binaryOpLogicNode */
            aload 1 /* thisGuard */
            invokeinterface org.graalvm.compiler.nodes.DeoptimizingGuard.isNegated:()Z
            aload 6 /* x */
            invokestatic org.graalvm.compiler.phases.common.ConditionalEliminationPhase$Instance.getSafeStamp:(Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/core/common/type/Stamp;
            aload 7 /* y */
            invokestatic org.graalvm.compiler.phases.common.ConditionalEliminationPhase$Instance.getOtherSafeStamp:(Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/core/common/type/Stamp;
            invokevirtual org.graalvm.compiler.nodes.BinaryOpLogicNode.getSucceedingStampForX:(ZLorg/graalvm/compiler/core/common/type/Stamp;Lorg/graalvm/compiler/core/common/type/Stamp;)Lorg/graalvm/compiler/core/common/type/Stamp;
            astore 8 /* newStampX */
        start local 8 // org.graalvm.compiler.core.common.type.Stamp newStampX
        82: .line 850
            aload 8 /* newStampX */
            ifnull 84
            aload 0 /* this */
            aload 1 /* thisGuard */
            aload 6 /* x */
            aload 8 /* newStampX */
            aload 3 /* rewireGuardFunction */
            invokevirtual org.graalvm.compiler.phases.common.ConditionalEliminationPhase$Instance.foldPendingTest:(Lorg/graalvm/compiler/nodes/DeoptimizingGuard;Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/core/common/type/Stamp;Lorg/graalvm/compiler/phases/common/ConditionalEliminationPhase$GuardRewirer;)Z
            ifeq 84
        83: .line 851
            iconst_1
            ireturn
        end local 8 // org.graalvm.compiler.core.common.type.Stamp newStampX
        84: .line 854
      StackMap locals:
      StackMap stack:
            aload 7 /* y */
            invokevirtual org.graalvm.compiler.nodes.ValueNode.isConstant:()Z
            ifne 91
        85: .line 855
            aload 5 /* binaryOpLogicNode */
            aload 1 /* thisGuard */
            invokeinterface org.graalvm.compiler.nodes.DeoptimizingGuard.isNegated:()Z
            aload 6 /* x */
            invokestatic org.graalvm.compiler.phases.common.ConditionalEliminationPhase$Instance.getOtherSafeStamp:(Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/core/common/type/Stamp;
            aload 7 /* y */
            invokestatic org.graalvm.compiler.phases.common.ConditionalEliminationPhase$Instance.getSafeStamp:(Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/core/common/type/Stamp;
            invokevirtual org.graalvm.compiler.nodes.BinaryOpLogicNode.getSucceedingStampForY:(ZLorg/graalvm/compiler/core/common/type/Stamp;Lorg/graalvm/compiler/core/common/type/Stamp;)Lorg/graalvm/compiler/core/common/type/Stamp;
            astore 8 /* newStampY */
        start local 8 // org.graalvm.compiler.core.common.type.Stamp newStampY
        86: .line 856
            aload 8 /* newStampY */
            ifnull 91
            aload 0 /* this */
            aload 1 /* thisGuard */
            aload 7 /* y */
            aload 8 /* newStampY */
            aload 3 /* rewireGuardFunction */
            invokevirtual org.graalvm.compiler.phases.common.ConditionalEliminationPhase$Instance.foldPendingTest:(Lorg/graalvm/compiler/nodes/DeoptimizingGuard;Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/core/common/type/Stamp;Lorg/graalvm/compiler/phases/common/ConditionalEliminationPhase$GuardRewirer;)Z
            ifeq 91
        87: .line 857
            iconst_1
            ireturn
        end local 8 // org.graalvm.compiler.core.common.type.Stamp newStampY
        end local 7 // org.graalvm.compiler.nodes.ValueNode y
        end local 6 // org.graalvm.compiler.nodes.ValueNode x
        end local 5 // org.graalvm.compiler.nodes.BinaryOpLogicNode binaryOpLogicNode
        88: .line 861
      StackMap locals:
      StackMap stack:
            aload 2 /* node */
            instanceof org.graalvm.compiler.nodes.ShortCircuitOrNode
            ifeq 91
        89: .line 862
            aload 2 /* node */
            checkcast org.graalvm.compiler.nodes.ShortCircuitOrNode
            astore 5 /* shortCircuitOrNode */
        start local 5 // org.graalvm.compiler.nodes.ShortCircuitOrNode shortCircuitOrNode
        90: .line 863
            aload 0 /* this */
            aload 5 /* shortCircuitOrNode */
            invokevirtual org.graalvm.compiler.nodes.ShortCircuitOrNode.getX:()Lorg/graalvm/compiler/nodes/LogicNode;
            aload 0 /* this */
            aload 5 /* shortCircuitOrNode */
            aload 3 /* rewireGuardFunction */
            invokedynamic rewire(Lorg/graalvm/compiler/phases/common/ConditionalEliminationPhase$Instance;Lorg/graalvm/compiler/nodes/ShortCircuitOrNode;Lorg/graalvm/compiler/phases/common/ConditionalEliminationPhase$GuardRewirer;)Lorg/graalvm/compiler/phases/common/ConditionalEliminationPhase$GuardRewirer;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Lorg/graalvm/compiler/nodes/extended/GuardingNode;ZLorg/graalvm/compiler/core/common/type/Stamp;Lorg/graalvm/compiler/nodes/ValueNode;)Z
                  org/graalvm/compiler/phases/common/ConditionalEliminationPhase$Instance.lambda$5(Lorg/graalvm/compiler/nodes/ShortCircuitOrNode;Lorg/graalvm/compiler/phases/common/ConditionalEliminationPhase$GuardRewirer;Lorg/graalvm/compiler/nodes/extended/GuardingNode;ZLorg/graalvm/compiler/core/common/type/Stamp;Lorg/graalvm/compiler/nodes/ValueNode;)Z (7)
                  (Lorg/graalvm/compiler/nodes/extended/GuardingNode;ZLorg/graalvm/compiler/core/common/type/Stamp;Lorg/graalvm/compiler/nodes/ValueNode;)Z
            invokevirtual org.graalvm.compiler.phases.common.ConditionalEliminationPhase$Instance.tryProveCondition:(Lorg/graalvm/compiler/nodes/LogicNode;Lorg/graalvm/compiler/phases/common/ConditionalEliminationPhase$GuardRewirer;)Z
            ireturn
        end local 5 // org.graalvm.compiler.nodes.ShortCircuitOrNode shortCircuitOrNode
        91: .line 887
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        end local 4 // org.graalvm.compiler.phases.common.ConditionalEliminationPhase$InfoElement infoElement
        end local 3 // org.graalvm.compiler.phases.common.ConditionalEliminationPhase$GuardRewirer rewireGuardFunction
        end local 2 // org.graalvm.compiler.nodes.LogicNode node
        end local 1 // org.graalvm.compiler.nodes.DeoptimizingGuard thisGuard
        end local 0 // org.graalvm.compiler.phases.common.ConditionalEliminationPhase$Instance this
      LocalVariableTable:
        Start  End  Slot                 Name  Signature
            0   92     0                 this  Lorg/graalvm/compiler/phases/common/ConditionalEliminationPhase$Instance;
            0   92     1            thisGuard  Lorg/graalvm/compiler/nodes/DeoptimizingGuard;
            0   92     2                 node  Lorg/graalvm/compiler/nodes/LogicNode;
            0   92     3  rewireGuardFunction  Lorg/graalvm/compiler/phases/common/ConditionalEliminationPhase$GuardRewirer;
            1   92     4          infoElement  Lorg/graalvm/compiler/phases/common/ConditionalEliminationPhase$InfoElement;
            3    7     5                stamp  Lorg/graalvm/compiler/core/common/type/Stamp;
            4    7     6             constant  Ljdk/vm/ci/meta/JavaConstant;
           10   28     5       unaryLogicNode  Lorg/graalvm/compiler/nodes/UnaryOpLogicNode;
           11   28     6                value  Lorg/graalvm/compiler/nodes/ValueNode;
           14   18     7                stamp  Lorg/graalvm/compiler/core/common/type/Stamp;
           15   18     8               result  Ljdk/vm/ci/meta/TriState;
           20   28     7           foldResult  Lorg/graalvm/util/Pair<Lorg/graalvm/compiler/phases/common/ConditionalEliminationPhase$InfoElement;Lorg/graalvm/compiler/core/common/type/Stamp;>;
           22   24     8               result  Ljdk/vm/ci/meta/TriState;
           26   28     8             newStamp  Lorg/graalvm/compiler/core/common/type/Stamp;
           30   88     5    binaryOpLogicNode  Lorg/graalvm/compiler/nodes/BinaryOpLogicNode;
           39   88     6                    x  Lorg/graalvm/compiler/nodes/ValueNode;
           40   88     7                    y  Lorg/graalvm/compiler/nodes/ValueNode;
           43   46     8               result  Ljdk/vm/ci/meta/TriState;
           49   53     8           foldResult  Lorg/graalvm/util/Pair<Lorg/graalvm/compiler/phases/common/ConditionalEliminationPhase$InfoElement;Lorg/graalvm/compiler/core/common/type/Stamp;>;
           51   53     9               result  Ljdk/vm/ci/meta/TriState;
           56   59     8               result  Ljdk/vm/ci/meta/TriState;
           62   71     8               binary  Lorg/graalvm/compiler/nodes/calc/BinaryArithmeticNode<*>;
           66   70     9            newStampX  Lorg/graalvm/compiler/core/common/type/Stamp;
           67   70    10               result  Ljdk/vm/ci/meta/TriState;
           74   79     8                  and  Lorg/graalvm/compiler/nodes/calc/AndNode;
           76   79     9                   op  Lorg/graalvm/compiler/core/common/type/ArithmeticOpTable$BinaryOp<Lorg/graalvm/compiler/core/common/type/ArithmeticOpTable$BinaryOp$Or;>;
           77   79    10            newStampX  Lorg/graalvm/compiler/core/common/type/IntegerStamp;
           82   84     8            newStampX  Lorg/graalvm/compiler/core/common/type/Stamp;
           86   88     8            newStampY  Lorg/graalvm/compiler/core/common/type/Stamp;
           90   91     5   shortCircuitOrNode  Lorg/graalvm/compiler/nodes/ShortCircuitOrNode;
    MethodParameters:
                     Name  Flags
      thisGuard            
      node                 
      rewireGuardFunction  

  protected void registerNewStamp(org.graalvm.compiler.nodes.ValueNode, org.graalvm.compiler.core.common.type.Stamp, org.graalvm.compiler.nodes.extended.GuardingNode);
    descriptor: (Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/core/common/type/Stamp;Lorg/graalvm/compiler/nodes/extended/GuardingNode;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=9, locals=8, args_size=4
        start local 0 // org.graalvm.compiler.phases.common.ConditionalEliminationPhase$Instance this
        start local 1 // org.graalvm.compiler.nodes.ValueNode maybeProxiedValue
        start local 2 // org.graalvm.compiler.core.common.type.Stamp newStamp
        start local 3 // org.graalvm.compiler.nodes.extended.GuardingNode guard
         0: .line 891
            getstatic org.graalvm.compiler.phases.common.ConditionalEliminationPhase$Instance.$assertionsDisabled:Z
            ifne 1
            aload 1 /* maybeProxiedValue */
            ifnonnull 1
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         1: .line 892
      StackMap locals:
      StackMap stack:
            getstatic org.graalvm.compiler.phases.common.ConditionalEliminationPhase$Instance.$assertionsDisabled:Z
            ifne 2
            aload 3 /* guard */
            ifnonnull 2
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         2: .line 893
      StackMap locals:
      StackMap stack:
            aload 2 /* newStamp */
            ifnull 21
         3: .line 894
            aload 1 /* maybeProxiedValue */
            astore 4 /* value */
        start local 4 // org.graalvm.compiler.nodes.ValueNode value
         4: .line 895
            aload 2 /* newStamp */
            astore 5 /* stamp */
        start local 5 // org.graalvm.compiler.core.common.type.Stamp stamp
         5: .line 896
            aconst_null
            astore 6 /* proxiedValue */
        start local 6 // org.graalvm.compiler.nodes.ValueNode proxiedValue
         6: .line 897
            aload 4 /* value */
            instanceof org.graalvm.compiler.nodes.PiNode
            ifeq 8
         7: .line 898
            aload 4 /* value */
            astore 6 /* proxiedValue */
         8: .line 901
      StackMap locals: org.graalvm.compiler.nodes.ValueNode org.graalvm.compiler.core.common.type.Stamp org.graalvm.compiler.nodes.ValueNode
      StackMap stack:
            getstatic org.graalvm.compiler.phases.common.ConditionalEliminationPhase.counterStampsRegistered:Lorg/graalvm/compiler/debug/CounterKey;
            aload 0 /* this */
            getfield org.graalvm.compiler.phases.common.ConditionalEliminationPhase$Instance.debug:Lorg/graalvm/compiler/debug/DebugContext;
            invokeinterface org.graalvm.compiler.debug.CounterKey.increment:(Lorg/graalvm/compiler/debug/DebugContext;)V
         9: .line 902
            aload 0 /* this */
            getfield org.graalvm.compiler.phases.common.ConditionalEliminationPhase$Instance.debug:Lorg/graalvm/compiler/debug/DebugContext;
            ldc "\t Saving stamp for node %s stamp %s guarded by %s"
            aload 4 /* value */
            aload 5 /* stamp */
            aload 3 /* guard */
            invokevirtual org.graalvm.compiler.debug.DebugContext.log:(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)V
        10: .line 903
            getstatic org.graalvm.compiler.phases.common.ConditionalEliminationPhase$Instance.$assertionsDisabled:Z
            ifne 11
            aload 4 /* value */
            instanceof org.graalvm.compiler.nodes.LogicNode
            ifne 11
            aload 5 /* stamp */
            aload 4 /* value */
            getstatic org.graalvm.compiler.nodes.NodeView.DEFAULT:Lorg/graalvm/compiler/nodes/NodeView;
            invokevirtual org.graalvm.compiler.nodes.ValueNode.stamp:(Lorg/graalvm/compiler/nodes/NodeView;)Lorg/graalvm/compiler/core/common/type/Stamp;
            invokevirtual org.graalvm.compiler.core.common.type.Stamp.isCompatible:(Lorg/graalvm/compiler/core/common/type/Stamp;)Z
            ifne 11
            new java.lang.AssertionError
            dup
            new java.lang.StringBuilder
            dup
            invokespecial java.lang.StringBuilder.<init>:()V
            aload 5 /* stamp */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc " vs. "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 4 /* value */
            getstatic org.graalvm.compiler.nodes.NodeView.DEFAULT:Lorg/graalvm/compiler/nodes/NodeView;
            invokevirtual org.graalvm.compiler.nodes.ValueNode.stamp:(Lorg/graalvm/compiler/nodes/NodeView;)Lorg/graalvm/compiler/core/common/type/Stamp;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc " ("
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 4 /* value */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc ")"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
        11: .line 904
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.graalvm.compiler.phases.common.ConditionalEliminationPhase$Instance.map:Lorg/graalvm/compiler/graph/NodeMap;
            aload 4 /* value */
            new org.graalvm.compiler.phases.common.ConditionalEliminationPhase$InfoElement
            dup
            aload 5 /* stamp */
            aload 3 /* guard */
            aload 6 /* proxiedValue */
            aload 0 /* this */
            getfield org.graalvm.compiler.phases.common.ConditionalEliminationPhase$Instance.map:Lorg/graalvm/compiler/graph/NodeMap;
            aload 4 /* value */
            invokevirtual org.graalvm.compiler.graph.NodeMap.getAndGrow:(Lorg/graalvm/compiler/graph/Node;)Ljava/lang/Object;
            checkcast org.graalvm.compiler.phases.common.ConditionalEliminationPhase$InfoElement
            invokespecial org.graalvm.compiler.phases.common.ConditionalEliminationPhase$InfoElement.<init>:(Lorg/graalvm/compiler/core/common/type/Stamp;Lorg/graalvm/compiler/nodes/extended/GuardingNode;Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/phases/common/ConditionalEliminationPhase$InfoElement;)V
            invokevirtual org.graalvm.compiler.graph.NodeMap.setAndGrow:(Lorg/graalvm/compiler/graph/Node;Ljava/lang/Object;)V
        12: .line 905
            aload 0 /* this */
            getfield org.graalvm.compiler.phases.common.ConditionalEliminationPhase$Instance.undoOperations:Lorg/graalvm/compiler/graph/NodeStack;
            aload 4 /* value */
            invokevirtual org.graalvm.compiler.graph.NodeStack.push:(Lorg/graalvm/compiler/graph/Node;)V
        13: .line 906
            aload 4 /* value */
            instanceof org.graalvm.compiler.nodes.spi.StampInverter
            ifeq 18
        14: .line 907
            aload 4 /* value */
            checkcast org.graalvm.compiler.nodes.spi.StampInverter
            astore 7 /* stampInverter */
        start local 7 // org.graalvm.compiler.nodes.spi.StampInverter stampInverter
        15: .line 908
            aload 7 /* stampInverter */
            invokeinterface org.graalvm.compiler.nodes.spi.StampInverter.getValue:()Lorg/graalvm/compiler/nodes/ValueNode;
            astore 4 /* value */
        16: .line 909
            aload 7 /* stampInverter */
            aload 5 /* stamp */
            invokeinterface org.graalvm.compiler.nodes.spi.StampInverter.invertStamp:(Lorg/graalvm/compiler/core/common/type/Stamp;)Lorg/graalvm/compiler/core/common/type/Stamp;
            astore 5 /* stamp */
        end local 7 // org.graalvm.compiler.nodes.spi.StampInverter stampInverter
        17: .line 910
            goto 20
        18: .line 911
      StackMap locals:
      StackMap stack:
            aconst_null
            astore 4 /* value */
        19: .line 912
            aconst_null
            astore 5 /* stamp */
        20: .line 914
      StackMap locals:
      StackMap stack:
            aload 4 /* value */
            ifnull 21
            aload 5 /* stamp */
            ifnonnull 8
        end local 6 // org.graalvm.compiler.nodes.ValueNode proxiedValue
        end local 5 // org.graalvm.compiler.core.common.type.Stamp stamp
        end local 4 // org.graalvm.compiler.nodes.ValueNode value
        21: .line 916
      StackMap locals:
      StackMap stack:
            return
        end local 3 // org.graalvm.compiler.nodes.extended.GuardingNode guard
        end local 2 // org.graalvm.compiler.core.common.type.Stamp newStamp
        end local 1 // org.graalvm.compiler.nodes.ValueNode maybeProxiedValue
        end local 0 // org.graalvm.compiler.phases.common.ConditionalEliminationPhase$Instance this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0   22     0               this  Lorg/graalvm/compiler/phases/common/ConditionalEliminationPhase$Instance;
            0   22     1  maybeProxiedValue  Lorg/graalvm/compiler/nodes/ValueNode;
            0   22     2           newStamp  Lorg/graalvm/compiler/core/common/type/Stamp;
            0   22     3              guard  Lorg/graalvm/compiler/nodes/extended/GuardingNode;
            4   21     4              value  Lorg/graalvm/compiler/nodes/ValueNode;
            5   21     5              stamp  Lorg/graalvm/compiler/core/common/type/Stamp;
            6   21     6       proxiedValue  Lorg/graalvm/compiler/nodes/ValueNode;
           15   17     7      stampInverter  Lorg/graalvm/compiler/nodes/spi/StampInverter;
    MethodParameters:
                   Name  Flags
      maybeProxiedValue  
      newStamp           
      guard              

  protected void processAbstractBegin(org.graalvm.compiler.nodes.AbstractBeginNode);
    descriptor: (Lorg/graalvm/compiler/nodes/AbstractBeginNode;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=4, locals=6, args_size=2
        start local 0 // org.graalvm.compiler.phases.common.ConditionalEliminationPhase$Instance this
        start local 1 // org.graalvm.compiler.nodes.AbstractBeginNode beginNode
         0: .line 919
            aload 1 /* beginNode */
            invokevirtual org.graalvm.compiler.nodes.AbstractBeginNode.predecessor:()Lorg/graalvm/compiler/graph/Node;
            astore 2 /* predecessor */
        start local 2 // org.graalvm.compiler.graph.Node predecessor
         1: .line 920
            aload 2 /* predecessor */
            instanceof org.graalvm.compiler.nodes.IfNode
            ifeq 9
         2: .line 921
            aload 2 /* predecessor */
            checkcast org.graalvm.compiler.nodes.IfNode
            astore 3 /* ifNode */
        start local 3 // org.graalvm.compiler.nodes.IfNode ifNode
         3: .line 922
            aload 3 /* ifNode */
            invokevirtual org.graalvm.compiler.nodes.IfNode.falseSuccessor:()Lorg/graalvm/compiler/nodes/AbstractBeginNode;
            aload 1 /* beginNode */
            if_acmpne 4
            iconst_1
            goto 5
      StackMap locals: org.graalvm.compiler.graph.Node org.graalvm.compiler.nodes.IfNode
      StackMap stack:
         4: iconst_0
      StackMap locals:
      StackMap stack: int
         5: istore 4 /* negated */
        start local 4 // boolean negated
         6: .line 923
            aload 3 /* ifNode */
            invokevirtual org.graalvm.compiler.nodes.IfNode.condition:()Lorg/graalvm/compiler/nodes/LogicNode;
            astore 5 /* condition */
        start local 5 // org.graalvm.compiler.nodes.LogicNode condition
         7: .line 924
            aload 0 /* this */
            aload 5 /* condition */
            iload 4 /* negated */
            aload 1 /* beginNode */
            invokevirtual org.graalvm.compiler.phases.common.ConditionalEliminationPhase$Instance.registerNewCondition:(Lorg/graalvm/compiler/nodes/LogicNode;ZLorg/graalvm/compiler/nodes/extended/GuardingNode;)V
        end local 5 // org.graalvm.compiler.nodes.LogicNode condition
        end local 4 // boolean negated
        end local 3 // org.graalvm.compiler.nodes.IfNode ifNode
         8: .line 925
            goto 16
      StackMap locals:
      StackMap stack:
         9: aload 2 /* predecessor */
            instanceof org.graalvm.compiler.nodes.java.TypeSwitchNode
            ifeq 13
        10: .line 926
            aload 2 /* predecessor */
            checkcast org.graalvm.compiler.nodes.java.TypeSwitchNode
            astore 3 /* typeSwitch */
        start local 3 // org.graalvm.compiler.nodes.java.TypeSwitchNode typeSwitch
        11: .line 927
            aload 0 /* this */
            aload 1 /* beginNode */
            aload 3 /* typeSwitch */
            invokevirtual org.graalvm.compiler.phases.common.ConditionalEliminationPhase$Instance.processTypeSwitch:(Lorg/graalvm/compiler/nodes/AbstractBeginNode;Lorg/graalvm/compiler/nodes/java/TypeSwitchNode;)V
        end local 3 // org.graalvm.compiler.nodes.java.TypeSwitchNode typeSwitch
        12: .line 928
            goto 16
      StackMap locals:
      StackMap stack:
        13: aload 2 /* predecessor */
            instanceof org.graalvm.compiler.nodes.extended.IntegerSwitchNode
            ifeq 16
        14: .line 929
            aload 2 /* predecessor */
            checkcast org.graalvm.compiler.nodes.extended.IntegerSwitchNode
            astore 3 /* integerSwitchNode */
        start local 3 // org.graalvm.compiler.nodes.extended.IntegerSwitchNode integerSwitchNode
        15: .line 930
            aload 0 /* this */
            aload 1 /* beginNode */
            aload 3 /* integerSwitchNode */
            invokevirtual org.graalvm.compiler.phases.common.ConditionalEliminationPhase$Instance.processIntegerSwitch:(Lorg/graalvm/compiler/nodes/AbstractBeginNode;Lorg/graalvm/compiler/nodes/extended/IntegerSwitchNode;)V
        end local 3 // org.graalvm.compiler.nodes.extended.IntegerSwitchNode integerSwitchNode
        16: .line 932
      StackMap locals:
      StackMap stack:
            return
        end local 2 // org.graalvm.compiler.graph.Node predecessor
        end local 1 // org.graalvm.compiler.nodes.AbstractBeginNode beginNode
        end local 0 // org.graalvm.compiler.phases.common.ConditionalEliminationPhase$Instance this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0   17     0               this  Lorg/graalvm/compiler/phases/common/ConditionalEliminationPhase$Instance;
            0   17     1          beginNode  Lorg/graalvm/compiler/nodes/AbstractBeginNode;
            1   17     2        predecessor  Lorg/graalvm/compiler/graph/Node;
            3    8     3             ifNode  Lorg/graalvm/compiler/nodes/IfNode;
            6    8     4            negated  Z
            7    8     5          condition  Lorg/graalvm/compiler/nodes/LogicNode;
           11   12     3         typeSwitch  Lorg/graalvm/compiler/nodes/java/TypeSwitchNode;
           15   16     3  integerSwitchNode  Lorg/graalvm/compiler/nodes/extended/IntegerSwitchNode;
    MethodParameters:
           Name  Flags
      beginNode  

  private static boolean maybeMultipleUsages(org.graalvm.compiler.nodes.ValueNode);
    descriptor: (Lorg/graalvm/compiler/nodes/ValueNode;)Z
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.graalvm.compiler.nodes.ValueNode value
         0: .line 935
            aload 0 /* value */
            invokevirtual org.graalvm.compiler.nodes.ValueNode.hasMoreThanOneUsage:()Z
            ifeq 2
         1: .line 936
            iconst_1
            ireturn
         2: .line 938
      StackMap locals:
      StackMap stack:
            aload 0 /* value */
            instanceof org.graalvm.compiler.nodes.ProxyNode
            ireturn
        end local 0 // org.graalvm.compiler.nodes.ValueNode value
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    3     0  value  Lorg/graalvm/compiler/nodes/ValueNode;
    MethodParameters:
       Name  Flags
      value  

  protected void processIntegerSwitch(org.graalvm.compiler.nodes.AbstractBeginNode, org.graalvm.compiler.nodes.extended.IntegerSwitchNode);
    descriptor: (Lorg/graalvm/compiler/nodes/AbstractBeginNode;Lorg/graalvm/compiler/nodes/extended/IntegerSwitchNode;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=4, locals=5, args_size=3
        start local 0 // org.graalvm.compiler.phases.common.ConditionalEliminationPhase$Instance this
        start local 1 // org.graalvm.compiler.nodes.AbstractBeginNode beginNode
        start local 2 // org.graalvm.compiler.nodes.extended.IntegerSwitchNode integerSwitchNode
         0: .line 943
            aload 2 /* integerSwitchNode */
            invokevirtual org.graalvm.compiler.nodes.extended.IntegerSwitchNode.value:()Lorg/graalvm/compiler/nodes/ValueNode;
            astore 3 /* value */
        start local 3 // org.graalvm.compiler.nodes.ValueNode value
         1: .line 944
            aload 3 /* value */
            invokestatic org.graalvm.compiler.phases.common.ConditionalEliminationPhase$Instance.maybeMultipleUsages:(Lorg/graalvm/compiler/nodes/ValueNode;)Z
            ifeq 5
         2: .line 945
            aload 2 /* integerSwitchNode */
            aload 1 /* beginNode */
            invokevirtual org.graalvm.compiler.nodes.extended.IntegerSwitchNode.getValueStampForSuccessor:(Lorg/graalvm/compiler/nodes/AbstractBeginNode;)Lorg/graalvm/compiler/core/common/type/Stamp;
            astore 4 /* stamp */
        start local 4 // org.graalvm.compiler.core.common.type.Stamp stamp
         3: .line 946
            aload 4 /* stamp */
            ifnull 5
         4: .line 947
            aload 0 /* this */
            aload 3 /* value */
            aload 4 /* stamp */
            aload 1 /* beginNode */
            invokevirtual org.graalvm.compiler.phases.common.ConditionalEliminationPhase$Instance.registerNewStamp:(Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/core/common/type/Stamp;Lorg/graalvm/compiler/nodes/extended/GuardingNode;)V
        end local 4 // org.graalvm.compiler.core.common.type.Stamp stamp
         5: .line 950
      StackMap locals: org.graalvm.compiler.nodes.ValueNode
      StackMap stack:
            return
        end local 3 // org.graalvm.compiler.nodes.ValueNode value
        end local 2 // org.graalvm.compiler.nodes.extended.IntegerSwitchNode integerSwitchNode
        end local 1 // org.graalvm.compiler.nodes.AbstractBeginNode beginNode
        end local 0 // org.graalvm.compiler.phases.common.ConditionalEliminationPhase$Instance this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0    6     0               this  Lorg/graalvm/compiler/phases/common/ConditionalEliminationPhase$Instance;
            0    6     1          beginNode  Lorg/graalvm/compiler/nodes/AbstractBeginNode;
            0    6     2  integerSwitchNode  Lorg/graalvm/compiler/nodes/extended/IntegerSwitchNode;
            1    6     3              value  Lorg/graalvm/compiler/nodes/ValueNode;
            3    5     4              stamp  Lorg/graalvm/compiler/core/common/type/Stamp;
    MethodParameters:
                   Name  Flags
      beginNode          
      integerSwitchNode  

  protected void processTypeSwitch(org.graalvm.compiler.nodes.AbstractBeginNode, org.graalvm.compiler.nodes.java.TypeSwitchNode);
    descriptor: (Lorg/graalvm/compiler/nodes/AbstractBeginNode;Lorg/graalvm/compiler/nodes/java/TypeSwitchNode;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=4, locals=7, args_size=3
        start local 0 // org.graalvm.compiler.phases.common.ConditionalEliminationPhase$Instance this
        start local 1 // org.graalvm.compiler.nodes.AbstractBeginNode beginNode
        start local 2 // org.graalvm.compiler.nodes.java.TypeSwitchNode typeSwitch
         0: .line 953
            aload 2 /* typeSwitch */
            invokevirtual org.graalvm.compiler.nodes.java.TypeSwitchNode.value:()Lorg/graalvm/compiler/nodes/ValueNode;
            astore 3 /* hub */
        start local 3 // org.graalvm.compiler.nodes.ValueNode hub
         1: .line 954
            aload 3 /* hub */
            instanceof org.graalvm.compiler.nodes.extended.LoadHubNode
            ifeq 8
         2: .line 955
            aload 3 /* hub */
            checkcast org.graalvm.compiler.nodes.extended.LoadHubNode
            astore 4 /* loadHub */
        start local 4 // org.graalvm.compiler.nodes.extended.LoadHubNode loadHub
         3: .line 956
            aload 4 /* loadHub */
            invokevirtual org.graalvm.compiler.nodes.extended.LoadHubNode.getValue:()Lorg/graalvm/compiler/nodes/ValueNode;
            astore 5 /* value */
        start local 5 // org.graalvm.compiler.nodes.ValueNode value
         4: .line 957
            aload 5 /* value */
            invokestatic org.graalvm.compiler.phases.common.ConditionalEliminationPhase$Instance.maybeMultipleUsages:(Lorg/graalvm/compiler/nodes/ValueNode;)Z
            ifeq 8
         5: .line 958
            aload 2 /* typeSwitch */
            aload 1 /* beginNode */
            invokevirtual org.graalvm.compiler.nodes.java.TypeSwitchNode.getValueStampForSuccessor:(Lorg/graalvm/compiler/nodes/AbstractBeginNode;)Lorg/graalvm/compiler/core/common/type/Stamp;
            astore 6 /* stamp */
        start local 6 // org.graalvm.compiler.core.common.type.Stamp stamp
         6: .line 959
            aload 6 /* stamp */
            ifnull 8
         7: .line 960
            aload 0 /* this */
            aload 5 /* value */
            aload 6 /* stamp */
            aload 1 /* beginNode */
            invokevirtual org.graalvm.compiler.phases.common.ConditionalEliminationPhase$Instance.registerNewStamp:(Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/core/common/type/Stamp;Lorg/graalvm/compiler/nodes/extended/GuardingNode;)V
        end local 6 // org.graalvm.compiler.core.common.type.Stamp stamp
        end local 5 // org.graalvm.compiler.nodes.ValueNode value
        end local 4 // org.graalvm.compiler.nodes.extended.LoadHubNode loadHub
         8: .line 964
      StackMap locals: org.graalvm.compiler.nodes.ValueNode
      StackMap stack:
            return
        end local 3 // org.graalvm.compiler.nodes.ValueNode hub
        end local 2 // org.graalvm.compiler.nodes.java.TypeSwitchNode typeSwitch
        end local 1 // org.graalvm.compiler.nodes.AbstractBeginNode beginNode
        end local 0 // org.graalvm.compiler.phases.common.ConditionalEliminationPhase$Instance this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    9     0        this  Lorg/graalvm/compiler/phases/common/ConditionalEliminationPhase$Instance;
            0    9     1   beginNode  Lorg/graalvm/compiler/nodes/AbstractBeginNode;
            0    9     2  typeSwitch  Lorg/graalvm/compiler/nodes/java/TypeSwitchNode;
            1    9     3         hub  Lorg/graalvm/compiler/nodes/ValueNode;
            3    8     4     loadHub  Lorg/graalvm/compiler/nodes/extended/LoadHubNode;
            4    8     5       value  Lorg/graalvm/compiler/nodes/ValueNode;
            6    8     6       stamp  Lorg/graalvm/compiler/core/common/type/Stamp;
    MethodParameters:
            Name  Flags
      beginNode   
      typeSwitch  

  public void exit(org.graalvm.compiler.nodes.cfg.Block, java.lang.Integer);
    descriptor: (Lorg/graalvm/compiler/nodes/cfg/Block;Ljava/lang/Integer;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=5, args_size=3
        start local 0 // org.graalvm.compiler.phases.common.ConditionalEliminationPhase$Instance this
        start local 1 // org.graalvm.compiler.nodes.cfg.Block b
        start local 2 // java.lang.Integer state
         0: .line 968
            aload 2 /* state */
            invokevirtual java.lang.Integer.intValue:()I
            istore 3 /* mark */
        start local 3 // int mark
         1: .line 969
            goto 5
         2: .line 970
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield org.graalvm.compiler.phases.common.ConditionalEliminationPhase$Instance.undoOperations:Lorg/graalvm/compiler/graph/NodeStack;
            invokevirtual org.graalvm.compiler.graph.NodeStack.pop:()Lorg/graalvm/compiler/graph/Node;
            astore 4 /* node */
        start local 4 // org.graalvm.compiler.graph.Node node
         3: .line 971
            aload 4 /* node */
            invokevirtual org.graalvm.compiler.graph.Node.isAlive:()Z
            ifeq 5
         4: .line 972
            aload 0 /* this */
            getfield org.graalvm.compiler.phases.common.ConditionalEliminationPhase$Instance.map:Lorg/graalvm/compiler/graph/NodeMap;
            aload 4 /* node */
            aload 0 /* this */
            getfield org.graalvm.compiler.phases.common.ConditionalEliminationPhase$Instance.map:Lorg/graalvm/compiler/graph/NodeMap;
            aload 4 /* node */
            invokevirtual org.graalvm.compiler.graph.NodeMap.get:(Lorg/graalvm/compiler/graph/Node;)Ljava/lang/Object;
            checkcast org.graalvm.compiler.phases.common.ConditionalEliminationPhase$InfoElement
            invokevirtual org.graalvm.compiler.phases.common.ConditionalEliminationPhase$InfoElement.getParent:()Lorg/graalvm/compiler/phases/common/ConditionalEliminationPhase$InfoElement;
            invokevirtual org.graalvm.compiler.graph.NodeMap.set:(Lorg/graalvm/compiler/graph/Node;Ljava/lang/Object;)V
        end local 4 // org.graalvm.compiler.graph.Node node
         5: .line 969
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.graalvm.compiler.phases.common.ConditionalEliminationPhase$Instance.undoOperations:Lorg/graalvm/compiler/graph/NodeStack;
            invokevirtual org.graalvm.compiler.graph.NodeStack.size:()I
            iload 3 /* mark */
            if_icmpgt 2
         6: .line 975
            return
        end local 3 // int mark
        end local 2 // java.lang.Integer state
        end local 1 // org.graalvm.compiler.nodes.cfg.Block b
        end local 0 // org.graalvm.compiler.phases.common.ConditionalEliminationPhase$Instance this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    7     0   this  Lorg/graalvm/compiler/phases/common/ConditionalEliminationPhase$Instance;
            0    7     1      b  Lorg/graalvm/compiler/nodes/cfg/Block;
            0    7     2  state  Ljava/lang/Integer;
            1    7     3   mark  I
            3    5     4   node  Lorg/graalvm/compiler/graph/Node;
    MethodParameters:
       Name  Flags
      b      
      state  

  public java.lang.Object enter(org.graalvm.compiler.nodes.cfg.Block);
    descriptor: (Lorg/graalvm/compiler/nodes/cfg/Block;)Ljava/lang/Object;
    flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
    Code:
      stack=2, locals=2, args_size=2
         0: .line 1
            aload 0
            aload 1
            invokevirtual org.graalvm.compiler.phases.common.ConditionalEliminationPhase$Instance.enter:(Lorg/graalvm/compiler/nodes/cfg/Block;)Ljava/lang/Integer;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public void exit(org.graalvm.compiler.nodes.cfg.Block, java.lang.Object);
    descriptor: (Lorg/graalvm/compiler/nodes/cfg/Block;Ljava/lang/Object;)V
    flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
    Code:
      stack=3, locals=3, args_size=3
         0: .line 1
            aload 0
            aload 1
            aload 2
            checkcast java.lang.Integer
            invokevirtual org.graalvm.compiler.phases.common.ConditionalEliminationPhase$Instance.exit:(Lorg/graalvm/compiler/nodes/cfg/Block;Ljava/lang/Integer;)V
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  private static boolean lambda$0(org.graalvm.compiler.nodes.ConditionAnchorNode, org.graalvm.compiler.nodes.extended.GuardingNode, boolean, org.graalvm.compiler.core.common.type.Stamp, org.graalvm.compiler.nodes.ValueNode);
    descriptor: (Lorg/graalvm/compiler/nodes/ConditionAnchorNode;Lorg/graalvm/compiler/nodes/extended/GuardingNode;ZLorg/graalvm/compiler/core/common/type/Stamp;Lorg/graalvm/compiler/nodes/ValueNode;)Z
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=4, locals=6, args_size=5
        start local 1 // org.graalvm.compiler.nodes.extended.GuardingNode guard
        start local 2 // boolean result
        start local 3 // org.graalvm.compiler.core.common.type.Stamp guardedValueStamp
        start local 4 // org.graalvm.compiler.nodes.ValueNode newInput
         0: .line 268
            iload 2 /* result */
            aload 0
            invokevirtual org.graalvm.compiler.nodes.ConditionAnchorNode.isNegated:()Z
            if_icmpeq 5
         1: .line 269
            aload 0
            aload 1 /* guard */
            invokeinterface org.graalvm.compiler.nodes.extended.GuardingNode.asNode:()Lorg/graalvm/compiler/nodes/ValueNode;
            invokevirtual org.graalvm.compiler.nodes.ConditionAnchorNode.replaceAtUsages:(Lorg/graalvm/compiler/graph/Node;)V
         2: .line 270
            aload 0
            invokestatic org.graalvm.compiler.nodes.util.GraphUtil.unlinkFixedNode:(Lorg/graalvm/compiler/nodes/FixedWithNextNode;)V
         3: .line 271
            aload 0
            invokestatic org.graalvm.compiler.nodes.util.GraphUtil.killWithUnusedFloatingInputs:(Lorg/graalvm/compiler/graph/Node;)V
         4: .line 272
            goto 8
         5: .line 273
      StackMap locals:
      StackMap stack:
            aload 0
            invokevirtual org.graalvm.compiler.nodes.ConditionAnchorNode.graph:()Lorg/graalvm/compiler/nodes/StructuredGraph;
            new org.graalvm.compiler.nodes.extended.ValueAnchorNode
            dup
            aconst_null
            invokespecial org.graalvm.compiler.nodes.extended.ValueAnchorNode.<init>:(Lorg/graalvm/compiler/nodes/ValueNode;)V
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph.add:(Lorg/graalvm/compiler/graph/Node;)Lorg/graalvm/compiler/graph/Node;
            checkcast org.graalvm.compiler.nodes.extended.ValueAnchorNode
            astore 5 /* valueAnchor */
        start local 5 // org.graalvm.compiler.nodes.extended.ValueAnchorNode valueAnchor
         6: .line 274
            aload 0
            aload 5 /* valueAnchor */
            invokevirtual org.graalvm.compiler.nodes.ConditionAnchorNode.replaceAtUsages:(Lorg/graalvm/compiler/graph/Node;)V
         7: .line 275
            aload 0
            invokevirtual org.graalvm.compiler.nodes.ConditionAnchorNode.graph:()Lorg/graalvm/compiler/nodes/StructuredGraph;
            aload 0
            aload 5 /* valueAnchor */
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph.replaceFixedWithFixed:(Lorg/graalvm/compiler/nodes/FixedWithNextNode;Lorg/graalvm/compiler/nodes/FixedWithNextNode;)V
        end local 5 // org.graalvm.compiler.nodes.extended.ValueAnchorNode valueAnchor
         8: .line 277
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
        end local 4 // org.graalvm.compiler.nodes.ValueNode newInput
        end local 3 // org.graalvm.compiler.core.common.type.Stamp guardedValueStamp
        end local 2 // boolean result
        end local 1 // org.graalvm.compiler.nodes.extended.GuardingNode guard
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0    9     1              guard  Lorg/graalvm/compiler/nodes/extended/GuardingNode;
            0    9     2             result  Z
            0    9     3  guardedValueStamp  Lorg/graalvm/compiler/core/common/type/Stamp;
            0    9     4           newInput  Lorg/graalvm/compiler/nodes/ValueNode;
            6    8     5        valueAnchor  Lorg/graalvm/compiler/nodes/extended/ValueAnchorNode;

  private static boolean lambda$1(org.graalvm.compiler.nodes.GuardNode, org.graalvm.compiler.nodes.extended.GuardingNode, boolean, org.graalvm.compiler.core.common.type.Stamp, org.graalvm.compiler.nodes.ValueNode);
    descriptor: (Lorg/graalvm/compiler/nodes/GuardNode;Lorg/graalvm/compiler/nodes/extended/GuardingNode;ZLorg/graalvm/compiler/core/common/type/Stamp;Lorg/graalvm/compiler/nodes/ValueNode;)Z
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=6, locals=8, args_size=5
        start local 1 // org.graalvm.compiler.nodes.extended.GuardingNode guard
        start local 2 // boolean result
        start local 3 // org.graalvm.compiler.core.common.type.Stamp guardedValueStamp
        start local 4 // org.graalvm.compiler.nodes.ValueNode newInput
         0: .line 283
            iload 2 /* result */
            aload 0
            invokevirtual org.graalvm.compiler.nodes.GuardNode.isNegated:()Z
            if_icmpeq 3
         1: .line 284
            aload 0
            aload 1 /* guard */
            invokeinterface org.graalvm.compiler.nodes.extended.GuardingNode.asNode:()Lorg/graalvm/compiler/nodes/ValueNode;
            invokevirtual org.graalvm.compiler.nodes.GuardNode.replaceAndDelete:(Lorg/graalvm/compiler/graph/Node;)V
         2: .line 285
            goto 8
         3: .line 286
      StackMap locals:
      StackMap stack:
            aload 0
            invokevirtual org.graalvm.compiler.nodes.GuardNode.graph:()Lorg/graalvm/compiler/nodes/StructuredGraph;
            new org.graalvm.compiler.nodes.DeoptimizeNode
            dup
            aload 0
            invokevirtual org.graalvm.compiler.nodes.GuardNode.getAction:()Ljdk/vm/ci/meta/DeoptimizationAction;
            aload 0
            invokevirtual org.graalvm.compiler.nodes.GuardNode.getReason:()Ljdk/vm/ci/meta/DeoptimizationReason;
            aload 0
            invokevirtual org.graalvm.compiler.nodes.GuardNode.getSpeculation:()Ljdk/vm/ci/meta/JavaConstant;
            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 5 /* deopt */
        start local 5 // org.graalvm.compiler.nodes.DeoptimizeNode deopt
         4: .line 287
            aload 0
            invokevirtual org.graalvm.compiler.nodes.GuardNode.getAnchor:()Lorg/graalvm/compiler/nodes/extended/AnchoringNode;
            checkcast org.graalvm.compiler.nodes.AbstractBeginNode
            astore 6 /* beginNode */
        start local 6 // org.graalvm.compiler.nodes.AbstractBeginNode beginNode
         5: .line 288
            aload 6 /* beginNode */
            invokevirtual org.graalvm.compiler.nodes.AbstractBeginNode.next:()Lorg/graalvm/compiler/nodes/FixedNode;
            astore 7 /* next */
        start local 7 // org.graalvm.compiler.nodes.FixedNode next
         6: .line 289
            aload 6 /* beginNode */
            aload 5 /* deopt */
            invokevirtual org.graalvm.compiler.nodes.AbstractBeginNode.setNext:(Lorg/graalvm/compiler/nodes/FixedNode;)V
         7: .line 290
            aload 7 /* next */
            invokestatic org.graalvm.compiler.nodes.util.GraphUtil.killCFG:(Lorg/graalvm/compiler/nodes/FixedNode;)V
        end local 7 // org.graalvm.compiler.nodes.FixedNode next
        end local 6 // org.graalvm.compiler.nodes.AbstractBeginNode beginNode
        end local 5 // org.graalvm.compiler.nodes.DeoptimizeNode deopt
         8: .line 292
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
        end local 4 // org.graalvm.compiler.nodes.ValueNode newInput
        end local 3 // org.graalvm.compiler.core.common.type.Stamp guardedValueStamp
        end local 2 // boolean result
        end local 1 // org.graalvm.compiler.nodes.extended.GuardingNode guard
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0    9     1              guard  Lorg/graalvm/compiler/nodes/extended/GuardingNode;
            0    9     2             result  Z
            0    9     3  guardedValueStamp  Lorg/graalvm/compiler/core/common/type/Stamp;
            0    9     4           newInput  Lorg/graalvm/compiler/nodes/ValueNode;
            4    8     5              deopt  Lorg/graalvm/compiler/nodes/DeoptimizeNode;
            5    8     6          beginNode  Lorg/graalvm/compiler/nodes/AbstractBeginNode;
            6    8     7               next  Lorg/graalvm/compiler/nodes/FixedNode;

  private boolean lambda$2(org.graalvm.compiler.nodes.FixedGuardNode, org.graalvm.compiler.nodes.extended.GuardingNode, boolean, org.graalvm.compiler.core.common.type.Stamp, org.graalvm.compiler.nodes.ValueNode);
    descriptor: (Lorg/graalvm/compiler/nodes/FixedGuardNode;Lorg/graalvm/compiler/nodes/extended/GuardingNode;ZLorg/graalvm/compiler/core/common/type/Stamp;Lorg/graalvm/compiler/nodes/ValueNode;)Z
    flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
    Code:
      stack=6, locals=7, args_size=6
        start local 0 // org.graalvm.compiler.phases.common.ConditionalEliminationPhase$Instance this
        start local 2 // org.graalvm.compiler.nodes.extended.GuardingNode guard
        start local 3 // boolean result
        start local 4 // org.graalvm.compiler.core.common.type.Stamp guardedValueStamp
        start local 5 // org.graalvm.compiler.nodes.ValueNode newInput
         0: .line 300
            iload 3 /* result */
            aload 1
            invokevirtual org.graalvm.compiler.nodes.FixedGuardNode.isNegated:()Z
            if_icmpeq 5
         1: .line 301
            aload 1
            aload 2 /* guard */
            invokeinterface org.graalvm.compiler.nodes.extended.GuardingNode.asNode:()Lorg/graalvm/compiler/nodes/ValueNode;
            invokevirtual org.graalvm.compiler.nodes.FixedGuardNode.replaceAtUsages:(Lorg/graalvm/compiler/graph/Node;)V
         2: .line 302
            aload 1
            invokestatic org.graalvm.compiler.nodes.util.GraphUtil.unlinkFixedNode:(Lorg/graalvm/compiler/nodes/FixedWithNextNode;)V
         3: .line 303
            aload 1
            invokestatic org.graalvm.compiler.nodes.util.GraphUtil.killWithUnusedFloatingInputs:(Lorg/graalvm/compiler/graph/Node;)V
         4: .line 304
            goto 9
         5: .line 305
      StackMap locals:
      StackMap stack:
            aload 1
            invokevirtual org.graalvm.compiler.nodes.FixedGuardNode.graph:()Lorg/graalvm/compiler/nodes/StructuredGraph;
            new org.graalvm.compiler.nodes.DeoptimizeNode
            dup
            aload 1
            invokevirtual org.graalvm.compiler.nodes.FixedGuardNode.getAction:()Ljdk/vm/ci/meta/DeoptimizationAction;
            aload 1
            invokevirtual org.graalvm.compiler.nodes.FixedGuardNode.getReason:()Ljdk/vm/ci/meta/DeoptimizationReason;
            aload 1
            invokevirtual org.graalvm.compiler.nodes.FixedGuardNode.getSpeculation:()Ljdk/vm/ci/meta/JavaConstant;
            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 6 /* deopt */
        start local 6 // org.graalvm.compiler.nodes.DeoptimizeNode deopt
         6: .line 306
            aload 6 /* deopt */
            aload 1
            invokevirtual org.graalvm.compiler.nodes.FixedGuardNode.stateBefore:()Lorg/graalvm/compiler/nodes/FrameState;
            invokevirtual org.graalvm.compiler.nodes.DeoptimizeNode.setStateBefore:(Lorg/graalvm/compiler/nodes/FrameState;)V
         7: .line 307
            aload 1
            aload 6 /* deopt */
            invokevirtual org.graalvm.compiler.nodes.FixedGuardNode.replaceAtPredecessor:(Lorg/graalvm/compiler/graph/Node;)V
         8: .line 308
            aload 1
            invokestatic org.graalvm.compiler.nodes.util.GraphUtil.killCFG:(Lorg/graalvm/compiler/nodes/FixedNode;)V
        end local 6 // org.graalvm.compiler.nodes.DeoptimizeNode deopt
         9: .line 310
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.graalvm.compiler.phases.common.ConditionalEliminationPhase$Instance.debug:Lorg/graalvm/compiler/debug/DebugContext;
            ldc "Kill fixed guard guard"
            invokevirtual org.graalvm.compiler.debug.DebugContext.log:(Ljava/lang/String;)V
        10: .line 311
            iconst_1
            ireturn
        end local 5 // org.graalvm.compiler.nodes.ValueNode newInput
        end local 4 // org.graalvm.compiler.core.common.type.Stamp guardedValueStamp
        end local 3 // boolean result
        end local 2 // org.graalvm.compiler.nodes.extended.GuardingNode guard
        end local 0 // org.graalvm.compiler.phases.common.ConditionalEliminationPhase$Instance this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0   11     0               this  Lorg/graalvm/compiler/phases/common/ConditionalEliminationPhase$Instance;
            0   11     2              guard  Lorg/graalvm/compiler/nodes/extended/GuardingNode;
            0   11     3             result  Z
            0   11     4  guardedValueStamp  Lorg/graalvm/compiler/core/common/type/Stamp;
            0   11     5           newInput  Lorg/graalvm/compiler/nodes/ValueNode;
            6    9     6              deopt  Lorg/graalvm/compiler/nodes/DeoptimizeNode;

  private boolean lambda$3(org.graalvm.compiler.nodes.IfNode, org.graalvm.compiler.nodes.extended.GuardingNode, boolean, org.graalvm.compiler.core.common.type.Stamp, org.graalvm.compiler.nodes.ValueNode);
    descriptor: (Lorg/graalvm/compiler/nodes/IfNode;Lorg/graalvm/compiler/nodes/extended/GuardingNode;ZLorg/graalvm/compiler/core/common/type/Stamp;Lorg/graalvm/compiler/nodes/ValueNode;)Z
    flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
    Code:
      stack=3, locals=7, args_size=6
        start local 0 // org.graalvm.compiler.phases.common.ConditionalEliminationPhase$Instance this
        start local 2 // org.graalvm.compiler.nodes.extended.GuardingNode guard
        start local 3 // boolean result
        start local 4 // org.graalvm.compiler.core.common.type.Stamp guardedValueStamp
        start local 5 // org.graalvm.compiler.nodes.ValueNode newInput
         0: .line 319
            aload 1
            iload 3 /* result */
            invokevirtual org.graalvm.compiler.nodes.IfNode.getSuccessor:(Z)Lorg/graalvm/compiler/nodes/AbstractBeginNode;
            astore 6 /* survivingSuccessor */
        start local 6 // org.graalvm.compiler.nodes.AbstractBeginNode survivingSuccessor
         1: .line 320
            aload 6 /* survivingSuccessor */
            getstatic org.graalvm.compiler.nodeinfo.InputType.Guard:Lorg/graalvm/compiler/nodeinfo/InputType;
            aload 2 /* guard */
            invokeinterface org.graalvm.compiler.nodes.extended.GuardingNode.asNode:()Lorg/graalvm/compiler/nodes/ValueNode;
            invokevirtual org.graalvm.compiler.nodes.AbstractBeginNode.replaceAtUsages:(Lorg/graalvm/compiler/nodeinfo/InputType;Lorg/graalvm/compiler/graph/Node;)V
         2: .line 321
            aload 6 /* survivingSuccessor */
            aconst_null
            invokevirtual org.graalvm.compiler.nodes.AbstractBeginNode.replaceAtPredecessor:(Lorg/graalvm/compiler/graph/Node;)V
         3: .line 322
            aload 1
            aload 6 /* survivingSuccessor */
            invokevirtual org.graalvm.compiler.nodes.IfNode.replaceAtPredecessor:(Lorg/graalvm/compiler/graph/Node;)V
         4: .line 323
            aload 1
            invokestatic org.graalvm.compiler.nodes.util.GraphUtil.killCFG:(Lorg/graalvm/compiler/nodes/FixedNode;)V
         5: .line 324
            getstatic org.graalvm.compiler.phases.common.ConditionalEliminationPhase.counterIfsKilled:Lorg/graalvm/compiler/debug/CounterKey;
            aload 0 /* this */
            getfield org.graalvm.compiler.phases.common.ConditionalEliminationPhase$Instance.debug:Lorg/graalvm/compiler/debug/DebugContext;
            invokeinterface org.graalvm.compiler.debug.CounterKey.increment:(Lorg/graalvm/compiler/debug/DebugContext;)V
         6: .line 325
            iconst_1
            ireturn
        end local 6 // org.graalvm.compiler.nodes.AbstractBeginNode survivingSuccessor
        end local 5 // org.graalvm.compiler.nodes.ValueNode newInput
        end local 4 // org.graalvm.compiler.core.common.type.Stamp guardedValueStamp
        end local 3 // boolean result
        end local 2 // org.graalvm.compiler.nodes.extended.GuardingNode guard
        end local 0 // org.graalvm.compiler.phases.common.ConditionalEliminationPhase$Instance this
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0    7     0                this  Lorg/graalvm/compiler/phases/common/ConditionalEliminationPhase$Instance;
            0    7     2               guard  Lorg/graalvm/compiler/nodes/extended/GuardingNode;
            0    7     3              result  Z
            0    7     4   guardedValueStamp  Lorg/graalvm/compiler/core/common/type/Stamp;
            0    7     5            newInput  Lorg/graalvm/compiler/nodes/ValueNode;
            1    7     6  survivingSuccessor  Lorg/graalvm/compiler/nodes/AbstractBeginNode;

  private static boolean lambda$4(org.graalvm.compiler.phases.common.ConditionalEliminationPhase$GuardRewirer, org.graalvm.compiler.nodes.DeoptimizingGuard, org.graalvm.compiler.nodes.LogicNode, org.graalvm.compiler.nodes.DeoptimizingGuard, org.graalvm.compiler.nodes.extended.GuardingNode, boolean, org.graalvm.compiler.core.common.type.Stamp, org.graalvm.compiler.nodes.ValueNode);
    descriptor: (Lorg/graalvm/compiler/phases/common/ConditionalEliminationPhase$GuardRewirer;Lorg/graalvm/compiler/nodes/DeoptimizingGuard;Lorg/graalvm/compiler/nodes/LogicNode;Lorg/graalvm/compiler/nodes/DeoptimizingGuard;Lorg/graalvm/compiler/nodes/extended/GuardingNode;ZLorg/graalvm/compiler/core/common/type/Stamp;Lorg/graalvm/compiler/nodes/ValueNode;)Z
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=5, locals=8, args_size=8
        start local 4 // org.graalvm.compiler.nodes.extended.GuardingNode guard
        start local 5 // boolean result
        start local 6 // org.graalvm.compiler.core.common.type.Stamp innerGuardedValueStamp
        start local 7 // org.graalvm.compiler.nodes.ValueNode newInput
         0: .line 677
            aload 0
            aload 4 /* guard */
            iload 5 /* result */
            aload 6 /* innerGuardedValueStamp */
            aload 7 /* newInput */
            invokeinterface org.graalvm.compiler.phases.common.ConditionalEliminationPhase$GuardRewirer.rewire:(Lorg/graalvm/compiler/nodes/extended/GuardingNode;ZLorg/graalvm/compiler/core/common/type/Stamp;Lorg/graalvm/compiler/nodes/ValueNode;)Z
            ifeq 3
         1: .line 678
            aload 1
            aload 2
            aload 3
            invokeinterface org.graalvm.compiler.nodes.DeoptimizingGuard.isNegated:()Z
            invokeinterface org.graalvm.compiler.nodes.DeoptimizingGuard.setCondition:(Lorg/graalvm/compiler/nodes/LogicNode;Z)V
         2: .line 679
            iconst_1
            ireturn
         3: .line 681
      StackMap locals:
      StackMap stack:
            aload 2
            invokevirtual org.graalvm.compiler.nodes.LogicNode.safeDelete:()V
         4: .line 682
            iconst_0
            ireturn
        end local 7 // org.graalvm.compiler.nodes.ValueNode newInput
        end local 6 // org.graalvm.compiler.core.common.type.Stamp innerGuardedValueStamp
        end local 5 // boolean result
        end local 4 // org.graalvm.compiler.nodes.extended.GuardingNode guard
      LocalVariableTable:
        Start  End  Slot                    Name  Signature
            0    5     4                   guard  Lorg/graalvm/compiler/nodes/extended/GuardingNode;
            0    5     5                  result  Z
            0    5     6  innerGuardedValueStamp  Lorg/graalvm/compiler/core/common/type/Stamp;
            0    5     7                newInput  Lorg/graalvm/compiler/nodes/ValueNode;

  private boolean lambda$5(org.graalvm.compiler.nodes.ShortCircuitOrNode, org.graalvm.compiler.phases.common.ConditionalEliminationPhase$GuardRewirer, org.graalvm.compiler.nodes.extended.GuardingNode, boolean, org.graalvm.compiler.core.common.type.Stamp, org.graalvm.compiler.nodes.ValueNode);
    descriptor: (Lorg/graalvm/compiler/nodes/ShortCircuitOrNode;Lorg/graalvm/compiler/phases/common/ConditionalEliminationPhase$GuardRewirer;Lorg/graalvm/compiler/nodes/extended/GuardingNode;ZLorg/graalvm/compiler/core/common/type/Stamp;Lorg/graalvm/compiler/nodes/ValueNode;)Z
    flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
    Code:
      stack=8, locals=7, args_size=7
        start local 0 // org.graalvm.compiler.phases.common.ConditionalEliminationPhase$Instance this
        start local 3 // org.graalvm.compiler.nodes.extended.GuardingNode guard
        start local 4 // boolean result
        start local 5 // org.graalvm.compiler.core.common.type.Stamp guardedValueStamp
        start local 6 // org.graalvm.compiler.nodes.ValueNode newInput
         0: .line 864
            iload 4 /* result */
            aload 1
            invokevirtual org.graalvm.compiler.nodes.ShortCircuitOrNode.isXNegated:()Z
            ifeq 1
            iconst_0
            goto 2
      StackMap locals:
      StackMap stack: int
         1: iconst_1
      StackMap locals: org.graalvm.compiler.phases.common.ConditionalEliminationPhase$Instance org.graalvm.compiler.nodes.ShortCircuitOrNode org.graalvm.compiler.phases.common.ConditionalEliminationPhase$GuardRewirer org.graalvm.compiler.nodes.extended.GuardingNode int org.graalvm.compiler.core.common.type.Stamp org.graalvm.compiler.nodes.ValueNode
      StackMap stack: int int
         2: if_icmpne 4
         3: .line 865
            aload 0 /* this */
            aload 3 /* guard */
            iconst_1
            aload 6 /* newInput */
            aload 5 /* guardedValueStamp */
            aload 2
            invokevirtual org.graalvm.compiler.phases.common.ConditionalEliminationPhase$Instance.rewireGuards:(Lorg/graalvm/compiler/nodes/extended/GuardingNode;ZLorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/core/common/type/Stamp;Lorg/graalvm/compiler/phases/common/ConditionalEliminationPhase$GuardRewirer;)Z
            ireturn
         4: .line 867
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1
            invokevirtual org.graalvm.compiler.nodes.ShortCircuitOrNode.getY:()Lorg/graalvm/compiler/nodes/LogicNode;
            aload 0 /* this */
            aload 6 /* newInput */
            aload 3 /* guard */
            aload 1
            aload 5 /* guardedValueStamp */
            aload 2
            invokedynamic rewire(Lorg/graalvm/compiler/phases/common/ConditionalEliminationPhase$Instance;Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/extended/GuardingNode;Lorg/graalvm/compiler/nodes/ShortCircuitOrNode;Lorg/graalvm/compiler/core/common/type/Stamp;Lorg/graalvm/compiler/phases/common/ConditionalEliminationPhase$GuardRewirer;)Lorg/graalvm/compiler/phases/common/ConditionalEliminationPhase$GuardRewirer;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Lorg/graalvm/compiler/nodes/extended/GuardingNode;ZLorg/graalvm/compiler/core/common/type/Stamp;Lorg/graalvm/compiler/nodes/ValueNode;)Z
                  org/graalvm/compiler/phases/common/ConditionalEliminationPhase$Instance.lambda$6(Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/extended/GuardingNode;Lorg/graalvm/compiler/nodes/ShortCircuitOrNode;Lorg/graalvm/compiler/core/common/type/Stamp;Lorg/graalvm/compiler/phases/common/ConditionalEliminationPhase$GuardRewirer;Lorg/graalvm/compiler/nodes/extended/GuardingNode;ZLorg/graalvm/compiler/core/common/type/Stamp;Lorg/graalvm/compiler/nodes/ValueNode;)Z (7)
                  (Lorg/graalvm/compiler/nodes/extended/GuardingNode;ZLorg/graalvm/compiler/core/common/type/Stamp;Lorg/graalvm/compiler/nodes/ValueNode;)Z
            invokevirtual org.graalvm.compiler.phases.common.ConditionalEliminationPhase$Instance.tryProveCondition:(Lorg/graalvm/compiler/nodes/LogicNode;Lorg/graalvm/compiler/phases/common/ConditionalEliminationPhase$GuardRewirer;)Z
            ireturn
        end local 6 // org.graalvm.compiler.nodes.ValueNode newInput
        end local 5 // org.graalvm.compiler.core.common.type.Stamp guardedValueStamp
        end local 4 // boolean result
        end local 3 // org.graalvm.compiler.nodes.extended.GuardingNode guard
        end local 0 // org.graalvm.compiler.phases.common.ConditionalEliminationPhase$Instance this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0    5     0               this  Lorg/graalvm/compiler/phases/common/ConditionalEliminationPhase$Instance;
            0    5     3              guard  Lorg/graalvm/compiler/nodes/extended/GuardingNode;
            0    5     4             result  Z
            0    5     5  guardedValueStamp  Lorg/graalvm/compiler/core/common/type/Stamp;
            0    5     6           newInput  Lorg/graalvm/compiler/nodes/ValueNode;

  private boolean lambda$6(org.graalvm.compiler.nodes.ValueNode, org.graalvm.compiler.nodes.extended.GuardingNode, org.graalvm.compiler.nodes.ShortCircuitOrNode, org.graalvm.compiler.core.common.type.Stamp, org.graalvm.compiler.phases.common.ConditionalEliminationPhase$GuardRewirer, org.graalvm.compiler.nodes.extended.GuardingNode, boolean, org.graalvm.compiler.core.common.type.Stamp, org.graalvm.compiler.nodes.ValueNode);
    descriptor: (Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/extended/GuardingNode;Lorg/graalvm/compiler/nodes/ShortCircuitOrNode;Lorg/graalvm/compiler/core/common/type/Stamp;Lorg/graalvm/compiler/phases/common/ConditionalEliminationPhase$GuardRewirer;Lorg/graalvm/compiler/nodes/extended/GuardingNode;ZLorg/graalvm/compiler/core/common/type/Stamp;Lorg/graalvm/compiler/nodes/ValueNode;)Z
    flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
    Code:
      stack=6, locals=11, args_size=10
        start local 0 // org.graalvm.compiler.phases.common.ConditionalEliminationPhase$Instance this
        start local 6 // org.graalvm.compiler.nodes.extended.GuardingNode innerGuard
        start local 7 // boolean innerResult
        start local 8 // org.graalvm.compiler.core.common.type.Stamp innerGuardedValueStamp
        start local 9 // org.graalvm.compiler.nodes.ValueNode innerNewInput
         0: .line 868
            aload 1
            astore 10 /* proxifiedInput */
        start local 10 // org.graalvm.compiler.nodes.ValueNode proxifiedInput
         1: .line 869
            aload 10 /* proxifiedInput */
            ifnonnull 4
         2: .line 870
            aload 9 /* innerNewInput */
            astore 10 /* proxifiedInput */
         3: .line 871
            goto 7
      StackMap locals: org.graalvm.compiler.nodes.ValueNode
      StackMap stack:
         4: aload 9 /* innerNewInput */
            ifnull 7
         5: .line 872
            aload 9 /* innerNewInput */
            aload 1
            if_acmpeq 7
         6: .line 874
            iconst_0
            ireturn
         7: .line 878
      StackMap locals:
      StackMap stack:
            aload 6 /* innerGuard */
            aload 2
            if_acmpne 9
         8: .line 879
            aload 0 /* this */
            aload 2
            iload 7 /* innerResult */
            aload 3
            invokevirtual org.graalvm.compiler.nodes.ShortCircuitOrNode.isYNegated:()Z
            ixor
            aload 10 /* proxifiedInput */
            aload 4
            aload 5
            invokevirtual org.graalvm.compiler.phases.common.ConditionalEliminationPhase$Instance.rewireGuards:(Lorg/graalvm/compiler/nodes/extended/GuardingNode;ZLorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/core/common/type/Stamp;Lorg/graalvm/compiler/phases/common/ConditionalEliminationPhase$GuardRewirer;)Z
            ireturn
         9: .line 881
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        end local 10 // org.graalvm.compiler.nodes.ValueNode proxifiedInput
        end local 9 // org.graalvm.compiler.nodes.ValueNode innerNewInput
        end local 8 // org.graalvm.compiler.core.common.type.Stamp innerGuardedValueStamp
        end local 7 // boolean innerResult
        end local 6 // org.graalvm.compiler.nodes.extended.GuardingNode innerGuard
        end local 0 // org.graalvm.compiler.phases.common.ConditionalEliminationPhase$Instance this
      LocalVariableTable:
        Start  End  Slot                    Name  Signature
            0   10     0                    this  Lorg/graalvm/compiler/phases/common/ConditionalEliminationPhase$Instance;
            0   10     6              innerGuard  Lorg/graalvm/compiler/nodes/extended/GuardingNode;
            0   10     7             innerResult  Z
            0   10     8  innerGuardedValueStamp  Lorg/graalvm/compiler/core/common/type/Stamp;
            0   10     9           innerNewInput  Lorg/graalvm/compiler/nodes/ValueNode;
            1   10    10          proxifiedInput  Lorg/graalvm/compiler/nodes/ValueNode;
}
Signature: Ljava/lang/Object;Lorg/graalvm/compiler/nodes/cfg/ControlFlowGraph$RecursiveVisitor<Ljava/lang/Integer;>;
SourceFile: "ConditionalEliminationPhase.java"
NestHost: org.graalvm.compiler.phases.common.ConditionalEliminationPhase
InnerClasses:
  public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles
  public abstract BinaryOp = org.graalvm.compiler.core.common.type.ArithmeticOpTable$BinaryOp of org.graalvm.compiler.core.common.type.ArithmeticOpTable
  public abstract And = org.graalvm.compiler.core.common.type.ArithmeticOpTable$BinaryOp$And of org.graalvm.compiler.core.common.type.ArithmeticOpTable$BinaryOp
  public abstract Or = org.graalvm.compiler.core.common.type.ArithmeticOpTable$BinaryOp$Or of org.graalvm.compiler.core.common.type.ArithmeticOpTable$BinaryOp
  public abstract EdgeVisitor = org.graalvm.compiler.graph.Node$EdgeVisitor of org.graalvm.compiler.graph.Node
  public abstract RecursiveVisitor = org.graalvm.compiler.nodes.cfg.ControlFlowGraph$RecursiveVisitor of org.graalvm.compiler.nodes.cfg.ControlFlowGraph
  protected abstract GuardRewirer = org.graalvm.compiler.phases.common.ConditionalEliminationPhase$GuardRewirer of org.graalvm.compiler.phases.common.ConditionalEliminationPhase
  protected final InfoElement = org.graalvm.compiler.phases.common.ConditionalEliminationPhase$InfoElement of org.graalvm.compiler.phases.common.ConditionalEliminationPhase
  InputFilter = org.graalvm.compiler.phases.common.ConditionalEliminationPhase$InputFilter of org.graalvm.compiler.phases.common.ConditionalEliminationPhase
  public Instance = org.graalvm.compiler.phases.common.ConditionalEliminationPhase$Instance of org.graalvm.compiler.phases.common.ConditionalEliminationPhase
  private final PhiInfoElement = org.graalvm.compiler.phases.common.ConditionalEliminationPhase$PhiInfoElement of org.graalvm.compiler.phases.common.ConditionalEliminationPhase