public class org.graalvm.compiler.phases.common.FloatingReadPhase 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.FloatingReadPhase
  super_class: org.graalvm.compiler.phases.Phase
{
  private boolean createFloatingReads;
    descriptor: Z
    flags: (0x0002) ACC_PRIVATE

  private boolean createMemoryMapNodes;
    descriptor: Z
    flags: (0x0002) ACC_PRIVATE

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

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

  public void <init>(boolean, boolean);
    descriptor: (ZZ)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // org.graalvm.compiler.phases.common.FloatingReadPhase this
        start local 1 // boolean createFloatingReads
        start local 2 // boolean createMemoryMapNodes
         0: .line 136
            aload 0 /* this */
            invokespecial org.graalvm.compiler.phases.Phase.<init>:()V
         1: .line 137
            aload 0 /* this */
            iload 1 /* createFloatingReads */
            putfield org.graalvm.compiler.phases.common.FloatingReadPhase.createFloatingReads:Z
         2: .line 138
            aload 0 /* this */
            iload 2 /* createMemoryMapNodes */
            putfield org.graalvm.compiler.phases.common.FloatingReadPhase.createMemoryMapNodes:Z
         3: .line 139
            return
        end local 2 // boolean createMemoryMapNodes
        end local 1 // boolean createFloatingReads
        end local 0 // org.graalvm.compiler.phases.common.FloatingReadPhase this
      LocalVariableTable:
        Start  End  Slot                  Name  Signature
            0    4     0                  this  Lorg/graalvm/compiler/phases/common/FloatingReadPhase;
            0    4     1   createFloatingReads  Z
            0    4     2  createMemoryMapNodes  Z
    MethodParameters:
                      Name  Flags
      createFloatingReads   
      createMemoryMapNodes  

  public float codeSizeIncrease();
    descriptor: ()F
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.graalvm.compiler.phases.common.FloatingReadPhase this
         0: .line 143
            ldc 1.25
            freturn
        end local 0 // org.graalvm.compiler.phases.common.FloatingReadPhase this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/graalvm/compiler/phases/common/FloatingReadPhase;

  private static jdk.internal.vm.compiler.collections.EconomicSet<org.graalvm.compiler.graph.Node> removeExternallyUsedNodes(jdk.internal.vm.compiler.collections.EconomicSet<org.graalvm.compiler.graph.Node>);
    descriptor: (Ljdk/internal/vm/compiler/collections/EconomicSet;)Ljdk/internal/vm/compiler/collections/EconomicSet;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=6, args_size=1
        start local 0 // jdk.internal.vm.compiler.collections.EconomicSet set
         0: .line 152
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 1 /* change */
        start local 1 // boolean change
         1: .line 153
            aload 0 /* set */
            invokeinterface jdk.internal.vm.compiler.collections.EconomicSet.iterator:()Ljava/util/Iterator;
            astore 2 /* iter */
        start local 2 // java.util.Iterator iter
         2: goto 11
         3: .line 154
      StackMap locals: int java.util.Iterator
      StackMap stack:
            aload 2 /* iter */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.graalvm.compiler.graph.Node
            astore 3 /* node */
        start local 3 // org.graalvm.compiler.graph.Node node
         4: .line 155
            aload 3 /* node */
            invokevirtual org.graalvm.compiler.graph.Node.usages:()Lorg/graalvm/compiler/graph/iterators/NodeIterable;
            invokeinterface org.graalvm.compiler.graph.iterators.NodeIterable.iterator:()Ljava/util/Iterator;
            astore 5
            goto 10
      StackMap locals: jdk.internal.vm.compiler.collections.EconomicSet int java.util.Iterator org.graalvm.compiler.graph.Node top java.util.Iterator
      StackMap stack:
         5: aload 5
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.graalvm.compiler.graph.Node
            astore 4 /* usage */
        start local 4 // org.graalvm.compiler.graph.Node usage
         6: .line 156
            aload 0 /* set */
            aload 4 /* usage */
            invokeinterface jdk.internal.vm.compiler.collections.EconomicSet.contains:(Ljava/lang/Object;)Z
            ifne 10
         7: .line 157
            iconst_1
            istore 1 /* change */
         8: .line 158
            aload 2 /* iter */
            invokeinterface java.util.Iterator.remove:()V
         9: .line 159
            goto 11
        end local 4 // org.graalvm.compiler.graph.Node usage
        10: .line 155
      StackMap locals:
      StackMap stack:
            aload 5
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 5
        end local 3 // org.graalvm.compiler.graph.Node node
        11: .line 153
      StackMap locals: jdk.internal.vm.compiler.collections.EconomicSet int java.util.Iterator
      StackMap stack:
            aload 2 /* iter */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 3
        end local 2 // java.util.Iterator iter
        12: .line 163
            iload 1 /* change */
            ifne 0
        13: .line 164
            aload 0 /* set */
            areturn
        end local 1 // boolean change
        end local 0 // jdk.internal.vm.compiler.collections.EconomicSet set
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   14     0     set  Ljdk/internal/vm/compiler/collections/EconomicSet<Lorg/graalvm/compiler/graph/Node;>;
            1   14     1  change  Z
            2   12     2    iter  Ljava/util/Iterator<Lorg/graalvm/compiler/graph/Node;>;
            4   11     3    node  Lorg/graalvm/compiler/graph/Node;
            6   10     4   usage  Lorg/graalvm/compiler/graph/Node;
    Signature: (Ljdk/internal/vm/compiler/collections/EconomicSet<Lorg/graalvm/compiler/graph/Node;>;)Ljdk/internal/vm/compiler/collections/EconomicSet<Lorg/graalvm/compiler/graph/Node;>;
    MethodParameters:
      Name  Flags
      set   

  protected void processNode(org.graalvm.compiler.nodes.FixedNode, jdk.internal.vm.compiler.collections.EconomicSet<jdk.internal.vm.compiler.word.LocationIdentity>);
    descriptor: (Lorg/graalvm/compiler/nodes/FixedNode;Ljdk/internal/vm/compiler/collections/EconomicSet;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=7, args_size=3
        start local 0 // org.graalvm.compiler.phases.common.FloatingReadPhase this
        start local 1 // org.graalvm.compiler.nodes.FixedNode node
        start local 2 // jdk.internal.vm.compiler.collections.EconomicSet currentState
         0: .line 168
            aload 1 /* node */
            instanceof org.graalvm.compiler.nodes.memory.MemoryCheckpoint$Single
            ifeq 3
         1: .line 169
            aload 2 /* currentState */
            aload 1 /* node */
            checkcast org.graalvm.compiler.nodes.memory.MemoryCheckpoint$Single
            invokeinterface org.graalvm.compiler.nodes.memory.MemoryCheckpoint$Single.getLocationIdentity:()Ljdk/internal/vm/compiler/word/LocationIdentity;
            invokestatic org.graalvm.compiler.phases.common.FloatingReadPhase.processIdentity:(Ljdk/internal/vm/compiler/collections/EconomicSet;Ljdk/internal/vm/compiler/word/LocationIdentity;)V
         2: .line 170
            goto 9
      StackMap locals:
      StackMap stack:
         3: aload 1 /* node */
            instanceof org.graalvm.compiler.nodes.memory.MemoryCheckpoint$Multi
            ifeq 9
         4: .line 171
            aload 1 /* node */
            checkcast org.graalvm.compiler.nodes.memory.MemoryCheckpoint$Multi
            invokeinterface org.graalvm.compiler.nodes.memory.MemoryCheckpoint$Multi.getLocationIdentities:()[Ljdk/internal/vm/compiler/word/LocationIdentity;
            dup
            astore 6
            arraylength
            istore 5
            iconst_0
            istore 4
            goto 8
      StackMap locals: org.graalvm.compiler.phases.common.FloatingReadPhase org.graalvm.compiler.nodes.FixedNode jdk.internal.vm.compiler.collections.EconomicSet top int int jdk.internal.vm.compiler.word.LocationIdentity[]
      StackMap stack:
         5: aload 6
            iload 4
            aaload
            astore 3 /* identity */
        start local 3 // jdk.internal.vm.compiler.word.LocationIdentity identity
         6: .line 172
            aload 2 /* currentState */
            aload 3 /* identity */
            invokestatic org.graalvm.compiler.phases.common.FloatingReadPhase.processIdentity:(Ljdk/internal/vm/compiler/collections/EconomicSet;Ljdk/internal/vm/compiler/word/LocationIdentity;)V
        end local 3 // jdk.internal.vm.compiler.word.LocationIdentity identity
         7: .line 171
            iinc 4 1
      StackMap locals:
      StackMap stack:
         8: iload 4
            iload 5
            if_icmplt 5
         9: .line 175
      StackMap locals: org.graalvm.compiler.phases.common.FloatingReadPhase org.graalvm.compiler.nodes.FixedNode jdk.internal.vm.compiler.collections.EconomicSet
      StackMap stack:
            return
        end local 2 // jdk.internal.vm.compiler.collections.EconomicSet currentState
        end local 1 // org.graalvm.compiler.nodes.FixedNode node
        end local 0 // org.graalvm.compiler.phases.common.FloatingReadPhase this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   10     0          this  Lorg/graalvm/compiler/phases/common/FloatingReadPhase;
            0   10     1          node  Lorg/graalvm/compiler/nodes/FixedNode;
            0   10     2  currentState  Ljdk/internal/vm/compiler/collections/EconomicSet<Ljdk/internal/vm/compiler/word/LocationIdentity;>;
            6    7     3      identity  Ljdk/internal/vm/compiler/word/LocationIdentity;
    Signature: (Lorg/graalvm/compiler/nodes/FixedNode;Ljdk/internal/vm/compiler/collections/EconomicSet<Ljdk/internal/vm/compiler/word/LocationIdentity;>;)V
    MethodParameters:
              Name  Flags
      node          
      currentState  

  private static void processIdentity(jdk.internal.vm.compiler.collections.EconomicSet<jdk.internal.vm.compiler.word.LocationIdentity>, jdk.internal.vm.compiler.word.LocationIdentity);
    descriptor: (Ljdk/internal/vm/compiler/collections/EconomicSet;Ljdk/internal/vm/compiler/word/LocationIdentity;)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // jdk.internal.vm.compiler.collections.EconomicSet currentState
        start local 1 // jdk.internal.vm.compiler.word.LocationIdentity identity
         0: .line 178
            aload 1 /* identity */
            invokevirtual jdk.internal.vm.compiler.word.LocationIdentity.isMutable:()Z
            ifeq 2
         1: .line 179
            aload 0 /* currentState */
            aload 1 /* identity */
            invokeinterface jdk.internal.vm.compiler.collections.EconomicSet.add:(Ljava/lang/Object;)Z
            pop
         2: .line 181
      StackMap locals:
      StackMap stack:
            return
        end local 1 // jdk.internal.vm.compiler.word.LocationIdentity identity
        end local 0 // jdk.internal.vm.compiler.collections.EconomicSet currentState
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    3     0  currentState  Ljdk/internal/vm/compiler/collections/EconomicSet<Ljdk/internal/vm/compiler/word/LocationIdentity;>;
            0    3     1      identity  Ljdk/internal/vm/compiler/word/LocationIdentity;
    Signature: (Ljdk/internal/vm/compiler/collections/EconomicSet<Ljdk/internal/vm/compiler/word/LocationIdentity;>;Ljdk/internal/vm/compiler/word/LocationIdentity;)V
    MethodParameters:
              Name  Flags
      currentState  
      identity      

  protected void processBlock(org.graalvm.compiler.nodes.cfg.Block, jdk.internal.vm.compiler.collections.EconomicSet<jdk.internal.vm.compiler.word.LocationIdentity>);
    descriptor: (Lorg/graalvm/compiler/nodes/cfg/Block;Ljdk/internal/vm/compiler/collections/EconomicSet;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=3, locals=5, args_size=3
        start local 0 // org.graalvm.compiler.phases.common.FloatingReadPhase this
        start local 1 // org.graalvm.compiler.nodes.cfg.Block b
        start local 2 // jdk.internal.vm.compiler.collections.EconomicSet currentState
         0: .line 184
            aload 1 /* b */
            invokevirtual org.graalvm.compiler.nodes.cfg.Block.getNodes:()Ljava/lang/Iterable;
            invokeinterface java.lang.Iterable.iterator:()Ljava/util/Iterator;
            astore 4
            goto 3
      StackMap locals: org.graalvm.compiler.phases.common.FloatingReadPhase org.graalvm.compiler.nodes.cfg.Block jdk.internal.vm.compiler.collections.EconomicSet top java.util.Iterator
      StackMap stack:
         1: aload 4
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.graalvm.compiler.nodes.FixedNode
            astore 3 /* n */
        start local 3 // org.graalvm.compiler.nodes.FixedNode n
         2: .line 185
            aload 0 /* this */
            aload 3 /* n */
            aload 2 /* currentState */
            invokevirtual org.graalvm.compiler.phases.common.FloatingReadPhase.processNode:(Lorg/graalvm/compiler/nodes/FixedNode;Ljdk/internal/vm/compiler/collections/EconomicSet;)V
        end local 3 // org.graalvm.compiler.nodes.FixedNode n
         3: .line 184
      StackMap locals:
      StackMap stack:
            aload 4
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 1
         4: .line 187
            return
        end local 2 // jdk.internal.vm.compiler.collections.EconomicSet currentState
        end local 1 // org.graalvm.compiler.nodes.cfg.Block b
        end local 0 // org.graalvm.compiler.phases.common.FloatingReadPhase this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    5     0          this  Lorg/graalvm/compiler/phases/common/FloatingReadPhase;
            0    5     1             b  Lorg/graalvm/compiler/nodes/cfg/Block;
            0    5     2  currentState  Ljdk/internal/vm/compiler/collections/EconomicSet<Ljdk/internal/vm/compiler/word/LocationIdentity;>;
            2    3     3             n  Lorg/graalvm/compiler/nodes/FixedNode;
    Signature: (Lorg/graalvm/compiler/nodes/cfg/Block;Ljdk/internal/vm/compiler/collections/EconomicSet<Ljdk/internal/vm/compiler/word/LocationIdentity;>;)V
    MethodParameters:
              Name  Flags
      b             
      currentState  

  private jdk.internal.vm.compiler.collections.EconomicSet<jdk.internal.vm.compiler.word.LocationIdentity> processLoop(org.graalvm.compiler.nodes.cfg.HIRLoop, jdk.internal.vm.compiler.collections.EconomicMap<org.graalvm.compiler.nodes.LoopBeginNode, jdk.internal.vm.compiler.collections.EconomicSet<jdk.internal.vm.compiler.word.LocationIdentity>>);
    descriptor: (Lorg/graalvm/compiler/nodes/cfg/HIRLoop;Ljdk/internal/vm/compiler/collections/EconomicMap;)Ljdk/internal/vm/compiler/collections/EconomicSet;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=7, args_size=3
        start local 0 // org.graalvm.compiler.phases.common.FloatingReadPhase this
        start local 1 // org.graalvm.compiler.nodes.cfg.HIRLoop loop
        start local 2 // jdk.internal.vm.compiler.collections.EconomicMap modifiedInLoops
         0: .line 190
            aload 1 /* loop */
            invokevirtual org.graalvm.compiler.nodes.cfg.HIRLoop.getHeader:()Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;
            checkcast org.graalvm.compiler.nodes.cfg.Block
            invokevirtual org.graalvm.compiler.nodes.cfg.Block.getBeginNode:()Lorg/graalvm/compiler/nodes/AbstractBeginNode;
            checkcast org.graalvm.compiler.nodes.LoopBeginNode
            astore 3 /* loopBegin */
        start local 3 // org.graalvm.compiler.nodes.LoopBeginNode loopBegin
         1: .line 191
            aload 2 /* modifiedInLoops */
            aload 3 /* loopBegin */
            invokeinterface jdk.internal.vm.compiler.collections.EconomicMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast jdk.internal.vm.compiler.collections.EconomicSet
            astore 4 /* result */
        start local 4 // jdk.internal.vm.compiler.collections.EconomicSet result
         2: .line 192
            aload 4 /* result */
            ifnull 4
         3: .line 193
            aload 4 /* result */
            areturn
         4: .line 196
      StackMap locals: org.graalvm.compiler.nodes.LoopBeginNode jdk.internal.vm.compiler.collections.EconomicSet
      StackMap stack:
            getstatic jdk.internal.vm.compiler.collections.Equivalence.DEFAULT:Ljdk/internal/vm/compiler/collections/Equivalence;
            invokestatic jdk.internal.vm.compiler.collections.EconomicSet.create:(Ljdk/internal/vm/compiler/collections/Equivalence;)Ljdk/internal/vm/compiler/collections/EconomicSet;
            astore 4 /* result */
         5: .line 197
            aload 1 /* loop */
            invokevirtual org.graalvm.compiler.nodes.cfg.HIRLoop.getChildren:()Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 6
            goto 8
      StackMap locals: org.graalvm.compiler.phases.common.FloatingReadPhase org.graalvm.compiler.nodes.cfg.HIRLoop jdk.internal.vm.compiler.collections.EconomicMap org.graalvm.compiler.nodes.LoopBeginNode jdk.internal.vm.compiler.collections.EconomicSet top java.util.Iterator
      StackMap stack:
         6: aload 6
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.graalvm.compiler.core.common.cfg.Loop
            astore 5 /* inner */
        start local 5 // org.graalvm.compiler.core.common.cfg.Loop inner
         7: .line 198
            aload 4 /* result */
            aload 0 /* this */
            aload 5 /* inner */
            checkcast org.graalvm.compiler.nodes.cfg.HIRLoop
            aload 2 /* modifiedInLoops */
            invokevirtual org.graalvm.compiler.phases.common.FloatingReadPhase.processLoop:(Lorg/graalvm/compiler/nodes/cfg/HIRLoop;Ljdk/internal/vm/compiler/collections/EconomicMap;)Ljdk/internal/vm/compiler/collections/EconomicSet;
            invokeinterface jdk.internal.vm.compiler.collections.EconomicSet.addAll:(Ljdk/internal/vm/compiler/collections/EconomicSet;)V
        end local 5 // org.graalvm.compiler.core.common.cfg.Loop inner
         8: .line 197
      StackMap locals:
      StackMap stack:
            aload 6
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 6
         9: .line 201
            aload 1 /* loop */
            invokevirtual org.graalvm.compiler.nodes.cfg.HIRLoop.getBlocks:()Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 6
            goto 13
      StackMap locals:
      StackMap stack:
        10: aload 6
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.graalvm.compiler.nodes.cfg.Block
            astore 5 /* b */
        start local 5 // org.graalvm.compiler.nodes.cfg.Block b
        11: .line 202
            aload 5 /* b */
            invokevirtual org.graalvm.compiler.nodes.cfg.Block.getLoop:()Lorg/graalvm/compiler/core/common/cfg/Loop;
            aload 1 /* loop */
            if_acmpne 13
        12: .line 203
            aload 0 /* this */
            aload 5 /* b */
            aload 4 /* result */
            invokevirtual org.graalvm.compiler.phases.common.FloatingReadPhase.processBlock:(Lorg/graalvm/compiler/nodes/cfg/Block;Ljdk/internal/vm/compiler/collections/EconomicSet;)V
        end local 5 // org.graalvm.compiler.nodes.cfg.Block b
        13: .line 201
      StackMap locals:
      StackMap stack:
            aload 6
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 10
        14: .line 207
            aload 2 /* modifiedInLoops */
            aload 3 /* loopBegin */
            aload 4 /* result */
            invokeinterface jdk.internal.vm.compiler.collections.EconomicMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        15: .line 208
            aload 4 /* result */
            areturn
        end local 4 // jdk.internal.vm.compiler.collections.EconomicSet result
        end local 3 // org.graalvm.compiler.nodes.LoopBeginNode loopBegin
        end local 2 // jdk.internal.vm.compiler.collections.EconomicMap modifiedInLoops
        end local 1 // org.graalvm.compiler.nodes.cfg.HIRLoop loop
        end local 0 // org.graalvm.compiler.phases.common.FloatingReadPhase this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0   16     0             this  Lorg/graalvm/compiler/phases/common/FloatingReadPhase;
            0   16     1             loop  Lorg/graalvm/compiler/nodes/cfg/HIRLoop;
            0   16     2  modifiedInLoops  Ljdk/internal/vm/compiler/collections/EconomicMap<Lorg/graalvm/compiler/nodes/LoopBeginNode;Ljdk/internal/vm/compiler/collections/EconomicSet<Ljdk/internal/vm/compiler/word/LocationIdentity;>;>;
            1   16     3        loopBegin  Lorg/graalvm/compiler/nodes/LoopBeginNode;
            2   16     4           result  Ljdk/internal/vm/compiler/collections/EconomicSet<Ljdk/internal/vm/compiler/word/LocationIdentity;>;
            7    8     5            inner  Lorg/graalvm/compiler/core/common/cfg/Loop<Lorg/graalvm/compiler/nodes/cfg/Block;>;
           11   13     5                b  Lorg/graalvm/compiler/nodes/cfg/Block;
    Signature: (Lorg/graalvm/compiler/nodes/cfg/HIRLoop;Ljdk/internal/vm/compiler/collections/EconomicMap<Lorg/graalvm/compiler/nodes/LoopBeginNode;Ljdk/internal/vm/compiler/collections/EconomicSet<Ljdk/internal/vm/compiler/word/LocationIdentity;>;>;)Ljdk/internal/vm/compiler/collections/EconomicSet<Ljdk/internal/vm/compiler/word/LocationIdentity;>;
    MethodParameters:
                 Name  Flags
      loop             
      modifiedInLoops  

  protected void run(org.graalvm.compiler.nodes.StructuredGraph);
    descriptor: (Lorg/graalvm/compiler/nodes/StructuredGraph;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=5, locals=7, args_size=2
        start local 0 // org.graalvm.compiler.phases.common.FloatingReadPhase this
        start local 1 // org.graalvm.compiler.nodes.StructuredGraph graph
         0: .line 214
            aconst_null
            astore 2 /* modifiedInLoops */
        start local 2 // jdk.internal.vm.compiler.collections.EconomicMap modifiedInLoops
         1: .line 215
            aload 1 /* graph */
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph.hasLoops:()Z
            ifeq 9
         2: .line 216
            getstatic jdk.internal.vm.compiler.collections.Equivalence.IDENTITY:Ljdk/internal/vm/compiler/collections/Equivalence;
            invokestatic jdk.internal.vm.compiler.collections.EconomicMap.create:(Ljdk/internal/vm/compiler/collections/Equivalence;)Ljdk/internal/vm/compiler/collections/EconomicMap;
            astore 2 /* modifiedInLoops */
         3: .line 217
            aload 1 /* graph */
            iconst_1
            iconst_1
            iconst_0
            iconst_0
            invokestatic org.graalvm.compiler.nodes.cfg.ControlFlowGraph.compute:(Lorg/graalvm/compiler/nodes/StructuredGraph;ZZZZ)Lorg/graalvm/compiler/nodes/cfg/ControlFlowGraph;
            astore 3 /* cfg */
        start local 3 // org.graalvm.compiler.nodes.cfg.ControlFlowGraph cfg
         4: .line 218
            aload 3 /* cfg */
            invokevirtual org.graalvm.compiler.nodes.cfg.ControlFlowGraph.getLoops:()Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 5
            goto 8
      StackMap locals: org.graalvm.compiler.phases.common.FloatingReadPhase org.graalvm.compiler.nodes.StructuredGraph jdk.internal.vm.compiler.collections.EconomicMap org.graalvm.compiler.nodes.cfg.ControlFlowGraph top java.util.Iterator
      StackMap stack:
         5: aload 5
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.graalvm.compiler.core.common.cfg.Loop
            astore 4 /* l */
        start local 4 // org.graalvm.compiler.core.common.cfg.Loop l
         6: .line 219
            aload 4 /* l */
            checkcast org.graalvm.compiler.nodes.cfg.HIRLoop
            astore 6 /* loop */
        start local 6 // org.graalvm.compiler.nodes.cfg.HIRLoop loop
         7: .line 220
            aload 0 /* this */
            aload 6 /* loop */
            aload 2 /* modifiedInLoops */
            invokevirtual org.graalvm.compiler.phases.common.FloatingReadPhase.processLoop:(Lorg/graalvm/compiler/nodes/cfg/HIRLoop;Ljdk/internal/vm/compiler/collections/EconomicMap;)Ljdk/internal/vm/compiler/collections/EconomicSet;
            pop
        end local 6 // org.graalvm.compiler.nodes.cfg.HIRLoop loop
        end local 4 // org.graalvm.compiler.core.common.cfg.Loop l
         8: .line 218
      StackMap locals:
      StackMap stack:
            aload 5
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 5
        end local 3 // org.graalvm.compiler.nodes.cfg.ControlFlowGraph cfg
         9: .line 224
      StackMap locals: org.graalvm.compiler.phases.common.FloatingReadPhase org.graalvm.compiler.nodes.StructuredGraph jdk.internal.vm.compiler.collections.EconomicMap
      StackMap stack:
            new org.graalvm.compiler.phases.common.util.HashSetNodeEventListener
            dup
            getstatic org.graalvm.compiler.graph.Graph$NodeEvent.NODE_ADDED:Lorg/graalvm/compiler/graph/Graph$NodeEvent;
            getstatic org.graalvm.compiler.graph.Graph$NodeEvent.ZERO_USAGES:Lorg/graalvm/compiler/graph/Graph$NodeEvent;
            invokestatic java.util.EnumSet.of:(Ljava/lang/Enum;Ljava/lang/Enum;)Ljava/util/EnumSet;
            invokespecial org.graalvm.compiler.phases.common.util.HashSetNodeEventListener.<init>:(Ljava/util/Set;)V
            astore 3 /* listener */
        start local 3 // org.graalvm.compiler.phases.common.util.HashSetNodeEventListener listener
        10: .line 225
            aconst_null
            astore 4
            aconst_null
            astore 5
        11: aload 1 /* graph */
            aload 3 /* listener */
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph.trackNodeEvents:(Lorg/graalvm/compiler/graph/Graph$NodeEventListener;)Lorg/graalvm/compiler/graph/Graph$NodeEventScope;
            astore 6 /* nes */
        start local 6 // org.graalvm.compiler.graph.Graph$NodeEventScope nes
        12: .line 226
            new org.graalvm.compiler.phases.common.FloatingReadPhase$FloatingReadClosure
            dup
            aload 2 /* modifiedInLoops */
            aload 0 /* this */
            getfield org.graalvm.compiler.phases.common.FloatingReadPhase.createFloatingReads:Z
            aload 0 /* this */
            getfield org.graalvm.compiler.phases.common.FloatingReadPhase.createMemoryMapNodes:Z
            invokespecial org.graalvm.compiler.phases.common.FloatingReadPhase$FloatingReadClosure.<init>:(Ljdk/internal/vm/compiler/collections/EconomicMap;ZZ)V
            aload 1 /* graph */
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph.start:()Lorg/graalvm/compiler/nodes/StartNode;
            new org.graalvm.compiler.phases.common.FloatingReadPhase$MemoryMapImpl
            dup
            aload 1 /* graph */
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph.start:()Lorg/graalvm/compiler/nodes/StartNode;
            invokespecial org.graalvm.compiler.phases.common.FloatingReadPhase$MemoryMapImpl.<init>:(Lorg/graalvm/compiler/nodes/StartNode;)V
            invokestatic org.graalvm.compiler.phases.graph.ReentrantNodeIterator.apply:(Lorg/graalvm/compiler/phases/graph/ReentrantNodeIterator$NodeIteratorClosure;Lorg/graalvm/compiler/nodes/FixedNode;Ljava/lang/Object;)V
        13: .line 227
            aload 6 /* nes */
            ifnull 19
            aload 6 /* nes */
            invokevirtual org.graalvm.compiler.graph.Graph$NodeEventScope.close:()V
            goto 19
      StackMap locals: org.graalvm.compiler.phases.common.FloatingReadPhase org.graalvm.compiler.nodes.StructuredGraph jdk.internal.vm.compiler.collections.EconomicMap org.graalvm.compiler.phases.common.util.HashSetNodeEventListener java.lang.Throwable java.lang.Throwable org.graalvm.compiler.graph.Graph$NodeEventScope
      StackMap stack: java.lang.Throwable
        14: astore 4
            aload 6 /* nes */
            ifnull 15
            aload 6 /* nes */
            invokevirtual org.graalvm.compiler.graph.Graph$NodeEventScope.close:()V
        end local 6 // org.graalvm.compiler.graph.Graph$NodeEventScope nes
      StackMap locals:
      StackMap stack:
        15: aload 4
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
        16: astore 5
            aload 4
            ifnonnull 17
            aload 5
            astore 4
            goto 18
      StackMap locals:
      StackMap stack:
        17: aload 4
            aload 5
            if_acmpeq 18
            aload 4
            aload 5
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        18: aload 4
            athrow
        19: .line 229
      StackMap locals:
      StackMap stack:
            aload 3 /* listener */
            invokevirtual org.graalvm.compiler.phases.common.util.HashSetNodeEventListener.getNodes:()Ljdk/internal/vm/compiler/collections/EconomicSet;
            invokestatic org.graalvm.compiler.phases.common.FloatingReadPhase.removeExternallyUsedNodes:(Ljdk/internal/vm/compiler/collections/EconomicSet;)Ljdk/internal/vm/compiler/collections/EconomicSet;
            invokeinterface jdk.internal.vm.compiler.collections.EconomicSet.iterator:()Ljava/util/Iterator;
            astore 5
            goto 24
      StackMap locals: org.graalvm.compiler.phases.common.FloatingReadPhase org.graalvm.compiler.nodes.StructuredGraph jdk.internal.vm.compiler.collections.EconomicMap org.graalvm.compiler.phases.common.util.HashSetNodeEventListener top java.util.Iterator
      StackMap stack:
        20: aload 5
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.graalvm.compiler.graph.Node
            astore 4 /* n */
        start local 4 // org.graalvm.compiler.graph.Node n
        21: .line 230
            aload 4 /* n */
            invokevirtual org.graalvm.compiler.graph.Node.isAlive:()Z
            ifeq 24
            aload 4 /* n */
            instanceof org.graalvm.compiler.nodes.calc.FloatingNode
            ifeq 24
        22: .line 231
            aload 4 /* n */
            aconst_null
            invokevirtual org.graalvm.compiler.graph.Node.replaceAtUsages:(Lorg/graalvm/compiler/graph/Node;)V
        23: .line 232
            aload 4 /* n */
            invokestatic org.graalvm.compiler.nodes.util.GraphUtil.killWithUnusedFloatingInputs:(Lorg/graalvm/compiler/graph/Node;)V
        end local 4 // org.graalvm.compiler.graph.Node n
        24: .line 229
      StackMap locals:
      StackMap stack:
            aload 5
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 20
        25: .line 235
            aload 0 /* this */
            getfield org.graalvm.compiler.phases.common.FloatingReadPhase.createFloatingReads:Z
            ifeq 28
        26: .line 236
            getstatic org.graalvm.compiler.phases.common.FloatingReadPhase.$assertionsDisabled:Z
            ifne 27
            aload 1 /* graph */
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph.isAfterFloatingReadPhase:()Z
            ifeq 27
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        27: .line 237
      StackMap locals: org.graalvm.compiler.phases.common.FloatingReadPhase org.graalvm.compiler.nodes.StructuredGraph jdk.internal.vm.compiler.collections.EconomicMap org.graalvm.compiler.phases.common.util.HashSetNodeEventListener
      StackMap stack:
            aload 1 /* graph */
            iconst_1
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph.setAfterFloatingReadPhase:(Z)V
        28: .line 239
      StackMap locals:
      StackMap stack:
            return
        end local 3 // org.graalvm.compiler.phases.common.util.HashSetNodeEventListener listener
        end local 2 // jdk.internal.vm.compiler.collections.EconomicMap modifiedInLoops
        end local 1 // org.graalvm.compiler.nodes.StructuredGraph graph
        end local 0 // org.graalvm.compiler.phases.common.FloatingReadPhase this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0   29     0             this  Lorg/graalvm/compiler/phases/common/FloatingReadPhase;
            0   29     1            graph  Lorg/graalvm/compiler/nodes/StructuredGraph;
            1   29     2  modifiedInLoops  Ljdk/internal/vm/compiler/collections/EconomicMap<Lorg/graalvm/compiler/nodes/LoopBeginNode;Ljdk/internal/vm/compiler/collections/EconomicSet<Ljdk/internal/vm/compiler/word/LocationIdentity;>;>;
            4    9     3              cfg  Lorg/graalvm/compiler/nodes/cfg/ControlFlowGraph;
            6    8     4                l  Lorg/graalvm/compiler/core/common/cfg/Loop<*>;
            7    8     6             loop  Lorg/graalvm/compiler/nodes/cfg/HIRLoop;
           10   29     3         listener  Lorg/graalvm/compiler/phases/common/util/HashSetNodeEventListener;
           12   15     6              nes  Lorg/graalvm/compiler/graph/Graph$NodeEventScope;
           21   24     4                n  Lorg/graalvm/compiler/graph/Node;
      Exception table:
        from    to  target  type
          12    13      14  any
          11    16      16  any
    MethodParameters:
       Name  Flags
      graph  

  public static org.graalvm.compiler.phases.common.FloatingReadPhase$MemoryMapImpl mergeMemoryMaps(org.graalvm.compiler.nodes.AbstractMergeNode, java.util.List<? extends org.graalvm.compiler.nodes.memory.MemoryMap>);
    descriptor: (Lorg/graalvm/compiler/nodes/AbstractMergeNode;Ljava/util/List;)Lorg/graalvm/compiler/phases/common/FloatingReadPhase$MemoryMapImpl;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=14, args_size=2
        start local 0 // org.graalvm.compiler.nodes.AbstractMergeNode merge
        start local 1 // java.util.List states
         0: .line 242
            new org.graalvm.compiler.phases.common.FloatingReadPhase$MemoryMapImpl
            dup
            invokespecial org.graalvm.compiler.phases.common.FloatingReadPhase$MemoryMapImpl.<init>:()V
            astore 2 /* newState */
        start local 2 // org.graalvm.compiler.phases.common.FloatingReadPhase$MemoryMapImpl newState
         1: .line 244
            getstatic jdk.internal.vm.compiler.collections.Equivalence.DEFAULT:Ljdk/internal/vm/compiler/collections/Equivalence;
            invokestatic jdk.internal.vm.compiler.collections.EconomicSet.create:(Ljdk/internal/vm/compiler/collections/Equivalence;)Ljdk/internal/vm/compiler/collections/EconomicSet;
            astore 3 /* keys */
        start local 3 // jdk.internal.vm.compiler.collections.EconomicSet keys
         2: .line 245
            aload 1 /* states */
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 5
            goto 5
      StackMap locals: org.graalvm.compiler.nodes.AbstractMergeNode java.util.List org.graalvm.compiler.phases.common.FloatingReadPhase$MemoryMapImpl jdk.internal.vm.compiler.collections.EconomicSet top java.util.Iterator
      StackMap stack:
         3: aload 5
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.graalvm.compiler.nodes.memory.MemoryMap
            astore 4 /* other */
        start local 4 // org.graalvm.compiler.nodes.memory.MemoryMap other
         4: .line 246
            aload 3 /* keys */
            aload 4 /* other */
            invokeinterface org.graalvm.compiler.nodes.memory.MemoryMap.getLocations:()Ljava/lang/Iterable;
            invokeinterface jdk.internal.vm.compiler.collections.EconomicSet.addAll:(Ljava/lang/Iterable;)V
        end local 4 // org.graalvm.compiler.nodes.memory.MemoryMap other
         5: .line 245
      StackMap locals:
      StackMap stack:
            aload 5
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 3
         6: .line 248
            getstatic org.graalvm.compiler.phases.common.FloatingReadPhase.$assertionsDisabled:Z
            ifne 7
            aload 3 /* keys */
            invokestatic org.graalvm.compiler.phases.common.FloatingReadPhase.checkNoImmutableLocations:(Ljdk/internal/vm/compiler/collections/EconomicSet;)Z
            ifne 7
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         7: .line 250
      StackMap locals: org.graalvm.compiler.nodes.AbstractMergeNode java.util.List org.graalvm.compiler.phases.common.FloatingReadPhase$MemoryMapImpl jdk.internal.vm.compiler.collections.EconomicSet
      StackMap stack:
            aload 3 /* keys */
            invokeinterface jdk.internal.vm.compiler.collections.EconomicSet.iterator:()Ljava/util/Iterator;
            astore 5
            goto 34
      StackMap locals: org.graalvm.compiler.nodes.AbstractMergeNode java.util.List org.graalvm.compiler.phases.common.FloatingReadPhase$MemoryMapImpl jdk.internal.vm.compiler.collections.EconomicSet top java.util.Iterator
      StackMap stack:
         8: aload 5
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast jdk.internal.vm.compiler.word.LocationIdentity
            astore 4 /* key */
        start local 4 // jdk.internal.vm.compiler.word.LocationIdentity key
         9: .line 251
            iconst_0
            istore 6 /* mergedStatesCount */
        start local 6 // int mergedStatesCount
        10: .line 252
            iconst_0
            istore 7 /* isPhi */
        start local 7 // boolean isPhi
        11: .line 253
            aconst_null
            astore 8 /* merged */
        start local 8 // org.graalvm.compiler.nodes.memory.MemoryNode merged
        12: .line 254
            aload 1 /* states */
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 10
            goto 32
      StackMap locals: org.graalvm.compiler.nodes.AbstractMergeNode java.util.List org.graalvm.compiler.phases.common.FloatingReadPhase$MemoryMapImpl jdk.internal.vm.compiler.collections.EconomicSet jdk.internal.vm.compiler.word.LocationIdentity java.util.Iterator int int org.graalvm.compiler.nodes.memory.MemoryNode top java.util.Iterator
      StackMap stack:
        13: aload 10
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.graalvm.compiler.nodes.memory.MemoryMap
            astore 9 /* state */
        start local 9 // org.graalvm.compiler.nodes.memory.MemoryMap state
        14: .line 255
            aload 9 /* state */
            aload 4 /* key */
            invokeinterface org.graalvm.compiler.nodes.memory.MemoryMap.getLastLocationAccess:(Ljdk/internal/vm/compiler/word/LocationIdentity;)Lorg/graalvm/compiler/nodes/memory/MemoryNode;
            astore 11 /* last */
        start local 11 // org.graalvm.compiler.nodes.memory.MemoryNode last
        15: .line 256
            iload 7 /* isPhi */
            ifeq 18
        16: .line 257
            aload 8 /* merged */
            checkcast org.graalvm.compiler.nodes.memory.MemoryPhiNode
            aload 11 /* last */
            invokestatic org.graalvm.compiler.nodes.ValueNodeUtil.asNode:(Lorg/graalvm/compiler/nodes/memory/MemoryNode;)Lorg/graalvm/compiler/nodes/ValueNode;
            invokevirtual org.graalvm.compiler.nodes.memory.MemoryPhiNode.addInput:(Lorg/graalvm/compiler/nodes/ValueNode;)V
        17: .line 258
            goto 31
        18: .line 259
      StackMap locals: org.graalvm.compiler.nodes.AbstractMergeNode java.util.List org.graalvm.compiler.phases.common.FloatingReadPhase$MemoryMapImpl jdk.internal.vm.compiler.collections.EconomicSet jdk.internal.vm.compiler.word.LocationIdentity java.util.Iterator int int org.graalvm.compiler.nodes.memory.MemoryNode org.graalvm.compiler.nodes.memory.MemoryMap java.util.Iterator org.graalvm.compiler.nodes.memory.MemoryNode
      StackMap stack:
            aload 8 /* merged */
            aload 11 /* last */
            if_acmpeq 31
        19: .line 261
            aload 8 /* merged */
            ifnonnull 22
        20: .line 262
            aload 11 /* last */
            astore 8 /* merged */
        21: .line 263
            goto 31
        22: .line 264
      StackMap locals:
      StackMap stack:
            aload 0 /* merge */
            invokevirtual org.graalvm.compiler.nodes.AbstractMergeNode.graph:()Lorg/graalvm/compiler/nodes/StructuredGraph;
            new org.graalvm.compiler.nodes.memory.MemoryPhiNode
            dup
            aload 0 /* merge */
            aload 4 /* key */
            invokespecial org.graalvm.compiler.nodes.memory.MemoryPhiNode.<init>:(Lorg/graalvm/compiler/nodes/AbstractMergeNode;Ljdk/internal/vm/compiler/word/LocationIdentity;)V
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph.addWithoutUnique:(Lorg/graalvm/compiler/graph/Node;)Lorg/graalvm/compiler/graph/Node;
            checkcast org.graalvm.compiler.nodes.memory.MemoryPhiNode
            astore 12 /* phi */
        start local 12 // org.graalvm.compiler.nodes.memory.MemoryPhiNode phi
        23: .line 265
            iconst_0
            istore 13 /* j */
        start local 13 // int j
        24: goto 27
        25: .line 266
      StackMap locals: org.graalvm.compiler.nodes.memory.MemoryPhiNode int
      StackMap stack:
            aload 12 /* phi */
            aload 8 /* merged */
            invokestatic org.graalvm.compiler.nodes.ValueNodeUtil.asNode:(Lorg/graalvm/compiler/nodes/memory/MemoryNode;)Lorg/graalvm/compiler/nodes/ValueNode;
            invokevirtual org.graalvm.compiler.nodes.memory.MemoryPhiNode.addInput:(Lorg/graalvm/compiler/nodes/ValueNode;)V
        26: .line 265
            iinc 13 /* j */ 1
      StackMap locals:
      StackMap stack:
        27: iload 13 /* j */
            iload 6 /* mergedStatesCount */
            if_icmplt 25
        end local 13 // int j
        28: .line 268
            aload 12 /* phi */
            aload 11 /* last */
            invokestatic org.graalvm.compiler.nodes.ValueNodeUtil.asNode:(Lorg/graalvm/compiler/nodes/memory/MemoryNode;)Lorg/graalvm/compiler/nodes/ValueNode;
            invokevirtual org.graalvm.compiler.nodes.memory.MemoryPhiNode.addInput:(Lorg/graalvm/compiler/nodes/ValueNode;)V
        29: .line 269
            aload 12 /* phi */
            astore 8 /* merged */
        30: .line 270
            iconst_1
            istore 7 /* isPhi */
        end local 12 // org.graalvm.compiler.nodes.memory.MemoryPhiNode phi
        31: .line 273
      StackMap locals:
      StackMap stack:
            iinc 6 /* mergedStatesCount */ 1
        end local 11 // org.graalvm.compiler.nodes.memory.MemoryNode last
        end local 9 // org.graalvm.compiler.nodes.memory.MemoryMap state
        32: .line 254
      StackMap locals: org.graalvm.compiler.nodes.AbstractMergeNode java.util.List org.graalvm.compiler.phases.common.FloatingReadPhase$MemoryMapImpl jdk.internal.vm.compiler.collections.EconomicSet jdk.internal.vm.compiler.word.LocationIdentity java.util.Iterator int int org.graalvm.compiler.nodes.memory.MemoryNode top java.util.Iterator
      StackMap stack:
            aload 10
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 13
        33: .line 275
            aload 2 /* newState */
            getfield org.graalvm.compiler.phases.common.FloatingReadPhase$MemoryMapImpl.lastMemorySnapshot:Ljdk/internal/vm/compiler/collections/EconomicMap;
            aload 4 /* key */
            aload 8 /* merged */
            invokeinterface jdk.internal.vm.compiler.collections.EconomicMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        end local 8 // org.graalvm.compiler.nodes.memory.MemoryNode merged
        end local 7 // boolean isPhi
        end local 6 // int mergedStatesCount
        end local 4 // jdk.internal.vm.compiler.word.LocationIdentity key
        34: .line 250
      StackMap locals: org.graalvm.compiler.nodes.AbstractMergeNode java.util.List org.graalvm.compiler.phases.common.FloatingReadPhase$MemoryMapImpl jdk.internal.vm.compiler.collections.EconomicSet top java.util.Iterator
      StackMap stack:
            aload 5
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 8
        35: .line 277
            aload 2 /* newState */
            areturn
        end local 3 // jdk.internal.vm.compiler.collections.EconomicSet keys
        end local 2 // org.graalvm.compiler.phases.common.FloatingReadPhase$MemoryMapImpl newState
        end local 1 // java.util.List states
        end local 0 // org.graalvm.compiler.nodes.AbstractMergeNode merge
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0   36     0              merge  Lorg/graalvm/compiler/nodes/AbstractMergeNode;
            0   36     1             states  Ljava/util/List<+Lorg/graalvm/compiler/nodes/memory/MemoryMap;>;
            1   36     2           newState  Lorg/graalvm/compiler/phases/common/FloatingReadPhase$MemoryMapImpl;
            2   36     3               keys  Ljdk/internal/vm/compiler/collections/EconomicSet<Ljdk/internal/vm/compiler/word/LocationIdentity;>;
            4    5     4              other  Lorg/graalvm/compiler/nodes/memory/MemoryMap;
            9   34     4                key  Ljdk/internal/vm/compiler/word/LocationIdentity;
           10   34     6  mergedStatesCount  I
           11   34     7              isPhi  Z
           12   34     8             merged  Lorg/graalvm/compiler/nodes/memory/MemoryNode;
           14   32     9              state  Lorg/graalvm/compiler/nodes/memory/MemoryMap;
           15   32    11               last  Lorg/graalvm/compiler/nodes/memory/MemoryNode;
           23   31    12                phi  Lorg/graalvm/compiler/nodes/memory/MemoryPhiNode;
           24   28    13                  j  I
    Signature: (Lorg/graalvm/compiler/nodes/AbstractMergeNode;Ljava/util/List<+Lorg/graalvm/compiler/nodes/memory/MemoryMap;>;)Lorg/graalvm/compiler/phases/common/FloatingReadPhase$MemoryMapImpl;
    MethodParameters:
        Name  Flags
      merge   
      states  

  private static boolean checkNoImmutableLocations(jdk.internal.vm.compiler.collections.EconomicSet<jdk.internal.vm.compiler.word.LocationIdentity>);
    descriptor: (Ljdk/internal/vm/compiler/collections/EconomicSet;)Z
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // jdk.internal.vm.compiler.collections.EconomicSet keys
         0: .line 282
            aload 0 /* keys */
            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/phases/common/FloatingReadPhase.lambda$0(Ljdk/internal/vm/compiler/word/LocationIdentity;)V (6)
                  (Ljdk/internal/vm/compiler/word/LocationIdentity;)V
            invokeinterface jdk.internal.vm.compiler.collections.EconomicSet.forEach:(Ljava/util/function/Consumer;)V
         1: .line 285
            iconst_1
            ireturn
        end local 0 // jdk.internal.vm.compiler.collections.EconomicSet keys
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  keys  Ljdk/internal/vm/compiler/collections/EconomicSet<Ljdk/internal/vm/compiler/word/LocationIdentity;>;
    Signature: (Ljdk/internal/vm/compiler/collections/EconomicSet<Ljdk/internal/vm/compiler/word/LocationIdentity;>;)Z
    MethodParameters:
      Name  Flags
      keys  

  private static void lambda$0(jdk.internal.vm.compiler.word.LocationIdentity);
    descriptor: (Ljdk/internal/vm/compiler/word/LocationIdentity;)V
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // jdk.internal.vm.compiler.word.LocationIdentity t
         0: .line 283
            getstatic org.graalvm.compiler.phases.common.FloatingReadPhase.$assertionsDisabled:Z
            ifne 1
            aload 0 /* t */
            invokevirtual jdk.internal.vm.compiler.word.LocationIdentity.isMutable:()Z
            ifne 1
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         1: .line 284
      StackMap locals:
      StackMap stack:
            return
        end local 0 // jdk.internal.vm.compiler.word.LocationIdentity t
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0     t  Ljdk/internal/vm/compiler/word/LocationIdentity;
}
SourceFile: "FloatingReadPhase.java"
NestMembers:
  org.graalvm.compiler.phases.common.FloatingReadPhase$FloatingReadClosure  org.graalvm.compiler.phases.common.FloatingReadPhase$MemoryMapImpl
InnerClasses:
  public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles
  public final NodeEvent = org.graalvm.compiler.graph.Graph$NodeEvent of org.graalvm.compiler.graph.Graph
  public abstract NodeEventListener = org.graalvm.compiler.graph.Graph$NodeEventListener of org.graalvm.compiler.graph.Graph
  public final NodeEventScope = org.graalvm.compiler.graph.Graph$NodeEventScope of org.graalvm.compiler.graph.Graph
  public abstract Multi = org.graalvm.compiler.nodes.memory.MemoryCheckpoint$Multi of org.graalvm.compiler.nodes.memory.MemoryCheckpoint
  public abstract Single = org.graalvm.compiler.nodes.memory.MemoryCheckpoint$Single of org.graalvm.compiler.nodes.memory.MemoryCheckpoint
  public FloatingReadClosure = org.graalvm.compiler.phases.common.FloatingReadPhase$FloatingReadClosure of org.graalvm.compiler.phases.common.FloatingReadPhase
  public MemoryMapImpl = org.graalvm.compiler.phases.common.FloatingReadPhase$MemoryMapImpl of org.graalvm.compiler.phases.common.FloatingReadPhase
  public abstract NodeIteratorClosure = org.graalvm.compiler.phases.graph.ReentrantNodeIterator$NodeIteratorClosure of org.graalvm.compiler.phases.graph.ReentrantNodeIterator