public class org.graalvm.compiler.phases.common.FrameStateAssignmentPhase extends org.graalvm.compiler.phases.Phase
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.graalvm.compiler.phases.common.FrameStateAssignmentPhase
  super_class: org.graalvm.compiler.phases.Phase
{
  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 59
            ldc Lorg/graalvm/compiler/phases/common/FrameStateAssignmentPhase;
            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.FrameStateAssignmentPhase.$assertionsDisabled:Z
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.graalvm.compiler.phases.common.FrameStateAssignmentPhase this
         0: .line 59
            aload 0 /* this */
            invokespecial org.graalvm.compiler.phases.Phase.<init>:()V
            return
        end local 0 // org.graalvm.compiler.phases.common.FrameStateAssignmentPhase this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/graalvm/compiler/phases/common/FrameStateAssignmentPhase;

  protected void run(org.graalvm.compiler.nodes.StructuredGraph);
    descriptor: (Lorg/graalvm/compiler/nodes/StructuredGraph;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.graalvm.compiler.phases.common.FrameStateAssignmentPhase this
        start local 1 // org.graalvm.compiler.nodes.StructuredGraph graph
         0: .line 125
            getstatic org.graalvm.compiler.phases.common.FrameStateAssignmentPhase.$assertionsDisabled:Z
            ifne 2
            aload 1 /* graph */
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph.getGuardsStage:()Lorg/graalvm/compiler/nodes/StructuredGraph$GuardsStage;
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph$GuardsStage.allowsFloatingGuards:()Z
            ifne 1
            aload 1 /* graph */
            invokestatic org.graalvm.compiler.phases.common.FrameStateAssignmentPhase.hasFloatingDeopts:(Lorg/graalvm/compiler/nodes/StructuredGraph;)Z
            ifeq 2
      StackMap locals:
      StackMap stack:
         1: new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         2: .line 126
      StackMap locals:
      StackMap stack:
            aload 1 /* graph */
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph.getGuardsStage:()Lorg/graalvm/compiler/nodes/StructuredGraph$GuardsStage;
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph$GuardsStage.areFrameStatesAtSideEffects:()Z
            ifeq 6
         3: .line 127
            new org.graalvm.compiler.phases.common.FrameStateAssignmentPhase$FrameStateAssignmentClosure
            dup
            invokespecial org.graalvm.compiler.phases.common.FrameStateAssignmentPhase$FrameStateAssignmentClosure.<init>:()V
            aload 1 /* graph */
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph.start:()Lorg/graalvm/compiler/nodes/StartNode;
            aconst_null
            invokestatic org.graalvm.compiler.phases.graph.ReentrantNodeIterator.apply:(Lorg/graalvm/compiler/phases/graph/ReentrantNodeIterator$NodeIteratorClosure;Lorg/graalvm/compiler/nodes/FixedNode;Ljava/lang/Object;)V
         4: .line 128
            aload 1 /* graph */
            getstatic org.graalvm.compiler.nodes.StructuredGraph$GuardsStage.AFTER_FSA:Lorg/graalvm/compiler/nodes/StructuredGraph$GuardsStage;
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph.setGuardsStage:(Lorg/graalvm/compiler/nodes/StructuredGraph$GuardsStage;)V
         5: .line 129
            aload 1 /* graph */
            getstatic org.graalvm.compiler.nodes.FrameState.TYPE:Lorg/graalvm/compiler/graph/NodeClass;
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph.getNodes:(Lorg/graalvm/compiler/graph/NodeClass;)Lorg/graalvm/compiler/graph/iterators/NodeIterable;
            invokedynamic apply()Lorg/graalvm/compiler/graph/iterators/NodePredicate;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Lorg/graalvm/compiler/graph/Node;)Z
                  org/graalvm/compiler/phases/common/FrameStateAssignmentPhase.lambda$0(Lorg/graalvm/compiler/graph/Node;)Z (6)
                  (Lorg/graalvm/compiler/graph/Node;)Z
            invokeinterface org.graalvm.compiler.graph.iterators.NodeIterable.filter:(Lorg/graalvm/compiler/graph/iterators/NodePredicate;)Lorg/graalvm/compiler/graph/iterators/FilteredNodeIterable;
            invokedynamic accept()Ljava/util/function/Consumer;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljava/lang/Object;)V
                  org/graalvm/compiler/nodes/util/GraphUtil.killWithUnusedFloatingInputs(Lorg/graalvm/compiler/graph/Node;)V (6)
                  (Lorg/graalvm/compiler/nodes/FrameState;)V
            invokevirtual org.graalvm.compiler.graph.iterators.FilteredNodeIterable.forEach:(Ljava/util/function/Consumer;)V
         6: .line 131
      StackMap locals:
      StackMap stack:
            return
        end local 1 // org.graalvm.compiler.nodes.StructuredGraph graph
        end local 0 // org.graalvm.compiler.phases.common.FrameStateAssignmentPhase this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    7     0   this  Lorg/graalvm/compiler/phases/common/FrameStateAssignmentPhase;
            0    7     1  graph  Lorg/graalvm/compiler/nodes/StructuredGraph;
    MethodParameters:
       Name  Flags
      graph  

  private static boolean hasFloatingDeopts(org.graalvm.compiler.nodes.StructuredGraph);
    descriptor: (Lorg/graalvm/compiler/nodes/StructuredGraph;)Z
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=1, locals=4, args_size=1
        start local 0 // org.graalvm.compiler.nodes.StructuredGraph graph
         0: .line 134
            aload 0 /* graph */
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph.getNodes:()Lorg/graalvm/compiler/graph/iterators/NodeIterable;
            invokeinterface org.graalvm.compiler.graph.iterators.NodeIterable.iterator:()Ljava/util/Iterator;
            astore 2
            goto 6
      StackMap locals: org.graalvm.compiler.nodes.StructuredGraph top java.util.Iterator
      StackMap stack:
         1: aload 2
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.graalvm.compiler.graph.Node
            astore 1 /* n */
        start local 1 // org.graalvm.compiler.graph.Node n
         2: .line 135
            aload 1 /* n */
            instanceof org.graalvm.compiler.nodes.DeoptimizingNode
            ifeq 6
            aload 1 /* n */
            invokestatic org.graalvm.compiler.nodes.util.GraphUtil.isFloatingNode:(Lorg/graalvm/compiler/graph/Node;)Z
            ifeq 6
         3: .line 136
            aload 1 /* n */
            checkcast org.graalvm.compiler.nodes.DeoptimizingNode
            astore 3 /* deoptimizingNode */
        start local 3 // org.graalvm.compiler.nodes.DeoptimizingNode deoptimizingNode
         4: .line 137
            aload 3 /* deoptimizingNode */
            invokeinterface org.graalvm.compiler.nodes.DeoptimizingNode.canDeoptimize:()Z
            ifeq 6
         5: .line 138
            iconst_1
            ireturn
        end local 3 // org.graalvm.compiler.nodes.DeoptimizingNode deoptimizingNode
        end local 1 // org.graalvm.compiler.graph.Node n
         6: .line 134
      StackMap locals:
      StackMap stack:
            aload 2
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 1
         7: .line 142
            iconst_0
            ireturn
        end local 0 // org.graalvm.compiler.nodes.StructuredGraph graph
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0    8     0             graph  Lorg/graalvm/compiler/nodes/StructuredGraph;
            2    6     1                 n  Lorg/graalvm/compiler/graph/Node;
            4    6     3  deoptimizingNode  Lorg/graalvm/compiler/nodes/DeoptimizingNode;
    MethodParameters:
       Name  Flags
      graph  

  private static org.graalvm.compiler.nodes.FrameState singleFrameState(java.util.List<org.graalvm.compiler.nodes.FrameState>);
    descriptor: (Ljava/util/List;)Lorg/graalvm/compiler/nodes/FrameState;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=3, args_size=1
        start local 0 // java.util.List states
         0: .line 146
            aload 0 /* states */
            iconst_0
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast org.graalvm.compiler.nodes.FrameState
            astore 1 /* singleState */
        start local 1 // org.graalvm.compiler.nodes.FrameState singleState
         1: .line 147
            iconst_1
            istore 2 /* i */
        start local 2 // int i
         2: goto 6
         3: .line 148
      StackMap locals: org.graalvm.compiler.nodes.FrameState int
      StackMap stack:
            aload 0 /* states */
            iload 2 /* i */
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            aload 1 /* singleState */
            if_acmpeq 5
         4: .line 149
            aconst_null
            areturn
         5: .line 147
      StackMap locals:
      StackMap stack:
            iinc 2 /* i */ 1
      StackMap locals:
      StackMap stack:
         6: iload 2 /* i */
            aload 0 /* states */
            invokeinterface java.util.List.size:()I
            if_icmplt 3
        end local 2 // int i
         7: .line 152
            aload 1 /* singleState */
            ifnull 9
            aload 1 /* singleState */
            getfield org.graalvm.compiler.nodes.FrameState.bci:I
            bipush -6
            if_icmpeq 9
         8: .line 153
            aload 1 /* singleState */
            areturn
         9: .line 155
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
        end local 1 // org.graalvm.compiler.nodes.FrameState singleState
        end local 0 // java.util.List states
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   10     0       states  Ljava/util/List<Lorg/graalvm/compiler/nodes/FrameState;>;
            1   10     1  singleState  Lorg/graalvm/compiler/nodes/FrameState;
            2    7     2            i  I
    Signature: (Ljava/util/List<Lorg/graalvm/compiler/nodes/FrameState;>;)Lorg/graalvm/compiler/nodes/FrameState;
    MethodParameters:
        Name  Flags
      states  

  public boolean checkContract();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.graalvm.compiler.phases.common.FrameStateAssignmentPhase this
         0: .line 161
            iconst_0
            ireturn
        end local 0 // org.graalvm.compiler.phases.common.FrameStateAssignmentPhase this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/graalvm/compiler/phases/common/FrameStateAssignmentPhase;

  private static boolean lambda$0(org.graalvm.compiler.graph.Node);
    descriptor: (Lorg/graalvm/compiler/graph/Node;)Z
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.graalvm.compiler.graph.Node state
         0: .line 129
            aload 0 /* state */
            invokevirtual org.graalvm.compiler.graph.Node.hasNoUsages:()Z
            ireturn
        end local 0 // org.graalvm.compiler.graph.Node state
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0  state  Lorg/graalvm/compiler/graph/Node;
}
SourceFile: "FrameStateAssignmentPhase.java"
NestMembers:
  org.graalvm.compiler.phases.common.FrameStateAssignmentPhase$FrameStateAssignmentClosure
InnerClasses:
  public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles
  public final GuardsStage = org.graalvm.compiler.nodes.StructuredGraph$GuardsStage of org.graalvm.compiler.nodes.StructuredGraph
  private FrameStateAssignmentClosure = org.graalvm.compiler.phases.common.FrameStateAssignmentPhase$FrameStateAssignmentClosure of org.graalvm.compiler.phases.common.FrameStateAssignmentPhase
  public abstract NodeIteratorClosure = org.graalvm.compiler.phases.graph.ReentrantNodeIterator$NodeIteratorClosure of org.graalvm.compiler.phases.graph.ReentrantNodeIterator