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

  public void <init>(org.graalvm.compiler.nodes.cfg.ControlFlowGraph);
    descriptor: (Lorg/graalvm/compiler/nodes/cfg/ControlFlowGraph;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.graalvm.compiler.virtual.phases.ea.ReadEliminationClosure this
        start local 1 // org.graalvm.compiler.nodes.cfg.ControlFlowGraph cfg
         0: .line 73
            aload 0 /* this */
            aconst_null
            aload 1 /* cfg */
            invokespecial org.graalvm.compiler.virtual.phases.ea.EffectsClosure.<init>:(Lorg/graalvm/compiler/nodes/StructuredGraph$ScheduleResult;Lorg/graalvm/compiler/nodes/cfg/ControlFlowGraph;)V
         1: .line 74
            return
        end local 1 // org.graalvm.compiler.nodes.cfg.ControlFlowGraph cfg
        end local 0 // org.graalvm.compiler.virtual.phases.ea.ReadEliminationClosure this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/graalvm/compiler/virtual/phases/ea/ReadEliminationClosure;
            0    2     1   cfg  Lorg/graalvm/compiler/nodes/cfg/ControlFlowGraph;
    MethodParameters:
      Name  Flags
      cfg   

  protected org.graalvm.compiler.virtual.phases.ea.ReadEliminationBlockState getInitialState();
    descriptor: ()Lorg/graalvm/compiler/virtual/phases/ea/ReadEliminationBlockState;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.graalvm.compiler.virtual.phases.ea.ReadEliminationClosure this
         0: .line 78
            new org.graalvm.compiler.virtual.phases.ea.ReadEliminationBlockState
            dup
            invokespecial org.graalvm.compiler.virtual.phases.ea.ReadEliminationBlockState.<init>:()V
            areturn
        end local 0 // org.graalvm.compiler.virtual.phases.ea.ReadEliminationClosure this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/graalvm/compiler/virtual/phases/ea/ReadEliminationClosure;

  protected boolean processNode(org.graalvm.compiler.graph.Node, org.graalvm.compiler.virtual.phases.ea.ReadEliminationBlockState, org.graalvm.compiler.virtual.phases.ea.GraphEffectList, org.graalvm.compiler.nodes.FixedWithNextNode);
    descriptor: (Lorg/graalvm/compiler/graph/Node;Lorg/graalvm/compiler/virtual/phases/ea/ReadEliminationBlockState;Lorg/graalvm/compiler/virtual/phases/ea/GraphEffectList;Lorg/graalvm/compiler/nodes/FixedWithNextNode;)Z
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=6, locals=12, args_size=5
        start local 0 // org.graalvm.compiler.virtual.phases.ea.ReadEliminationClosure this
        start local 1 // org.graalvm.compiler.graph.Node node
        start local 2 // org.graalvm.compiler.virtual.phases.ea.ReadEliminationBlockState state
        start local 3 // org.graalvm.compiler.virtual.phases.ea.GraphEffectList effects
        start local 4 // org.graalvm.compiler.nodes.FixedWithNextNode lastFixedNode
         0: .line 83
            iconst_0
            istore 5 /* deleted */
        start local 5 // boolean deleted
         1: .line 84
            aload 1 /* node */
            instanceof org.graalvm.compiler.nodes.java.AccessFieldNode
            ifeq 26
         2: .line 85
            aload 1 /* node */
            checkcast org.graalvm.compiler.nodes.java.AccessFieldNode
            astore 6 /* access */
        start local 6 // org.graalvm.compiler.nodes.java.AccessFieldNode access
         3: .line 86
            aload 6 /* access */
            invokevirtual org.graalvm.compiler.nodes.java.AccessFieldNode.isVolatile:()Z
            ifeq 6
         4: .line 87
            aload 2 /* state */
            invokestatic org.graalvm.compiler.core.common.LocationIdentity.any:()Lorg/graalvm/compiler/core/common/LocationIdentity;
            invokestatic org.graalvm.compiler.virtual.phases.ea.ReadEliminationClosure.processIdentity:(Lorg/graalvm/compiler/virtual/phases/ea/ReadEliminationBlockState;Lorg/graalvm/compiler/core/common/LocationIdentity;)V
         5: .line 88
            goto 96
         6: .line 89
      StackMap locals: int org.graalvm.compiler.nodes.java.AccessFieldNode
      StackMap stack:
            aload 6 /* access */
            invokevirtual org.graalvm.compiler.nodes.java.AccessFieldNode.object:()Lorg/graalvm/compiler/nodes/ValueNode;
            invokestatic org.graalvm.compiler.nodes.util.GraphUtil.unproxify:(Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/nodes/ValueNode;
            astore 7 /* object */
        start local 7 // org.graalvm.compiler.nodes.ValueNode object
         7: .line 90
            new org.graalvm.compiler.virtual.phases.ea.ReadEliminationBlockState$LoadCacheEntry
            dup
            aload 7 /* object */
            new org.graalvm.compiler.nodes.FieldLocationIdentity
            dup
            aload 6 /* access */
            invokevirtual org.graalvm.compiler.nodes.java.AccessFieldNode.field:()Ljdk/vm/ci/meta/ResolvedJavaField;
            invokespecial org.graalvm.compiler.nodes.FieldLocationIdentity.<init>:(Ljdk/vm/ci/meta/ResolvedJavaField;)V
            invokespecial org.graalvm.compiler.virtual.phases.ea.ReadEliminationBlockState$LoadCacheEntry.<init>:(Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/core/common/LocationIdentity;)V
            astore 8 /* identifier */
        start local 8 // org.graalvm.compiler.virtual.phases.ea.ReadEliminationBlockState$LoadCacheEntry identifier
         8: .line 91
            aload 2 /* state */
            aload 8 /* identifier */
            invokevirtual org.graalvm.compiler.virtual.phases.ea.ReadEliminationBlockState.getCacheEntry:(Lorg/graalvm/compiler/virtual/phases/ea/ReadEliminationBlockState$CacheEntry;)Lorg/graalvm/compiler/nodes/ValueNode;
            astore 9 /* cachedValue */
        start local 9 // org.graalvm.compiler.nodes.ValueNode cachedValue
         9: .line 92
            aload 1 /* node */
            instanceof org.graalvm.compiler.nodes.java.LoadFieldNode
            ifeq 17
        10: .line 93
            aload 9 /* cachedValue */
            ifnull 15
            aload 6 /* access */
            invokevirtual org.graalvm.compiler.nodes.java.AccessFieldNode.stamp:()Lorg/graalvm/compiler/core/common/type/Stamp;
            aload 9 /* cachedValue */
            invokevirtual org.graalvm.compiler.nodes.ValueNode.stamp:()Lorg/graalvm/compiler/core/common/type/Stamp;
            invokevirtual org.graalvm.compiler.core.common.type.Stamp.isCompatible:(Lorg/graalvm/compiler/core/common/type/Stamp;)Z
            ifeq 15
        11: .line 94
            aload 3 /* effects */
            aload 6 /* access */
            aload 9 /* cachedValue */
            invokevirtual org.graalvm.compiler.virtual.phases.ea.GraphEffectList.replaceAtUsages:(Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/ValueNode;)V
        12: .line 95
            aload 0 /* this */
            aload 6 /* access */
            aload 9 /* cachedValue */
            invokevirtual org.graalvm.compiler.virtual.phases.ea.ReadEliminationClosure.addScalarAlias:(Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/ValueNode;)V
        13: .line 96
            iconst_1
            istore 5 /* deleted */
        14: .line 97
            goto 96
        15: .line 98
      StackMap locals: org.graalvm.compiler.nodes.ValueNode org.graalvm.compiler.virtual.phases.ea.ReadEliminationBlockState$LoadCacheEntry org.graalvm.compiler.nodes.ValueNode
      StackMap stack:
            aload 2 /* state */
            aload 8 /* identifier */
            aload 6 /* access */
            invokevirtual org.graalvm.compiler.virtual.phases.ea.ReadEliminationBlockState.addCacheEntry:(Lorg/graalvm/compiler/virtual/phases/ea/ReadEliminationBlockState$CacheEntry;Lorg/graalvm/compiler/nodes/ValueNode;)V
        16: .line 100
            goto 96
        17: .line 101
      StackMap locals:
      StackMap stack:
            getstatic org.graalvm.compiler.virtual.phases.ea.ReadEliminationClosure.$assertionsDisabled:Z
            ifne 18
            aload 1 /* node */
            instanceof org.graalvm.compiler.nodes.java.StoreFieldNode
            ifne 18
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        18: .line 102
      StackMap locals:
      StackMap stack:
            aload 1 /* node */
            checkcast org.graalvm.compiler.nodes.java.StoreFieldNode
            astore 10 /* store */
        start local 10 // org.graalvm.compiler.nodes.java.StoreFieldNode store
        19: .line 103
            aload 0 /* this */
            aload 10 /* store */
            invokevirtual org.graalvm.compiler.nodes.java.StoreFieldNode.value:()Lorg/graalvm/compiler/nodes/ValueNode;
            invokevirtual org.graalvm.compiler.virtual.phases.ea.ReadEliminationClosure.getScalarAlias:(Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/nodes/ValueNode;
            astore 11 /* value */
        start local 11 // org.graalvm.compiler.nodes.ValueNode value
        20: .line 104
            aload 11 /* value */
            invokestatic org.graalvm.compiler.nodes.util.GraphUtil.unproxify:(Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/nodes/ValueNode;
            aload 9 /* cachedValue */
            invokestatic org.graalvm.compiler.nodes.util.GraphUtil.unproxify:(Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/nodes/ValueNode;
            if_acmpne 23
        21: .line 105
            aload 3 /* effects */
            aload 10 /* store */
            invokevirtual org.graalvm.compiler.virtual.phases.ea.GraphEffectList.deleteNode:(Lorg/graalvm/compiler/graph/Node;)V
        22: .line 106
            iconst_1
            istore 5 /* deleted */
        23: .line 108
      StackMap locals: org.graalvm.compiler.nodes.java.StoreFieldNode org.graalvm.compiler.nodes.ValueNode
      StackMap stack:
            aload 2 /* state */
            aload 8 /* identifier */
            getfield org.graalvm.compiler.virtual.phases.ea.ReadEliminationBlockState$LoadCacheEntry.identity:Ljava/lang/Object;
            checkcast org.graalvm.compiler.core.common.LocationIdentity
            invokevirtual org.graalvm.compiler.virtual.phases.ea.ReadEliminationBlockState.killReadCache:(Lorg/graalvm/compiler/core/common/LocationIdentity;)V
        24: .line 109
            aload 2 /* state */
            aload 8 /* identifier */
            aload 11 /* value */
            invokevirtual org.graalvm.compiler.virtual.phases.ea.ReadEliminationBlockState.addCacheEntry:(Lorg/graalvm/compiler/virtual/phases/ea/ReadEliminationBlockState$CacheEntry;Lorg/graalvm/compiler/nodes/ValueNode;)V
        end local 11 // org.graalvm.compiler.nodes.ValueNode value
        end local 10 // org.graalvm.compiler.nodes.java.StoreFieldNode store
        end local 9 // org.graalvm.compiler.nodes.ValueNode cachedValue
        end local 8 // org.graalvm.compiler.virtual.phases.ea.ReadEliminationBlockState$LoadCacheEntry identifier
        end local 7 // org.graalvm.compiler.nodes.ValueNode object
        end local 6 // org.graalvm.compiler.nodes.java.AccessFieldNode access
        25: .line 112
            goto 96
      StackMap locals: org.graalvm.compiler.virtual.phases.ea.ReadEliminationClosure org.graalvm.compiler.graph.Node org.graalvm.compiler.virtual.phases.ea.ReadEliminationBlockState org.graalvm.compiler.virtual.phases.ea.GraphEffectList org.graalvm.compiler.nodes.FixedWithNextNode int
      StackMap stack:
        26: aload 1 /* node */
            instanceof org.graalvm.compiler.nodes.memory.ReadNode
            ifeq 42
        27: .line 113
            aload 1 /* node */
            checkcast org.graalvm.compiler.nodes.memory.ReadNode
            astore 6 /* read */
        start local 6 // org.graalvm.compiler.nodes.memory.ReadNode read
        28: .line 114
            aload 6 /* read */
            invokevirtual org.graalvm.compiler.nodes.memory.ReadNode.getLocationIdentity:()Lorg/graalvm/compiler/core/common/LocationIdentity;
            invokevirtual org.graalvm.compiler.core.common.LocationIdentity.isSingle:()Z
            ifeq 96
        29: .line 115
            aload 6 /* read */
            invokevirtual org.graalvm.compiler.nodes.memory.ReadNode.getAddress:()Lorg/graalvm/compiler/nodes/memory/address/AddressNode;
            invokestatic org.graalvm.compiler.nodes.util.GraphUtil.unproxify:(Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/nodes/ValueNode;
            astore 7 /* object */
        start local 7 // org.graalvm.compiler.nodes.ValueNode object
        30: .line 116
            new org.graalvm.compiler.virtual.phases.ea.ReadEliminationBlockState$LoadCacheEntry
            dup
            aload 7 /* object */
            aload 6 /* read */
            invokevirtual org.graalvm.compiler.nodes.memory.ReadNode.getLocationIdentity:()Lorg/graalvm/compiler/core/common/LocationIdentity;
            invokespecial org.graalvm.compiler.virtual.phases.ea.ReadEliminationBlockState$LoadCacheEntry.<init>:(Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/core/common/LocationIdentity;)V
            astore 8 /* identifier */
        start local 8 // org.graalvm.compiler.virtual.phases.ea.ReadEliminationBlockState$LoadCacheEntry identifier
        31: .line 117
            aload 2 /* state */
            aload 8 /* identifier */
            invokevirtual org.graalvm.compiler.virtual.phases.ea.ReadEliminationBlockState.getCacheEntry:(Lorg/graalvm/compiler/virtual/phases/ea/ReadEliminationBlockState$CacheEntry;)Lorg/graalvm/compiler/nodes/ValueNode;
            astore 9 /* cachedValue */
        start local 9 // org.graalvm.compiler.nodes.ValueNode cachedValue
        32: .line 118
            aload 9 /* cachedValue */
            ifnull 40
            aload 6 /* read */
            invokevirtual org.graalvm.compiler.nodes.memory.ReadNode.stamp:()Lorg/graalvm/compiler/core/common/type/Stamp;
            aload 9 /* cachedValue */
            invokevirtual org.graalvm.compiler.nodes.ValueNode.stamp:()Lorg/graalvm/compiler/core/common/type/Stamp;
            invokevirtual org.graalvm.compiler.core.common.type.Stamp.isCompatible:(Lorg/graalvm/compiler/core/common/type/Stamp;)Z
            ifeq 40
        33: .line 121
            aload 6 /* read */
            invokevirtual org.graalvm.compiler.nodes.memory.ReadNode.getGuard:()Lorg/graalvm/compiler/nodes/extended/GuardingNode;
            ifnull 36
            aload 6 /* read */
            invokevirtual org.graalvm.compiler.nodes.memory.ReadNode.getGuard:()Lorg/graalvm/compiler/nodes/extended/GuardingNode;
            instanceof org.graalvm.compiler.nodes.FixedNode
            ifne 36
        34: .line 122
            aload 9 /* cachedValue */
            instanceof org.graalvm.compiler.nodes.extended.GuardedNode
            ifeq 35
            aload 9 /* cachedValue */
            checkcast org.graalvm.compiler.nodes.extended.GuardedNode
            invokeinterface org.graalvm.compiler.nodes.extended.GuardedNode.getGuard:()Lorg/graalvm/compiler/nodes/extended/GuardingNode;
            aload 6 /* read */
            invokevirtual org.graalvm.compiler.nodes.memory.ReadNode.getGuard:()Lorg/graalvm/compiler/nodes/extended/GuardingNode;
            if_acmpeq 36
        35: .line 123
      StackMap locals: org.graalvm.compiler.virtual.phases.ea.ReadEliminationClosure org.graalvm.compiler.graph.Node org.graalvm.compiler.virtual.phases.ea.ReadEliminationBlockState org.graalvm.compiler.virtual.phases.ea.GraphEffectList org.graalvm.compiler.nodes.FixedWithNextNode int org.graalvm.compiler.nodes.memory.ReadNode org.graalvm.compiler.nodes.ValueNode org.graalvm.compiler.virtual.phases.ea.ReadEliminationBlockState$LoadCacheEntry org.graalvm.compiler.nodes.ValueNode
      StackMap stack:
            aload 3 /* effects */
            new org.graalvm.compiler.nodes.extended.ValueAnchorNode
            dup
            aload 6 /* read */
            invokevirtual org.graalvm.compiler.nodes.memory.ReadNode.getGuard:()Lorg/graalvm/compiler/nodes/extended/GuardingNode;
            checkcast org.graalvm.compiler.nodes.ValueNode
            invokespecial org.graalvm.compiler.nodes.extended.ValueAnchorNode.<init>:(Lorg/graalvm/compiler/nodes/ValueNode;)V
            aload 6 /* read */
            invokevirtual org.graalvm.compiler.virtual.phases.ea.GraphEffectList.addFixedNodeBefore:(Lorg/graalvm/compiler/nodes/FixedWithNextNode;Lorg/graalvm/compiler/nodes/FixedNode;)V
        36: .line 126
      StackMap locals:
      StackMap stack:
            aload 3 /* effects */
            aload 6 /* read */
            aload 9 /* cachedValue */
            invokevirtual org.graalvm.compiler.virtual.phases.ea.GraphEffectList.replaceAtUsages:(Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/ValueNode;)V
        37: .line 127
            aload 0 /* this */
            aload 6 /* read */
            aload 9 /* cachedValue */
            invokevirtual org.graalvm.compiler.virtual.phases.ea.ReadEliminationClosure.addScalarAlias:(Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/ValueNode;)V
        38: .line 128
            iconst_1
            istore 5 /* deleted */
        39: .line 129
            goto 96
        40: .line 130
      StackMap locals:
      StackMap stack:
            aload 2 /* state */
            aload 8 /* identifier */
            aload 6 /* read */
            invokevirtual org.graalvm.compiler.virtual.phases.ea.ReadEliminationBlockState.addCacheEntry:(Lorg/graalvm/compiler/virtual/phases/ea/ReadEliminationBlockState$CacheEntry;Lorg/graalvm/compiler/nodes/ValueNode;)V
        end local 9 // org.graalvm.compiler.nodes.ValueNode cachedValue
        end local 8 // org.graalvm.compiler.virtual.phases.ea.ReadEliminationBlockState$LoadCacheEntry identifier
        end local 7 // org.graalvm.compiler.nodes.ValueNode object
        end local 6 // org.graalvm.compiler.nodes.memory.ReadNode read
        41: .line 133
            goto 96
      StackMap locals: org.graalvm.compiler.virtual.phases.ea.ReadEliminationClosure org.graalvm.compiler.graph.Node org.graalvm.compiler.virtual.phases.ea.ReadEliminationBlockState org.graalvm.compiler.virtual.phases.ea.GraphEffectList org.graalvm.compiler.nodes.FixedWithNextNode int
      StackMap stack:
        42: aload 1 /* node */
            instanceof org.graalvm.compiler.nodes.memory.WriteNode
            ifeq 57
        43: .line 134
            aload 1 /* node */
            checkcast org.graalvm.compiler.nodes.memory.WriteNode
            astore 6 /* write */
        start local 6 // org.graalvm.compiler.nodes.memory.WriteNode write
        44: .line 135
            aload 6 /* write */
            invokevirtual org.graalvm.compiler.nodes.memory.WriteNode.getLocationIdentity:()Lorg/graalvm/compiler/core/common/LocationIdentity;
            invokevirtual org.graalvm.compiler.core.common.LocationIdentity.isSingle:()Z
            ifeq 55
        45: .line 136
            aload 6 /* write */
            invokevirtual org.graalvm.compiler.nodes.memory.WriteNode.getAddress:()Lorg/graalvm/compiler/nodes/memory/address/AddressNode;
            invokestatic org.graalvm.compiler.nodes.util.GraphUtil.unproxify:(Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/nodes/ValueNode;
            astore 7 /* object */
        start local 7 // org.graalvm.compiler.nodes.ValueNode object
        46: .line 137
            new org.graalvm.compiler.virtual.phases.ea.ReadEliminationBlockState$LoadCacheEntry
            dup
            aload 7 /* object */
            aload 6 /* write */
            invokevirtual org.graalvm.compiler.nodes.memory.WriteNode.getLocationIdentity:()Lorg/graalvm/compiler/core/common/LocationIdentity;
            invokespecial org.graalvm.compiler.virtual.phases.ea.ReadEliminationBlockState$LoadCacheEntry.<init>:(Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/core/common/LocationIdentity;)V
            astore 8 /* identifier */
        start local 8 // org.graalvm.compiler.virtual.phases.ea.ReadEliminationBlockState$LoadCacheEntry identifier
        47: .line 138
            aload 2 /* state */
            aload 8 /* identifier */
            invokevirtual org.graalvm.compiler.virtual.phases.ea.ReadEliminationBlockState.getCacheEntry:(Lorg/graalvm/compiler/virtual/phases/ea/ReadEliminationBlockState$CacheEntry;)Lorg/graalvm/compiler/nodes/ValueNode;
            astore 9 /* cachedValue */
        start local 9 // org.graalvm.compiler.nodes.ValueNode cachedValue
        48: .line 140
            aload 0 /* this */
            aload 6 /* write */
            invokevirtual org.graalvm.compiler.nodes.memory.WriteNode.value:()Lorg/graalvm/compiler/nodes/ValueNode;
            invokevirtual org.graalvm.compiler.virtual.phases.ea.ReadEliminationClosure.getScalarAlias:(Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/nodes/ValueNode;
            astore 10 /* value */
        start local 10 // org.graalvm.compiler.nodes.ValueNode value
        49: .line 141
            aload 10 /* value */
            invokestatic org.graalvm.compiler.nodes.util.GraphUtil.unproxify:(Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/nodes/ValueNode;
            aload 9 /* cachedValue */
            invokestatic org.graalvm.compiler.nodes.util.GraphUtil.unproxify:(Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/nodes/ValueNode;
            if_acmpne 52
        50: .line 142
            aload 3 /* effects */
            aload 6 /* write */
            invokevirtual org.graalvm.compiler.virtual.phases.ea.GraphEffectList.deleteNode:(Lorg/graalvm/compiler/graph/Node;)V
        51: .line 143
            iconst_1
            istore 5 /* deleted */
        52: .line 145
      StackMap locals: org.graalvm.compiler.virtual.phases.ea.ReadEliminationClosure org.graalvm.compiler.graph.Node org.graalvm.compiler.virtual.phases.ea.ReadEliminationBlockState org.graalvm.compiler.virtual.phases.ea.GraphEffectList org.graalvm.compiler.nodes.FixedWithNextNode int org.graalvm.compiler.nodes.memory.WriteNode org.graalvm.compiler.nodes.ValueNode org.graalvm.compiler.virtual.phases.ea.ReadEliminationBlockState$LoadCacheEntry org.graalvm.compiler.nodes.ValueNode org.graalvm.compiler.nodes.ValueNode
      StackMap stack:
            aload 2 /* state */
            aload 6 /* write */
            invokevirtual org.graalvm.compiler.nodes.memory.WriteNode.getLocationIdentity:()Lorg/graalvm/compiler/core/common/LocationIdentity;
            invokestatic org.graalvm.compiler.virtual.phases.ea.ReadEliminationClosure.processIdentity:(Lorg/graalvm/compiler/virtual/phases/ea/ReadEliminationBlockState;Lorg/graalvm/compiler/core/common/LocationIdentity;)V
        53: .line 146
            aload 2 /* state */
            aload 8 /* identifier */
            aload 10 /* value */
            invokevirtual org.graalvm.compiler.virtual.phases.ea.ReadEliminationBlockState.addCacheEntry:(Lorg/graalvm/compiler/virtual/phases/ea/ReadEliminationBlockState$CacheEntry;Lorg/graalvm/compiler/nodes/ValueNode;)V
        end local 10 // org.graalvm.compiler.nodes.ValueNode value
        end local 9 // org.graalvm.compiler.nodes.ValueNode cachedValue
        end local 8 // org.graalvm.compiler.virtual.phases.ea.ReadEliminationBlockState$LoadCacheEntry identifier
        end local 7 // org.graalvm.compiler.nodes.ValueNode object
        54: .line 147
            goto 96
        55: .line 148
      StackMap locals: org.graalvm.compiler.virtual.phases.ea.ReadEliminationClosure org.graalvm.compiler.graph.Node org.graalvm.compiler.virtual.phases.ea.ReadEliminationBlockState org.graalvm.compiler.virtual.phases.ea.GraphEffectList org.graalvm.compiler.nodes.FixedWithNextNode int org.graalvm.compiler.nodes.memory.WriteNode
      StackMap stack:
            aload 2 /* state */
            aload 6 /* write */
            invokevirtual org.graalvm.compiler.nodes.memory.WriteNode.getLocationIdentity:()Lorg/graalvm/compiler/core/common/LocationIdentity;
            invokestatic org.graalvm.compiler.virtual.phases.ea.ReadEliminationClosure.processIdentity:(Lorg/graalvm/compiler/virtual/phases/ea/ReadEliminationBlockState;Lorg/graalvm/compiler/core/common/LocationIdentity;)V
        end local 6 // org.graalvm.compiler.nodes.memory.WriteNode write
        56: .line 150
            goto 96
      StackMap locals:
      StackMap stack:
        57: aload 1 /* node */
            instanceof org.graalvm.compiler.nodes.extended.UnsafeAccessNode
            ifeq 86
        58: .line 151
            aload 1 /* node */
            instanceof org.graalvm.compiler.nodes.extended.UnsafeLoadNode
            ifeq 71
        59: .line 152
            aload 1 /* node */
            checkcast org.graalvm.compiler.nodes.extended.UnsafeLoadNode
            astore 6 /* load */
        start local 6 // org.graalvm.compiler.nodes.extended.UnsafeLoadNode load
        60: .line 153
            aload 6 /* load */
            invokevirtual org.graalvm.compiler.nodes.extended.UnsafeLoadNode.getLocationIdentity:()Lorg/graalvm/compiler/core/common/LocationIdentity;
            invokevirtual org.graalvm.compiler.core.common.LocationIdentity.isSingle:()Z
            ifeq 96
        61: .line 154
            aload 6 /* load */
            invokevirtual org.graalvm.compiler.nodes.extended.UnsafeLoadNode.object:()Lorg/graalvm/compiler/nodes/ValueNode;
            invokestatic org.graalvm.compiler.nodes.util.GraphUtil.unproxify:(Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/nodes/ValueNode;
            astore 7 /* object */
        start local 7 // org.graalvm.compiler.nodes.ValueNode object
        62: .line 155
            new org.graalvm.compiler.virtual.phases.ea.ReadEliminationBlockState$UnsafeLoadCacheEntry
            dup
            aload 7 /* object */
            aload 6 /* load */
            invokevirtual org.graalvm.compiler.nodes.extended.UnsafeLoadNode.offset:()Lorg/graalvm/compiler/nodes/ValueNode;
            aload 6 /* load */
            invokevirtual org.graalvm.compiler.nodes.extended.UnsafeLoadNode.getLocationIdentity:()Lorg/graalvm/compiler/core/common/LocationIdentity;
            invokespecial org.graalvm.compiler.virtual.phases.ea.ReadEliminationBlockState$UnsafeLoadCacheEntry.<init>:(Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/core/common/LocationIdentity;)V
            astore 8 /* identifier */
        start local 8 // org.graalvm.compiler.virtual.phases.ea.ReadEliminationBlockState$UnsafeLoadCacheEntry identifier
        63: .line 156
            aload 2 /* state */
            aload 8 /* identifier */
            invokevirtual org.graalvm.compiler.virtual.phases.ea.ReadEliminationBlockState.getCacheEntry:(Lorg/graalvm/compiler/virtual/phases/ea/ReadEliminationBlockState$CacheEntry;)Lorg/graalvm/compiler/nodes/ValueNode;
            astore 9 /* cachedValue */
        start local 9 // org.graalvm.compiler.nodes.ValueNode cachedValue
        64: .line 157
            aload 9 /* cachedValue */
            ifnull 69
            aload 6 /* load */
            invokevirtual org.graalvm.compiler.nodes.extended.UnsafeLoadNode.stamp:()Lorg/graalvm/compiler/core/common/type/Stamp;
            aload 9 /* cachedValue */
            invokevirtual org.graalvm.compiler.nodes.ValueNode.stamp:()Lorg/graalvm/compiler/core/common/type/Stamp;
            invokevirtual org.graalvm.compiler.core.common.type.Stamp.isCompatible:(Lorg/graalvm/compiler/core/common/type/Stamp;)Z
            ifeq 69
        65: .line 158
            aload 3 /* effects */
            aload 6 /* load */
            aload 9 /* cachedValue */
            invokevirtual org.graalvm.compiler.virtual.phases.ea.GraphEffectList.replaceAtUsages:(Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/ValueNode;)V
        66: .line 159
            aload 0 /* this */
            aload 6 /* load */
            aload 9 /* cachedValue */
            invokevirtual org.graalvm.compiler.virtual.phases.ea.ReadEliminationClosure.addScalarAlias:(Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/ValueNode;)V
        67: .line 160
            iconst_1
            istore 5 /* deleted */
        68: .line 161
            goto 96
        69: .line 162
      StackMap locals: org.graalvm.compiler.virtual.phases.ea.ReadEliminationClosure org.graalvm.compiler.graph.Node org.graalvm.compiler.virtual.phases.ea.ReadEliminationBlockState org.graalvm.compiler.virtual.phases.ea.GraphEffectList org.graalvm.compiler.nodes.FixedWithNextNode int org.graalvm.compiler.nodes.extended.UnsafeLoadNode org.graalvm.compiler.nodes.ValueNode org.graalvm.compiler.virtual.phases.ea.ReadEliminationBlockState$UnsafeLoadCacheEntry org.graalvm.compiler.nodes.ValueNode
      StackMap stack:
            aload 2 /* state */
            aload 8 /* identifier */
            aload 6 /* load */
            invokevirtual org.graalvm.compiler.virtual.phases.ea.ReadEliminationBlockState.addCacheEntry:(Lorg/graalvm/compiler/virtual/phases/ea/ReadEliminationBlockState$CacheEntry;Lorg/graalvm/compiler/nodes/ValueNode;)V
        end local 9 // org.graalvm.compiler.nodes.ValueNode cachedValue
        end local 8 // org.graalvm.compiler.virtual.phases.ea.ReadEliminationBlockState$UnsafeLoadCacheEntry identifier
        end local 7 // org.graalvm.compiler.nodes.ValueNode object
        end local 6 // org.graalvm.compiler.nodes.extended.UnsafeLoadNode load
        70: .line 165
            goto 96
        71: .line 166
      StackMap locals: org.graalvm.compiler.virtual.phases.ea.ReadEliminationClosure org.graalvm.compiler.graph.Node org.graalvm.compiler.virtual.phases.ea.ReadEliminationBlockState org.graalvm.compiler.virtual.phases.ea.GraphEffectList org.graalvm.compiler.nodes.FixedWithNextNode int
      StackMap stack:
            getstatic org.graalvm.compiler.virtual.phases.ea.ReadEliminationClosure.$assertionsDisabled:Z
            ifne 72
            aload 1 /* node */
            instanceof org.graalvm.compiler.nodes.extended.UnsafeStoreNode
            ifne 72
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        72: .line 167
      StackMap locals:
      StackMap stack:
            aload 1 /* node */
            checkcast org.graalvm.compiler.nodes.extended.UnsafeStoreNode
            astore 6 /* write */
        start local 6 // org.graalvm.compiler.nodes.extended.UnsafeStoreNode write
        73: .line 168
            aload 6 /* write */
            invokevirtual org.graalvm.compiler.nodes.extended.UnsafeStoreNode.getLocationIdentity:()Lorg/graalvm/compiler/core/common/LocationIdentity;
            invokevirtual org.graalvm.compiler.core.common.LocationIdentity.isSingle:()Z
            ifeq 84
        74: .line 169
            aload 6 /* write */
            invokevirtual org.graalvm.compiler.nodes.extended.UnsafeStoreNode.object:()Lorg/graalvm/compiler/nodes/ValueNode;
            invokestatic org.graalvm.compiler.nodes.util.GraphUtil.unproxify:(Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/nodes/ValueNode;
            astore 7 /* object */
        start local 7 // org.graalvm.compiler.nodes.ValueNode object
        75: .line 170
            new org.graalvm.compiler.virtual.phases.ea.ReadEliminationBlockState$UnsafeLoadCacheEntry
            dup
            aload 7 /* object */
            aload 6 /* write */
            invokevirtual org.graalvm.compiler.nodes.extended.UnsafeStoreNode.offset:()Lorg/graalvm/compiler/nodes/ValueNode;
            aload 6 /* write */
            invokevirtual org.graalvm.compiler.nodes.extended.UnsafeStoreNode.getLocationIdentity:()Lorg/graalvm/compiler/core/common/LocationIdentity;
            invokespecial org.graalvm.compiler.virtual.phases.ea.ReadEliminationBlockState$UnsafeLoadCacheEntry.<init>:(Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/core/common/LocationIdentity;)V
            astore 8 /* identifier */
        start local 8 // org.graalvm.compiler.virtual.phases.ea.ReadEliminationBlockState$UnsafeLoadCacheEntry identifier
        76: .line 171
            aload 2 /* state */
            aload 8 /* identifier */
            invokevirtual org.graalvm.compiler.virtual.phases.ea.ReadEliminationBlockState.getCacheEntry:(Lorg/graalvm/compiler/virtual/phases/ea/ReadEliminationBlockState$CacheEntry;)Lorg/graalvm/compiler/nodes/ValueNode;
            astore 9 /* cachedValue */
        start local 9 // org.graalvm.compiler.nodes.ValueNode cachedValue
        77: .line 173
            aload 0 /* this */
            aload 6 /* write */
            invokevirtual org.graalvm.compiler.nodes.extended.UnsafeStoreNode.value:()Lorg/graalvm/compiler/nodes/ValueNode;
            invokevirtual org.graalvm.compiler.virtual.phases.ea.ReadEliminationClosure.getScalarAlias:(Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/nodes/ValueNode;
            astore 10 /* value */
        start local 10 // org.graalvm.compiler.nodes.ValueNode value
        78: .line 174
            aload 10 /* value */
            invokestatic org.graalvm.compiler.nodes.util.GraphUtil.unproxify:(Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/nodes/ValueNode;
            aload 9 /* cachedValue */
            invokestatic org.graalvm.compiler.nodes.util.GraphUtil.unproxify:(Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/nodes/ValueNode;
            if_acmpne 81
        79: .line 175
            aload 3 /* effects */
            aload 6 /* write */
            invokevirtual org.graalvm.compiler.virtual.phases.ea.GraphEffectList.deleteNode:(Lorg/graalvm/compiler/graph/Node;)V
        80: .line 176
            iconst_1
            istore 5 /* deleted */
        81: .line 178
      StackMap locals: org.graalvm.compiler.virtual.phases.ea.ReadEliminationClosure org.graalvm.compiler.graph.Node org.graalvm.compiler.virtual.phases.ea.ReadEliminationBlockState org.graalvm.compiler.virtual.phases.ea.GraphEffectList org.graalvm.compiler.nodes.FixedWithNextNode int org.graalvm.compiler.nodes.extended.UnsafeStoreNode org.graalvm.compiler.nodes.ValueNode org.graalvm.compiler.virtual.phases.ea.ReadEliminationBlockState$UnsafeLoadCacheEntry org.graalvm.compiler.nodes.ValueNode org.graalvm.compiler.nodes.ValueNode
      StackMap stack:
            aload 2 /* state */
            aload 6 /* write */
            invokevirtual org.graalvm.compiler.nodes.extended.UnsafeStoreNode.getLocationIdentity:()Lorg/graalvm/compiler/core/common/LocationIdentity;
            invokestatic org.graalvm.compiler.virtual.phases.ea.ReadEliminationClosure.processIdentity:(Lorg/graalvm/compiler/virtual/phases/ea/ReadEliminationBlockState;Lorg/graalvm/compiler/core/common/LocationIdentity;)V
        82: .line 179
            aload 2 /* state */
            aload 8 /* identifier */
            aload 10 /* value */
            invokevirtual org.graalvm.compiler.virtual.phases.ea.ReadEliminationBlockState.addCacheEntry:(Lorg/graalvm/compiler/virtual/phases/ea/ReadEliminationBlockState$CacheEntry;Lorg/graalvm/compiler/nodes/ValueNode;)V
        end local 10 // org.graalvm.compiler.nodes.ValueNode value
        end local 9 // org.graalvm.compiler.nodes.ValueNode cachedValue
        end local 8 // org.graalvm.compiler.virtual.phases.ea.ReadEliminationBlockState$UnsafeLoadCacheEntry identifier
        end local 7 // org.graalvm.compiler.nodes.ValueNode object
        83: .line 180
            goto 96
        84: .line 181
      StackMap locals: org.graalvm.compiler.virtual.phases.ea.ReadEliminationClosure org.graalvm.compiler.graph.Node org.graalvm.compiler.virtual.phases.ea.ReadEliminationBlockState org.graalvm.compiler.virtual.phases.ea.GraphEffectList org.graalvm.compiler.nodes.FixedWithNextNode int org.graalvm.compiler.nodes.extended.UnsafeStoreNode
      StackMap stack:
            aload 2 /* state */
            aload 6 /* write */
            invokevirtual org.graalvm.compiler.nodes.extended.UnsafeStoreNode.getLocationIdentity:()Lorg/graalvm/compiler/core/common/LocationIdentity;
            invokestatic org.graalvm.compiler.virtual.phases.ea.ReadEliminationClosure.processIdentity:(Lorg/graalvm/compiler/virtual/phases/ea/ReadEliminationBlockState;Lorg/graalvm/compiler/core/common/LocationIdentity;)V
        end local 6 // org.graalvm.compiler.nodes.extended.UnsafeStoreNode write
        85: .line 184
            goto 96
      StackMap locals:
      StackMap stack:
        86: aload 1 /* node */
            instanceof org.graalvm.compiler.nodes.memory.MemoryCheckpoint$Single
            ifeq 90
        87: .line 185
            aload 1 /* node */
            checkcast org.graalvm.compiler.nodes.memory.MemoryCheckpoint$Single
            invokeinterface org.graalvm.compiler.nodes.memory.MemoryCheckpoint$Single.getLocationIdentity:()Lorg/graalvm/compiler/core/common/LocationIdentity;
            astore 6 /* identity */
        start local 6 // org.graalvm.compiler.core.common.LocationIdentity identity
        88: .line 186
            aload 2 /* state */
            aload 6 /* identity */
            invokestatic org.graalvm.compiler.virtual.phases.ea.ReadEliminationClosure.processIdentity:(Lorg/graalvm/compiler/virtual/phases/ea/ReadEliminationBlockState;Lorg/graalvm/compiler/core/common/LocationIdentity;)V
        end local 6 // org.graalvm.compiler.core.common.LocationIdentity identity
        89: .line 187
            goto 96
      StackMap locals:
      StackMap stack:
        90: aload 1 /* node */
            instanceof org.graalvm.compiler.nodes.memory.MemoryCheckpoint$Multi
            ifeq 96
        91: .line 188
            aload 1 /* node */
            checkcast org.graalvm.compiler.nodes.memory.MemoryCheckpoint$Multi
            invokeinterface org.graalvm.compiler.nodes.memory.MemoryCheckpoint$Multi.getLocationIdentities:()[Lorg/graalvm/compiler/core/common/LocationIdentity;
            dup
            astore 9
            arraylength
            istore 8
            iconst_0
            istore 7
            goto 95
      StackMap locals: org.graalvm.compiler.virtual.phases.ea.ReadEliminationClosure org.graalvm.compiler.graph.Node org.graalvm.compiler.virtual.phases.ea.ReadEliminationBlockState org.graalvm.compiler.virtual.phases.ea.GraphEffectList org.graalvm.compiler.nodes.FixedWithNextNode int top int int org.graalvm.compiler.core.common.LocationIdentity[]
      StackMap stack:
        92: aload 9
            iload 7
            aaload
            astore 6 /* identity */
        start local 6 // org.graalvm.compiler.core.common.LocationIdentity identity
        93: .line 189
            aload 2 /* state */
            aload 6 /* identity */
            invokestatic org.graalvm.compiler.virtual.phases.ea.ReadEliminationClosure.processIdentity:(Lorg/graalvm/compiler/virtual/phases/ea/ReadEliminationBlockState;Lorg/graalvm/compiler/core/common/LocationIdentity;)V
        end local 6 // org.graalvm.compiler.core.common.LocationIdentity identity
        94: .line 188
            iinc 7 1
      StackMap locals:
      StackMap stack:
        95: iload 7
            iload 8
            if_icmplt 92
        96: .line 192
      StackMap locals: org.graalvm.compiler.virtual.phases.ea.ReadEliminationClosure org.graalvm.compiler.graph.Node org.graalvm.compiler.virtual.phases.ea.ReadEliminationBlockState org.graalvm.compiler.virtual.phases.ea.GraphEffectList org.graalvm.compiler.nodes.FixedWithNextNode int
      StackMap stack:
            iload 5 /* deleted */
            ireturn
        end local 5 // boolean deleted
        end local 4 // org.graalvm.compiler.nodes.FixedWithNextNode lastFixedNode
        end local 3 // org.graalvm.compiler.virtual.phases.ea.GraphEffectList effects
        end local 2 // org.graalvm.compiler.virtual.phases.ea.ReadEliminationBlockState state
        end local 1 // org.graalvm.compiler.graph.Node node
        end local 0 // org.graalvm.compiler.virtual.phases.ea.ReadEliminationClosure this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   97     0           this  Lorg/graalvm/compiler/virtual/phases/ea/ReadEliminationClosure;
            0   97     1           node  Lorg/graalvm/compiler/graph/Node;
            0   97     2          state  Lorg/graalvm/compiler/virtual/phases/ea/ReadEliminationBlockState;
            0   97     3        effects  Lorg/graalvm/compiler/virtual/phases/ea/GraphEffectList;
            0   97     4  lastFixedNode  Lorg/graalvm/compiler/nodes/FixedWithNextNode;
            1   97     5        deleted  Z
            3   25     6         access  Lorg/graalvm/compiler/nodes/java/AccessFieldNode;
            7   25     7         object  Lorg/graalvm/compiler/nodes/ValueNode;
            8   25     8     identifier  Lorg/graalvm/compiler/virtual/phases/ea/ReadEliminationBlockState$LoadCacheEntry;
            9   25     9    cachedValue  Lorg/graalvm/compiler/nodes/ValueNode;
           19   25    10          store  Lorg/graalvm/compiler/nodes/java/StoreFieldNode;
           20   25    11          value  Lorg/graalvm/compiler/nodes/ValueNode;
           28   41     6           read  Lorg/graalvm/compiler/nodes/memory/ReadNode;
           30   41     7         object  Lorg/graalvm/compiler/nodes/ValueNode;
           31   41     8     identifier  Lorg/graalvm/compiler/virtual/phases/ea/ReadEliminationBlockState$LoadCacheEntry;
           32   41     9    cachedValue  Lorg/graalvm/compiler/nodes/ValueNode;
           44   56     6          write  Lorg/graalvm/compiler/nodes/memory/WriteNode;
           46   54     7         object  Lorg/graalvm/compiler/nodes/ValueNode;
           47   54     8     identifier  Lorg/graalvm/compiler/virtual/phases/ea/ReadEliminationBlockState$LoadCacheEntry;
           48   54     9    cachedValue  Lorg/graalvm/compiler/nodes/ValueNode;
           49   54    10          value  Lorg/graalvm/compiler/nodes/ValueNode;
           60   70     6           load  Lorg/graalvm/compiler/nodes/extended/UnsafeLoadNode;
           62   70     7         object  Lorg/graalvm/compiler/nodes/ValueNode;
           63   70     8     identifier  Lorg/graalvm/compiler/virtual/phases/ea/ReadEliminationBlockState$UnsafeLoadCacheEntry;
           64   70     9    cachedValue  Lorg/graalvm/compiler/nodes/ValueNode;
           73   85     6          write  Lorg/graalvm/compiler/nodes/extended/UnsafeStoreNode;
           75   83     7         object  Lorg/graalvm/compiler/nodes/ValueNode;
           76   83     8     identifier  Lorg/graalvm/compiler/virtual/phases/ea/ReadEliminationBlockState$UnsafeLoadCacheEntry;
           77   83     9    cachedValue  Lorg/graalvm/compiler/nodes/ValueNode;
           78   83    10          value  Lorg/graalvm/compiler/nodes/ValueNode;
           88   89     6       identity  Lorg/graalvm/compiler/core/common/LocationIdentity;
           93   94     6       identity  Lorg/graalvm/compiler/core/common/LocationIdentity;
    MethodParameters:
               Name  Flags
      node           
      state          
      effects        
      lastFixedNode  

  private static void processIdentity(org.graalvm.compiler.virtual.phases.ea.ReadEliminationBlockState, org.graalvm.compiler.core.common.LocationIdentity);
    descriptor: (Lorg/graalvm/compiler/virtual/phases/ea/ReadEliminationBlockState;Lorg/graalvm/compiler/core/common/LocationIdentity;)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.graalvm.compiler.virtual.phases.ea.ReadEliminationBlockState state
        start local 1 // org.graalvm.compiler.core.common.LocationIdentity identity
         0: .line 196
            aload 1 /* identity */
            invokevirtual org.graalvm.compiler.core.common.LocationIdentity.isAny:()Z
            ifeq 3
         1: .line 197
            aload 0 /* state */
            invokevirtual org.graalvm.compiler.virtual.phases.ea.ReadEliminationBlockState.killReadCache:()V
         2: .line 198
            return
         3: .line 200
      StackMap locals:
      StackMap stack:
            aload 0 /* state */
            aload 1 /* identity */
            invokevirtual org.graalvm.compiler.virtual.phases.ea.ReadEliminationBlockState.killReadCache:(Lorg/graalvm/compiler/core/common/LocationIdentity;)V
         4: .line 201
            return
        end local 1 // org.graalvm.compiler.core.common.LocationIdentity identity
        end local 0 // org.graalvm.compiler.virtual.phases.ea.ReadEliminationBlockState state
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    5     0     state  Lorg/graalvm/compiler/virtual/phases/ea/ReadEliminationBlockState;
            0    5     1  identity  Lorg/graalvm/compiler/core/common/LocationIdentity;
    MethodParameters:
          Name  Flags
      state     
      identity  

  protected void processLoopExit(org.graalvm.compiler.nodes.LoopExitNode, org.graalvm.compiler.virtual.phases.ea.ReadEliminationBlockState, org.graalvm.compiler.virtual.phases.ea.ReadEliminationBlockState, org.graalvm.compiler.virtual.phases.ea.GraphEffectList);
    descriptor: (Lorg/graalvm/compiler/nodes/LoopExitNode;Lorg/graalvm/compiler/virtual/phases/ea/ReadEliminationBlockState;Lorg/graalvm/compiler/virtual/phases/ea/ReadEliminationBlockState;Lorg/graalvm/compiler/virtual/phases/ea/GraphEffectList;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=4, locals=8, args_size=5
        start local 0 // org.graalvm.compiler.virtual.phases.ea.ReadEliminationClosure this
        start local 1 // org.graalvm.compiler.nodes.LoopExitNode exitNode
        start local 2 // org.graalvm.compiler.virtual.phases.ea.ReadEliminationBlockState initialState
        start local 3 // org.graalvm.compiler.virtual.phases.ea.ReadEliminationBlockState exitState
        start local 4 // org.graalvm.compiler.virtual.phases.ea.GraphEffectList effects
         0: .line 205
            aload 1 /* exitNode */
            invokevirtual org.graalvm.compiler.nodes.LoopExitNode.graph:()Lorg/graalvm/compiler/nodes/StructuredGraph;
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph.hasValueProxies:()Z
            ifeq 8
         1: .line 206
            aload 3 /* exitState */
            invokevirtual org.graalvm.compiler.virtual.phases.ea.ReadEliminationBlockState.getReadCache:()Ljava/util/Map;
            invokeinterface java.util.Map.entrySet:()Ljava/util/Set;
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 6
            goto 7
      StackMap locals: org.graalvm.compiler.virtual.phases.ea.ReadEliminationClosure org.graalvm.compiler.nodes.LoopExitNode org.graalvm.compiler.virtual.phases.ea.ReadEliminationBlockState org.graalvm.compiler.virtual.phases.ea.ReadEliminationBlockState org.graalvm.compiler.virtual.phases.ea.GraphEffectList top java.util.Iterator
      StackMap stack:
         2: aload 6
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.util.Map$Entry
            astore 5 /* entry */
        start local 5 // java.util.Map$Entry entry
         3: .line 207
            aload 2 /* initialState */
            invokevirtual org.graalvm.compiler.virtual.phases.ea.ReadEliminationBlockState.getReadCache:()Ljava/util/Map;
            aload 5 /* entry */
            invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            aload 5 /* entry */
            invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
            if_acmpeq 7
         4: .line 208
            new org.graalvm.compiler.nodes.ValueProxyNode
            dup
            aload 3 /* exitState */
            aload 5 /* entry */
            invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
            checkcast org.graalvm.compiler.virtual.phases.ea.ReadEliminationBlockState$CacheEntry
            invokevirtual org.graalvm.compiler.virtual.phases.ea.ReadEliminationBlockState.getCacheEntry:(Lorg/graalvm/compiler/virtual/phases/ea/ReadEliminationBlockState$CacheEntry;)Lorg/graalvm/compiler/nodes/ValueNode;
            aload 1 /* exitNode */
            invokespecial org.graalvm.compiler.nodes.ValueProxyNode.<init>:(Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/LoopExitNode;)V
            astore 7 /* proxy */
        start local 7 // org.graalvm.compiler.nodes.ProxyNode proxy
         5: .line 209
            aload 4 /* effects */
            aload 7 /* proxy */
            ldc "readCacheProxy"
            invokevirtual org.graalvm.compiler.virtual.phases.ea.GraphEffectList.addFloatingNode:(Lorg/graalvm/compiler/nodes/ValueNode;Ljava/lang/String;)V
         6: .line 210
            aload 5 /* entry */
            aload 7 /* proxy */
            invokeinterface java.util.Map$Entry.setValue:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
        end local 7 // org.graalvm.compiler.nodes.ProxyNode proxy
        end local 5 // java.util.Map$Entry entry
         7: .line 206
      StackMap locals:
      StackMap stack:
            aload 6
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 2
         8: .line 214
      StackMap locals: org.graalvm.compiler.virtual.phases.ea.ReadEliminationClosure org.graalvm.compiler.nodes.LoopExitNode org.graalvm.compiler.virtual.phases.ea.ReadEliminationBlockState org.graalvm.compiler.virtual.phases.ea.ReadEliminationBlockState org.graalvm.compiler.virtual.phases.ea.GraphEffectList
      StackMap stack:
            return
        end local 4 // org.graalvm.compiler.virtual.phases.ea.GraphEffectList effects
        end local 3 // org.graalvm.compiler.virtual.phases.ea.ReadEliminationBlockState exitState
        end local 2 // org.graalvm.compiler.virtual.phases.ea.ReadEliminationBlockState initialState
        end local 1 // org.graalvm.compiler.nodes.LoopExitNode exitNode
        end local 0 // org.graalvm.compiler.virtual.phases.ea.ReadEliminationClosure this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    9     0          this  Lorg/graalvm/compiler/virtual/phases/ea/ReadEliminationClosure;
            0    9     1      exitNode  Lorg/graalvm/compiler/nodes/LoopExitNode;
            0    9     2  initialState  Lorg/graalvm/compiler/virtual/phases/ea/ReadEliminationBlockState;
            0    9     3     exitState  Lorg/graalvm/compiler/virtual/phases/ea/ReadEliminationBlockState;
            0    9     4       effects  Lorg/graalvm/compiler/virtual/phases/ea/GraphEffectList;
            3    7     5         entry  Ljava/util/Map$Entry<Lorg/graalvm/compiler/virtual/phases/ea/ReadEliminationBlockState$CacheEntry<*>;Lorg/graalvm/compiler/nodes/ValueNode;>;
            5    7     7         proxy  Lorg/graalvm/compiler/nodes/ProxyNode;
    MethodParameters:
              Name  Flags
      exitNode      
      initialState  
      exitState     
      effects       

  protected org.graalvm.compiler.virtual.phases.ea.ReadEliminationBlockState cloneState(org.graalvm.compiler.virtual.phases.ea.ReadEliminationBlockState);
    descriptor: (Lorg/graalvm/compiler/virtual/phases/ea/ReadEliminationBlockState;)Lorg/graalvm/compiler/virtual/phases/ea/ReadEliminationBlockState;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.graalvm.compiler.virtual.phases.ea.ReadEliminationClosure this
        start local 1 // org.graalvm.compiler.virtual.phases.ea.ReadEliminationBlockState other
         0: .line 218
            new org.graalvm.compiler.virtual.phases.ea.ReadEliminationBlockState
            dup
            aload 1 /* other */
            invokespecial org.graalvm.compiler.virtual.phases.ea.ReadEliminationBlockState.<init>:(Lorg/graalvm/compiler/virtual/phases/ea/ReadEliminationBlockState;)V
            areturn
        end local 1 // org.graalvm.compiler.virtual.phases.ea.ReadEliminationBlockState other
        end local 0 // org.graalvm.compiler.virtual.phases.ea.ReadEliminationClosure this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0   this  Lorg/graalvm/compiler/virtual/phases/ea/ReadEliminationClosure;
            0    1     1  other  Lorg/graalvm/compiler/virtual/phases/ea/ReadEliminationBlockState;
    MethodParameters:
       Name  Flags
      other  

  protected org.graalvm.compiler.virtual.phases.ea.EffectsClosure<org.graalvm.compiler.virtual.phases.ea.ReadEliminationBlockState>.MergeProcessor createMergeProcessor(org.graalvm.compiler.nodes.cfg.Block);
    descriptor: (Lorg/graalvm/compiler/nodes/cfg/Block;)Lorg/graalvm/compiler/virtual/phases/ea/EffectsClosure$MergeProcessor;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // org.graalvm.compiler.virtual.phases.ea.ReadEliminationClosure this
        start local 1 // org.graalvm.compiler.nodes.cfg.Block merge
         0: .line 223
            new org.graalvm.compiler.virtual.phases.ea.ReadEliminationClosure$ReadEliminationMergeProcessor
            dup
            aload 0 /* this */
            aload 1 /* merge */
            invokespecial org.graalvm.compiler.virtual.phases.ea.ReadEliminationClosure$ReadEliminationMergeProcessor.<init>:(Lorg/graalvm/compiler/virtual/phases/ea/ReadEliminationClosure;Lorg/graalvm/compiler/nodes/cfg/Block;)V
            areturn
        end local 1 // org.graalvm.compiler.nodes.cfg.Block merge
        end local 0 // org.graalvm.compiler.virtual.phases.ea.ReadEliminationClosure this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0   this  Lorg/graalvm/compiler/virtual/phases/ea/ReadEliminationClosure;
            0    1     1  merge  Lorg/graalvm/compiler/nodes/cfg/Block;
    Signature: (Lorg/graalvm/compiler/nodes/cfg/Block;)Lorg/graalvm/compiler/virtual/phases/ea/EffectsClosure<Lorg/graalvm/compiler/virtual/phases/ea/ReadEliminationBlockState;>.MergeProcessor;
    MethodParameters:
       Name  Flags
      merge  

  protected void processKilledLoopLocations(org.graalvm.compiler.core.common.cfg.Loop<org.graalvm.compiler.nodes.cfg.Block>, org.graalvm.compiler.virtual.phases.ea.ReadEliminationBlockState, org.graalvm.compiler.virtual.phases.ea.ReadEliminationBlockState);
    descriptor: (Lorg/graalvm/compiler/core/common/cfg/Loop;Lorg/graalvm/compiler/virtual/phases/ea/ReadEliminationBlockState;Lorg/graalvm/compiler/virtual/phases/ea/ReadEliminationBlockState;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=3, locals=8, args_size=4
        start local 0 // org.graalvm.compiler.virtual.phases.ea.ReadEliminationClosure this
        start local 1 // org.graalvm.compiler.core.common.cfg.Loop loop
        start local 2 // org.graalvm.compiler.virtual.phases.ea.ReadEliminationBlockState initialState
        start local 3 // org.graalvm.compiler.virtual.phases.ea.ReadEliminationBlockState mergedStates
         0: .line 322
            getstatic org.graalvm.compiler.virtual.phases.ea.ReadEliminationClosure.$assertionsDisabled:Z
            ifne 1
            aload 2 /* initialState */
            ifnonnull 1
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         1: .line 323
      StackMap locals:
      StackMap stack:
            getstatic org.graalvm.compiler.virtual.phases.ea.ReadEliminationClosure.$assertionsDisabled:Z
            ifne 2
            aload 3 /* mergedStates */
            ifnonnull 2
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         2: .line 324
      StackMap locals:
      StackMap stack:
            aload 2 /* initialState */
            getfield org.graalvm.compiler.virtual.phases.ea.ReadEliminationBlockState.readCache:Ljava/util/HashMap;
            invokevirtual java.util.HashMap.size:()I
            ifle 29
         3: .line 325
            aload 0 /* this */
            getfield org.graalvm.compiler.virtual.phases.ea.ReadEliminationClosure.loopLocationKillCache:Ljava/util/Map;
            aload 1 /* loop */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast org.graalvm.compiler.virtual.phases.ea.EffectsClosure$LoopKillCache
            astore 4 /* loopKilledLocations */
        start local 4 // org.graalvm.compiler.virtual.phases.ea.EffectsClosure$LoopKillCache loopKilledLocations
         4: .line 328
            aload 4 /* loopKilledLocations */
            ifnonnull 8
         5: .line 329
            new org.graalvm.compiler.virtual.phases.ea.EffectsClosure$LoopKillCache
            dup
            iconst_1
            invokespecial org.graalvm.compiler.virtual.phases.ea.EffectsClosure$LoopKillCache.<init>:(I)V
            astore 4 /* loopKilledLocations */
         6: .line 330
            aload 0 /* this */
            getfield org.graalvm.compiler.virtual.phases.ea.ReadEliminationClosure.loopLocationKillCache:Ljava/util/Map;
            aload 1 /* loop */
            aload 4 /* loopKilledLocations */
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         7: .line 331
            goto 29
         8: .line 332
      StackMap locals: org.graalvm.compiler.virtual.phases.ea.EffectsClosure$LoopKillCache
      StackMap stack:
            aload 4 /* loopKilledLocations */
            invokevirtual org.graalvm.compiler.virtual.phases.ea.EffectsClosure$LoopKillCache.visits:()I
            getstatic org.graalvm.compiler.core.common.GraalOptions.ReadEliminationMaxLoopVisits:Lorg/graalvm/compiler/options/OptionValue;
            invokevirtual org.graalvm.compiler.options.OptionValue.getValue:()Ljava/lang/Object;
            checkcast java.lang.Integer
            invokevirtual java.lang.Integer.intValue:()I
            if_icmple 11
         9: .line 335
            aload 4 /* loopKilledLocations */
            invokevirtual org.graalvm.compiler.virtual.phases.ea.EffectsClosure$LoopKillCache.setKillsAll:()V
        10: .line 336
            goto 28
        11: .line 338
      StackMap locals:
      StackMap stack:
            new java.util.HashSet
            dup
            invokespecial java.util.HashSet.<init>:()V
            astore 5 /* forwardEndLiveLocations */
        start local 5 // java.util.Set forwardEndLiveLocations
        12: .line 339
            aload 2 /* initialState */
            getfield org.graalvm.compiler.virtual.phases.ea.ReadEliminationBlockState.readCache:Ljava/util/HashMap;
            invokevirtual java.util.HashMap.keySet:()Ljava/util/Set;
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 7
            goto 15
      StackMap locals: org.graalvm.compiler.virtual.phases.ea.ReadEliminationClosure org.graalvm.compiler.core.common.cfg.Loop org.graalvm.compiler.virtual.phases.ea.ReadEliminationBlockState org.graalvm.compiler.virtual.phases.ea.ReadEliminationBlockState org.graalvm.compiler.virtual.phases.ea.EffectsClosure$LoopKillCache java.util.Set top java.util.Iterator
      StackMap stack:
        13: aload 7
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.graalvm.compiler.virtual.phases.ea.ReadEliminationBlockState$CacheEntry
            astore 6 /* entry */
        start local 6 // org.graalvm.compiler.virtual.phases.ea.ReadEliminationBlockState$CacheEntry entry
        14: .line 340
            aload 5 /* forwardEndLiveLocations */
            aload 6 /* entry */
            invokevirtual org.graalvm.compiler.virtual.phases.ea.ReadEliminationBlockState$CacheEntry.getIdentity:()Lorg/graalvm/compiler/core/common/LocationIdentity;
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
        end local 6 // org.graalvm.compiler.virtual.phases.ea.ReadEliminationBlockState$CacheEntry entry
        15: .line 339
      StackMap locals:
      StackMap stack:
            aload 7
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 13
        16: .line 342
            aload 3 /* mergedStates */
            getfield org.graalvm.compiler.virtual.phases.ea.ReadEliminationBlockState.readCache:Ljava/util/HashMap;
            invokevirtual java.util.HashMap.keySet:()Ljava/util/Set;
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 7
            goto 19
      StackMap locals:
      StackMap stack:
        17: aload 7
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.graalvm.compiler.virtual.phases.ea.ReadEliminationBlockState$CacheEntry
            astore 6 /* entry */
        start local 6 // org.graalvm.compiler.virtual.phases.ea.ReadEliminationBlockState$CacheEntry entry
        18: .line 343
            aload 5 /* forwardEndLiveLocations */
            aload 6 /* entry */
            invokevirtual org.graalvm.compiler.virtual.phases.ea.ReadEliminationBlockState$CacheEntry.getIdentity:()Lorg/graalvm/compiler/core/common/LocationIdentity;
            invokeinterface java.util.Set.remove:(Ljava/lang/Object;)Z
            pop
        end local 6 // org.graalvm.compiler.virtual.phases.ea.ReadEliminationBlockState$CacheEntry entry
        19: .line 342
      StackMap locals:
      StackMap stack:
            aload 7
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 17
        20: .line 347
            aload 5 /* forwardEndLiveLocations */
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 7
            goto 23
      StackMap locals:
      StackMap stack:
        21: aload 7
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.graalvm.compiler.core.common.LocationIdentity
            astore 6 /* location */
        start local 6 // org.graalvm.compiler.core.common.LocationIdentity location
        22: .line 348
            aload 4 /* loopKilledLocations */
            aload 6 /* location */
            invokevirtual org.graalvm.compiler.virtual.phases.ea.EffectsClosure$LoopKillCache.rememberLoopKilledLocation:(Lorg/graalvm/compiler/core/common/LocationIdentity;)V
        end local 6 // org.graalvm.compiler.core.common.LocationIdentity location
        23: .line 347
      StackMap locals:
      StackMap stack:
            aload 7
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 21
        24: .line 350
            invokestatic org.graalvm.compiler.debug.Debug.isLogEnabled:()Z
            ifeq 28
            aload 4 /* loopKilledLocations */
            ifnull 28
        25: .line 351
            ldc "[Early Read Elimination] Setting loop killed locations of loop at node %s with %s"
        26: .line 352
            aload 1 /* loop */
            invokevirtual org.graalvm.compiler.core.common.cfg.Loop.getHeader:()Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;
            checkcast org.graalvm.compiler.nodes.cfg.Block
            invokevirtual org.graalvm.compiler.nodes.cfg.Block.getBeginNode:()Lorg/graalvm/compiler/nodes/AbstractBeginNode;
            aload 5 /* forwardEndLiveLocations */
        27: .line 351
            invokestatic org.graalvm.compiler.debug.Debug.log:(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;)V
        end local 5 // java.util.Set forwardEndLiveLocations
        28: .line 356
      StackMap locals: org.graalvm.compiler.virtual.phases.ea.ReadEliminationClosure org.graalvm.compiler.core.common.cfg.Loop org.graalvm.compiler.virtual.phases.ea.ReadEliminationBlockState org.graalvm.compiler.virtual.phases.ea.ReadEliminationBlockState org.graalvm.compiler.virtual.phases.ea.EffectsClosure$LoopKillCache
      StackMap stack:
            aload 4 /* loopKilledLocations */
            invokevirtual org.graalvm.compiler.virtual.phases.ea.EffectsClosure$LoopKillCache.visited:()V
        end local 4 // org.graalvm.compiler.virtual.phases.ea.EffectsClosure$LoopKillCache loopKilledLocations
        29: .line 359
      StackMap locals:
      StackMap stack:
            return
        end local 3 // org.graalvm.compiler.virtual.phases.ea.ReadEliminationBlockState mergedStates
        end local 2 // org.graalvm.compiler.virtual.phases.ea.ReadEliminationBlockState initialState
        end local 1 // org.graalvm.compiler.core.common.cfg.Loop loop
        end local 0 // org.graalvm.compiler.virtual.phases.ea.ReadEliminationClosure this
      LocalVariableTable:
        Start  End  Slot                     Name  Signature
            0   30     0                     this  Lorg/graalvm/compiler/virtual/phases/ea/ReadEliminationClosure;
            0   30     1                     loop  Lorg/graalvm/compiler/core/common/cfg/Loop<Lorg/graalvm/compiler/nodes/cfg/Block;>;
            0   30     2             initialState  Lorg/graalvm/compiler/virtual/phases/ea/ReadEliminationBlockState;
            0   30     3             mergedStates  Lorg/graalvm/compiler/virtual/phases/ea/ReadEliminationBlockState;
            4   29     4      loopKilledLocations  Lorg/graalvm/compiler/virtual/phases/ea/EffectsClosure$LoopKillCache;
           12   28     5  forwardEndLiveLocations  Ljava/util/Set<Lorg/graalvm/compiler/core/common/LocationIdentity;>;
           14   15     6                    entry  Lorg/graalvm/compiler/virtual/phases/ea/ReadEliminationBlockState$CacheEntry<*>;
           18   19     6                    entry  Lorg/graalvm/compiler/virtual/phases/ea/ReadEliminationBlockState$CacheEntry<*>;
           22   23     6                 location  Lorg/graalvm/compiler/core/common/LocationIdentity;
    Signature: (Lorg/graalvm/compiler/core/common/cfg/Loop<Lorg/graalvm/compiler/nodes/cfg/Block;>;Lorg/graalvm/compiler/virtual/phases/ea/ReadEliminationBlockState;Lorg/graalvm/compiler/virtual/phases/ea/ReadEliminationBlockState;)V
    MethodParameters:
              Name  Flags
      loop          
      initialState  
      mergedStates  

  protected org.graalvm.compiler.virtual.phases.ea.ReadEliminationBlockState stripKilledLoopLocations(org.graalvm.compiler.core.common.cfg.Loop<org.graalvm.compiler.nodes.cfg.Block>, org.graalvm.compiler.virtual.phases.ea.ReadEliminationBlockState);
    descriptor: (Lorg/graalvm/compiler/core/common/cfg/Loop;Lorg/graalvm/compiler/virtual/phases/ea/ReadEliminationBlockState;)Lorg/graalvm/compiler/virtual/phases/ea/ReadEliminationBlockState;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=3, locals=8, args_size=3
        start local 0 // org.graalvm.compiler.virtual.phases.ea.ReadEliminationClosure this
        start local 1 // org.graalvm.compiler.core.common.cfg.Loop loop
        start local 2 // org.graalvm.compiler.virtual.phases.ea.ReadEliminationBlockState originalInitialState
         0: .line 363
            aload 0 /* this */
            aload 1 /* loop */
            aload 2 /* originalInitialState */
            invokespecial org.graalvm.compiler.virtual.phases.ea.EffectsClosure.stripKilledLoopLocations:(Lorg/graalvm/compiler/core/common/cfg/Loop;Lorg/graalvm/compiler/virtual/phases/ea/EffectsBlockState;)Lorg/graalvm/compiler/virtual/phases/ea/EffectsBlockState;
            checkcast org.graalvm.compiler.virtual.phases.ea.ReadEliminationBlockState
            astore 3 /* initialState */
        start local 3 // org.graalvm.compiler.virtual.phases.ea.ReadEliminationBlockState initialState
         1: .line 364
            aload 0 /* this */
            getfield org.graalvm.compiler.virtual.phases.ea.ReadEliminationClosure.loopLocationKillCache:Ljava/util/Map;
            aload 1 /* loop */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast org.graalvm.compiler.virtual.phases.ea.EffectsClosure$LoopKillCache
            astore 4 /* loopKilledLocations */
        start local 4 // org.graalvm.compiler.virtual.phases.ea.EffectsClosure$LoopKillCache loopKilledLocations
         2: .line 365
            aload 4 /* loopKilledLocations */
            ifnull 10
            aload 4 /* loopKilledLocations */
            invokevirtual org.graalvm.compiler.virtual.phases.ea.EffectsClosure$LoopKillCache.loopKillsLocations:()Z
            ifeq 10
         3: .line 366
            aload 3 /* initialState */
            getfield org.graalvm.compiler.virtual.phases.ea.ReadEliminationBlockState.readCache:Ljava/util/HashMap;
            invokevirtual java.util.HashMap.keySet:()Ljava/util/Set;
            astore 5 /* forwardEndLiveLocations */
        start local 5 // java.util.Set forwardEndLiveLocations
         4: .line 367
            aload 5 /* forwardEndLiveLocations */
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 6 /* it */
        start local 6 // java.util.Iterator it
         5: .line 368
            goto 9
         6: .line 369
      StackMap locals: org.graalvm.compiler.virtual.phases.ea.ReadEliminationClosure org.graalvm.compiler.core.common.cfg.Loop org.graalvm.compiler.virtual.phases.ea.ReadEliminationBlockState org.graalvm.compiler.virtual.phases.ea.ReadEliminationBlockState org.graalvm.compiler.virtual.phases.ea.EffectsClosure$LoopKillCache java.util.Set java.util.Iterator
      StackMap stack:
            aload 6 /* it */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.graalvm.compiler.virtual.phases.ea.ReadEliminationBlockState$CacheEntry
            astore 7 /* entry */
        start local 7 // org.graalvm.compiler.virtual.phases.ea.ReadEliminationBlockState$CacheEntry entry
         7: .line 370
            aload 4 /* loopKilledLocations */
            aload 7 /* entry */
            invokevirtual org.graalvm.compiler.virtual.phases.ea.ReadEliminationBlockState$CacheEntry.getIdentity:()Lorg/graalvm/compiler/core/common/LocationIdentity;
            invokevirtual org.graalvm.compiler.virtual.phases.ea.EffectsClosure$LoopKillCache.containsLocation:(Lorg/graalvm/compiler/core/common/LocationIdentity;)Z
            ifeq 9
         8: .line 371
            aload 6 /* it */
            invokeinterface java.util.Iterator.remove:()V
        end local 7 // org.graalvm.compiler.virtual.phases.ea.ReadEliminationBlockState$CacheEntry entry
         9: .line 368
      StackMap locals:
      StackMap stack:
            aload 6 /* it */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 6
        end local 6 // java.util.Iterator it
        end local 5 // java.util.Set forwardEndLiveLocations
        10: .line 375
      StackMap locals:
      StackMap stack:
            aload 3 /* initialState */
            areturn
        end local 4 // org.graalvm.compiler.virtual.phases.ea.EffectsClosure$LoopKillCache loopKilledLocations
        end local 3 // org.graalvm.compiler.virtual.phases.ea.ReadEliminationBlockState initialState
        end local 2 // org.graalvm.compiler.virtual.phases.ea.ReadEliminationBlockState originalInitialState
        end local 1 // org.graalvm.compiler.core.common.cfg.Loop loop
        end local 0 // org.graalvm.compiler.virtual.phases.ea.ReadEliminationClosure this
      LocalVariableTable:
        Start  End  Slot                     Name  Signature
            0   11     0                     this  Lorg/graalvm/compiler/virtual/phases/ea/ReadEliminationClosure;
            0   11     1                     loop  Lorg/graalvm/compiler/core/common/cfg/Loop<Lorg/graalvm/compiler/nodes/cfg/Block;>;
            0   11     2     originalInitialState  Lorg/graalvm/compiler/virtual/phases/ea/ReadEliminationBlockState;
            1   11     3             initialState  Lorg/graalvm/compiler/virtual/phases/ea/ReadEliminationBlockState;
            2   11     4      loopKilledLocations  Lorg/graalvm/compiler/virtual/phases/ea/EffectsClosure$LoopKillCache;
            4   10     5  forwardEndLiveLocations  Ljava/util/Set<Lorg/graalvm/compiler/virtual/phases/ea/ReadEliminationBlockState$CacheEntry<*>;>;
            5   10     6                       it  Ljava/util/Iterator<Lorg/graalvm/compiler/virtual/phases/ea/ReadEliminationBlockState$CacheEntry<*>;>;
            7    9     7                    entry  Lorg/graalvm/compiler/virtual/phases/ea/ReadEliminationBlockState$CacheEntry<*>;
    Signature: (Lorg/graalvm/compiler/core/common/cfg/Loop<Lorg/graalvm/compiler/nodes/cfg/Block;>;Lorg/graalvm/compiler/virtual/phases/ea/ReadEliminationBlockState;)Lorg/graalvm/compiler/virtual/phases/ea/ReadEliminationBlockState;
    MethodParameters:
                      Name  Flags
      loop                  
      originalInitialState  

  protected void processLoopExit(org.graalvm.compiler.nodes.LoopExitNode, org.graalvm.compiler.virtual.phases.ea.EffectsBlockState, org.graalvm.compiler.virtual.phases.ea.EffectsBlockState, org.graalvm.compiler.virtual.phases.ea.GraphEffectList);
    descriptor: (Lorg/graalvm/compiler/nodes/LoopExitNode;Lorg/graalvm/compiler/virtual/phases/ea/EffectsBlockState;Lorg/graalvm/compiler/virtual/phases/ea/EffectsBlockState;Lorg/graalvm/compiler/virtual/phases/ea/GraphEffectList;)V
    flags: (0x1044) ACC_PROTECTED, ACC_BRIDGE, ACC_SYNTHETIC
    Code:
      stack=5, locals=5, args_size=5
         0: .line 1
            aload 0
            aload 1
            aload 2
            checkcast org.graalvm.compiler.virtual.phases.ea.ReadEliminationBlockState
            aload 3
            checkcast org.graalvm.compiler.virtual.phases.ea.ReadEliminationBlockState
            aload 4
            invokevirtual org.graalvm.compiler.virtual.phases.ea.ReadEliminationClosure.processLoopExit:(Lorg/graalvm/compiler/nodes/LoopExitNode;Lorg/graalvm/compiler/virtual/phases/ea/ReadEliminationBlockState;Lorg/graalvm/compiler/virtual/phases/ea/ReadEliminationBlockState;Lorg/graalvm/compiler/virtual/phases/ea/GraphEffectList;)V
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  protected boolean processNode(org.graalvm.compiler.graph.Node, org.graalvm.compiler.virtual.phases.ea.EffectsBlockState, org.graalvm.compiler.virtual.phases.ea.GraphEffectList, org.graalvm.compiler.nodes.FixedWithNextNode);
    descriptor: (Lorg/graalvm/compiler/graph/Node;Lorg/graalvm/compiler/virtual/phases/ea/EffectsBlockState;Lorg/graalvm/compiler/virtual/phases/ea/GraphEffectList;Lorg/graalvm/compiler/nodes/FixedWithNextNode;)Z
    flags: (0x1044) ACC_PROTECTED, ACC_BRIDGE, ACC_SYNTHETIC
    Code:
      stack=5, locals=5, args_size=5
         0: .line 1
            aload 0
            aload 1
            aload 2
            checkcast org.graalvm.compiler.virtual.phases.ea.ReadEliminationBlockState
            aload 3
            aload 4
            invokevirtual org.graalvm.compiler.virtual.phases.ea.ReadEliminationClosure.processNode:(Lorg/graalvm/compiler/graph/Node;Lorg/graalvm/compiler/virtual/phases/ea/ReadEliminationBlockState;Lorg/graalvm/compiler/virtual/phases/ea/GraphEffectList;Lorg/graalvm/compiler/nodes/FixedWithNextNode;)Z
            ireturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  protected org.graalvm.compiler.virtual.phases.ea.EffectsBlockState stripKilledLoopLocations(org.graalvm.compiler.core.common.cfg.Loop, org.graalvm.compiler.virtual.phases.ea.EffectsBlockState);
    descriptor: (Lorg/graalvm/compiler/core/common/cfg/Loop;Lorg/graalvm/compiler/virtual/phases/ea/EffectsBlockState;)Lorg/graalvm/compiler/virtual/phases/ea/EffectsBlockState;
    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.virtual.phases.ea.ReadEliminationBlockState
            invokevirtual org.graalvm.compiler.virtual.phases.ea.ReadEliminationClosure.stripKilledLoopLocations:(Lorg/graalvm/compiler/core/common/cfg/Loop;Lorg/graalvm/compiler/virtual/phases/ea/ReadEliminationBlockState;)Lorg/graalvm/compiler/virtual/phases/ea/ReadEliminationBlockState;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  protected java.lang.Object getInitialState();
    descriptor: ()Ljava/lang/Object;
    flags: (0x1044) ACC_PROTECTED, ACC_BRIDGE, ACC_SYNTHETIC
    Code:
      stack=1, locals=1, args_size=1
         0: .line 1
            aload 0
            invokevirtual org.graalvm.compiler.virtual.phases.ea.ReadEliminationClosure.getInitialState:()Lorg/graalvm/compiler/virtual/phases/ea/ReadEliminationBlockState;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  protected void processKilledLoopLocations(org.graalvm.compiler.core.common.cfg.Loop, org.graalvm.compiler.virtual.phases.ea.EffectsBlockState, org.graalvm.compiler.virtual.phases.ea.EffectsBlockState);
    descriptor: (Lorg/graalvm/compiler/core/common/cfg/Loop;Lorg/graalvm/compiler/virtual/phases/ea/EffectsBlockState;Lorg/graalvm/compiler/virtual/phases/ea/EffectsBlockState;)V
    flags: (0x1044) ACC_PROTECTED, ACC_BRIDGE, ACC_SYNTHETIC
    Code:
      stack=4, locals=4, args_size=4
         0: .line 1
            aload 0
            aload 1
            aload 2
            checkcast org.graalvm.compiler.virtual.phases.ea.ReadEliminationBlockState
            aload 3
            checkcast org.graalvm.compiler.virtual.phases.ea.ReadEliminationBlockState
            invokevirtual org.graalvm.compiler.virtual.phases.ea.ReadEliminationClosure.processKilledLoopLocations:(Lorg/graalvm/compiler/core/common/cfg/Loop;Lorg/graalvm/compiler/virtual/phases/ea/ReadEliminationBlockState;Lorg/graalvm/compiler/virtual/phases/ea/ReadEliminationBlockState;)V
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  protected java.lang.Object cloneState(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Ljava/lang/Object;
    flags: (0x1044) ACC_PROTECTED, ACC_BRIDGE, ACC_SYNTHETIC
    Code:
      stack=2, locals=2, args_size=2
         0: .line 1
            aload 0
            aload 1
            checkcast org.graalvm.compiler.virtual.phases.ea.ReadEliminationBlockState
            invokevirtual org.graalvm.compiler.virtual.phases.ea.ReadEliminationClosure.cloneState:(Lorg/graalvm/compiler/virtual/phases/ea/ReadEliminationBlockState;)Lorg/graalvm/compiler/virtual/phases/ea/ReadEliminationBlockState;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
}
Signature: Lorg/graalvm/compiler/virtual/phases/ea/EffectsClosure<Lorg/graalvm/compiler/virtual/phases/ea/ReadEliminationBlockState;>;
SourceFile: "ReadEliminationClosure.java"
NestMembers:
  org.graalvm.compiler.virtual.phases.ea.ReadEliminationClosure$ReadEliminationMergeProcessor
InnerClasses:
  public abstract Entry = java.util.Map$Entry of java.util.Map
  public ScheduleResult = org.graalvm.compiler.nodes.StructuredGraph$ScheduleResult of org.graalvm.compiler.nodes.StructuredGraph
  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
  protected LoopKillCache = org.graalvm.compiler.virtual.phases.ea.EffectsClosure$LoopKillCache of org.graalvm.compiler.virtual.phases.ea.EffectsClosure
  protected MergeProcessor = org.graalvm.compiler.virtual.phases.ea.EffectsClosure$MergeProcessor of org.graalvm.compiler.virtual.phases.ea.EffectsClosure
  abstract CacheEntry = org.graalvm.compiler.virtual.phases.ea.ReadEliminationBlockState$CacheEntry of org.graalvm.compiler.virtual.phases.ea.ReadEliminationBlockState
  LoadCacheEntry = org.graalvm.compiler.virtual.phases.ea.ReadEliminationBlockState$LoadCacheEntry of org.graalvm.compiler.virtual.phases.ea.ReadEliminationBlockState
  UnsafeLoadCacheEntry = org.graalvm.compiler.virtual.phases.ea.ReadEliminationBlockState$UnsafeLoadCacheEntry of org.graalvm.compiler.virtual.phases.ea.ReadEliminationBlockState
  private ReadEliminationMergeProcessor = org.graalvm.compiler.virtual.phases.ea.ReadEliminationClosure$ReadEliminationMergeProcessor of org.graalvm.compiler.virtual.phases.ea.ReadEliminationClosure