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 org.graalvm.collections.EconomicMap<org.graalvm.compiler.nodes.LoopBeginNode, org.graalvm.collections.EconomicSet<org.graalvm.word.LocationIdentity>> modifiedInLoops;
    descriptor: Lorg/graalvm/collections/EconomicMap;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Lorg/graalvm/collections/EconomicMap<Lorg/graalvm/compiler/nodes/LoopBeginNode;Lorg/graalvm/collections/EconomicSet<Lorg/graalvm/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 296
            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>(org.graalvm.collections.EconomicMap<org.graalvm.compiler.nodes.LoopBeginNode, org.graalvm.collections.EconomicSet<org.graalvm.word.LocationIdentity>>, boolean, );
    descriptor: (Lorg/graalvm/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 // org.graalvm.collections.EconomicMap modifiedInLoops
        start local 2 // boolean createFloatingReads
        start local 3 // boolean createMemoryMapNodes
         0: .line 302
            aload 0 /* this */
            invokespecial org.graalvm.compiler.phases.graph.ReentrantNodeIterator$NodeIteratorClosure.<init>:()V
         1: .line 303
            aload 0 /* this */
            aload 1 /* modifiedInLoops */
            putfield org.graalvm.compiler.phases.common.FloatingReadPhase$FloatingReadClosure.modifiedInLoops:Lorg/graalvm/collections/EconomicMap;
         2: .line 304
            aload 0 /* this */
            iload 2 /* createFloatingReads */
            putfield org.graalvm.compiler.phases.common.FloatingReadPhase$FloatingReadClosure.createFloatingReads:Z
         3: .line 305
            aload 0 /* this */
            iload 3 /* createMemoryMapNodes */
            putfield org.graalvm.compiler.phases.common.FloatingReadPhase$FloatingReadClosure.createMemoryMapNodes:Z
         4: .line 306
            return
        end local 3 // boolean createMemoryMapNodes
        end local 2 // boolean createFloatingReads
        end local 1 // org.graalvm.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  Lorg/graalvm/collections/EconomicMap<Lorg/graalvm/compiler/nodes/LoopBeginNode;Lorg/graalvm/collections/EconomicSet<Lorg/graalvm/word/LocationIdentity;>;>;
            0    5     2   createFloatingReads  Z
            0    5     3  createMemoryMapNodes  Z
    Signature: (Lorg/graalvm/collections/EconomicMap<Lorg/graalvm/compiler/nodes/LoopBeginNode;Lorg/graalvm/collections/EconomicSet<Lorg/graalvm/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=6, 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 311
            aload 1 /* node */
            instanceof org.graalvm.compiler.nodes.LoopExitNode
            ifeq 5
         1: .line 312
            aload 1 /* node */
            checkcast org.graalvm.compiler.nodes.LoopExitNode
            astore 3 /* loopExitNode */
        start local 3 // org.graalvm.compiler.nodes.LoopExitNode loopExitNode
         2: .line 313
            aload 0 /* this */
            getfield org.graalvm.compiler.phases.common.FloatingReadPhase$FloatingReadClosure.modifiedInLoops:Lorg/graalvm/collections/EconomicMap;
            aload 3 /* loopExitNode */
            invokevirtual org.graalvm.compiler.nodes.LoopExitNode.loopBegin:()Lorg/graalvm/compiler/nodes/LoopBeginNode;
            invokeinterface org.graalvm.collections.EconomicMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast org.graalvm.collections.EconomicSet
            astore 4 /* modifiedInLoop */
        start local 4 // org.graalvm.collections.EconomicSet modifiedInLoop
         3: .line 314
            aload 4 /* modifiedInLoop */
            invokestatic org.graalvm.word.LocationIdentity.any:()Lorg/graalvm/word/LocationIdentity;
            invokeinterface org.graalvm.collections.EconomicSet.contains:(Ljava/lang/Object;)Z
            istore 5 /* anyModified */
        start local 5 // boolean anyModified
         4: .line 315
            aload 2 /* state */
            invokevirtual org.graalvm.compiler.phases.common.FloatingReadPhase$MemoryMapImpl.getMap:()Lorg/graalvm/collections/EconomicMap;
            iload 5 /* anyModified */
            aload 4 /* modifiedInLoop */
            aload 3 /* loopExitNode */
            invokedynamic apply(ZLorg/graalvm/collections/EconomicSet;Lorg/graalvm/compiler/nodes/LoopExitNode;)Ljava/util/function/BiFunction;
              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;Ljava/lang/Object;)Ljava/lang/Object;
                  org/graalvm/compiler/phases/common/FloatingReadPhase$FloatingReadClosure.lambda$0(ZLorg/graalvm/collections/EconomicSet;Lorg/graalvm/compiler/nodes/LoopExitNode;Lorg/graalvm/word/LocationIdentity;Lorg/graalvm/compiler/nodes/memory/MemoryKill;)Lorg/graalvm/compiler/nodes/memory/MemoryKill; (6)
                  (Lorg/graalvm/word/LocationIdentity;Lorg/graalvm/compiler/nodes/memory/MemoryKill;)Lorg/graalvm/compiler/nodes/memory/MemoryKill;
            invokeinterface org.graalvm.collections.EconomicMap.replaceAll:(Ljava/util/function/BiFunction;)V
        end local 5 // boolean anyModified
        end local 4 // org.graalvm.collections.EconomicSet modifiedInLoop
        end local 3 // org.graalvm.compiler.nodes.LoopExitNode loopExitNode
         5: .line 320
      StackMap locals:
      StackMap stack:
            aload 1 /* node */
            instanceof org.graalvm.compiler.nodes.memory.MemoryAnchorNode
            ifeq 8
         6: .line 321
            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
         7: .line 322
            aload 2 /* state */
            areturn
         8: .line 325
      StackMap locals:
      StackMap stack:
            aload 1 /* node */
            instanceof org.graalvm.compiler.nodes.memory.MemoryAccess
            ifeq 10
         9: .line 326
            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
        10: .line 329
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.graalvm.compiler.phases.common.FloatingReadPhase$FloatingReadClosure.createFloatingReads:Z
            ifeq 12
            aload 1 /* node */
            instanceof org.graalvm.compiler.nodes.memory.FloatableAccessNode
            ifeq 12
        11: .line 330
            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
        12: .line 332
      StackMap locals:
      StackMap stack:
            aload 1 /* node */
            instanceof org.graalvm.compiler.nodes.memory.SingleMemoryKill
            ifeq 15
        13: .line 333
            aload 1 /* node */
            checkcast org.graalvm.compiler.nodes.memory.SingleMemoryKill
            aload 2 /* state */
            invokestatic org.graalvm.compiler.phases.common.FloatingReadPhase$FloatingReadClosure.processCheckpoint:(Lorg/graalvm/compiler/nodes/memory/SingleMemoryKill;Lorg/graalvm/compiler/phases/common/FloatingReadPhase$MemoryMapImpl;)V
        14: .line 334
            goto 17
      StackMap locals:
      StackMap stack:
        15: aload 1 /* node */
            instanceof org.graalvm.compiler.nodes.memory.MultiMemoryKill
            ifeq 17
        16: .line 335
            aload 1 /* node */
            checkcast org.graalvm.compiler.nodes.memory.MultiMemoryKill
            aload 2 /* state */
            invokestatic org.graalvm.compiler.phases.common.FloatingReadPhase$FloatingReadClosure.processCheckpoint:(Lorg/graalvm/compiler/nodes/memory/MultiMemoryKill;Lorg/graalvm/compiler/phases/common/FloatingReadPhase$MemoryMapImpl;)V
        17: .line 337
      StackMap locals:
      StackMap stack:
            getstatic org.graalvm.compiler.phases.common.FloatingReadPhase$FloatingReadClosure.$assertionsDisabled:Z
            ifne 18
            aload 1 /* node */
            invokestatic org.graalvm.compiler.phases.common.FloatingReadPhase.nodeOfMemoryType:(Lorg/graalvm/compiler/graph/Node;)Z
            ifne 18
            new java.lang.AssertionError
            dup
            aload 1 /* node */
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
        18: .line 339
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.graalvm.compiler.phases.common.FloatingReadPhase$FloatingReadClosure.createMemoryMapNodes:Z
            ifeq 20
            aload 1 /* node */
            instanceof org.graalvm.compiler.nodes.ReturnNode
            ifeq 20
        19: .line 340
            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 */
            invokevirtual org.graalvm.compiler.phases.common.FloatingReadPhase$MemoryMapImpl.getMap:()Lorg/graalvm/collections/EconomicMap;
            invokespecial org.graalvm.compiler.nodes.memory.MemoryMapNode.<init>:(Lorg/graalvm/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
        20: .line 342
      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   21     0            this  Lorg/graalvm/compiler/phases/common/FloatingReadPhase$FloatingReadClosure;
            0   21     1            node  Lorg/graalvm/compiler/nodes/FixedNode;
            0   21     2           state  Lorg/graalvm/compiler/phases/common/FloatingReadPhase$MemoryMapImpl;
            2    5     3    loopExitNode  Lorg/graalvm/compiler/nodes/LoopExitNode;
            3    5     4  modifiedInLoop  Lorg/graalvm/collections/EconomicSet<Lorg/graalvm/word/LocationIdentity;>;
            4    5     5     anyModified  Z
    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 350
            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 351
            aload 2 /* node */
            instanceof org.graalvm.compiler.nodes.memory.MemoryAccess
            ifeq 8
         3: .line 352
            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 353
            aload 4 /* access */
            invokeinterface org.graalvm.compiler.nodes.memory.MemoryAccess.getLastLocationAccess:()Lorg/graalvm/compiler/nodes/memory/MemoryKill;
            aload 0 /* anchor */
            if_acmpne 8
         5: .line 354
            aload 1 /* state */
            aload 4 /* access */
            invokeinterface org.graalvm.compiler.nodes.memory.MemoryAccess.getLocationIdentity:()Lorg/graalvm/word/LocationIdentity;
            invokevirtual org.graalvm.compiler.phases.common.FloatingReadPhase$MemoryMapImpl.getLastLocationAccess:(Lorg/graalvm/word/LocationIdentity;)Lorg/graalvm/compiler/nodes/memory/MemoryKill;
            astore 5 /* lastLocationAccess */
        start local 5 // org.graalvm.compiler.nodes.memory.MemoryKill lastLocationAccess
         6: .line 355
            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 356
      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.MemoryKill
      StackMap stack:
            aload 4 /* access */
            aload 5 /* lastLocationAccess */
            invokeinterface org.graalvm.compiler.nodes.memory.MemoryAccess.setLastLocationAccess:(Lorg/graalvm/compiler/nodes/memory/MemoryKill;)V
        end local 5 // org.graalvm.compiler.nodes.memory.MemoryKill lastLocationAccess
        end local 4 // org.graalvm.compiler.nodes.memory.MemoryAccess access
        end local 2 // org.graalvm.compiler.graph.Node node
         8: .line 350
      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 361
            aload 0 /* anchor */
            invokevirtual org.graalvm.compiler.nodes.memory.MemoryAnchorNode.hasNoUsages:()Z
            ifeq 11
        10: .line 362
            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 364
      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/MemoryKill;
    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 367
            aload 0 /* access */
            invokeinterface org.graalvm.compiler.nodes.memory.MemoryAccess.getLocationIdentity:()Lorg/graalvm/word/LocationIdentity;
            astore 2 /* locationIdentity */
        start local 2 // org.graalvm.word.LocationIdentity locationIdentity
         1: .line 368
            aload 2 /* locationIdentity */
            invokestatic org.graalvm.word.LocationIdentity.any:()Lorg/graalvm/word/LocationIdentity;
            invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
            ifne 4
         2: .line 369
            aload 1 /* state */
            aload 2 /* locationIdentity */
            invokevirtual org.graalvm.compiler.phases.common.FloatingReadPhase$MemoryMapImpl.getLastLocationAccess:(Lorg/graalvm/word/LocationIdentity;)Lorg/graalvm/compiler/nodes/memory/MemoryKill;
            astore 3 /* lastLocationAccess */
        start local 3 // org.graalvm.compiler.nodes.memory.MemoryKill lastLocationAccess
         3: .line 370
            aload 0 /* access */
            aload 3 /* lastLocationAccess */
            invokeinterface org.graalvm.compiler.nodes.memory.MemoryAccess.setLastLocationAccess:(Lorg/graalvm/compiler/nodes/memory/MemoryKill;)V
        end local 3 // org.graalvm.compiler.nodes.memory.MemoryKill lastLocationAccess
         4: .line 372
      StackMap locals: org.graalvm.word.LocationIdentity
      StackMap stack:
            return
        end local 2 // org.graalvm.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  Lorg/graalvm/word/LocationIdentity;
            3    4     3  lastLocationAccess  Lorg/graalvm/compiler/nodes/memory/MemoryKill;
    MethodParameters:
        Name  Flags
      access  
      state   

  private static void processCheckpoint(org.graalvm.compiler.nodes.memory.SingleMemoryKill, org.graalvm.compiler.phases.common.FloatingReadPhase$MemoryMapImpl);
    descriptor: (Lorg/graalvm/compiler/nodes/memory/SingleMemoryKill;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.SingleMemoryKill checkpoint
        start local 1 // org.graalvm.compiler.phases.common.FloatingReadPhase$MemoryMapImpl state
         0: .line 375
            aload 0 /* checkpoint */
            invokeinterface org.graalvm.compiler.nodes.memory.SingleMemoryKill.getKilledLocationIdentity:()Lorg/graalvm/word/LocationIdentity;
            aload 0 /* checkpoint */
            aload 1 /* state */
            invokestatic org.graalvm.compiler.phases.common.FloatingReadPhase$FloatingReadClosure.processIdentity:(Lorg/graalvm/word/LocationIdentity;Lorg/graalvm/compiler/nodes/memory/MemoryKill;Lorg/graalvm/compiler/phases/common/FloatingReadPhase$MemoryMapImpl;)V
         1: .line 376
            return
        end local 1 // org.graalvm.compiler.phases.common.FloatingReadPhase$MemoryMapImpl state
        end local 0 // org.graalvm.compiler.nodes.memory.SingleMemoryKill checkpoint
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    2     0  checkpoint  Lorg/graalvm/compiler/nodes/memory/SingleMemoryKill;
            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.MultiMemoryKill, org.graalvm.compiler.phases.common.FloatingReadPhase$MemoryMapImpl);
    descriptor: (Lorg/graalvm/compiler/nodes/memory/MultiMemoryKill;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.MultiMemoryKill checkpoint
        start local 1 // org.graalvm.compiler.phases.common.FloatingReadPhase$MemoryMapImpl state
         0: .line 379
            aload 0 /* checkpoint */
            invokeinterface org.graalvm.compiler.nodes.memory.MultiMemoryKill.getKilledLocationIdentities:()[Lorg/graalvm/word/LocationIdentity;
            dup
            astore 5
            arraylength
            istore 4
            iconst_0
            istore 3
            goto 4
      StackMap locals: org.graalvm.compiler.nodes.memory.MultiMemoryKill org.graalvm.compiler.phases.common.FloatingReadPhase$MemoryMapImpl top int int org.graalvm.word.LocationIdentity[]
      StackMap stack:
         1: aload 5
            iload 3
            aaload
            astore 2 /* identity */
        start local 2 // org.graalvm.word.LocationIdentity identity
         2: .line 380
            aload 2 /* identity */
            aload 0 /* checkpoint */
            aload 1 /* state */
            invokestatic org.graalvm.compiler.phases.common.FloatingReadPhase$FloatingReadClosure.processIdentity:(Lorg/graalvm/word/LocationIdentity;Lorg/graalvm/compiler/nodes/memory/MemoryKill;Lorg/graalvm/compiler/phases/common/FloatingReadPhase$MemoryMapImpl;)V
        end local 2 // org.graalvm.word.LocationIdentity identity
         3: .line 379
            iinc 3 1
      StackMap locals:
      StackMap stack:
         4: iload 3
            iload 4
            if_icmplt 1
         5: .line 382
            return
        end local 1 // org.graalvm.compiler.phases.common.FloatingReadPhase$MemoryMapImpl state
        end local 0 // org.graalvm.compiler.nodes.memory.MultiMemoryKill checkpoint
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    6     0  checkpoint  Lorg/graalvm/compiler/nodes/memory/MultiMemoryKill;
            0    6     1       state  Lorg/graalvm/compiler/phases/common/FloatingReadPhase$MemoryMapImpl;
            2    3     2    identity  Lorg/graalvm/word/LocationIdentity;
    MethodParameters:
            Name  Flags
      checkpoint  
      state       

  private static void processIdentity(org.graalvm.word.LocationIdentity, org.graalvm.compiler.nodes.memory.MemoryKill, org.graalvm.compiler.phases.common.FloatingReadPhase$MemoryMapImpl);
    descriptor: (Lorg/graalvm/word/LocationIdentity;Lorg/graalvm/compiler/nodes/memory/MemoryKill;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 // org.graalvm.word.LocationIdentity identity
        start local 1 // org.graalvm.compiler.nodes.memory.MemoryKill checkpoint
        start local 2 // org.graalvm.compiler.phases.common.FloatingReadPhase$MemoryMapImpl state
         0: .line 385
            aload 0 /* identity */
            invokevirtual org.graalvm.word.LocationIdentity.isAny:()Z
            ifeq 2
         1: .line 386
            aload 2 /* state */
            invokevirtual org.graalvm.compiler.phases.common.FloatingReadPhase$MemoryMapImpl.getMap:()Lorg/graalvm/collections/EconomicMap;
            invokeinterface org.graalvm.collections.EconomicMap.clear:()V
         2: .line 388
      StackMap locals:
      StackMap stack:
            aload 0 /* identity */
            invokevirtual org.graalvm.word.LocationIdentity.isMutable:()Z
            ifeq 4
         3: .line 389
            aload 2 /* state */
            invokevirtual org.graalvm.compiler.phases.common.FloatingReadPhase$MemoryMapImpl.getMap:()Lorg/graalvm/collections/EconomicMap;
            aload 0 /* identity */
            aload 1 /* checkpoint */
            invokeinterface org.graalvm.collections.EconomicMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         4: .line 391
      StackMap locals:
      StackMap stack:
            return
        end local 2 // org.graalvm.compiler.phases.common.FloatingReadPhase$MemoryMapImpl state
        end local 1 // org.graalvm.compiler.nodes.memory.MemoryKill checkpoint
        end local 0 // org.graalvm.word.LocationIdentity identity
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    5     0    identity  Lorg/graalvm/word/LocationIdentity;
            0    5     1  checkpoint  Lorg/graalvm/compiler/nodes/memory/MemoryKill;
            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 395
            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 396
            aload 0 /* accessNode */
            invokevirtual org.graalvm.compiler.nodes.memory.FloatableAccessNode.getLocationIdentity:()Lorg/graalvm/word/LocationIdentity;
            astore 3 /* locationIdentity */
        start local 3 // org.graalvm.word.LocationIdentity locationIdentity
         2: .line 397
            aload 0 /* accessNode */
            invokevirtual org.graalvm.compiler.nodes.memory.FloatableAccessNode.canFloat:()Z
            ifeq 16
         3: .line 398
            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 399
      StackMap locals: org.graalvm.compiler.nodes.StructuredGraph org.graalvm.word.LocationIdentity
      StackMap stack:
            aload 1 /* state */
            aload 3 /* locationIdentity */
            invokevirtual org.graalvm.compiler.phases.common.FloatingReadPhase$MemoryMapImpl.getLastLocationAccess:(Lorg/graalvm/word/LocationIdentity;)Lorg/graalvm/compiler/nodes/memory/MemoryKill;
            astore 4 /* lastLocationAccess */
        start local 4 // org.graalvm.compiler.nodes.memory.MemoryKill lastLocationAccess
         5: .line 400
            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 401
            aload 0 /* accessNode */
            invokevirtual org.graalvm.compiler.nodes.memory.FloatableAccessNode.asFloatingNode:()Lorg/graalvm/compiler/nodes/memory/FloatingAccessNode;
            astore 8 /* floatingNode */
        start local 8 // org.graalvm.compiler.nodes.memory.FloatingAccessNode floatingNode
         8: .line 402
            getstatic org.graalvm.compiler.phases.common.FloatingReadPhase$FloatingReadClosure.$assertionsDisabled:Z
            ifne 9
            aload 8 /* floatingNode */
            invokevirtual org.graalvm.compiler.nodes.memory.FloatingAccessNode.getLastLocationAccess:()Lorg/graalvm/compiler/nodes/memory/MemoryKill;
            aload 4 /* lastLocationAccess */
            if_acmpeq 9
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         9: .line 403
      StackMap locals: org.graalvm.compiler.nodes.memory.FloatableAccessNode org.graalvm.compiler.phases.common.FloatingReadPhase$MemoryMapImpl org.graalvm.compiler.nodes.StructuredGraph org.graalvm.word.LocationIdentity org.graalvm.compiler.nodes.memory.MemoryKill java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.DebugCloseable org.graalvm.compiler.nodes.memory.FloatingAccessNode
      StackMap stack:
            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
        10: .line 404
            aload 7 /* position */
            ifnull 16
            aload 7 /* position */
            invokeinterface org.graalvm.compiler.debug.DebugCloseable.close:()V
            goto 16
      StackMap locals: org.graalvm.compiler.nodes.memory.FloatableAccessNode org.graalvm.compiler.phases.common.FloatingReadPhase$MemoryMapImpl org.graalvm.compiler.nodes.StructuredGraph org.graalvm.word.LocationIdentity org.graalvm.compiler.nodes.memory.MemoryKill java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.DebugCloseable
      StackMap stack: java.lang.Throwable
        11: astore 5
            aload 7 /* position */
            ifnull 12
            aload 7 /* position */
            invokeinterface org.graalvm.compiler.debug.DebugCloseable.close:()V
        end local 7 // org.graalvm.compiler.debug.DebugCloseable position
      StackMap locals:
      StackMap stack:
        12: aload 5
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
        13: astore 6
            aload 5
            ifnonnull 14
            aload 6
            astore 5
            goto 15
      StackMap locals:
      StackMap stack:
        14: aload 5
            aload 6
            if_acmpeq 15
            aload 5
            aload 6
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        15: aload 5
            athrow
        end local 4 // org.graalvm.compiler.nodes.memory.MemoryKill lastLocationAccess
        16: .line 406
      StackMap locals:
      StackMap stack:
            return
        end local 3 // org.graalvm.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   17     0          accessNode  Lorg/graalvm/compiler/nodes/memory/FloatableAccessNode;
            0   17     1               state  Lorg/graalvm/compiler/phases/common/FloatingReadPhase$MemoryMapImpl;
            1   17     2               graph  Lorg/graalvm/compiler/nodes/StructuredGraph;
            2   17     3    locationIdentity  Lorg/graalvm/word/LocationIdentity;
            5   16     4  lastLocationAccess  Lorg/graalvm/compiler/nodes/memory/MemoryKill;
            7   12     7            position  Lorg/graalvm/compiler/debug/DebugCloseable;
            8   10     8        floatingNode  Lorg/graalvm/compiler/nodes/memory/FloatingAccessNode;
      Exception table:
        from    to  target  type
           7    10      11  any
           6    13      13  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 410
            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 415
            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 416
            aload 1 /* node */
            invokevirtual org.graalvm.compiler.nodes.AbstractBeginNode.predecessor:()Lorg/graalvm/compiler/graph/Node;
            instanceof org.graalvm.compiler.nodes.WithExceptionNode
            ifeq 6
            aload 1 /* node */
            invokevirtual org.graalvm.compiler.nodes.AbstractBeginNode.predecessor:()Lorg/graalvm/compiler/graph/Node;
            instanceof org.graalvm.compiler.nodes.memory.MemoryKill
            ifeq 6
         2: .line 424
            aload 1 /* node */
            invokevirtual org.graalvm.compiler.nodes.AbstractBeginNode.predecessor:()Lorg/graalvm/compiler/graph/Node;
            instanceof org.graalvm.compiler.nodes.memory.SingleMemoryKill
            ifeq 3
            aload 1 /* node */
            invokevirtual org.graalvm.compiler.nodes.AbstractBeginNode.predecessor:()Lorg/graalvm/compiler/graph/Node;
            checkcast org.graalvm.compiler.nodes.memory.SingleMemoryKill
            invokeinterface org.graalvm.compiler.nodes.memory.SingleMemoryKill.getKilledLocationIdentity:()Lorg/graalvm/word/LocationIdentity;
            goto 4
      StackMap locals: org.graalvm.compiler.phases.common.FloatingReadPhase$MemoryMapImpl
      StackMap stack:
         3: invokestatic org.graalvm.word.LocationIdentity.any:()Lorg/graalvm/word/LocationIdentity;
      StackMap locals:
      StackMap stack: org.graalvm.word.LocationIdentity
         4: astore 4 /* killedLocationIdentity */
        start local 4 // org.graalvm.word.LocationIdentity killedLocationIdentity
         5: .line 425
            aload 3 /* result */
            invokevirtual org.graalvm.compiler.phases.common.FloatingReadPhase$MemoryMapImpl.getMap:()Lorg/graalvm/collections/EconomicMap;
            aload 4 /* killedLocationIdentity */
            aload 1 /* node */
            checkcast org.graalvm.compiler.nodes.memory.MemoryKill
            invokeinterface org.graalvm.collections.EconomicMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        end local 4 // org.graalvm.word.LocationIdentity killedLocationIdentity
         6: .line 427
      StackMap locals:
      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    7     0                    this  Lorg/graalvm/compiler/phases/common/FloatingReadPhase$FloatingReadClosure;
            0    7     1                    node  Lorg/graalvm/compiler/nodes/AbstractBeginNode;
            0    7     2                oldState  Lorg/graalvm/compiler/phases/common/FloatingReadPhase$MemoryMapImpl;
            1    7     3                  result  Lorg/graalvm/compiler/phases/common/FloatingReadPhase$MemoryMapImpl;
            5    6     4  killedLocationIdentity  Lorg/graalvm/word/LocationIdentity;
    MethodParameters:
          Name  Flags
      node      
      oldState  

  protected org.graalvm.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;)Lorg/graalvm/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 432
            aload 0 /* this */
            getfield org.graalvm.compiler.phases.common.FloatingReadPhase$FloatingReadClosure.modifiedInLoops:Lorg/graalvm/collections/EconomicMap;
            aload 1 /* loop */
            invokeinterface org.graalvm.collections.EconomicMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast org.graalvm.collections.EconomicSet
            astore 3 /* modifiedLocations */
        start local 3 // org.graalvm.collections.EconomicSet modifiedLocations
         1: .line 433
            getstatic org.graalvm.collections.Equivalence.DEFAULT:Lorg/graalvm/collections/Equivalence;
            invokestatic org.graalvm.collections.EconomicMap.create:(Lorg/graalvm/collections/Equivalence;)Lorg/graalvm/collections/EconomicMap;
            astore 4 /* phis */
        start local 4 // org.graalvm.collections.EconomicMap phis
         2: .line 434
            aload 3 /* modifiedLocations */
            invokestatic org.graalvm.word.LocationIdentity.any:()Lorg/graalvm/word/LocationIdentity;
            invokeinterface org.graalvm.collections.EconomicSet.contains:(Ljava/lang/Object;)Z
            ifeq 5
         3: .line 436
            getstatic org.graalvm.collections.Equivalence.DEFAULT:Lorg/graalvm/collections/Equivalence;
            aload 3 /* modifiedLocations */
            invokestatic org.graalvm.collections.EconomicSet.create:(Lorg/graalvm/collections/Equivalence;Lorg/graalvm/collections/UnmodifiableEconomicSet;)Lorg/graalvm/collections/EconomicSet;
            astore 3 /* modifiedLocations */
         4: .line 437
            aload 3 /* modifiedLocations */
            aload 2 /* initialState */
            invokevirtual org.graalvm.compiler.phases.common.FloatingReadPhase$MemoryMapImpl.getMap:()Lorg/graalvm/collections/EconomicMap;
            invokeinterface org.graalvm.collections.EconomicMap.getKeys:()Ljava/lang/Iterable;
            invokeinterface org.graalvm.collections.EconomicSet.addAll:(Ljava/lang/Iterable;)V
         5: .line 440
      StackMap locals: org.graalvm.collections.EconomicSet org.graalvm.collections.EconomicMap
      StackMap stack:
            aload 3 /* modifiedLocations */
            invokeinterface org.graalvm.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 org.graalvm.collections.EconomicSet org.graalvm.collections.EconomicMap top java.util.Iterator
      StackMap stack:
         6: aload 6
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.graalvm.word.LocationIdentity
            astore 5 /* location */
        start local 5 // org.graalvm.word.LocationIdentity location
         7: .line 441
            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;Lorg/graalvm/collections/EconomicMap;Lorg/graalvm/word/LocationIdentity;)V
        end local 5 // org.graalvm.word.LocationIdentity location
         8: .line 440
      StackMap locals:
      StackMap stack:
            aload 6
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 6
         9: .line 443
            aload 2 /* initialState */
            invokevirtual org.graalvm.compiler.phases.common.FloatingReadPhase$MemoryMapImpl.getMap:()Lorg/graalvm/collections/EconomicMap;
            aload 4 /* phis */
            invokeinterface org.graalvm.collections.EconomicMap.putAll:(Lorg/graalvm/collections/UnmodifiableEconomicMap;)V
        10: .line 445
            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 447
            aload 5 /* loopInfo */
            getfield org.graalvm.compiler.phases.graph.ReentrantNodeIterator$LoopInfo.endStates:Lorg/graalvm/collections/EconomicMap;
            invokeinterface org.graalvm.collections.EconomicMap.getEntries:()Lorg/graalvm/collections/MapCursor;
            astore 6 /* endStateCursor */
        start local 6 // org.graalvm.collections.UnmodifiableMapCursor endStateCursor
        12: .line 448
            goto 20
        13: .line 449
      StackMap locals: org.graalvm.compiler.phases.common.FloatingReadPhase$FloatingReadClosure org.graalvm.compiler.nodes.LoopBeginNode org.graalvm.compiler.phases.common.FloatingReadPhase$MemoryMapImpl org.graalvm.collections.EconomicSet org.graalvm.collections.EconomicMap org.graalvm.compiler.phases.graph.ReentrantNodeIterator$LoopInfo org.graalvm.collections.UnmodifiableMapCursor
      StackMap stack:
            aload 1 /* loop */
            aload 6 /* endStateCursor */
            invokeinterface org.graalvm.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 450
            aload 4 /* phis */
            invokeinterface org.graalvm.collections.EconomicMap.getEntries:()Lorg/graalvm/collections/MapCursor;
            astore 8 /* phiCursor */
        start local 8 // org.graalvm.collections.UnmodifiableMapCursor phiCursor
        15: .line 451
            goto 19
        16: .line 452
      StackMap locals: int org.graalvm.collections.UnmodifiableMapCursor
      StackMap stack:
            aload 8 /* phiCursor */
            invokeinterface org.graalvm.collections.UnmodifiableMapCursor.getKey:()Ljava/lang/Object;
            checkcast org.graalvm.word.LocationIdentity
            astore 9 /* key */
        start local 9 // org.graalvm.word.LocationIdentity key
        17: .line 453
            aload 8 /* phiCursor */
            invokeinterface org.graalvm.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 454
            aload 10 /* phi */
            iload 7 /* endIndex */
            aload 6 /* endStateCursor */
            invokeinterface org.graalvm.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:(Lorg/graalvm/word/LocationIdentity;)Lorg/graalvm/compiler/nodes/memory/MemoryKill;
            invokestatic org.graalvm.compiler.nodes.ValueNodeUtil.asNode:(Lorg/graalvm/compiler/nodes/memory/MemoryKill;)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 // org.graalvm.word.LocationIdentity key
        19: .line 451
      StackMap locals:
      StackMap stack:
            aload 8 /* phiCursor */
            invokeinterface org.graalvm.collections.UnmodifiableMapCursor.advance:()Z
            ifne 16
        end local 8 // org.graalvm.collections.UnmodifiableMapCursor phiCursor
        end local 7 // int endIndex
        20: .line 448
      StackMap locals:
      StackMap stack:
            aload 6 /* endStateCursor */
            invokeinterface org.graalvm.collections.UnmodifiableMapCursor.advance:()Z
            ifne 13
        21: .line 457
            aload 5 /* loopInfo */
            getfield org.graalvm.compiler.phases.graph.ReentrantNodeIterator$LoopInfo.exitStates:Lorg/graalvm/collections/EconomicMap;
            areturn
        end local 6 // org.graalvm.collections.UnmodifiableMapCursor endStateCursor
        end local 5 // org.graalvm.compiler.phases.graph.ReentrantNodeIterator$LoopInfo loopInfo
        end local 4 // org.graalvm.collections.EconomicMap phis
        end local 3 // org.graalvm.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  Lorg/graalvm/collections/EconomicSet<Lorg/graalvm/word/LocationIdentity;>;
            2   22     4               phis  Lorg/graalvm/collections/EconomicMap<Lorg/graalvm/word/LocationIdentity;Lorg/graalvm/compiler/nodes/memory/MemoryPhiNode;>;
            7    8     5           location  Lorg/graalvm/word/LocationIdentity;
           11   22     5           loopInfo  Lorg/graalvm/compiler/phases/graph/ReentrantNodeIterator$LoopInfo<Lorg/graalvm/compiler/phases/common/FloatingReadPhase$MemoryMapImpl;>;
           12   22     6     endStateCursor  Lorg/graalvm/collections/UnmodifiableMapCursor<Lorg/graalvm/compiler/nodes/LoopEndNode;Lorg/graalvm/compiler/phases/common/FloatingReadPhase$MemoryMapImpl;>;
           14   20     7           endIndex  I
           15   20     8          phiCursor  Lorg/graalvm/collections/UnmodifiableMapCursor<Lorg/graalvm/word/LocationIdentity;Lorg/graalvm/compiler/nodes/memory/MemoryPhiNode;>;
           17   19     9                key  Lorg/graalvm/word/LocationIdentity;
           18   19    10                phi  Lorg/graalvm/compiler/nodes/PhiNode;
    Signature: (Lorg/graalvm/compiler/nodes/LoopBeginNode;Lorg/graalvm/compiler/phases/common/FloatingReadPhase$MemoryMapImpl;)Lorg/graalvm/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, org.graalvm.collections.EconomicMap<org.graalvm.word.LocationIdentity, org.graalvm.compiler.nodes.memory.MemoryPhiNode>, org.graalvm.word.LocationIdentity);
    descriptor: (Lorg/graalvm/compiler/nodes/LoopBeginNode;Lorg/graalvm/compiler/phases/common/FloatingReadPhase$MemoryMapImpl;Lorg/graalvm/collections/EconomicMap;Lorg/graalvm/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 // org.graalvm.collections.EconomicMap phis
        start local 3 // org.graalvm.word.LocationIdentity location
         0: .line 461
            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;Lorg/graalvm/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 462
            aload 4 /* phi */
            aload 1 /* initialState */
            aload 3 /* location */
            invokevirtual org.graalvm.compiler.phases.common.FloatingReadPhase$MemoryMapImpl.getLastLocationAccess:(Lorg/graalvm/word/LocationIdentity;)Lorg/graalvm/compiler/nodes/memory/MemoryKill;
            invokestatic org.graalvm.compiler.nodes.ValueNodeUtil.asNode:(Lorg/graalvm/compiler/nodes/memory/MemoryKill;)Lorg/graalvm/compiler/nodes/ValueNode;
            invokevirtual org.graalvm.compiler.nodes.memory.MemoryPhiNode.addInput:(Lorg/graalvm/compiler/nodes/ValueNode;)V
         2: .line 463
            aload 2 /* phis */
            aload 3 /* location */
            aload 4 /* phi */
            invokeinterface org.graalvm.collections.EconomicMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         3: .line 464
            return
        end local 4 // org.graalvm.compiler.nodes.memory.MemoryPhiNode phi
        end local 3 // org.graalvm.word.LocationIdentity location
        end local 2 // org.graalvm.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  Lorg/graalvm/collections/EconomicMap<Lorg/graalvm/word/LocationIdentity;Lorg/graalvm/compiler/nodes/memory/MemoryPhiNode;>;
            0    4     3      location  Lorg/graalvm/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;Lorg/graalvm/collections/EconomicMap<Lorg/graalvm/word/LocationIdentity;Lorg/graalvm/compiler/nodes/memory/MemoryPhiNode;>;Lorg/graalvm/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 org.graalvm.collections.EconomicMap processLoop(org.graalvm.compiler.nodes.LoopBeginNode, java.lang.Object);
    descriptor: (Lorg/graalvm/compiler/nodes/LoopBeginNode;Ljava/lang/Object;)Lorg/graalvm/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;)Lorg/graalvm/collections/EconomicMap;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  private static org.graalvm.compiler.nodes.memory.MemoryKill lambda$0(boolean, org.graalvm.collections.EconomicSet, org.graalvm.compiler.nodes.LoopExitNode, org.graalvm.word.LocationIdentity, org.graalvm.compiler.nodes.memory.MemoryKill);
    descriptor: (ZLorg/graalvm/collections/EconomicSet;Lorg/graalvm/compiler/nodes/LoopExitNode;Lorg/graalvm/word/LocationIdentity;Lorg/graalvm/compiler/nodes/memory/MemoryKill;)Lorg/graalvm/compiler/nodes/memory/MemoryKill;
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=3, locals=5, args_size=5
        start local 3 // org.graalvm.word.LocationIdentity locationIdentity
        start local 4 // org.graalvm.compiler.nodes.memory.MemoryKill memoryNode
         0: .line 315
            iload 0
            ifne 1
            aload 1
            aload 3 /* locationIdentity */
            invokeinterface org.graalvm.collections.EconomicSet.contains:(Ljava/lang/Object;)Z
            ifeq 2
         1: .line 316
      StackMap locals:
      StackMap stack:
            aload 4 /* memoryNode */
            aload 2
            aload 3 /* locationIdentity */
            invokestatic org.graalvm.compiler.nodes.ProxyNode.forMemory:(Lorg/graalvm/compiler/nodes/memory/MemoryKill;Lorg/graalvm/compiler/nodes/LoopExitNode;Lorg/graalvm/word/LocationIdentity;)Lorg/graalvm/compiler/nodes/MemoryProxyNode;
            goto 3
         2: .line 317
      StackMap locals:
      StackMap stack:
            aload 4 /* memoryNode */
      StackMap locals:
      StackMap stack: org.graalvm.compiler.nodes.memory.MemoryKill
         3: areturn
        end local 4 // org.graalvm.compiler.nodes.memory.MemoryKill memoryNode
        end local 3 // org.graalvm.word.LocationIdentity locationIdentity
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0    4     3  locationIdentity  Lorg/graalvm/word/LocationIdentity;
            0    4     4        memoryNode  Lorg/graalvm/compiler/nodes/memory/MemoryKill;
}
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 final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles
  public abstract ValueNumberable = org.graalvm.compiler.graph.Node$ValueNumberable of org.graalvm.compiler.graph.Node
  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