public class org.graalvm.compiler.phases.common.FloatingReadPhase$FloatingReadClosure extends org.graalvm.compiler.phases.graph.ReentrantNodeIterator$NodeIteratorClosure<org.graalvm.compiler.phases.common.FloatingReadPhase$MemoryMapImpl>
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.graalvm.compiler.phases.common.FloatingReadPhase$FloatingReadClosure
  super_class: org.graalvm.compiler.phases.graph.ReentrantNodeIterator$NodeIteratorClosure
{
  private final jdk.internal.vm.compiler.collections.EconomicMap<org.graalvm.compiler.nodes.LoopBeginNode, jdk.internal.vm.compiler.collections.EconomicSet<jdk.internal.vm.compiler.word.LocationIdentity>> modifiedInLoops;
    descriptor: Ljdk/internal/vm/compiler/collections/EconomicMap;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Ljdk/internal/vm/compiler/collections/EconomicMap<Lorg/graalvm/compiler/nodes/LoopBeginNode;Ljdk/internal/vm/compiler/collections/EconomicSet<Ljdk/internal/vm/compiler/word/LocationIdentity;>;>;

  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 288
            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$FloatingReadClosure.$assertionsDisabled:Z
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public void <init>(jdk.internal.vm.compiler.collections.EconomicMap<org.graalvm.compiler.nodes.LoopBeginNode, jdk.internal.vm.compiler.collections.EconomicSet<jdk.internal.vm.compiler.word.LocationIdentity>>, boolean, );
    descriptor: (Ljdk/internal/vm/compiler/collections/EconomicMap;ZZ)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=4, args_size=4
        start local 0 // org.graalvm.compiler.phases.common.FloatingReadPhase$FloatingReadClosure this
        start local 1 // jdk.internal.vm.compiler.collections.EconomicMap modifiedInLoops
        start local 2 // boolean createFloatingReads
        start local 3 // boolean createMemoryMapNodes
         0: .line 294
            aload 0 /* this */
            invokespecial org.graalvm.compiler.phases.graph.ReentrantNodeIterator$NodeIteratorClosure.<init>:()V
         1: .line 295
            aload 0 /* this */
            aload 1 /* modifiedInLoops */
            putfield org.graalvm.compiler.phases.common.FloatingReadPhase$FloatingReadClosure.modifiedInLoops:Ljdk/internal/vm/compiler/collections/EconomicMap;
         2: .line 296
            aload 0 /* this */
            iload 2 /* createFloatingReads */
            putfield org.graalvm.compiler.phases.common.FloatingReadPhase$FloatingReadClosure.createFloatingReads:Z
         3: .line 297
            aload 0 /* this */
            iload 3 /* createMemoryMapNodes */
            putfield org.graalvm.compiler.phases.common.FloatingReadPhase$FloatingReadClosure.createMemoryMapNodes:Z
         4: .line 298
            return
        end local 3 // boolean createMemoryMapNodes
        end local 2 // boolean createFloatingReads
        end local 1 // jdk.internal.vm.compiler.collections.EconomicMap modifiedInLoops
        end local 0 // org.graalvm.compiler.phases.common.FloatingReadPhase$FloatingReadClosure this
      LocalVariableTable:
        Start  End  Slot                  Name  Signature
            0    5     0                  this  Lorg/graalvm/compiler/phases/common/FloatingReadPhase$FloatingReadClosure;
            0    5     1       modifiedInLoops  Ljdk/internal/vm/compiler/collections/EconomicMap<Lorg/graalvm/compiler/nodes/LoopBeginNode;Ljdk/internal/vm/compiler/collections/EconomicSet<Ljdk/internal/vm/compiler/word/LocationIdentity;>;>;
            0    5     2   createFloatingReads  Z
            0    5     3  createMemoryMapNodes  Z
    Signature: (Ljdk/internal/vm/compiler/collections/EconomicMap<Lorg/graalvm/compiler/nodes/LoopBeginNode;Ljdk/internal/vm/compiler/collections/EconomicSet<Ljdk/internal/vm/compiler/word/LocationIdentity;>;>;ZZ)V
    MethodParameters:
                      Name  Flags
      modifiedInLoops       
      createFloatingReads   
      createMemoryMapNodes  

  protected org.graalvm.compiler.phases.common.FloatingReadPhase$MemoryMapImpl processNode(org.graalvm.compiler.nodes.FixedNode, org.graalvm.compiler.phases.common.FloatingReadPhase$MemoryMapImpl);
    descriptor: (Lorg/graalvm/compiler/nodes/FixedNode;Lorg/graalvm/compiler/phases/common/FloatingReadPhase$MemoryMapImpl;)Lorg/graalvm/compiler/phases/common/FloatingReadPhase$MemoryMapImpl;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=5, locals=3, args_size=3
        start local 0 // org.graalvm.compiler.phases.common.FloatingReadPhase$FloatingReadClosure this
        start local 1 // org.graalvm.compiler.nodes.FixedNode node
        start local 2 // org.graalvm.compiler.phases.common.FloatingReadPhase$MemoryMapImpl state
         0: .line 302
            aload 1 /* node */
            instanceof org.graalvm.compiler.nodes.memory.MemoryAnchorNode
            ifeq 3
         1: .line 303
            aload 1 /* node */
            checkcast org.graalvm.compiler.nodes.memory.MemoryAnchorNode
            aload 2 /* state */
            invokestatic org.graalvm.compiler.phases.common.FloatingReadPhase$FloatingReadClosure.processAnchor:(Lorg/graalvm/compiler/nodes/memory/MemoryAnchorNode;Lorg/graalvm/compiler/phases/common/FloatingReadPhase$MemoryMapImpl;)V
         2: .line 304
            aload 2 /* state */
            areturn
         3: .line 307
      StackMap locals:
      StackMap stack:
            aload 1 /* node */
            instanceof org.graalvm.compiler.nodes.memory.MemoryAccess
            ifeq 5
         4: .line 308
            aload 1 /* node */
            checkcast org.graalvm.compiler.nodes.memory.MemoryAccess
            aload 2 /* state */
            invokestatic org.graalvm.compiler.phases.common.FloatingReadPhase$FloatingReadClosure.processAccess:(Lorg/graalvm/compiler/nodes/memory/MemoryAccess;Lorg/graalvm/compiler/phases/common/FloatingReadPhase$MemoryMapImpl;)V
         5: .line 311
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.graalvm.compiler.phases.common.FloatingReadPhase$FloatingReadClosure.createFloatingReads:Z
            aload 1 /* node */
            instanceof org.graalvm.compiler.nodes.memory.FloatableAccessNode
            iand
            ifeq 8
         6: .line 312
            aload 1 /* node */
            checkcast org.graalvm.compiler.nodes.memory.FloatableAccessNode
            aload 2 /* state */
            invokestatic org.graalvm.compiler.phases.common.FloatingReadPhase$FloatingReadClosure.processFloatable:(Lorg/graalvm/compiler/nodes/memory/FloatableAccessNode;Lorg/graalvm/compiler/phases/common/FloatingReadPhase$MemoryMapImpl;)V
         7: .line 313
            goto 13
      StackMap locals:
      StackMap stack:
         8: aload 1 /* node */
            instanceof org.graalvm.compiler.nodes.memory.MemoryCheckpoint$Single
            ifeq 11
         9: .line 314
            aload 1 /* node */
            checkcast org.graalvm.compiler.nodes.memory.MemoryCheckpoint$Single
            aload 2 /* state */
            invokestatic org.graalvm.compiler.phases.common.FloatingReadPhase$FloatingReadClosure.processCheckpoint:(Lorg/graalvm/compiler/nodes/memory/MemoryCheckpoint$Single;Lorg/graalvm/compiler/phases/common/FloatingReadPhase$MemoryMapImpl;)V
        10: .line 315
            goto 13
      StackMap locals:
      StackMap stack:
        11: aload 1 /* node */
            instanceof org.graalvm.compiler.nodes.memory.MemoryCheckpoint$Multi
            ifeq 13
        12: .line 316
            aload 1 /* node */
            checkcast org.graalvm.compiler.nodes.memory.MemoryCheckpoint$Multi
            aload 2 /* state */
            invokestatic org.graalvm.compiler.phases.common.FloatingReadPhase$FloatingReadClosure.processCheckpoint:(Lorg/graalvm/compiler/nodes/memory/MemoryCheckpoint$Multi;Lorg/graalvm/compiler/phases/common/FloatingReadPhase$MemoryMapImpl;)V
        13: .line 318
      StackMap locals:
      StackMap stack:
            getstatic org.graalvm.compiler.phases.common.FloatingReadPhase$FloatingReadClosure.$assertionsDisabled:Z
            ifne 14
            aload 1 /* node */
            invokestatic org.graalvm.compiler.nodes.memory.MemoryCheckpoint$TypeAssertion.correctType:(Lorg/graalvm/compiler/graph/Node;)Z
            ifne 14
            new java.lang.AssertionError
            dup
            aload 1 /* node */
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
        14: .line 320
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.graalvm.compiler.phases.common.FloatingReadPhase$FloatingReadClosure.createMemoryMapNodes:Z
            ifeq 16
            aload 1 /* node */
            instanceof org.graalvm.compiler.nodes.ReturnNode
            ifeq 16
        15: .line 321
            aload 1 /* node */
            checkcast org.graalvm.compiler.nodes.ReturnNode
            aload 1 /* node */
            invokevirtual org.graalvm.compiler.nodes.FixedNode.graph:()Lorg/graalvm/compiler/nodes/StructuredGraph;
            new org.graalvm.compiler.nodes.memory.MemoryMapNode
            dup
            aload 2 /* state */
            getfield org.graalvm.compiler.phases.common.FloatingReadPhase$MemoryMapImpl.lastMemorySnapshot:Ljdk/internal/vm/compiler/collections/EconomicMap;
            invokespecial org.graalvm.compiler.nodes.memory.MemoryMapNode.<init>:(Ljdk/internal/vm/compiler/collections/EconomicMap;)V
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph.unique:(Lorg/graalvm/compiler/graph/Node;)Lorg/graalvm/compiler/graph/Node;
            checkcast org.graalvm.compiler.nodes.memory.MemoryMapNode
            invokevirtual org.graalvm.compiler.nodes.ReturnNode.setMemoryMap:(Lorg/graalvm/compiler/nodes/memory/MemoryMapNode;)V
        16: .line 323
      StackMap locals:
      StackMap stack:
            aload 2 /* state */
            areturn
        end local 2 // org.graalvm.compiler.phases.common.FloatingReadPhase$MemoryMapImpl state
        end local 1 // org.graalvm.compiler.nodes.FixedNode node
        end local 0 // org.graalvm.compiler.phases.common.FloatingReadPhase$FloatingReadClosure this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   17     0   this  Lorg/graalvm/compiler/phases/common/FloatingReadPhase$FloatingReadClosure;
            0   17     1   node  Lorg/graalvm/compiler/nodes/FixedNode;
            0   17     2  state  Lorg/graalvm/compiler/phases/common/FloatingReadPhase$MemoryMapImpl;
    MethodParameters:
       Name  Flags
      node   
      state  

  private static void processAnchor(org.graalvm.compiler.nodes.memory.MemoryAnchorNode, org.graalvm.compiler.phases.common.FloatingReadPhase$MemoryMapImpl);
    descriptor: (Lorg/graalvm/compiler/nodes/memory/MemoryAnchorNode;Lorg/graalvm/compiler/phases/common/FloatingReadPhase$MemoryMapImpl;)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=6, args_size=2
        start local 0 // org.graalvm.compiler.nodes.memory.MemoryAnchorNode anchor
        start local 1 // org.graalvm.compiler.phases.common.FloatingReadPhase$MemoryMapImpl state
         0: .line 331
            aload 0 /* anchor */
            invokevirtual org.graalvm.compiler.nodes.memory.MemoryAnchorNode.usages:()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 3
            goto 8
      StackMap locals: org.graalvm.compiler.nodes.memory.MemoryAnchorNode org.graalvm.compiler.phases.common.FloatingReadPhase$MemoryMapImpl top java.util.Iterator
      StackMap stack:
         1: aload 3
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.graalvm.compiler.graph.Node
            astore 2 /* node */
        start local 2 // org.graalvm.compiler.graph.Node node
         2: .line 332
            aload 2 /* node */
            instanceof org.graalvm.compiler.nodes.memory.MemoryAccess
            ifeq 8
         3: .line 333
            aload 2 /* node */
            checkcast org.graalvm.compiler.nodes.memory.MemoryAccess
            astore 4 /* access */
        start local 4 // org.graalvm.compiler.nodes.memory.MemoryAccess access
         4: .line 334
            aload 4 /* access */
            invokeinterface org.graalvm.compiler.nodes.memory.MemoryAccess.getLastLocationAccess:()Lorg/graalvm/compiler/nodes/memory/MemoryNode;
            aload 0 /* anchor */
            if_acmpne 8
         5: .line 335
            aload 1 /* state */
            aload 4 /* access */
            invokeinterface org.graalvm.compiler.nodes.memory.MemoryAccess.getLocationIdentity:()Ljdk/internal/vm/compiler/word/LocationIdentity;
            invokevirtual org.graalvm.compiler.phases.common.FloatingReadPhase$MemoryMapImpl.getLastLocationAccess:(Ljdk/internal/vm/compiler/word/LocationIdentity;)Lorg/graalvm/compiler/nodes/memory/MemoryNode;
            astore 5 /* lastLocationAccess */
        start local 5 // org.graalvm.compiler.nodes.memory.MemoryNode lastLocationAccess
         6: .line 336
            getstatic org.graalvm.compiler.phases.common.FloatingReadPhase$FloatingReadClosure.$assertionsDisabled:Z
            ifne 7
            aload 5 /* lastLocationAccess */
            ifnonnull 7
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         7: .line 337
      StackMap locals: org.graalvm.compiler.nodes.memory.MemoryAnchorNode org.graalvm.compiler.phases.common.FloatingReadPhase$MemoryMapImpl org.graalvm.compiler.graph.Node java.util.Iterator org.graalvm.compiler.nodes.memory.MemoryAccess org.graalvm.compiler.nodes.memory.MemoryNode
      StackMap stack:
            aload 4 /* access */
            aload 5 /* lastLocationAccess */
            invokeinterface org.graalvm.compiler.nodes.memory.MemoryAccess.setLastLocationAccess:(Lorg/graalvm/compiler/nodes/memory/MemoryNode;)V
        end local 5 // org.graalvm.compiler.nodes.memory.MemoryNode lastLocationAccess
        end local 4 // org.graalvm.compiler.nodes.memory.MemoryAccess access
        end local 2 // org.graalvm.compiler.graph.Node node
         8: .line 331
      StackMap locals: org.graalvm.compiler.nodes.memory.MemoryAnchorNode org.graalvm.compiler.phases.common.FloatingReadPhase$MemoryMapImpl top java.util.Iterator
      StackMap stack:
            aload 3
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 1
         9: .line 342
            aload 0 /* anchor */
            invokevirtual org.graalvm.compiler.nodes.memory.MemoryAnchorNode.hasNoUsages:()Z
            ifeq 11
        10: .line 343
            aload 0 /* anchor */
            invokevirtual org.graalvm.compiler.nodes.memory.MemoryAnchorNode.graph:()Lorg/graalvm/compiler/nodes/StructuredGraph;
            aload 0 /* anchor */
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph.removeFixed:(Lorg/graalvm/compiler/nodes/FixedWithNextNode;)V
        11: .line 345
      StackMap locals: org.graalvm.compiler.nodes.memory.MemoryAnchorNode org.graalvm.compiler.phases.common.FloatingReadPhase$MemoryMapImpl
      StackMap stack:
            return
        end local 1 // org.graalvm.compiler.phases.common.FloatingReadPhase$MemoryMapImpl state
        end local 0 // org.graalvm.compiler.nodes.memory.MemoryAnchorNode anchor
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0   12     0              anchor  Lorg/graalvm/compiler/nodes/memory/MemoryAnchorNode;
            0   12     1               state  Lorg/graalvm/compiler/phases/common/FloatingReadPhase$MemoryMapImpl;
            2    8     2                node  Lorg/graalvm/compiler/graph/Node;
            4    8     4              access  Lorg/graalvm/compiler/nodes/memory/MemoryAccess;
            6    8     5  lastLocationAccess  Lorg/graalvm/compiler/nodes/memory/MemoryNode;
    MethodParameters:
        Name  Flags
      anchor  
      state   

  private static void processAccess(org.graalvm.compiler.nodes.memory.MemoryAccess, org.graalvm.compiler.phases.common.FloatingReadPhase$MemoryMapImpl);
    descriptor: (Lorg/graalvm/compiler/nodes/memory/MemoryAccess;Lorg/graalvm/compiler/phases/common/FloatingReadPhase$MemoryMapImpl;)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=4, args_size=2
        start local 0 // org.graalvm.compiler.nodes.memory.MemoryAccess access
        start local 1 // org.graalvm.compiler.phases.common.FloatingReadPhase$MemoryMapImpl state
         0: .line 348
            aload 0 /* access */
            invokeinterface org.graalvm.compiler.nodes.memory.MemoryAccess.getLocationIdentity:()Ljdk/internal/vm/compiler/word/LocationIdentity;
            astore 2 /* locationIdentity */
        start local 2 // jdk.internal.vm.compiler.word.LocationIdentity locationIdentity
         1: .line 349
            aload 2 /* locationIdentity */
            invokestatic jdk.internal.vm.compiler.word.LocationIdentity.any:()Ljdk/internal/vm/compiler/word/LocationIdentity;
            invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
            ifne 4
         2: .line 350
            aload 1 /* state */
            aload 2 /* locationIdentity */
            invokevirtual org.graalvm.compiler.phases.common.FloatingReadPhase$MemoryMapImpl.getLastLocationAccess:(Ljdk/internal/vm/compiler/word/LocationIdentity;)Lorg/graalvm/compiler/nodes/memory/MemoryNode;
            astore 3 /* lastLocationAccess */
        start local 3 // org.graalvm.compiler.nodes.memory.MemoryNode lastLocationAccess
         3: .line 351
            aload 0 /* access */
            aload 3 /* lastLocationAccess */
            invokeinterface org.graalvm.compiler.nodes.memory.MemoryAccess.setLastLocationAccess:(Lorg/graalvm/compiler/nodes/memory/MemoryNode;)V
        end local 3 // org.graalvm.compiler.nodes.memory.MemoryNode lastLocationAccess
         4: .line 353
      StackMap locals: jdk.internal.vm.compiler.word.LocationIdentity
      StackMap stack:
            return
        end local 2 // jdk.internal.vm.compiler.word.LocationIdentity locationIdentity
        end local 1 // org.graalvm.compiler.phases.common.FloatingReadPhase$MemoryMapImpl state
        end local 0 // org.graalvm.compiler.nodes.memory.MemoryAccess access
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0    5     0              access  Lorg/graalvm/compiler/nodes/memory/MemoryAccess;
            0    5     1               state  Lorg/graalvm/compiler/phases/common/FloatingReadPhase$MemoryMapImpl;
            1    5     2    locationIdentity  Ljdk/internal/vm/compiler/word/LocationIdentity;
            3    4     3  lastLocationAccess  Lorg/graalvm/compiler/nodes/memory/MemoryNode;
    MethodParameters:
        Name  Flags
      access  
      state   

  private static void processCheckpoint(org.graalvm.compiler.nodes.memory.MemoryCheckpoint$Single, org.graalvm.compiler.phases.common.FloatingReadPhase$MemoryMapImpl);
    descriptor: (Lorg/graalvm/compiler/nodes/memory/MemoryCheckpoint$Single;Lorg/graalvm/compiler/phases/common/FloatingReadPhase$MemoryMapImpl;)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.graalvm.compiler.nodes.memory.MemoryCheckpoint$Single checkpoint
        start local 1 // org.graalvm.compiler.phases.common.FloatingReadPhase$MemoryMapImpl state
         0: .line 356
            aload 0 /* checkpoint */
            invokeinterface org.graalvm.compiler.nodes.memory.MemoryCheckpoint$Single.getLocationIdentity:()Ljdk/internal/vm/compiler/word/LocationIdentity;
            aload 0 /* checkpoint */
            aload 1 /* state */
            invokestatic org.graalvm.compiler.phases.common.FloatingReadPhase$FloatingReadClosure.processIdentity:(Ljdk/internal/vm/compiler/word/LocationIdentity;Lorg/graalvm/compiler/nodes/memory/MemoryCheckpoint;Lorg/graalvm/compiler/phases/common/FloatingReadPhase$MemoryMapImpl;)V
         1: .line 357
            return
        end local 1 // org.graalvm.compiler.phases.common.FloatingReadPhase$MemoryMapImpl state
        end local 0 // org.graalvm.compiler.nodes.memory.MemoryCheckpoint$Single checkpoint
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    2     0  checkpoint  Lorg/graalvm/compiler/nodes/memory/MemoryCheckpoint$Single;
            0    2     1       state  Lorg/graalvm/compiler/phases/common/FloatingReadPhase$MemoryMapImpl;
    MethodParameters:
            Name  Flags
      checkpoint  
      state       

  private static void processCheckpoint(org.graalvm.compiler.nodes.memory.MemoryCheckpoint$Multi, org.graalvm.compiler.phases.common.FloatingReadPhase$MemoryMapImpl);
    descriptor: (Lorg/graalvm/compiler/nodes/memory/MemoryCheckpoint$Multi;Lorg/graalvm/compiler/phases/common/FloatingReadPhase$MemoryMapImpl;)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=6, args_size=2
        start local 0 // org.graalvm.compiler.nodes.memory.MemoryCheckpoint$Multi checkpoint
        start local 1 // org.graalvm.compiler.phases.common.FloatingReadPhase$MemoryMapImpl state
         0: .line 360
            aload 0 /* checkpoint */
            invokeinterface org.graalvm.compiler.nodes.memory.MemoryCheckpoint$Multi.getLocationIdentities:()[Ljdk/internal/vm/compiler/word/LocationIdentity;
            dup
            astore 5
            arraylength
            istore 4
            iconst_0
            istore 3
            goto 4
      StackMap locals: org.graalvm.compiler.nodes.memory.MemoryCheckpoint$Multi org.graalvm.compiler.phases.common.FloatingReadPhase$MemoryMapImpl top int int jdk.internal.vm.compiler.word.LocationIdentity[]
      StackMap stack:
         1: aload 5
            iload 3
            aaload
            astore 2 /* identity */
        start local 2 // jdk.internal.vm.compiler.word.LocationIdentity identity
         2: .line 361
            aload 2 /* identity */
            aload 0 /* checkpoint */
            aload 1 /* state */
            invokestatic org.graalvm.compiler.phases.common.FloatingReadPhase$FloatingReadClosure.processIdentity:(Ljdk/internal/vm/compiler/word/LocationIdentity;Lorg/graalvm/compiler/nodes/memory/MemoryCheckpoint;Lorg/graalvm/compiler/phases/common/FloatingReadPhase$MemoryMapImpl;)V
        end local 2 // jdk.internal.vm.compiler.word.LocationIdentity identity
         3: .line 360
            iinc 3 1
      StackMap locals:
      StackMap stack:
         4: iload 3
            iload 4
            if_icmplt 1
         5: .line 363
            return
        end local 1 // org.graalvm.compiler.phases.common.FloatingReadPhase$MemoryMapImpl state
        end local 0 // org.graalvm.compiler.nodes.memory.MemoryCheckpoint$Multi checkpoint
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    6     0  checkpoint  Lorg/graalvm/compiler/nodes/memory/MemoryCheckpoint$Multi;
            0    6     1       state  Lorg/graalvm/compiler/phases/common/FloatingReadPhase$MemoryMapImpl;
            2    3     2    identity  Ljdk/internal/vm/compiler/word/LocationIdentity;
    MethodParameters:
            Name  Flags
      checkpoint  
      state       

  private static void processIdentity(jdk.internal.vm.compiler.word.LocationIdentity, org.graalvm.compiler.nodes.memory.MemoryCheckpoint, org.graalvm.compiler.phases.common.FloatingReadPhase$MemoryMapImpl);
    descriptor: (Ljdk/internal/vm/compiler/word/LocationIdentity;Lorg/graalvm/compiler/nodes/memory/MemoryCheckpoint;Lorg/graalvm/compiler/phases/common/FloatingReadPhase$MemoryMapImpl;)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // jdk.internal.vm.compiler.word.LocationIdentity identity
        start local 1 // org.graalvm.compiler.nodes.memory.MemoryCheckpoint checkpoint
        start local 2 // org.graalvm.compiler.phases.common.FloatingReadPhase$MemoryMapImpl state
         0: .line 366
            aload 0 /* identity */
            invokevirtual jdk.internal.vm.compiler.word.LocationIdentity.isAny:()Z
            ifeq 2
         1: .line 367
            aload 2 /* state */
            getfield org.graalvm.compiler.phases.common.FloatingReadPhase$MemoryMapImpl.lastMemorySnapshot:Ljdk/internal/vm/compiler/collections/EconomicMap;
            invokeinterface jdk.internal.vm.compiler.collections.EconomicMap.clear:()V
         2: .line 369
      StackMap locals:
      StackMap stack:
            aload 0 /* identity */
            invokevirtual jdk.internal.vm.compiler.word.LocationIdentity.isMutable:()Z
            ifeq 4
         3: .line 370
            aload 2 /* state */
            getfield org.graalvm.compiler.phases.common.FloatingReadPhase$MemoryMapImpl.lastMemorySnapshot:Ljdk/internal/vm/compiler/collections/EconomicMap;
            aload 0 /* identity */
            aload 1 /* checkpoint */
            invokeinterface jdk.internal.vm.compiler.collections.EconomicMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         4: .line 372
      StackMap locals:
      StackMap stack:
            return
        end local 2 // org.graalvm.compiler.phases.common.FloatingReadPhase$MemoryMapImpl state
        end local 1 // org.graalvm.compiler.nodes.memory.MemoryCheckpoint checkpoint
        end local 0 // jdk.internal.vm.compiler.word.LocationIdentity identity
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    5     0    identity  Ljdk/internal/vm/compiler/word/LocationIdentity;
            0    5     1  checkpoint  Lorg/graalvm/compiler/nodes/memory/MemoryCheckpoint;
            0    5     2       state  Lorg/graalvm/compiler/phases/common/FloatingReadPhase$MemoryMapImpl;
    MethodParameters:
            Name  Flags
      identity    
      checkpoint  
      state       

  private static void processFloatable(org.graalvm.compiler.nodes.memory.FloatableAccessNode, org.graalvm.compiler.phases.common.FloatingReadPhase$MemoryMapImpl);
    descriptor: (Lorg/graalvm/compiler/nodes/memory/FloatableAccessNode;Lorg/graalvm/compiler/phases/common/FloatingReadPhase$MemoryMapImpl;)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=9, args_size=2
        start local 0 // org.graalvm.compiler.nodes.memory.FloatableAccessNode accessNode
        start local 1 // org.graalvm.compiler.phases.common.FloatingReadPhase$MemoryMapImpl state
         0: .line 376
            aload 0 /* accessNode */
            invokevirtual org.graalvm.compiler.nodes.memory.FloatableAccessNode.graph:()Lorg/graalvm/compiler/nodes/StructuredGraph;
            astore 2 /* graph */
        start local 2 // org.graalvm.compiler.nodes.StructuredGraph graph
         1: .line 377
            aload 0 /* accessNode */
            invokevirtual org.graalvm.compiler.nodes.memory.FloatableAccessNode.getLocationIdentity:()Ljdk/internal/vm/compiler/word/LocationIdentity;
            astore 3 /* locationIdentity */
        start local 3 // jdk.internal.vm.compiler.word.LocationIdentity locationIdentity
         2: .line 378
            aload 0 /* accessNode */
            invokevirtual org.graalvm.compiler.nodes.memory.FloatableAccessNode.canFloat:()Z
            ifeq 15
         3: .line 379
            getstatic org.graalvm.compiler.phases.common.FloatingReadPhase$FloatingReadClosure.$assertionsDisabled:Z
            ifne 4
            aload 0 /* accessNode */
            invokevirtual org.graalvm.compiler.nodes.memory.FloatableAccessNode.getNullCheck:()Z
            ifeq 4
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         4: .line 380
      StackMap locals: org.graalvm.compiler.nodes.StructuredGraph jdk.internal.vm.compiler.word.LocationIdentity
      StackMap stack:
            aload 1 /* state */
            aload 3 /* locationIdentity */
            invokevirtual org.graalvm.compiler.phases.common.FloatingReadPhase$MemoryMapImpl.getLastLocationAccess:(Ljdk/internal/vm/compiler/word/LocationIdentity;)Lorg/graalvm/compiler/nodes/memory/MemoryNode;
            astore 4 /* lastLocationAccess */
        start local 4 // org.graalvm.compiler.nodes.memory.MemoryNode lastLocationAccess
         5: .line 381
            aconst_null
            astore 5
            aconst_null
            astore 6
         6: aload 0 /* accessNode */
            invokevirtual org.graalvm.compiler.nodes.memory.FloatableAccessNode.withNodeSourcePosition:()Lorg/graalvm/compiler/debug/DebugCloseable;
            astore 7 /* position */
        start local 7 // org.graalvm.compiler.debug.DebugCloseable position
         7: .line 382
            aload 0 /* accessNode */
            aload 4 /* lastLocationAccess */
            invokevirtual org.graalvm.compiler.nodes.memory.FloatableAccessNode.asFloatingNode:(Lorg/graalvm/compiler/nodes/memory/MemoryNode;)Lorg/graalvm/compiler/nodes/memory/FloatingAccessNode;
            astore 8 /* floatingNode */
        start local 8 // org.graalvm.compiler.nodes.memory.FloatingAccessNode floatingNode
         8: .line 383
            aload 2 /* graph */
            aload 0 /* accessNode */
            aload 8 /* floatingNode */
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph.replaceFixedWithFloating:(Lorg/graalvm/compiler/nodes/FixedWithNextNode;Lorg/graalvm/compiler/nodes/ValueNode;)V
        end local 8 // org.graalvm.compiler.nodes.memory.FloatingAccessNode floatingNode
         9: .line 384
            aload 7 /* position */
            ifnull 15
            aload 7 /* position */
            invokeinterface org.graalvm.compiler.debug.DebugCloseable.close:()V
            goto 15
      StackMap locals: org.graalvm.compiler.nodes.memory.FloatableAccessNode org.graalvm.compiler.phases.common.FloatingReadPhase$MemoryMapImpl org.graalvm.compiler.nodes.StructuredGraph jdk.internal.vm.compiler.word.LocationIdentity org.graalvm.compiler.nodes.memory.MemoryNode java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.DebugCloseable
      StackMap stack: java.lang.Throwable
        10: astore 5
            aload 7 /* position */
            ifnull 11
            aload 7 /* position */
            invokeinterface org.graalvm.compiler.debug.DebugCloseable.close:()V
        end local 7 // org.graalvm.compiler.debug.DebugCloseable position
      StackMap locals:
      StackMap stack:
        11: aload 5
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
        12: astore 6
            aload 5
            ifnonnull 13
            aload 6
            astore 5
            goto 14
      StackMap locals:
      StackMap stack:
        13: aload 5
            aload 6
            if_acmpeq 14
            aload 5
            aload 6
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        14: aload 5
            athrow
        end local 4 // org.graalvm.compiler.nodes.memory.MemoryNode lastLocationAccess
        15: .line 386
      StackMap locals:
      StackMap stack:
            return
        end local 3 // jdk.internal.vm.compiler.word.LocationIdentity locationIdentity
        end local 2 // org.graalvm.compiler.nodes.StructuredGraph graph
        end local 1 // org.graalvm.compiler.phases.common.FloatingReadPhase$MemoryMapImpl state
        end local 0 // org.graalvm.compiler.nodes.memory.FloatableAccessNode accessNode
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0   16     0          accessNode  Lorg/graalvm/compiler/nodes/memory/FloatableAccessNode;
            0   16     1               state  Lorg/graalvm/compiler/phases/common/FloatingReadPhase$MemoryMapImpl;
            1   16     2               graph  Lorg/graalvm/compiler/nodes/StructuredGraph;
            2   16     3    locationIdentity  Ljdk/internal/vm/compiler/word/LocationIdentity;
            5   15     4  lastLocationAccess  Lorg/graalvm/compiler/nodes/memory/MemoryNode;
            7   11     7            position  Lorg/graalvm/compiler/debug/DebugCloseable;
            8    9     8        floatingNode  Lorg/graalvm/compiler/nodes/memory/FloatingAccessNode;
      Exception table:
        from    to  target  type
           7     9      10  any
           6    12      12  any
    MethodParameters:
            Name  Flags
      accessNode  
      state       

  protected org.graalvm.compiler.phases.common.FloatingReadPhase$MemoryMapImpl merge(org.graalvm.compiler.nodes.AbstractMergeNode, java.util.List<org.graalvm.compiler.phases.common.FloatingReadPhase$MemoryMapImpl>);
    descriptor: (Lorg/graalvm/compiler/nodes/AbstractMergeNode;Ljava/util/List;)Lorg/graalvm/compiler/phases/common/FloatingReadPhase$MemoryMapImpl;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // org.graalvm.compiler.phases.common.FloatingReadPhase$FloatingReadClosure this
        start local 1 // org.graalvm.compiler.nodes.AbstractMergeNode merge
        start local 2 // java.util.List states
         0: .line 390
            aload 1 /* merge */
            aload 2 /* states */
            invokestatic org.graalvm.compiler.phases.common.FloatingReadPhase.mergeMemoryMaps:(Lorg/graalvm/compiler/nodes/AbstractMergeNode;Ljava/util/List;)Lorg/graalvm/compiler/phases/common/FloatingReadPhase$MemoryMapImpl;
            areturn
        end local 2 // java.util.List states
        end local 1 // org.graalvm.compiler.nodes.AbstractMergeNode merge
        end local 0 // org.graalvm.compiler.phases.common.FloatingReadPhase$FloatingReadClosure this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    1     0    this  Lorg/graalvm/compiler/phases/common/FloatingReadPhase$FloatingReadClosure;
            0    1     1   merge  Lorg/graalvm/compiler/nodes/AbstractMergeNode;
            0    1     2  states  Ljava/util/List<Lorg/graalvm/compiler/phases/common/FloatingReadPhase$MemoryMapImpl;>;
    Signature: (Lorg/graalvm/compiler/nodes/AbstractMergeNode;Ljava/util/List<Lorg/graalvm/compiler/phases/common/FloatingReadPhase$MemoryMapImpl;>;)Lorg/graalvm/compiler/phases/common/FloatingReadPhase$MemoryMapImpl;
    MethodParameters:
        Name  Flags
      merge   
      states  

  protected org.graalvm.compiler.phases.common.FloatingReadPhase$MemoryMapImpl afterSplit(org.graalvm.compiler.nodes.AbstractBeginNode, org.graalvm.compiler.phases.common.FloatingReadPhase$MemoryMapImpl);
    descriptor: (Lorg/graalvm/compiler/nodes/AbstractBeginNode;Lorg/graalvm/compiler/phases/common/FloatingReadPhase$MemoryMapImpl;)Lorg/graalvm/compiler/phases/common/FloatingReadPhase$MemoryMapImpl;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=3, locals=5, args_size=3
        start local 0 // org.graalvm.compiler.phases.common.FloatingReadPhase$FloatingReadClosure this
        start local 1 // org.graalvm.compiler.nodes.AbstractBeginNode node
        start local 2 // org.graalvm.compiler.phases.common.FloatingReadPhase$MemoryMapImpl oldState
         0: .line 395
            new org.graalvm.compiler.phases.common.FloatingReadPhase$MemoryMapImpl
            dup
            aload 2 /* oldState */
            invokespecial org.graalvm.compiler.phases.common.FloatingReadPhase$MemoryMapImpl.<init>:(Lorg/graalvm/compiler/phases/common/FloatingReadPhase$MemoryMapImpl;)V
            astore 3 /* result */
        start local 3 // org.graalvm.compiler.phases.common.FloatingReadPhase$MemoryMapImpl result
         1: .line 396
            aload 1 /* node */
            invokevirtual org.graalvm.compiler.nodes.AbstractBeginNode.predecessor:()Lorg/graalvm/compiler/graph/Node;
            instanceof org.graalvm.compiler.nodes.InvokeWithExceptionNode
            ifeq 4
         2: .line 404
            aload 1 /* node */
            invokevirtual org.graalvm.compiler.nodes.AbstractBeginNode.predecessor:()Lorg/graalvm/compiler/graph/Node;
            checkcast org.graalvm.compiler.nodes.InvokeWithExceptionNode
            astore 4 /* invoke */
        start local 4 // org.graalvm.compiler.nodes.InvokeWithExceptionNode invoke
         3: .line 405
            aload 3 /* result */
            getfield org.graalvm.compiler.phases.common.FloatingReadPhase$MemoryMapImpl.lastMemorySnapshot:Ljdk/internal/vm/compiler/collections/EconomicMap;
            aload 4 /* invoke */
            invokevirtual org.graalvm.compiler.nodes.InvokeWithExceptionNode.getLocationIdentity:()Ljdk/internal/vm/compiler/word/LocationIdentity;
            aload 1 /* node */
            checkcast org.graalvm.compiler.nodes.memory.MemoryCheckpoint
            invokeinterface jdk.internal.vm.compiler.collections.EconomicMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        end local 4 // org.graalvm.compiler.nodes.InvokeWithExceptionNode invoke
         4: .line 407
      StackMap locals: org.graalvm.compiler.phases.common.FloatingReadPhase$MemoryMapImpl
      StackMap stack:
            aload 3 /* result */
            areturn
        end local 3 // org.graalvm.compiler.phases.common.FloatingReadPhase$MemoryMapImpl result
        end local 2 // org.graalvm.compiler.phases.common.FloatingReadPhase$MemoryMapImpl oldState
        end local 1 // org.graalvm.compiler.nodes.AbstractBeginNode node
        end local 0 // org.graalvm.compiler.phases.common.FloatingReadPhase$FloatingReadClosure this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    5     0      this  Lorg/graalvm/compiler/phases/common/FloatingReadPhase$FloatingReadClosure;
            0    5     1      node  Lorg/graalvm/compiler/nodes/AbstractBeginNode;
            0    5     2  oldState  Lorg/graalvm/compiler/phases/common/FloatingReadPhase$MemoryMapImpl;
            1    5     3    result  Lorg/graalvm/compiler/phases/common/FloatingReadPhase$MemoryMapImpl;
            3    4     4    invoke  Lorg/graalvm/compiler/nodes/InvokeWithExceptionNode;
    MethodParameters:
          Name  Flags
      node      
      oldState  

  protected jdk.internal.vm.compiler.collections.EconomicMap<org.graalvm.compiler.nodes.LoopExitNode, org.graalvm.compiler.phases.common.FloatingReadPhase$MemoryMapImpl> processLoop(org.graalvm.compiler.nodes.LoopBeginNode, org.graalvm.compiler.phases.common.FloatingReadPhase$MemoryMapImpl);
    descriptor: (Lorg/graalvm/compiler/nodes/LoopBeginNode;Lorg/graalvm/compiler/phases/common/FloatingReadPhase$MemoryMapImpl;)Ljdk/internal/vm/compiler/collections/EconomicMap;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=4, locals=11, args_size=3
        start local 0 // org.graalvm.compiler.phases.common.FloatingReadPhase$FloatingReadClosure this
        start local 1 // org.graalvm.compiler.nodes.LoopBeginNode loop
        start local 2 // org.graalvm.compiler.phases.common.FloatingReadPhase$MemoryMapImpl initialState
         0: .line 412
            aload 0 /* this */
            getfield org.graalvm.compiler.phases.common.FloatingReadPhase$FloatingReadClosure.modifiedInLoops:Ljdk/internal/vm/compiler/collections/EconomicMap;
            aload 1 /* loop */
            invokeinterface jdk.internal.vm.compiler.collections.EconomicMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast jdk.internal.vm.compiler.collections.EconomicSet
            astore 3 /* modifiedLocations */
        start local 3 // jdk.internal.vm.compiler.collections.EconomicSet modifiedLocations
         1: .line 413
            getstatic jdk.internal.vm.compiler.collections.Equivalence.DEFAULT: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 4 /* phis */
        start local 4 // jdk.internal.vm.compiler.collections.EconomicMap phis
         2: .line 414
            aload 3 /* modifiedLocations */
            invokestatic jdk.internal.vm.compiler.word.LocationIdentity.any:()Ljdk/internal/vm/compiler/word/LocationIdentity;
            invokeinterface jdk.internal.vm.compiler.collections.EconomicSet.contains:(Ljava/lang/Object;)Z
            ifeq 5
         3: .line 416
            getstatic jdk.internal.vm.compiler.collections.Equivalence.DEFAULT:Ljdk/internal/vm/compiler/collections/Equivalence;
            aload 3 /* modifiedLocations */
            invokestatic jdk.internal.vm.compiler.collections.EconomicSet.create:(Ljdk/internal/vm/compiler/collections/Equivalence;Ljdk/internal/vm/compiler/collections/UnmodifiableEconomicSet;)Ljdk/internal/vm/compiler/collections/EconomicSet;
            astore 3 /* modifiedLocations */
         4: .line 417
            aload 3 /* modifiedLocations */
            aload 2 /* initialState */
            getfield org.graalvm.compiler.phases.common.FloatingReadPhase$MemoryMapImpl.lastMemorySnapshot:Ljdk/internal/vm/compiler/collections/EconomicMap;
            invokeinterface jdk.internal.vm.compiler.collections.EconomicMap.getKeys:()Ljava/lang/Iterable;
            invokeinterface jdk.internal.vm.compiler.collections.EconomicSet.addAll:(Ljava/lang/Iterable;)V
         5: .line 420
      StackMap locals: jdk.internal.vm.compiler.collections.EconomicSet jdk.internal.vm.compiler.collections.EconomicMap
      StackMap stack:
            aload 3 /* modifiedLocations */
            invokeinterface jdk.internal.vm.compiler.collections.EconomicSet.iterator:()Ljava/util/Iterator;
            astore 6
            goto 8
      StackMap locals: org.graalvm.compiler.phases.common.FloatingReadPhase$FloatingReadClosure org.graalvm.compiler.nodes.LoopBeginNode org.graalvm.compiler.phases.common.FloatingReadPhase$MemoryMapImpl jdk.internal.vm.compiler.collections.EconomicSet jdk.internal.vm.compiler.collections.EconomicMap top java.util.Iterator
      StackMap stack:
         6: aload 6
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast jdk.internal.vm.compiler.word.LocationIdentity
            astore 5 /* location */
        start local 5 // jdk.internal.vm.compiler.word.LocationIdentity location
         7: .line 421
            aload 1 /* loop */
            aload 2 /* initialState */
            aload 4 /* phis */
            aload 5 /* location */
            invokestatic org.graalvm.compiler.phases.common.FloatingReadPhase$FloatingReadClosure.createMemoryPhi:(Lorg/graalvm/compiler/nodes/LoopBeginNode;Lorg/graalvm/compiler/phases/common/FloatingReadPhase$MemoryMapImpl;Ljdk/internal/vm/compiler/collections/EconomicMap;Ljdk/internal/vm/compiler/word/LocationIdentity;)V
        end local 5 // jdk.internal.vm.compiler.word.LocationIdentity location
         8: .line 420
      StackMap locals:
      StackMap stack:
            aload 6
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 6
         9: .line 423
            aload 2 /* initialState */
            getfield org.graalvm.compiler.phases.common.FloatingReadPhase$MemoryMapImpl.lastMemorySnapshot:Ljdk/internal/vm/compiler/collections/EconomicMap;
            aload 4 /* phis */
            invokeinterface jdk.internal.vm.compiler.collections.EconomicMap.putAll:(Ljdk/internal/vm/compiler/collections/UnmodifiableEconomicMap;)V
        10: .line 425
            aload 0 /* this */
            aload 1 /* loop */
            aload 2 /* initialState */
            invokestatic org.graalvm.compiler.phases.graph.ReentrantNodeIterator.processLoop:(Lorg/graalvm/compiler/phases/graph/ReentrantNodeIterator$NodeIteratorClosure;Lorg/graalvm/compiler/nodes/LoopBeginNode;Ljava/lang/Object;)Lorg/graalvm/compiler/phases/graph/ReentrantNodeIterator$LoopInfo;
            astore 5 /* loopInfo */
        start local 5 // org.graalvm.compiler.phases.graph.ReentrantNodeIterator$LoopInfo loopInfo
        11: .line 427
            aload 5 /* loopInfo */
            getfield org.graalvm.compiler.phases.graph.ReentrantNodeIterator$LoopInfo.endStates:Ljdk/internal/vm/compiler/collections/EconomicMap;
            invokeinterface jdk.internal.vm.compiler.collections.EconomicMap.getEntries:()Ljdk/internal/vm/compiler/collections/MapCursor;
            astore 6 /* endStateCursor */
        start local 6 // jdk.internal.vm.compiler.collections.UnmodifiableMapCursor endStateCursor
        12: .line 428
            goto 20
        13: .line 429
      StackMap locals: org.graalvm.compiler.phases.common.FloatingReadPhase$FloatingReadClosure org.graalvm.compiler.nodes.LoopBeginNode org.graalvm.compiler.phases.common.FloatingReadPhase$MemoryMapImpl jdk.internal.vm.compiler.collections.EconomicSet jdk.internal.vm.compiler.collections.EconomicMap org.graalvm.compiler.phases.graph.ReentrantNodeIterator$LoopInfo jdk.internal.vm.compiler.collections.UnmodifiableMapCursor
      StackMap stack:
            aload 1 /* loop */
            aload 6 /* endStateCursor */
            invokeinterface jdk.internal.vm.compiler.collections.UnmodifiableMapCursor.getKey:()Ljava/lang/Object;
            checkcast org.graalvm.compiler.nodes.AbstractEndNode
            invokevirtual org.graalvm.compiler.nodes.LoopBeginNode.phiPredecessorIndex:(Lorg/graalvm/compiler/nodes/AbstractEndNode;)I
            istore 7 /* endIndex */
        start local 7 // int endIndex
        14: .line 430
            aload 4 /* phis */
            invokeinterface jdk.internal.vm.compiler.collections.EconomicMap.getEntries:()Ljdk/internal/vm/compiler/collections/MapCursor;
            astore 8 /* phiCursor */
        start local 8 // jdk.internal.vm.compiler.collections.UnmodifiableMapCursor phiCursor
        15: .line 431
            goto 19
        16: .line 432
      StackMap locals: int jdk.internal.vm.compiler.collections.UnmodifiableMapCursor
      StackMap stack:
            aload 8 /* phiCursor */
            invokeinterface jdk.internal.vm.compiler.collections.UnmodifiableMapCursor.getKey:()Ljava/lang/Object;
            checkcast jdk.internal.vm.compiler.word.LocationIdentity
            astore 9 /* key */
        start local 9 // jdk.internal.vm.compiler.word.LocationIdentity key
        17: .line 433
            aload 8 /* phiCursor */
            invokeinterface jdk.internal.vm.compiler.collections.UnmodifiableMapCursor.getValue:()Ljava/lang/Object;
            checkcast org.graalvm.compiler.nodes.PhiNode
            astore 10 /* phi */
        start local 10 // org.graalvm.compiler.nodes.PhiNode phi
        18: .line 434
            aload 10 /* phi */
            iload 7 /* endIndex */
            aload 6 /* endStateCursor */
            invokeinterface jdk.internal.vm.compiler.collections.UnmodifiableMapCursor.getValue:()Ljava/lang/Object;
            checkcast org.graalvm.compiler.phases.common.FloatingReadPhase$MemoryMapImpl
            aload 9 /* key */
            invokevirtual org.graalvm.compiler.phases.common.FloatingReadPhase$MemoryMapImpl.getLastLocationAccess:(Ljdk/internal/vm/compiler/word/LocationIdentity;)Lorg/graalvm/compiler/nodes/memory/MemoryNode;
            invokestatic org.graalvm.compiler.nodes.ValueNodeUtil.asNode:(Lorg/graalvm/compiler/nodes/memory/MemoryNode;)Lorg/graalvm/compiler/nodes/ValueNode;
            invokevirtual org.graalvm.compiler.nodes.PhiNode.initializeValueAt:(ILorg/graalvm/compiler/nodes/ValueNode;)V
        end local 10 // org.graalvm.compiler.nodes.PhiNode phi
        end local 9 // jdk.internal.vm.compiler.word.LocationIdentity key
        19: .line 431
      StackMap locals:
      StackMap stack:
            aload 8 /* phiCursor */
            invokeinterface jdk.internal.vm.compiler.collections.UnmodifiableMapCursor.advance:()Z
            ifne 16
        end local 8 // jdk.internal.vm.compiler.collections.UnmodifiableMapCursor phiCursor
        end local 7 // int endIndex
        20: .line 428
      StackMap locals:
      StackMap stack:
            aload 6 /* endStateCursor */
            invokeinterface jdk.internal.vm.compiler.collections.UnmodifiableMapCursor.advance:()Z
            ifne 13
        21: .line 437
            aload 5 /* loopInfo */
            getfield org.graalvm.compiler.phases.graph.ReentrantNodeIterator$LoopInfo.exitStates:Ljdk/internal/vm/compiler/collections/EconomicMap;
            areturn
        end local 6 // jdk.internal.vm.compiler.collections.UnmodifiableMapCursor endStateCursor
        end local 5 // org.graalvm.compiler.phases.graph.ReentrantNodeIterator$LoopInfo loopInfo
        end local 4 // jdk.internal.vm.compiler.collections.EconomicMap phis
        end local 3 // jdk.internal.vm.compiler.collections.EconomicSet modifiedLocations
        end local 2 // org.graalvm.compiler.phases.common.FloatingReadPhase$MemoryMapImpl initialState
        end local 1 // org.graalvm.compiler.nodes.LoopBeginNode loop
        end local 0 // org.graalvm.compiler.phases.common.FloatingReadPhase$FloatingReadClosure this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0   22     0               this  Lorg/graalvm/compiler/phases/common/FloatingReadPhase$FloatingReadClosure;
            0   22     1               loop  Lorg/graalvm/compiler/nodes/LoopBeginNode;
            0   22     2       initialState  Lorg/graalvm/compiler/phases/common/FloatingReadPhase$MemoryMapImpl;
            1   22     3  modifiedLocations  Ljdk/internal/vm/compiler/collections/EconomicSet<Ljdk/internal/vm/compiler/word/LocationIdentity;>;
            2   22     4               phis  Ljdk/internal/vm/compiler/collections/EconomicMap<Ljdk/internal/vm/compiler/word/LocationIdentity;Lorg/graalvm/compiler/nodes/memory/MemoryPhiNode;>;
            7    8     5           location  Ljdk/internal/vm/compiler/word/LocationIdentity;
           11   22     5           loopInfo  Lorg/graalvm/compiler/phases/graph/ReentrantNodeIterator$LoopInfo<Lorg/graalvm/compiler/phases/common/FloatingReadPhase$MemoryMapImpl;>;
           12   22     6     endStateCursor  Ljdk/internal/vm/compiler/collections/UnmodifiableMapCursor<Lorg/graalvm/compiler/nodes/LoopEndNode;Lorg/graalvm/compiler/phases/common/FloatingReadPhase$MemoryMapImpl;>;
           14   20     7           endIndex  I
           15   20     8          phiCursor  Ljdk/internal/vm/compiler/collections/UnmodifiableMapCursor<Ljdk/internal/vm/compiler/word/LocationIdentity;Lorg/graalvm/compiler/nodes/memory/MemoryPhiNode;>;
           17   19     9                key  Ljdk/internal/vm/compiler/word/LocationIdentity;
           18   19    10                phi  Lorg/graalvm/compiler/nodes/PhiNode;
    Signature: (Lorg/graalvm/compiler/nodes/LoopBeginNode;Lorg/graalvm/compiler/phases/common/FloatingReadPhase$MemoryMapImpl;)Ljdk/internal/vm/compiler/collections/EconomicMap<Lorg/graalvm/compiler/nodes/LoopExitNode;Lorg/graalvm/compiler/phases/common/FloatingReadPhase$MemoryMapImpl;>;
    MethodParameters:
              Name  Flags
      loop          
      initialState  

  private static void createMemoryPhi(org.graalvm.compiler.nodes.LoopBeginNode, org.graalvm.compiler.phases.common.FloatingReadPhase$MemoryMapImpl, jdk.internal.vm.compiler.collections.EconomicMap<jdk.internal.vm.compiler.word.LocationIdentity, org.graalvm.compiler.nodes.memory.MemoryPhiNode>, jdk.internal.vm.compiler.word.LocationIdentity);
    descriptor: (Lorg/graalvm/compiler/nodes/LoopBeginNode;Lorg/graalvm/compiler/phases/common/FloatingReadPhase$MemoryMapImpl;Ljdk/internal/vm/compiler/collections/EconomicMap;Ljdk/internal/vm/compiler/word/LocationIdentity;)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=5, locals=5, args_size=4
        start local 0 // org.graalvm.compiler.nodes.LoopBeginNode loop
        start local 1 // org.graalvm.compiler.phases.common.FloatingReadPhase$MemoryMapImpl initialState
        start local 2 // jdk.internal.vm.compiler.collections.EconomicMap phis
        start local 3 // jdk.internal.vm.compiler.word.LocationIdentity location
         0: .line 441
            aload 0 /* loop */
            invokevirtual org.graalvm.compiler.nodes.LoopBeginNode.graph:()Lorg/graalvm/compiler/nodes/StructuredGraph;
            new org.graalvm.compiler.nodes.memory.MemoryPhiNode
            dup
            aload 0 /* loop */
            aload 3 /* location */
            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 4 /* phi */
        start local 4 // org.graalvm.compiler.nodes.memory.MemoryPhiNode phi
         1: .line 442
            aload 4 /* phi */
            aload 1 /* initialState */
            aload 3 /* location */
            invokevirtual org.graalvm.compiler.phases.common.FloatingReadPhase$MemoryMapImpl.getLastLocationAccess:(Ljdk/internal/vm/compiler/word/LocationIdentity;)Lorg/graalvm/compiler/nodes/memory/MemoryNode;
            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
         2: .line 443
            aload 2 /* phis */
            aload 3 /* location */
            aload 4 /* phi */
            invokeinterface jdk.internal.vm.compiler.collections.EconomicMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         3: .line 444
            return
        end local 4 // org.graalvm.compiler.nodes.memory.MemoryPhiNode phi
        end local 3 // jdk.internal.vm.compiler.word.LocationIdentity location
        end local 2 // jdk.internal.vm.compiler.collections.EconomicMap phis
        end local 1 // org.graalvm.compiler.phases.common.FloatingReadPhase$MemoryMapImpl initialState
        end local 0 // org.graalvm.compiler.nodes.LoopBeginNode loop
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    4     0          loop  Lorg/graalvm/compiler/nodes/LoopBeginNode;
            0    4     1  initialState  Lorg/graalvm/compiler/phases/common/FloatingReadPhase$MemoryMapImpl;
            0    4     2          phis  Ljdk/internal/vm/compiler/collections/EconomicMap<Ljdk/internal/vm/compiler/word/LocationIdentity;Lorg/graalvm/compiler/nodes/memory/MemoryPhiNode;>;
            0    4     3      location  Ljdk/internal/vm/compiler/word/LocationIdentity;
            1    4     4           phi  Lorg/graalvm/compiler/nodes/memory/MemoryPhiNode;
    Signature: (Lorg/graalvm/compiler/nodes/LoopBeginNode;Lorg/graalvm/compiler/phases/common/FloatingReadPhase$MemoryMapImpl;Ljdk/internal/vm/compiler/collections/EconomicMap<Ljdk/internal/vm/compiler/word/LocationIdentity;Lorg/graalvm/compiler/nodes/memory/MemoryPhiNode;>;Ljdk/internal/vm/compiler/word/LocationIdentity;)V
    MethodParameters:
              Name  Flags
      loop          
      initialState  
      phis          
      location      

  protected java.lang.Object processNode(org.graalvm.compiler.nodes.FixedNode, java.lang.Object);
    descriptor: (Lorg/graalvm/compiler/nodes/FixedNode;Ljava/lang/Object;)Ljava/lang/Object;
    flags: (0x1044) ACC_PROTECTED, ACC_BRIDGE, ACC_SYNTHETIC
    Code:
      stack=3, locals=3, args_size=3
         0: .line 1
            aload 0
            aload 1
            aload 2
            checkcast org.graalvm.compiler.phases.common.FloatingReadPhase$MemoryMapImpl
            invokevirtual org.graalvm.compiler.phases.common.FloatingReadPhase$FloatingReadClosure.processNode:(Lorg/graalvm/compiler/nodes/FixedNode;Lorg/graalvm/compiler/phases/common/FloatingReadPhase$MemoryMapImpl;)Lorg/graalvm/compiler/phases/common/FloatingReadPhase$MemoryMapImpl;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  protected java.lang.Object afterSplit(org.graalvm.compiler.nodes.AbstractBeginNode, java.lang.Object);
    descriptor: (Lorg/graalvm/compiler/nodes/AbstractBeginNode;Ljava/lang/Object;)Ljava/lang/Object;
    flags: (0x1044) ACC_PROTECTED, ACC_BRIDGE, ACC_SYNTHETIC
    Code:
      stack=3, locals=3, args_size=3
         0: .line 1
            aload 0
            aload 1
            aload 2
            checkcast org.graalvm.compiler.phases.common.FloatingReadPhase$MemoryMapImpl
            invokevirtual org.graalvm.compiler.phases.common.FloatingReadPhase$FloatingReadClosure.afterSplit:(Lorg/graalvm/compiler/nodes/AbstractBeginNode;Lorg/graalvm/compiler/phases/common/FloatingReadPhase$MemoryMapImpl;)Lorg/graalvm/compiler/phases/common/FloatingReadPhase$MemoryMapImpl;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  protected java.lang.Object merge(org.graalvm.compiler.nodes.AbstractMergeNode, java.util.List);
    descriptor: (Lorg/graalvm/compiler/nodes/AbstractMergeNode;Ljava/util/List;)Ljava/lang/Object;
    flags: (0x1044) ACC_PROTECTED, ACC_BRIDGE, ACC_SYNTHETIC
    Code:
      stack=3, locals=3, args_size=3
         0: .line 1
            aload 0
            aload 1
            aload 2
            checkcast java.util.List
            invokevirtual org.graalvm.compiler.phases.common.FloatingReadPhase$FloatingReadClosure.merge:(Lorg/graalvm/compiler/nodes/AbstractMergeNode;Ljava/util/List;)Lorg/graalvm/compiler/phases/common/FloatingReadPhase$MemoryMapImpl;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  protected jdk.internal.vm.compiler.collections.EconomicMap processLoop(org.graalvm.compiler.nodes.LoopBeginNode, java.lang.Object);
    descriptor: (Lorg/graalvm/compiler/nodes/LoopBeginNode;Ljava/lang/Object;)Ljdk/internal/vm/compiler/collections/EconomicMap;
    flags: (0x1044) ACC_PROTECTED, ACC_BRIDGE, ACC_SYNTHETIC
    Code:
      stack=3, locals=3, args_size=3
         0: .line 1
            aload 0
            aload 1
            aload 2
            checkcast org.graalvm.compiler.phases.common.FloatingReadPhase$MemoryMapImpl
            invokevirtual org.graalvm.compiler.phases.common.FloatingReadPhase$FloatingReadClosure.processLoop:(Lorg/graalvm/compiler/nodes/LoopBeginNode;Lorg/graalvm/compiler/phases/common/FloatingReadPhase$MemoryMapImpl;)Ljdk/internal/vm/compiler/collections/EconomicMap;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
}
Signature: Lorg/graalvm/compiler/phases/graph/ReentrantNodeIterator$NodeIteratorClosure<Lorg/graalvm/compiler/phases/common/FloatingReadPhase$MemoryMapImpl;>;
SourceFile: "FloatingReadPhase.java"
NestHost: org.graalvm.compiler.phases.common.FloatingReadPhase
InnerClasses:
  public abstract ValueNumberable = org.graalvm.compiler.graph.Node$ValueNumberable of org.graalvm.compiler.graph.Node
  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 TypeAssertion = org.graalvm.compiler.nodes.memory.MemoryCheckpoint$TypeAssertion 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 LoopInfo = org.graalvm.compiler.phases.graph.ReentrantNodeIterator$LoopInfo of org.graalvm.compiler.phases.graph.ReentrantNodeIterator
  public abstract NodeIteratorClosure = org.graalvm.compiler.phases.graph.ReentrantNodeIterator$NodeIteratorClosure of org.graalvm.compiler.phases.graph.ReentrantNodeIterator