class org.graalvm.compiler.phases.common.FixReadsPhase$FixReadsClosure extends org.graalvm.compiler.phases.graph.ScheduledNodeIterator
  minor version: 0
  major version: 59
  flags: flags: (0x0020) ACC_SUPER
  this_class: org.graalvm.compiler.phases.common.FixReadsPhase$FixReadsClosure
  super_class: org.graalvm.compiler.phases.graph.ScheduledNodeIterator
{
  private void <init>();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.graalvm.compiler.phases.common.FixReadsPhase$FixReadsClosure this
         0: .line 111
            aload 0 /* this */
            invokespecial org.graalvm.compiler.phases.graph.ScheduledNodeIterator.<init>:()V
            return
        end local 0 // org.graalvm.compiler.phases.common.FixReadsPhase$FixReadsClosure this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/graalvm/compiler/phases/common/FixReadsPhase$FixReadsClosure;

  protected void processNode(org.graalvm.compiler.graph.Node);
    descriptor: (Lorg/graalvm/compiler/graph/Node;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=3, locals=5, args_size=2
        start local 0 // org.graalvm.compiler.phases.common.FixReadsPhase$FixReadsClosure this
        start local 1 // org.graalvm.compiler.graph.Node node
         0: .line 115
            aload 1 /* node */
            instanceof org.graalvm.compiler.nodes.AbstractMergeNode
            ifeq 8
         1: .line 116
            aload 1 /* node */
            checkcast org.graalvm.compiler.nodes.AbstractMergeNode
            astore 2 /* mergeNode */
        start local 2 // org.graalvm.compiler.nodes.AbstractMergeNode mergeNode
         2: .line 117
            aload 2 /* mergeNode */
            invokevirtual org.graalvm.compiler.nodes.AbstractMergeNode.memoryPhis:()Lorg/graalvm/compiler/graph/iterators/NodeIterable;
            invokeinterface org.graalvm.compiler.graph.iterators.NodeIterable.snapshot:()Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 4
            goto 6
      StackMap locals: org.graalvm.compiler.phases.common.FixReadsPhase$FixReadsClosure org.graalvm.compiler.graph.Node org.graalvm.compiler.nodes.AbstractMergeNode top java.util.Iterator
      StackMap stack:
         3: aload 4
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.graalvm.compiler.nodes.memory.MemoryPhiNode
            astore 3 /* memoryPhi */
        start local 3 // org.graalvm.compiler.nodes.memory.MemoryPhiNode memoryPhi
         4: .line 119
            aload 3 /* memoryPhi */
            aconst_null
            invokevirtual org.graalvm.compiler.nodes.memory.MemoryPhiNode.replaceAtUsages:(Lorg/graalvm/compiler/graph/Node;)V
         5: .line 120
            aload 3 /* memoryPhi */
            invokevirtual org.graalvm.compiler.nodes.memory.MemoryPhiNode.safeDelete:()V
        end local 3 // org.graalvm.compiler.nodes.memory.MemoryPhiNode memoryPhi
         6: .line 117
      StackMap locals:
      StackMap stack:
            aload 4
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 3
        end local 2 // org.graalvm.compiler.nodes.AbstractMergeNode mergeNode
         7: .line 122
            goto 26
      StackMap locals: org.graalvm.compiler.phases.common.FixReadsPhase$FixReadsClosure org.graalvm.compiler.graph.Node
      StackMap stack:
         8: aload 1 /* node */
            instanceof org.graalvm.compiler.nodes.memory.FloatingAccessNode
            ifeq 18
         9: .line 123
            aload 1 /* node */
            checkcast org.graalvm.compiler.nodes.memory.FloatingAccessNode
            astore 2 /* floatingAccessNode */
        start local 2 // org.graalvm.compiler.nodes.memory.FloatingAccessNode floatingAccessNode
        10: .line 124
            aload 2 /* floatingAccessNode */
            aconst_null
            invokevirtual org.graalvm.compiler.nodes.memory.FloatingAccessNode.setLastLocationAccess:(Lorg/graalvm/compiler/nodes/memory/MemoryKill;)V
        11: .line 125
            aload 2 /* floatingAccessNode */
            invokevirtual org.graalvm.compiler.nodes.memory.FloatingAccessNode.getGuard:()Lorg/graalvm/compiler/nodes/extended/GuardingNode;
            astore 3 /* guard */
        start local 3 // org.graalvm.compiler.nodes.extended.GuardingNode guard
        12: .line 126
            aload 3 /* guard */
            ifnull 15
        13: .line 127
            aload 2 /* floatingAccessNode */
            aconst_null
            invokevirtual org.graalvm.compiler.nodes.memory.FloatingAccessNode.setGuard:(Lorg/graalvm/compiler/nodes/extended/GuardingNode;)V
        14: .line 128
            aload 3 /* guard */
            invokeinterface org.graalvm.compiler.nodes.extended.GuardingNode.asNode:()Lorg/graalvm/compiler/nodes/ValueNode;
            invokestatic org.graalvm.compiler.nodes.util.GraphUtil.tryKillUnused:(Lorg/graalvm/compiler/graph/Node;)Z
            pop
        15: .line 130
      StackMap locals: org.graalvm.compiler.nodes.memory.FloatingAccessNode org.graalvm.compiler.nodes.extended.GuardingNode
      StackMap stack:
            aload 2 /* floatingAccessNode */
            invokevirtual org.graalvm.compiler.nodes.memory.FloatingAccessNode.asFixedNode:()Lorg/graalvm/compiler/nodes/memory/FixedAccessNode;
            astore 4 /* fixedAccess */
        start local 4 // org.graalvm.compiler.nodes.memory.FixedAccessNode fixedAccess
        16: .line 131
            aload 0 /* this */
            aload 4 /* fixedAccess */
            invokevirtual org.graalvm.compiler.phases.common.FixReadsPhase$FixReadsClosure.replaceCurrent:(Lorg/graalvm/compiler/nodes/FixedWithNextNode;)V
        end local 4 // org.graalvm.compiler.nodes.memory.FixedAccessNode fixedAccess
        end local 3 // org.graalvm.compiler.nodes.extended.GuardingNode guard
        end local 2 // org.graalvm.compiler.nodes.memory.FloatingAccessNode floatingAccessNode
        17: .line 132
            goto 26
      StackMap locals:
      StackMap stack:
        18: aload 1 /* node */
            instanceof org.graalvm.compiler.nodes.PiNode
            ifeq 23
        19: .line 133
            aload 1 /* node */
            checkcast org.graalvm.compiler.nodes.PiNode
            astore 2 /* piNode */
        start local 2 // org.graalvm.compiler.nodes.PiNode piNode
        20: .line 134
            aload 2 /* piNode */
            getstatic org.graalvm.compiler.nodes.NodeView.DEFAULT:Lorg/graalvm/compiler/nodes/NodeView;
            invokevirtual org.graalvm.compiler.nodes.PiNode.stamp:(Lorg/graalvm/compiler/nodes/NodeView;)Lorg/graalvm/compiler/core/common/type/Stamp;
            aload 2 /* piNode */
            invokevirtual org.graalvm.compiler.nodes.PiNode.getOriginalNode:()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.core.common.type.Stamp.isCompatible:(Lorg/graalvm/compiler/core/common/type/Stamp;)Z
            ifeq 26
        21: .line 136
            aload 2 /* piNode */
            aload 2 /* piNode */
            invokevirtual org.graalvm.compiler.nodes.PiNode.getOriginalNode:()Lorg/graalvm/compiler/nodes/ValueNode;
            invokevirtual org.graalvm.compiler.nodes.PiNode.replaceAndDelete:(Lorg/graalvm/compiler/graph/Node;)V
        end local 2 // org.graalvm.compiler.nodes.PiNode piNode
        22: .line 138
            goto 26
      StackMap locals:
      StackMap stack:
        23: aload 1 /* node */
            instanceof org.graalvm.compiler.nodes.memory.MemoryAccess
            ifeq 26
        24: .line 139
            aload 1 /* node */
            checkcast org.graalvm.compiler.nodes.memory.MemoryAccess
            astore 2 /* memoryAccess */
        start local 2 // org.graalvm.compiler.nodes.memory.MemoryAccess memoryAccess
        25: .line 140
            aload 2 /* memoryAccess */
            aconst_null
            invokeinterface org.graalvm.compiler.nodes.memory.MemoryAccess.setLastLocationAccess:(Lorg/graalvm/compiler/nodes/memory/MemoryKill;)V
        end local 2 // org.graalvm.compiler.nodes.memory.MemoryAccess memoryAccess
        26: .line 142
      StackMap locals:
      StackMap stack:
            return
        end local 1 // org.graalvm.compiler.graph.Node node
        end local 0 // org.graalvm.compiler.phases.common.FixReadsPhase$FixReadsClosure this
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0   27     0                this  Lorg/graalvm/compiler/phases/common/FixReadsPhase$FixReadsClosure;
            0   27     1                node  Lorg/graalvm/compiler/graph/Node;
            2    7     2           mergeNode  Lorg/graalvm/compiler/nodes/AbstractMergeNode;
            4    6     3           memoryPhi  Lorg/graalvm/compiler/nodes/memory/MemoryPhiNode;
           10   17     2  floatingAccessNode  Lorg/graalvm/compiler/nodes/memory/FloatingAccessNode;
           12   17     3               guard  Lorg/graalvm/compiler/nodes/extended/GuardingNode;
           16   17     4         fixedAccess  Lorg/graalvm/compiler/nodes/memory/FixedAccessNode;
           20   22     2              piNode  Lorg/graalvm/compiler/nodes/PiNode;
           25   26     2        memoryAccess  Lorg/graalvm/compiler/nodes/memory/MemoryAccess;
    MethodParameters:
      Name  Flags
      node  
}
SourceFile: "FixReadsPhase.java"
NestHost: org.graalvm.compiler.phases.common.FixReadsPhase
InnerClasses:
  private FixReadsClosure = org.graalvm.compiler.phases.common.FixReadsPhase$FixReadsClosure of org.graalvm.compiler.phases.common.FixReadsPhase