public final class org.graalvm.compiler.virtual.phases.ea.PEReadEliminationClosure extends org.graalvm.compiler.virtual.phases.ea.PartialEscapeClosure<org.graalvm.compiler.virtual.phases.ea.PEReadEliminationBlockState>
  minor version: 0
  major version: 59
  flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
  this_class: org.graalvm.compiler.virtual.phases.ea.PEReadEliminationClosure
  super_class: org.graalvm.compiler.virtual.phases.ea.PartialEscapeClosure
{
  private static final java.util.EnumMap<jdk.vm.ci.meta.JavaKind, jdk.internal.vm.compiler.word.LocationIdentity> UNBOX_LOCATIONS;
    descriptor: Ljava/util/EnumMap;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    Signature: Ljava/util/EnumMap<Ljdk/vm/ci/meta/JavaKind;Ljdk/internal/vm/compiler/word/LocationIdentity;>;

  private static volatile int[] $SWITCH_TABLE$jdk$vm$ci$meta$JavaKind;
    descriptor: [I
    flags: (0x104a) ACC_PRIVATE, ACC_STATIC, ACC_VOLATILE, ACC_SYNTHETIC

  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=5, locals=4, args_size=0
         0: .line 77
            ldc Lorg/graalvm/compiler/virtual/phases/ea/PEReadEliminationClosure;
            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.PEReadEliminationClosure.$assertionsDisabled:Z
         3: .line 82
            new java.util.EnumMap
            dup
            ldc Ljdk/vm/ci/meta/JavaKind;
            invokespecial java.util.EnumMap.<init>:(Ljava/lang/Class;)V
            putstatic org.graalvm.compiler.virtual.phases.ea.PEReadEliminationClosure.UNBOX_LOCATIONS:Ljava/util/EnumMap;
         4: .line 83
            invokestatic jdk.vm.ci.meta.JavaKind.values:()[Ljdk/vm/ci/meta/JavaKind;
            dup
            astore 3
            arraylength
            istore 2
            iconst_0
            istore 1
            goto 8
      StackMap locals: top int int jdk.vm.ci.meta.JavaKind[]
      StackMap stack:
         5: aload 3
            iload 1
            aaload
            astore 0 /* kind */
        start local 0 // jdk.vm.ci.meta.JavaKind kind
         6: .line 84
            getstatic org.graalvm.compiler.virtual.phases.ea.PEReadEliminationClosure.UNBOX_LOCATIONS:Ljava/util/EnumMap;
            aload 0 /* kind */
            new java.lang.StringBuilder
            dup
            ldc "PEA unbox "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* kind */
            invokevirtual jdk.vm.ci.meta.JavaKind.getJavaName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokestatic org.graalvm.compiler.nodes.NamedLocationIdentity.immutable:(Ljava/lang/String;)Lorg/graalvm/compiler/nodes/NamedLocationIdentity;
            invokevirtual java.util.EnumMap.put:(Ljava/lang/Enum;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        end local 0 // jdk.vm.ci.meta.JavaKind kind
         7: .line 83
            iinc 1 1
      StackMap locals:
      StackMap stack:
         8: iload 1
            iload 2
            if_icmplt 5
         9: .line 86
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            6    7     0  kind  Ljdk/vm/ci/meta/JavaKind;

  public void <init>(org.graalvm.compiler.nodes.StructuredGraph$ScheduleResult, org.graalvm.compiler.nodes.spi.CoreProviders);
    descriptor: (Lorg/graalvm/compiler/nodes/StructuredGraph$ScheduleResult;Lorg/graalvm/compiler/nodes/spi/CoreProviders;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // org.graalvm.compiler.virtual.phases.ea.PEReadEliminationClosure this
        start local 1 // org.graalvm.compiler.nodes.StructuredGraph$ScheduleResult schedule
        start local 2 // org.graalvm.compiler.nodes.spi.CoreProviders providers
         0: .line 89
            aload 0 /* this */
            aload 1 /* schedule */
            aload 2 /* providers */
            invokespecial org.graalvm.compiler.virtual.phases.ea.PartialEscapeClosure.<init>:(Lorg/graalvm/compiler/nodes/StructuredGraph$ScheduleResult;Lorg/graalvm/compiler/nodes/spi/CoreProviders;)V
         1: .line 90
            return
        end local 2 // org.graalvm.compiler.nodes.spi.CoreProviders providers
        end local 1 // org.graalvm.compiler.nodes.StructuredGraph$ScheduleResult schedule
        end local 0 // org.graalvm.compiler.virtual.phases.ea.PEReadEliminationClosure this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    2     0       this  Lorg/graalvm/compiler/virtual/phases/ea/PEReadEliminationClosure;
            0    2     1   schedule  Lorg/graalvm/compiler/nodes/StructuredGraph$ScheduleResult;
            0    2     2  providers  Lorg/graalvm/compiler/nodes/spi/CoreProviders;
    MethodParameters:
           Name  Flags
      schedule   
      providers  

  protected org.graalvm.compiler.virtual.phases.ea.PEReadEliminationBlockState getInitialState();
    descriptor: ()Lorg/graalvm/compiler/virtual/phases/ea/PEReadEliminationBlockState;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // org.graalvm.compiler.virtual.phases.ea.PEReadEliminationClosure this
         0: .line 94
            new org.graalvm.compiler.virtual.phases.ea.PEReadEliminationBlockState
            dup
            aload 0 /* this */
            getfield org.graalvm.compiler.virtual.phases.ea.PEReadEliminationClosure.tool:Lorg/graalvm/compiler/virtual/phases/ea/VirtualizerToolImpl;
            invokevirtual org.graalvm.compiler.virtual.phases.ea.VirtualizerToolImpl.getOptions:()Lorg/graalvm/compiler/options/OptionValues;
            aload 0 /* this */
            getfield org.graalvm.compiler.virtual.phases.ea.PEReadEliminationClosure.tool:Lorg/graalvm/compiler/virtual/phases/ea/VirtualizerToolImpl;
            invokevirtual org.graalvm.compiler.virtual.phases.ea.VirtualizerToolImpl.getDebug:()Lorg/graalvm/compiler/debug/DebugContext;
            invokespecial org.graalvm.compiler.virtual.phases.ea.PEReadEliminationBlockState.<init>:(Lorg/graalvm/compiler/options/OptionValues;Lorg/graalvm/compiler/debug/DebugContext;)V
            areturn
        end local 0 // org.graalvm.compiler.virtual.phases.ea.PEReadEliminationClosure this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/graalvm/compiler/virtual/phases/ea/PEReadEliminationClosure;

  protected boolean processNode(org.graalvm.compiler.graph.Node, org.graalvm.compiler.virtual.phases.ea.PEReadEliminationBlockState, org.graalvm.compiler.virtual.phases.ea.GraphEffectList, org.graalvm.compiler.nodes.FixedWithNextNode);
    descriptor: (Lorg/graalvm/compiler/graph/Node;Lorg/graalvm/compiler/virtual/phases/ea/PEReadEliminationBlockState;Lorg/graalvm/compiler/virtual/phases/ea/GraphEffectList;Lorg/graalvm/compiler/nodes/FixedWithNextNode;)Z
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=5, locals=9, args_size=5
        start local 0 // org.graalvm.compiler.virtual.phases.ea.PEReadEliminationClosure this
        start local 1 // org.graalvm.compiler.graph.Node node
        start local 2 // org.graalvm.compiler.virtual.phases.ea.PEReadEliminationBlockState state
        start local 3 // org.graalvm.compiler.virtual.phases.ea.GraphEffectList effects
        start local 4 // org.graalvm.compiler.nodes.FixedWithNextNode lastFixedNode
         0: .line 99
            aload 0 /* this */
            aload 1 /* node */
            aload 2 /* state */
            aload 3 /* effects */
            aload 4 /* lastFixedNode */
            invokespecial org.graalvm.compiler.virtual.phases.ea.PartialEscapeClosure.processNode:(Lorg/graalvm/compiler/graph/Node;Lorg/graalvm/compiler/virtual/phases/ea/PartialEscapeBlockState;Lorg/graalvm/compiler/virtual/phases/ea/GraphEffectList;Lorg/graalvm/compiler/nodes/FixedWithNextNode;)Z
            ifeq 2
         1: .line 100
            iconst_1
            ireturn
         2: .line 103
      StackMap locals:
      StackMap stack:
            aload 1 /* node */
            instanceof org.graalvm.compiler.nodes.java.LoadFieldNode
            ifeq 4
         3: .line 104
            aload 0 /* this */
            aload 1 /* node */
            checkcast org.graalvm.compiler.nodes.java.LoadFieldNode
            aload 2 /* state */
            aload 3 /* effects */
            invokevirtual org.graalvm.compiler.virtual.phases.ea.PEReadEliminationClosure.processLoadField:(Lorg/graalvm/compiler/nodes/java/LoadFieldNode;Lorg/graalvm/compiler/virtual/phases/ea/PEReadEliminationBlockState;Lorg/graalvm/compiler/virtual/phases/ea/GraphEffectList;)Z
            ireturn
         4: .line 105
      StackMap locals:
      StackMap stack:
            aload 1 /* node */
            instanceof org.graalvm.compiler.nodes.java.StoreFieldNode
            ifeq 6
         5: .line 106
            aload 0 /* this */
            aload 1 /* node */
            checkcast org.graalvm.compiler.nodes.java.StoreFieldNode
            aload 2 /* state */
            aload 3 /* effects */
            invokevirtual org.graalvm.compiler.virtual.phases.ea.PEReadEliminationClosure.processStoreField:(Lorg/graalvm/compiler/nodes/java/StoreFieldNode;Lorg/graalvm/compiler/virtual/phases/ea/PEReadEliminationBlockState;Lorg/graalvm/compiler/virtual/phases/ea/GraphEffectList;)Z
            ireturn
         6: .line 107
      StackMap locals:
      StackMap stack:
            aload 1 /* node */
            instanceof org.graalvm.compiler.nodes.java.LoadIndexedNode
            ifeq 8
         7: .line 108
            aload 0 /* this */
            aload 1 /* node */
            checkcast org.graalvm.compiler.nodes.java.LoadIndexedNode
            aload 2 /* state */
            aload 3 /* effects */
            invokevirtual org.graalvm.compiler.virtual.phases.ea.PEReadEliminationClosure.processLoadIndexed:(Lorg/graalvm/compiler/nodes/java/LoadIndexedNode;Lorg/graalvm/compiler/virtual/phases/ea/PEReadEliminationBlockState;Lorg/graalvm/compiler/virtual/phases/ea/GraphEffectList;)Z
            ireturn
         8: .line 109
      StackMap locals:
      StackMap stack:
            aload 1 /* node */
            instanceof org.graalvm.compiler.nodes.java.StoreIndexedNode
            ifeq 10
         9: .line 110
            aload 0 /* this */
            aload 1 /* node */
            checkcast org.graalvm.compiler.nodes.java.StoreIndexedNode
            aload 2 /* state */
            aload 3 /* effects */
            invokevirtual org.graalvm.compiler.virtual.phases.ea.PEReadEliminationClosure.processStoreIndexed:(Lorg/graalvm/compiler/nodes/java/StoreIndexedNode;Lorg/graalvm/compiler/virtual/phases/ea/PEReadEliminationBlockState;Lorg/graalvm/compiler/virtual/phases/ea/GraphEffectList;)Z
            ireturn
        10: .line 111
      StackMap locals:
      StackMap stack:
            aload 1 /* node */
            instanceof org.graalvm.compiler.nodes.java.ArrayLengthNode
            ifeq 12
        11: .line 112
            aload 0 /* this */
            aload 1 /* node */
            checkcast org.graalvm.compiler.nodes.java.ArrayLengthNode
            aload 2 /* state */
            aload 3 /* effects */
            invokevirtual org.graalvm.compiler.virtual.phases.ea.PEReadEliminationClosure.processArrayLength:(Lorg/graalvm/compiler/nodes/java/ArrayLengthNode;Lorg/graalvm/compiler/virtual/phases/ea/PEReadEliminationBlockState;Lorg/graalvm/compiler/virtual/phases/ea/GraphEffectList;)Z
            ireturn
        12: .line 113
      StackMap locals:
      StackMap stack:
            aload 1 /* node */
            instanceof org.graalvm.compiler.nodes.extended.UnboxNode
            ifeq 14
        13: .line 114
            aload 0 /* this */
            aload 1 /* node */
            checkcast org.graalvm.compiler.nodes.extended.UnboxNode
            aload 2 /* state */
            aload 3 /* effects */
            invokevirtual org.graalvm.compiler.virtual.phases.ea.PEReadEliminationClosure.processUnbox:(Lorg/graalvm/compiler/nodes/extended/UnboxNode;Lorg/graalvm/compiler/virtual/phases/ea/PEReadEliminationBlockState;Lorg/graalvm/compiler/virtual/phases/ea/GraphEffectList;)Z
            ireturn
        14: .line 115
      StackMap locals:
      StackMap stack:
            aload 1 /* node */
            instanceof org.graalvm.compiler.nodes.extended.RawLoadNode
            ifeq 16
        15: .line 116
            aload 0 /* this */
            aload 1 /* node */
            checkcast org.graalvm.compiler.nodes.extended.RawLoadNode
            aload 2 /* state */
            aload 3 /* effects */
            invokevirtual org.graalvm.compiler.virtual.phases.ea.PEReadEliminationClosure.processUnsafeLoad:(Lorg/graalvm/compiler/nodes/extended/RawLoadNode;Lorg/graalvm/compiler/virtual/phases/ea/PEReadEliminationBlockState;Lorg/graalvm/compiler/virtual/phases/ea/GraphEffectList;)Z
            ireturn
        16: .line 117
      StackMap locals:
      StackMap stack:
            aload 1 /* node */
            instanceof org.graalvm.compiler.nodes.extended.RawStoreNode
            ifeq 18
        17: .line 118
            aload 0 /* this */
            aload 1 /* node */
            checkcast org.graalvm.compiler.nodes.extended.RawStoreNode
            aload 2 /* state */
            aload 3 /* effects */
            invokevirtual org.graalvm.compiler.virtual.phases.ea.PEReadEliminationClosure.processUnsafeStore:(Lorg/graalvm/compiler/nodes/extended/RawStoreNode;Lorg/graalvm/compiler/virtual/phases/ea/PEReadEliminationBlockState;Lorg/graalvm/compiler/virtual/phases/ea/GraphEffectList;)Z
            ireturn
        18: .line 119
      StackMap locals:
      StackMap stack:
            aload 1 /* node */
            instanceof org.graalvm.compiler.nodes.memory.SingleMemoryKill
            ifeq 23
        19: .line 120
            getstatic org.graalvm.compiler.virtual.phases.ea.PEReadEliminationClosure.COUNTER_MEMORYCHECKPOINT:Lorg/graalvm/compiler/debug/CounterKey;
            aload 1 /* node */
            invokevirtual org.graalvm.compiler.graph.Node.getDebug:()Lorg/graalvm/compiler/debug/DebugContext;
            invokeinterface org.graalvm.compiler.debug.CounterKey.increment:(Lorg/graalvm/compiler/debug/DebugContext;)V
        20: .line 121
            aload 1 /* node */
            checkcast org.graalvm.compiler.nodes.memory.SingleMemoryKill
            invokeinterface org.graalvm.compiler.nodes.memory.SingleMemoryKill.getKilledLocationIdentity:()Ljdk/internal/vm/compiler/word/LocationIdentity;
            astore 5 /* identity */
        start local 5 // jdk.internal.vm.compiler.word.LocationIdentity identity
        21: .line 122
            aload 2 /* state */
            aload 5 /* identity */
            invokestatic org.graalvm.compiler.virtual.phases.ea.PEReadEliminationClosure.processIdentity:(Lorg/graalvm/compiler/virtual/phases/ea/PEReadEliminationBlockState;Ljdk/internal/vm/compiler/word/LocationIdentity;)V
        end local 5 // jdk.internal.vm.compiler.word.LocationIdentity identity
        22: .line 123
            goto 30
      StackMap locals:
      StackMap stack:
        23: aload 1 /* node */
            instanceof org.graalvm.compiler.nodes.memory.MultiMemoryKill
            ifeq 30
        24: .line 124
            getstatic org.graalvm.compiler.virtual.phases.ea.PEReadEliminationClosure.COUNTER_MEMORYCHECKPOINT:Lorg/graalvm/compiler/debug/CounterKey;
            aload 1 /* node */
            invokevirtual org.graalvm.compiler.graph.Node.getDebug:()Lorg/graalvm/compiler/debug/DebugContext;
            invokeinterface org.graalvm.compiler.debug.CounterKey.increment:(Lorg/graalvm/compiler/debug/DebugContext;)V
        25: .line 125
            aload 1 /* node */
            checkcast org.graalvm.compiler.nodes.memory.MultiMemoryKill
            invokeinterface org.graalvm.compiler.nodes.memory.MultiMemoryKill.getKilledLocationIdentities:()[Ljdk/internal/vm/compiler/word/LocationIdentity;
            dup
            astore 8
            arraylength
            istore 7
            iconst_0
            istore 6
            goto 29
      StackMap locals: org.graalvm.compiler.virtual.phases.ea.PEReadEliminationClosure org.graalvm.compiler.graph.Node org.graalvm.compiler.virtual.phases.ea.PEReadEliminationBlockState org.graalvm.compiler.virtual.phases.ea.GraphEffectList org.graalvm.compiler.nodes.FixedWithNextNode top int int jdk.internal.vm.compiler.word.LocationIdentity[]
      StackMap stack:
        26: aload 8
            iload 6
            aaload
            astore 5 /* identity */
        start local 5 // jdk.internal.vm.compiler.word.LocationIdentity identity
        27: .line 126
            aload 2 /* state */
            aload 5 /* identity */
            invokestatic org.graalvm.compiler.virtual.phases.ea.PEReadEliminationClosure.processIdentity:(Lorg/graalvm/compiler/virtual/phases/ea/PEReadEliminationBlockState;Ljdk/internal/vm/compiler/word/LocationIdentity;)V
        end local 5 // jdk.internal.vm.compiler.word.LocationIdentity identity
        28: .line 125
            iinc 6 1
      StackMap locals:
      StackMap stack:
        29: iload 6
            iload 7
            if_icmplt 26
        30: .line 130
      StackMap locals: org.graalvm.compiler.virtual.phases.ea.PEReadEliminationClosure org.graalvm.compiler.graph.Node org.graalvm.compiler.virtual.phases.ea.PEReadEliminationBlockState org.graalvm.compiler.virtual.phases.ea.GraphEffectList org.graalvm.compiler.nodes.FixedWithNextNode
      StackMap stack:
            iconst_0
            ireturn
        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.PEReadEliminationBlockState state
        end local 1 // org.graalvm.compiler.graph.Node node
        end local 0 // org.graalvm.compiler.virtual.phases.ea.PEReadEliminationClosure this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   31     0           this  Lorg/graalvm/compiler/virtual/phases/ea/PEReadEliminationClosure;
            0   31     1           node  Lorg/graalvm/compiler/graph/Node;
            0   31     2          state  Lorg/graalvm/compiler/virtual/phases/ea/PEReadEliminationBlockState;
            0   31     3        effects  Lorg/graalvm/compiler/virtual/phases/ea/GraphEffectList;
            0   31     4  lastFixedNode  Lorg/graalvm/compiler/nodes/FixedWithNextNode;
           21   22     5       identity  Ljdk/internal/vm/compiler/word/LocationIdentity;
           27   28     5       identity  Ljdk/internal/vm/compiler/word/LocationIdentity;
    MethodParameters:
               Name  Flags
      node           
      state          
      effects        
      lastFixedNode  

  private boolean processStore(org.graalvm.compiler.nodes.FixedNode, org.graalvm.compiler.nodes.ValueNode, jdk.internal.vm.compiler.word.LocationIdentity, int, jdk.vm.ci.meta.JavaKind, boolean, org.graalvm.compiler.nodes.ValueNode, org.graalvm.compiler.virtual.phases.ea.PEReadEliminationBlockState, org.graalvm.compiler.virtual.phases.ea.GraphEffectList);
    descriptor: (Lorg/graalvm/compiler/nodes/FixedNode;Lorg/graalvm/compiler/nodes/ValueNode;Ljdk/internal/vm/compiler/word/LocationIdentity;ILjdk/vm/ci/meta/JavaKind;ZLorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/virtual/phases/ea/PEReadEliminationBlockState;Lorg/graalvm/compiler/virtual/phases/ea/GraphEffectList;)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=8, locals=14, args_size=10
        start local 0 // org.graalvm.compiler.virtual.phases.ea.PEReadEliminationClosure this
        start local 1 // org.graalvm.compiler.nodes.FixedNode store
        start local 2 // org.graalvm.compiler.nodes.ValueNode object
        start local 3 // jdk.internal.vm.compiler.word.LocationIdentity identity
        start local 4 // int index
        start local 5 // jdk.vm.ci.meta.JavaKind accessKind
        start local 6 // boolean overflowAccess
        start local 7 // org.graalvm.compiler.nodes.ValueNode value
        start local 8 // org.graalvm.compiler.virtual.phases.ea.PEReadEliminationBlockState state
        start local 9 // org.graalvm.compiler.virtual.phases.ea.GraphEffectList effects
         0: .line 135
            aload 2 /* object */
            invokestatic org.graalvm.compiler.nodes.util.GraphUtil.unproxify:(Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/nodes/ValueNode;
            astore 10 /* unproxiedObject */
        start local 10 // org.graalvm.compiler.nodes.ValueNode unproxiedObject
         1: .line 136
            aload 8 /* state */
            aload 2 /* object */
            aload 3 /* identity */
            iload 4 /* index */
            aload 5 /* accessKind */
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.virtual.phases.ea.PEReadEliminationBlockState.getReadCache:(Lorg/graalvm/compiler/nodes/ValueNode;Ljdk/internal/vm/compiler/word/LocationIdentity;ILjdk/vm/ci/meta/JavaKind;Lorg/graalvm/compiler/virtual/phases/ea/PartialEscapeClosure;)Lorg/graalvm/compiler/nodes/ValueNode;
            astore 11 /* cachedValue */
        start local 11 // org.graalvm.compiler.nodes.ValueNode cachedValue
         2: .line 138
            aload 0 /* this */
            aload 7 /* value */
            invokevirtual org.graalvm.compiler.virtual.phases.ea.PEReadEliminationClosure.getScalarAlias:(Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/nodes/ValueNode;
            astore 12 /* finalValue */
        start local 12 // org.graalvm.compiler.nodes.ValueNode finalValue
         3: .line 139
            iconst_0
            istore 13 /* result */
        start local 13 // boolean result
         4: .line 140
            aload 12 /* finalValue */
            invokestatic org.graalvm.compiler.nodes.util.GraphUtil.unproxify:(Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/nodes/ValueNode;
            aload 11 /* cachedValue */
            invokestatic org.graalvm.compiler.nodes.util.GraphUtil.unproxify:(Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/nodes/ValueNode;
            if_acmpne 7
         5: .line 141
            aload 9 /* effects */
            aload 1 /* store */
            invokevirtual org.graalvm.compiler.virtual.phases.ea.GraphEffectList.deleteNode:(Lorg/graalvm/compiler/graph/Node;)V
         6: .line 142
            iconst_1
            istore 13 /* result */
         7: .line 144
      StackMap locals: org.graalvm.compiler.virtual.phases.ea.PEReadEliminationClosure org.graalvm.compiler.nodes.FixedNode org.graalvm.compiler.nodes.ValueNode jdk.internal.vm.compiler.word.LocationIdentity int jdk.vm.ci.meta.JavaKind int org.graalvm.compiler.nodes.ValueNode org.graalvm.compiler.virtual.phases.ea.PEReadEliminationBlockState org.graalvm.compiler.virtual.phases.ea.GraphEffectList org.graalvm.compiler.nodes.ValueNode org.graalvm.compiler.nodes.ValueNode org.graalvm.compiler.nodes.ValueNode int
      StackMap stack:
            aload 8 /* state */
            aload 3 /* identity */
            iload 4 /* index */
            invokevirtual org.graalvm.compiler.virtual.phases.ea.PEReadEliminationBlockState.killReadCache:(Ljdk/internal/vm/compiler/word/LocationIdentity;I)V
         8: .line 145
            aload 8 /* state */
            aload 10 /* unproxiedObject */
            aload 3 /* identity */
            iload 4 /* index */
            aload 5 /* accessKind */
            iload 6 /* overflowAccess */
            aload 12 /* finalValue */
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.virtual.phases.ea.PEReadEliminationBlockState.addReadCache:(Lorg/graalvm/compiler/nodes/ValueNode;Ljdk/internal/vm/compiler/word/LocationIdentity;ILjdk/vm/ci/meta/JavaKind;ZLorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/virtual/phases/ea/PartialEscapeClosure;)V
         9: .line 146
            iload 13 /* result */
            ireturn
        end local 13 // boolean result
        end local 12 // org.graalvm.compiler.nodes.ValueNode finalValue
        end local 11 // org.graalvm.compiler.nodes.ValueNode cachedValue
        end local 10 // org.graalvm.compiler.nodes.ValueNode unproxiedObject
        end local 9 // org.graalvm.compiler.virtual.phases.ea.GraphEffectList effects
        end local 8 // org.graalvm.compiler.virtual.phases.ea.PEReadEliminationBlockState state
        end local 7 // org.graalvm.compiler.nodes.ValueNode value
        end local 6 // boolean overflowAccess
        end local 5 // jdk.vm.ci.meta.JavaKind accessKind
        end local 4 // int index
        end local 3 // jdk.internal.vm.compiler.word.LocationIdentity identity
        end local 2 // org.graalvm.compiler.nodes.ValueNode object
        end local 1 // org.graalvm.compiler.nodes.FixedNode store
        end local 0 // org.graalvm.compiler.virtual.phases.ea.PEReadEliminationClosure this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0   10     0             this  Lorg/graalvm/compiler/virtual/phases/ea/PEReadEliminationClosure;
            0   10     1            store  Lorg/graalvm/compiler/nodes/FixedNode;
            0   10     2           object  Lorg/graalvm/compiler/nodes/ValueNode;
            0   10     3         identity  Ljdk/internal/vm/compiler/word/LocationIdentity;
            0   10     4            index  I
            0   10     5       accessKind  Ljdk/vm/ci/meta/JavaKind;
            0   10     6   overflowAccess  Z
            0   10     7            value  Lorg/graalvm/compiler/nodes/ValueNode;
            0   10     8            state  Lorg/graalvm/compiler/virtual/phases/ea/PEReadEliminationBlockState;
            0   10     9          effects  Lorg/graalvm/compiler/virtual/phases/ea/GraphEffectList;
            1   10    10  unproxiedObject  Lorg/graalvm/compiler/nodes/ValueNode;
            2   10    11      cachedValue  Lorg/graalvm/compiler/nodes/ValueNode;
            3   10    12       finalValue  Lorg/graalvm/compiler/nodes/ValueNode;
            4   10    13           result  Z
    MethodParameters:
                Name  Flags
      store           
      object          
      identity        
      index           
      accessKind      
      overflowAccess  
      value           
      state           
      effects         

  private boolean processLoad(org.graalvm.compiler.nodes.FixedNode, org.graalvm.compiler.nodes.ValueNode, jdk.internal.vm.compiler.word.LocationIdentity, int, jdk.vm.ci.meta.JavaKind, org.graalvm.compiler.virtual.phases.ea.PEReadEliminationBlockState, org.graalvm.compiler.virtual.phases.ea.GraphEffectList);
    descriptor: (Lorg/graalvm/compiler/nodes/FixedNode;Lorg/graalvm/compiler/nodes/ValueNode;Ljdk/internal/vm/compiler/word/LocationIdentity;ILjdk/vm/ci/meta/JavaKind;Lorg/graalvm/compiler/virtual/phases/ea/PEReadEliminationBlockState;Lorg/graalvm/compiler/virtual/phases/ea/GraphEffectList;)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=8, locals=10, args_size=8
        start local 0 // org.graalvm.compiler.virtual.phases.ea.PEReadEliminationClosure this
        start local 1 // org.graalvm.compiler.nodes.FixedNode load
        start local 2 // org.graalvm.compiler.nodes.ValueNode object
        start local 3 // jdk.internal.vm.compiler.word.LocationIdentity identity
        start local 4 // int index
        start local 5 // jdk.vm.ci.meta.JavaKind kind
        start local 6 // org.graalvm.compiler.virtual.phases.ea.PEReadEliminationBlockState state
        start local 7 // org.graalvm.compiler.virtual.phases.ea.GraphEffectList effects
         0: .line 150
            aload 2 /* object */
            invokestatic org.graalvm.compiler.nodes.util.GraphUtil.unproxify:(Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/nodes/ValueNode;
            astore 8 /* unproxiedObject */
        start local 8 // org.graalvm.compiler.nodes.ValueNode unproxiedObject
         1: .line 151
            aload 6 /* state */
            aload 8 /* unproxiedObject */
            aload 3 /* identity */
            iload 4 /* index */
            aload 5 /* kind */
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.virtual.phases.ea.PEReadEliminationBlockState.getReadCache:(Lorg/graalvm/compiler/nodes/ValueNode;Ljdk/internal/vm/compiler/word/LocationIdentity;ILjdk/vm/ci/meta/JavaKind;Lorg/graalvm/compiler/virtual/phases/ea/PartialEscapeClosure;)Lorg/graalvm/compiler/nodes/ValueNode;
            astore 9 /* cachedValue */
        start local 9 // org.graalvm.compiler.nodes.ValueNode cachedValue
         2: .line 152
            aload 9 /* cachedValue */
            ifnull 6
         3: .line 154
            aload 7 /* effects */
            aload 1 /* load */
            aload 9 /* cachedValue */
            aload 1 /* load */
            invokevirtual org.graalvm.compiler.virtual.phases.ea.GraphEffectList.replaceAtUsages:(Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/FixedNode;)V
         4: .line 155
            aload 0 /* this */
            aload 1 /* load */
            aload 9 /* cachedValue */
            invokevirtual org.graalvm.compiler.virtual.phases.ea.PEReadEliminationClosure.addScalarAlias:(Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/ValueNode;)V
         5: .line 156
            iconst_1
            ireturn
         6: .line 158
      StackMap locals: org.graalvm.compiler.nodes.ValueNode org.graalvm.compiler.nodes.ValueNode
      StackMap stack:
            aload 6 /* state */
            aload 8 /* unproxiedObject */
            aload 3 /* identity */
            iload 4 /* index */
            aload 5 /* kind */
            iconst_0
            aload 1 /* load */
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.virtual.phases.ea.PEReadEliminationBlockState.addReadCache:(Lorg/graalvm/compiler/nodes/ValueNode;Ljdk/internal/vm/compiler/word/LocationIdentity;ILjdk/vm/ci/meta/JavaKind;ZLorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/virtual/phases/ea/PartialEscapeClosure;)V
         7: .line 159
            iconst_0
            ireturn
        end local 9 // org.graalvm.compiler.nodes.ValueNode cachedValue
        end local 8 // org.graalvm.compiler.nodes.ValueNode unproxiedObject
        end local 7 // org.graalvm.compiler.virtual.phases.ea.GraphEffectList effects
        end local 6 // org.graalvm.compiler.virtual.phases.ea.PEReadEliminationBlockState state
        end local 5 // jdk.vm.ci.meta.JavaKind kind
        end local 4 // int index
        end local 3 // jdk.internal.vm.compiler.word.LocationIdentity identity
        end local 2 // org.graalvm.compiler.nodes.ValueNode object
        end local 1 // org.graalvm.compiler.nodes.FixedNode load
        end local 0 // org.graalvm.compiler.virtual.phases.ea.PEReadEliminationClosure this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    8     0             this  Lorg/graalvm/compiler/virtual/phases/ea/PEReadEliminationClosure;
            0    8     1             load  Lorg/graalvm/compiler/nodes/FixedNode;
            0    8     2           object  Lorg/graalvm/compiler/nodes/ValueNode;
            0    8     3         identity  Ljdk/internal/vm/compiler/word/LocationIdentity;
            0    8     4            index  I
            0    8     5             kind  Ljdk/vm/ci/meta/JavaKind;
            0    8     6            state  Lorg/graalvm/compiler/virtual/phases/ea/PEReadEliminationBlockState;
            0    8     7          effects  Lorg/graalvm/compiler/virtual/phases/ea/GraphEffectList;
            1    8     8  unproxiedObject  Lorg/graalvm/compiler/nodes/ValueNode;
            2    8     9      cachedValue  Lorg/graalvm/compiler/nodes/ValueNode;
    MethodParameters:
          Name  Flags
      load      
      object    
      identity  
      index     
      kind      
      state     
      effects   

  private static boolean isOverflowAccess(jdk.vm.ci.meta.JavaKind, jdk.vm.ci.meta.JavaKind);
    descriptor: (Ljdk/vm/ci/meta/JavaKind;Ljdk/vm/ci/meta/JavaKind;)Z
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // jdk.vm.ci.meta.JavaKind accessKind
        start local 1 // jdk.vm.ci.meta.JavaKind declaredKind
         0: .line 164
            aload 0 /* accessKind */
            aload 1 /* declaredKind */
            if_acmpne 2
         1: .line 165
            iconst_0
            ireturn
         2: .line 167
      StackMap locals:
      StackMap stack:
            aload 0 /* accessKind */
            getstatic jdk.vm.ci.meta.JavaKind.Object:Ljdk/vm/ci/meta/JavaKind;
            if_acmpne 6
         3: .line 168
            invokestatic org.graalvm.compiler.virtual.phases.ea.PEReadEliminationClosure.$SWITCH_TABLE$jdk$vm$ci$meta$JavaKind:()[I
            aload 1 /* declaredKind */
            invokevirtual jdk.vm.ci.meta.JavaKind.ordinal:()I
            iaload
            tableswitch { // 7 - 9
                    7: 4
                    8: 4
                    9: 4
              default: 5
          }
         4: .line 172
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
         5: .line 174
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
         6: .line 177
      StackMap locals:
      StackMap stack:
            getstatic org.graalvm.compiler.virtual.phases.ea.PEReadEliminationClosure.$assertionsDisabled:Z
            ifne 7
            aload 0 /* accessKind */
            invokevirtual jdk.vm.ci.meta.JavaKind.isPrimitive:()Z
            ifne 7
            new java.lang.AssertionError
            dup
            ldc "Illegal access kind"
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
         7: .line 178
      StackMap locals:
      StackMap stack:
            aload 1 /* declaredKind */
            invokevirtual jdk.vm.ci.meta.JavaKind.isPrimitive:()Z
            ifeq 9
            aload 0 /* accessKind */
            invokevirtual jdk.vm.ci.meta.JavaKind.getBitCount:()I
            aload 1 /* declaredKind */
            invokevirtual jdk.vm.ci.meta.JavaKind.getBitCount:()I
            if_icmple 8
            iconst_1
            goto 10
      StackMap locals:
      StackMap stack:
         8: iconst_0
            goto 10
      StackMap locals:
      StackMap stack:
         9: iconst_1
      StackMap locals:
      StackMap stack: int
        10: ireturn
        end local 1 // jdk.vm.ci.meta.JavaKind declaredKind
        end local 0 // jdk.vm.ci.meta.JavaKind accessKind
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   11     0    accessKind  Ljdk/vm/ci/meta/JavaKind;
            0   11     1  declaredKind  Ljdk/vm/ci/meta/JavaKind;
    MethodParameters:
              Name  Flags
      accessKind    
      declaredKind  

  private boolean processUnsafeLoad(org.graalvm.compiler.nodes.extended.RawLoadNode, org.graalvm.compiler.virtual.phases.ea.PEReadEliminationBlockState, org.graalvm.compiler.virtual.phases.ea.GraphEffectList);
    descriptor: (Lorg/graalvm/compiler/nodes/extended/RawLoadNode;Lorg/graalvm/compiler/virtual/phases/ea/PEReadEliminationBlockState;Lorg/graalvm/compiler/virtual/phases/ea/GraphEffectList;)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=8, locals=13, args_size=4
        start local 0 // org.graalvm.compiler.virtual.phases.ea.PEReadEliminationClosure this
        start local 1 // org.graalvm.compiler.nodes.extended.RawLoadNode load
        start local 2 // org.graalvm.compiler.virtual.phases.ea.PEReadEliminationBlockState state
        start local 3 // org.graalvm.compiler.virtual.phases.ea.GraphEffectList effects
         0: .line 182
            aload 1 /* load */
            invokevirtual org.graalvm.compiler.nodes.extended.RawLoadNode.isVolatile:()Z
            ifeq 3
         1: .line 183
            aload 2 /* state */
            invokevirtual org.graalvm.compiler.virtual.phases.ea.PEReadEliminationBlockState.killReadCache:()V
         2: .line 184
            iconst_0
            ireturn
         3: .line 186
      StackMap locals:
      StackMap stack:
            aload 1 /* load */
            invokevirtual org.graalvm.compiler.nodes.extended.RawLoadNode.offset:()Lorg/graalvm/compiler/nodes/ValueNode;
            invokevirtual org.graalvm.compiler.nodes.ValueNode.isConstant:()Z
            ifeq 20
         4: .line 187
            aload 1 /* load */
            invokevirtual org.graalvm.compiler.nodes.extended.RawLoadNode.object:()Lorg/graalvm/compiler/nodes/ValueNode;
            invokestatic org.graalvm.compiler.nodes.type.StampTool.typeOrNull:(Lorg/graalvm/compiler/nodes/ValueNode;)Ljdk/vm/ci/meta/ResolvedJavaType;
            astore 4 /* type */
        start local 4 // jdk.vm.ci.meta.ResolvedJavaType type
         5: .line 188
            aload 4 /* type */
            ifnull 20
            aload 4 /* type */
            invokeinterface jdk.vm.ci.meta.ResolvedJavaType.isArray:()Z
            ifeq 20
         6: .line 189
            aload 1 /* load */
            invokevirtual org.graalvm.compiler.nodes.extended.RawLoadNode.accessKind:()Ljdk/vm/ci/meta/JavaKind;
            astore 5 /* accessKind */
        start local 5 // jdk.vm.ci.meta.JavaKind accessKind
         7: .line 190
            aload 4 /* type */
            invokeinterface jdk.vm.ci.meta.ResolvedJavaType.getComponentType:()Ljdk/vm/ci/meta/ResolvedJavaType;
            invokeinterface jdk.vm.ci.meta.ResolvedJavaType.getJavaKind:()Ljdk/vm/ci/meta/JavaKind;
            astore 6 /* componentKind */
        start local 6 // jdk.vm.ci.meta.JavaKind componentKind
         8: .line 191
            aload 1 /* load */
            invokevirtual org.graalvm.compiler.nodes.extended.RawLoadNode.offset:()Lorg/graalvm/compiler/nodes/ValueNode;
            invokevirtual org.graalvm.compiler.nodes.ValueNode.asJavaConstant:()Ljdk/vm/ci/meta/JavaConstant;
            invokeinterface jdk.vm.ci.meta.JavaConstant.asLong:()J
            lstore 7 /* offset */
        start local 7 // long offset
         9: .line 192
            aload 0 /* this */
            getfield org.graalvm.compiler.virtual.phases.ea.PEReadEliminationClosure.tool:Lorg/graalvm/compiler/virtual/phases/ea/VirtualizerToolImpl;
            invokevirtual org.graalvm.compiler.virtual.phases.ea.VirtualizerToolImpl.getMetaAccess:()Ljdk/vm/ci/meta/MetaAccessProvider;
            lload 7 /* offset */
            aload 5 /* accessKind */
            aload 4 /* type */
            invokeinterface jdk.vm.ci.meta.ResolvedJavaType.getComponentType:()Ljdk/vm/ci/meta/ResolvedJavaType;
            ldc 2147483647
            invokestatic org.graalvm.compiler.nodes.virtual.VirtualArrayNode.entryIndexForOffset:(Ljdk/vm/ci/meta/MetaAccessProvider;JLjdk/vm/ci/meta/JavaKind;Ljdk/vm/ci/meta/ResolvedJavaType;I)I
            istore 9 /* index */
        start local 9 // int index
        10: .line 193
            iload 9 /* index */
            iflt 20
        11: .line 194
            aload 1 /* load */
            invokevirtual org.graalvm.compiler.nodes.extended.RawLoadNode.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 10 /* object */
        start local 10 // org.graalvm.compiler.nodes.ValueNode object
        12: .line 195
            aload 6 /* componentKind */
            invokestatic org.graalvm.compiler.nodes.NamedLocationIdentity.getArrayLocation:(Ljdk/vm/ci/meta/JavaKind;)Ljdk/internal/vm/compiler/word/LocationIdentity;
            astore 11 /* location */
        start local 11 // jdk.internal.vm.compiler.word.LocationIdentity location
        13: .line 196
            aload 2 /* state */
            aload 10 /* object */
            aload 11 /* location */
            iload 9 /* index */
            aload 5 /* accessKind */
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.virtual.phases.ea.PEReadEliminationBlockState.getReadCache:(Lorg/graalvm/compiler/nodes/ValueNode;Ljdk/internal/vm/compiler/word/LocationIdentity;ILjdk/vm/ci/meta/JavaKind;Lorg/graalvm/compiler/virtual/phases/ea/PartialEscapeClosure;)Lorg/graalvm/compiler/nodes/ValueNode;
            astore 12 /* cachedValue */
        start local 12 // org.graalvm.compiler.nodes.ValueNode cachedValue
        14: .line 197
            getstatic org.graalvm.compiler.virtual.phases.ea.PEReadEliminationClosure.$assertionsDisabled:Z
            ifne 15
            aload 12 /* cachedValue */
            ifnull 15
            aload 1 /* load */
            getstatic org.graalvm.compiler.nodes.NodeView.DEFAULT:Lorg/graalvm/compiler/nodes/NodeView;
            invokevirtual org.graalvm.compiler.nodes.extended.RawLoadNode.stamp:(Lorg/graalvm/compiler/nodes/NodeView;)Lorg/graalvm/compiler/core/common/type/Stamp;
            aload 12 /* cachedValue */
            getstatic org.graalvm.compiler.nodes.NodeView.DEFAULT:Lorg/graalvm/compiler/nodes/NodeView;
            invokevirtual org.graalvm.compiler.nodes.ValueNode.stamp:(Lorg/graalvm/compiler/nodes/NodeView;)Lorg/graalvm/compiler/core/common/type/Stamp;
            invokevirtual org.graalvm.compiler.core.common.type.Stamp.isCompatible:(Lorg/graalvm/compiler/core/common/type/Stamp;)Z
            ifne 15
            new java.lang.AssertionError
            dup
            ldc "The RawLoadNode's stamp is not compatible with the cached value."
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
        15: .line 198
      StackMap locals: org.graalvm.compiler.virtual.phases.ea.PEReadEliminationClosure org.graalvm.compiler.nodes.extended.RawLoadNode org.graalvm.compiler.virtual.phases.ea.PEReadEliminationBlockState org.graalvm.compiler.virtual.phases.ea.GraphEffectList jdk.vm.ci.meta.ResolvedJavaType jdk.vm.ci.meta.JavaKind jdk.vm.ci.meta.JavaKind long int org.graalvm.compiler.nodes.ValueNode jdk.internal.vm.compiler.word.LocationIdentity org.graalvm.compiler.nodes.ValueNode
      StackMap stack:
            aload 12 /* cachedValue */
            ifnull 19
        16: .line 199
            aload 3 /* effects */
            aload 1 /* load */
            aload 12 /* cachedValue */
            aload 1 /* load */
            invokevirtual org.graalvm.compiler.virtual.phases.ea.GraphEffectList.replaceAtUsages:(Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/FixedNode;)V
        17: .line 200
            aload 0 /* this */
            aload 1 /* load */
            aload 12 /* cachedValue */
            invokevirtual org.graalvm.compiler.virtual.phases.ea.PEReadEliminationClosure.addScalarAlias:(Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/ValueNode;)V
        18: .line 201
            iconst_1
            ireturn
        19: .line 203
      StackMap locals:
      StackMap stack:
            aload 2 /* state */
            aload 10 /* object */
            aload 11 /* location */
            iload 9 /* index */
            aload 5 /* accessKind */
            aload 5 /* accessKind */
            aload 6 /* componentKind */
            invokestatic org.graalvm.compiler.virtual.phases.ea.PEReadEliminationClosure.isOverflowAccess:(Ljdk/vm/ci/meta/JavaKind;Ljdk/vm/ci/meta/JavaKind;)Z
            aload 1 /* load */
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.virtual.phases.ea.PEReadEliminationBlockState.addReadCache:(Lorg/graalvm/compiler/nodes/ValueNode;Ljdk/internal/vm/compiler/word/LocationIdentity;ILjdk/vm/ci/meta/JavaKind;ZLorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/virtual/phases/ea/PartialEscapeClosure;)V
        end local 12 // org.graalvm.compiler.nodes.ValueNode cachedValue
        end local 11 // jdk.internal.vm.compiler.word.LocationIdentity location
        end local 10 // org.graalvm.compiler.nodes.ValueNode object
        end local 9 // int index
        end local 7 // long offset
        end local 6 // jdk.vm.ci.meta.JavaKind componentKind
        end local 5 // jdk.vm.ci.meta.JavaKind accessKind
        end local 4 // jdk.vm.ci.meta.ResolvedJavaType type
        20: .line 208
      StackMap locals: org.graalvm.compiler.virtual.phases.ea.PEReadEliminationClosure org.graalvm.compiler.nodes.extended.RawLoadNode org.graalvm.compiler.virtual.phases.ea.PEReadEliminationBlockState org.graalvm.compiler.virtual.phases.ea.GraphEffectList
      StackMap stack:
            iconst_0
            ireturn
        end local 3 // org.graalvm.compiler.virtual.phases.ea.GraphEffectList effects
        end local 2 // org.graalvm.compiler.virtual.phases.ea.PEReadEliminationBlockState state
        end local 1 // org.graalvm.compiler.nodes.extended.RawLoadNode load
        end local 0 // org.graalvm.compiler.virtual.phases.ea.PEReadEliminationClosure this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   21     0           this  Lorg/graalvm/compiler/virtual/phases/ea/PEReadEliminationClosure;
            0   21     1           load  Lorg/graalvm/compiler/nodes/extended/RawLoadNode;
            0   21     2          state  Lorg/graalvm/compiler/virtual/phases/ea/PEReadEliminationBlockState;
            0   21     3        effects  Lorg/graalvm/compiler/virtual/phases/ea/GraphEffectList;
            5   20     4           type  Ljdk/vm/ci/meta/ResolvedJavaType;
            7   20     5     accessKind  Ljdk/vm/ci/meta/JavaKind;
            8   20     6  componentKind  Ljdk/vm/ci/meta/JavaKind;
            9   20     7         offset  J
           10   20     9          index  I
           12   20    10         object  Lorg/graalvm/compiler/nodes/ValueNode;
           13   20    11       location  Ljdk/internal/vm/compiler/word/LocationIdentity;
           14   20    12    cachedValue  Lorg/graalvm/compiler/nodes/ValueNode;
    MethodParameters:
         Name  Flags
      load     
      state    
      effects  

  private boolean processUnsafeStore(org.graalvm.compiler.nodes.extended.RawStoreNode, org.graalvm.compiler.virtual.phases.ea.PEReadEliminationBlockState, org.graalvm.compiler.virtual.phases.ea.GraphEffectList);
    descriptor: (Lorg/graalvm/compiler/nodes/extended/RawStoreNode;Lorg/graalvm/compiler/virtual/phases/ea/PEReadEliminationBlockState;Lorg/graalvm/compiler/virtual/phases/ea/GraphEffectList;)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=10, locals=12, args_size=4
        start local 0 // org.graalvm.compiler.virtual.phases.ea.PEReadEliminationClosure this
        start local 1 // org.graalvm.compiler.nodes.extended.RawStoreNode store
        start local 2 // org.graalvm.compiler.virtual.phases.ea.PEReadEliminationBlockState state
        start local 3 // org.graalvm.compiler.virtual.phases.ea.GraphEffectList effects
         0: .line 212
            aload 1 /* store */
            invokevirtual org.graalvm.compiler.nodes.extended.RawStoreNode.isVolatile:()Z
            ifeq 3
         1: .line 213
            aload 2 /* state */
            invokevirtual org.graalvm.compiler.virtual.phases.ea.PEReadEliminationBlockState.killReadCache:()V
         2: .line 214
            iconst_0
            ireturn
         3: .line 216
      StackMap locals:
      StackMap stack:
            aload 1 /* store */
            invokevirtual org.graalvm.compiler.nodes.extended.RawStoreNode.object:()Lorg/graalvm/compiler/nodes/ValueNode;
            invokestatic org.graalvm.compiler.nodes.type.StampTool.typeOrNull:(Lorg/graalvm/compiler/nodes/ValueNode;)Ljdk/vm/ci/meta/ResolvedJavaType;
            astore 4 /* type */
        start local 4 // jdk.vm.ci.meta.ResolvedJavaType type
         4: .line 217
            aload 4 /* type */
            ifnull 20
            aload 4 /* type */
            invokeinterface jdk.vm.ci.meta.ResolvedJavaType.isArray:()Z
            ifeq 20
         5: .line 218
            aload 1 /* store */
            invokevirtual org.graalvm.compiler.nodes.extended.RawStoreNode.accessKind:()Ljdk/vm/ci/meta/JavaKind;
            astore 5 /* accessKind */
        start local 5 // jdk.vm.ci.meta.JavaKind accessKind
         6: .line 219
            aload 4 /* type */
            invokeinterface jdk.vm.ci.meta.ResolvedJavaType.getComponentType:()Ljdk/vm/ci/meta/ResolvedJavaType;
            invokeinterface jdk.vm.ci.meta.ResolvedJavaType.getJavaKind:()Ljdk/vm/ci/meta/JavaKind;
            astore 6 /* componentKind */
        start local 6 // jdk.vm.ci.meta.JavaKind componentKind
         7: .line 220
            aload 6 /* componentKind */
            invokestatic org.graalvm.compiler.nodes.NamedLocationIdentity.getArrayLocation:(Ljdk/vm/ci/meta/JavaKind;)Ljdk/internal/vm/compiler/word/LocationIdentity;
            astore 7 /* location */
        start local 7 // jdk.internal.vm.compiler.word.LocationIdentity location
         8: .line 221
            aload 1 /* store */
            invokevirtual org.graalvm.compiler.nodes.extended.RawStoreNode.offset:()Lorg/graalvm/compiler/nodes/ValueNode;
            invokevirtual org.graalvm.compiler.nodes.ValueNode.isConstant:()Z
            ifeq 18
         9: .line 222
            aload 1 /* store */
            invokevirtual org.graalvm.compiler.nodes.extended.RawStoreNode.offset:()Lorg/graalvm/compiler/nodes/ValueNode;
            invokevirtual org.graalvm.compiler.nodes.ValueNode.asJavaConstant:()Ljdk/vm/ci/meta/JavaConstant;
            invokeinterface jdk.vm.ci.meta.JavaConstant.asLong:()J
            lstore 8 /* offset */
        start local 8 // long offset
        10: .line 223
            aload 5 /* accessKind */
            aload 6 /* componentKind */
            invokestatic org.graalvm.compiler.virtual.phases.ea.PEReadEliminationClosure.isOverflowAccess:(Ljdk/vm/ci/meta/JavaKind;Ljdk/vm/ci/meta/JavaKind;)Z
            istore 10 /* overflowAccess */
        start local 10 // boolean overflowAccess
        11: .line 224
            iload 10 /* overflowAccess */
            ifeq 12
            iconst_m1
            goto 13
      StackMap locals: org.graalvm.compiler.virtual.phases.ea.PEReadEliminationClosure org.graalvm.compiler.nodes.extended.RawStoreNode org.graalvm.compiler.virtual.phases.ea.PEReadEliminationBlockState org.graalvm.compiler.virtual.phases.ea.GraphEffectList jdk.vm.ci.meta.ResolvedJavaType jdk.vm.ci.meta.JavaKind jdk.vm.ci.meta.JavaKind jdk.internal.vm.compiler.word.LocationIdentity long int
      StackMap stack:
        12: aload 0 /* this */
            getfield org.graalvm.compiler.virtual.phases.ea.PEReadEliminationClosure.tool:Lorg/graalvm/compiler/virtual/phases/ea/VirtualizerToolImpl;
            invokevirtual org.graalvm.compiler.virtual.phases.ea.VirtualizerToolImpl.getMetaAccess:()Ljdk/vm/ci/meta/MetaAccessProvider;
            lload 8 /* offset */
            aload 5 /* accessKind */
            aload 4 /* type */
            invokeinterface jdk.vm.ci.meta.ResolvedJavaType.getComponentType:()Ljdk/vm/ci/meta/ResolvedJavaType;
            ldc 2147483647
            invokestatic org.graalvm.compiler.nodes.virtual.VirtualArrayNode.entryIndexForOffset:(Ljdk/vm/ci/meta/MetaAccessProvider;JLjdk/vm/ci/meta/JavaKind;Ljdk/vm/ci/meta/ResolvedJavaType;I)I
      StackMap locals:
      StackMap stack: int
        13: istore 11 /* index */
        start local 11 // int index
        14: .line 225
            iload 11 /* index */
            iconst_m1
            if_icmpeq 16
        15: .line 226
            aload 0 /* this */
            aload 1 /* store */
            aload 1 /* store */
            invokevirtual org.graalvm.compiler.nodes.extended.RawStoreNode.object:()Lorg/graalvm/compiler/nodes/ValueNode;
            aload 7 /* location */
            iload 11 /* index */
            aload 5 /* accessKind */
            iload 10 /* overflowAccess */
            aload 1 /* store */
            invokevirtual org.graalvm.compiler.nodes.extended.RawStoreNode.value:()Lorg/graalvm/compiler/nodes/ValueNode;
            aload 2 /* state */
            aload 3 /* effects */
            invokevirtual org.graalvm.compiler.virtual.phases.ea.PEReadEliminationClosure.processStore:(Lorg/graalvm/compiler/nodes/FixedNode;Lorg/graalvm/compiler/nodes/ValueNode;Ljdk/internal/vm/compiler/word/LocationIdentity;ILjdk/vm/ci/meta/JavaKind;ZLorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/virtual/phases/ea/PEReadEliminationBlockState;Lorg/graalvm/compiler/virtual/phases/ea/GraphEffectList;)Z
            ireturn
        16: .line 228
      StackMap locals: int
      StackMap stack:
            aload 2 /* state */
            aload 7 /* location */
            iload 11 /* index */
            invokevirtual org.graalvm.compiler.virtual.phases.ea.PEReadEliminationBlockState.killReadCache:(Ljdk/internal/vm/compiler/word/LocationIdentity;I)V
        end local 11 // int index
        end local 10 // boolean overflowAccess
        end local 8 // long offset
        17: .line 230
            goto 21
        18: .line 231
      StackMap locals:
      StackMap stack:
            aload 2 /* state */
            aload 7 /* location */
            invokestatic org.graalvm.compiler.virtual.phases.ea.PEReadEliminationClosure.processIdentity:(Lorg/graalvm/compiler/virtual/phases/ea/PEReadEliminationBlockState;Ljdk/internal/vm/compiler/word/LocationIdentity;)V
        end local 7 // jdk.internal.vm.compiler.word.LocationIdentity location
        end local 6 // jdk.vm.ci.meta.JavaKind componentKind
        end local 5 // jdk.vm.ci.meta.JavaKind accessKind
        19: .line 233
            goto 21
        20: .line 234
      StackMap locals:
      StackMap stack:
            aload 2 /* state */
            invokevirtual org.graalvm.compiler.virtual.phases.ea.PEReadEliminationBlockState.killReadCache:()V
        21: .line 236
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        end local 4 // jdk.vm.ci.meta.ResolvedJavaType type
        end local 3 // org.graalvm.compiler.virtual.phases.ea.GraphEffectList effects
        end local 2 // org.graalvm.compiler.virtual.phases.ea.PEReadEliminationBlockState state
        end local 1 // org.graalvm.compiler.nodes.extended.RawStoreNode store
        end local 0 // org.graalvm.compiler.virtual.phases.ea.PEReadEliminationClosure this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   22     0            this  Lorg/graalvm/compiler/virtual/phases/ea/PEReadEliminationClosure;
            0   22     1           store  Lorg/graalvm/compiler/nodes/extended/RawStoreNode;
            0   22     2           state  Lorg/graalvm/compiler/virtual/phases/ea/PEReadEliminationBlockState;
            0   22     3         effects  Lorg/graalvm/compiler/virtual/phases/ea/GraphEffectList;
            4   22     4            type  Ljdk/vm/ci/meta/ResolvedJavaType;
            6   19     5      accessKind  Ljdk/vm/ci/meta/JavaKind;
            7   19     6   componentKind  Ljdk/vm/ci/meta/JavaKind;
            8   19     7        location  Ljdk/internal/vm/compiler/word/LocationIdentity;
           10   17     8          offset  J
           11   17    10  overflowAccess  Z
           14   17    11           index  I
    MethodParameters:
         Name  Flags
      store    
      state    
      effects  

  private boolean processArrayLength(org.graalvm.compiler.nodes.java.ArrayLengthNode, org.graalvm.compiler.virtual.phases.ea.PEReadEliminationBlockState, org.graalvm.compiler.virtual.phases.ea.GraphEffectList);
    descriptor: (Lorg/graalvm/compiler/nodes/java/ArrayLengthNode;Lorg/graalvm/compiler/virtual/phases/ea/PEReadEliminationBlockState;Lorg/graalvm/compiler/virtual/phases/ea/GraphEffectList;)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=8, locals=4, args_size=4
        start local 0 // org.graalvm.compiler.virtual.phases.ea.PEReadEliminationClosure this
        start local 1 // org.graalvm.compiler.nodes.java.ArrayLengthNode length
        start local 2 // org.graalvm.compiler.virtual.phases.ea.PEReadEliminationBlockState state
        start local 3 // org.graalvm.compiler.virtual.phases.ea.GraphEffectList effects
         0: .line 240
            aload 0 /* this */
            aload 1 /* length */
            aload 1 /* length */
            invokevirtual org.graalvm.compiler.nodes.java.ArrayLengthNode.array:()Lorg/graalvm/compiler/nodes/ValueNode;
            getstatic org.graalvm.compiler.nodes.NamedLocationIdentity.ARRAY_LENGTH_LOCATION:Ljdk/internal/vm/compiler/word/LocationIdentity;
            iconst_m1
            getstatic jdk.vm.ci.meta.JavaKind.Int:Ljdk/vm/ci/meta/JavaKind;
            aload 2 /* state */
            aload 3 /* effects */
            invokevirtual org.graalvm.compiler.virtual.phases.ea.PEReadEliminationClosure.processLoad:(Lorg/graalvm/compiler/nodes/FixedNode;Lorg/graalvm/compiler/nodes/ValueNode;Ljdk/internal/vm/compiler/word/LocationIdentity;ILjdk/vm/ci/meta/JavaKind;Lorg/graalvm/compiler/virtual/phases/ea/PEReadEliminationBlockState;Lorg/graalvm/compiler/virtual/phases/ea/GraphEffectList;)Z
            ireturn
        end local 3 // org.graalvm.compiler.virtual.phases.ea.GraphEffectList effects
        end local 2 // org.graalvm.compiler.virtual.phases.ea.PEReadEliminationBlockState state
        end local 1 // org.graalvm.compiler.nodes.java.ArrayLengthNode length
        end local 0 // org.graalvm.compiler.virtual.phases.ea.PEReadEliminationClosure this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     this  Lorg/graalvm/compiler/virtual/phases/ea/PEReadEliminationClosure;
            0    1     1   length  Lorg/graalvm/compiler/nodes/java/ArrayLengthNode;
            0    1     2    state  Lorg/graalvm/compiler/virtual/phases/ea/PEReadEliminationBlockState;
            0    1     3  effects  Lorg/graalvm/compiler/virtual/phases/ea/GraphEffectList;
    MethodParameters:
         Name  Flags
      length   
      state    
      effects  

  private boolean processStoreField(org.graalvm.compiler.nodes.java.StoreFieldNode, org.graalvm.compiler.virtual.phases.ea.PEReadEliminationBlockState, org.graalvm.compiler.virtual.phases.ea.GraphEffectList);
    descriptor: (Lorg/graalvm/compiler/nodes/java/StoreFieldNode;Lorg/graalvm/compiler/virtual/phases/ea/PEReadEliminationBlockState;Lorg/graalvm/compiler/virtual/phases/ea/GraphEffectList;)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=10, locals=5, args_size=4
        start local 0 // org.graalvm.compiler.virtual.phases.ea.PEReadEliminationClosure this
        start local 1 // org.graalvm.compiler.nodes.java.StoreFieldNode store
        start local 2 // org.graalvm.compiler.virtual.phases.ea.PEReadEliminationBlockState state
        start local 3 // org.graalvm.compiler.virtual.phases.ea.GraphEffectList effects
         0: .line 244
            aload 1 /* store */
            invokevirtual org.graalvm.compiler.nodes.java.StoreFieldNode.isVolatile:()Z
            ifeq 3
         1: .line 245
            aload 2 /* state */
            invokevirtual org.graalvm.compiler.virtual.phases.ea.PEReadEliminationBlockState.killReadCache:()V
         2: .line 246
            iconst_0
            ireturn
         3: .line 248
      StackMap locals:
      StackMap stack:
            aload 1 /* store */
            invokevirtual org.graalvm.compiler.nodes.java.StoreFieldNode.field:()Ljdk/vm/ci/meta/ResolvedJavaField;
            invokeinterface jdk.vm.ci.meta.ResolvedJavaField.getJavaKind:()Ljdk/vm/ci/meta/JavaKind;
            astore 4 /* kind */
        start local 4 // jdk.vm.ci.meta.JavaKind kind
         4: .line 249
            aload 0 /* this */
            aload 1 /* store */
            aload 1 /* store */
            invokevirtual org.graalvm.compiler.nodes.java.StoreFieldNode.object:()Lorg/graalvm/compiler/nodes/ValueNode;
            new org.graalvm.compiler.nodes.FieldLocationIdentity
            dup
            aload 1 /* store */
            invokevirtual org.graalvm.compiler.nodes.java.StoreFieldNode.field:()Ljdk/vm/ci/meta/ResolvedJavaField;
            invokespecial org.graalvm.compiler.nodes.FieldLocationIdentity.<init>:(Ljdk/vm/ci/meta/ResolvedJavaField;)V
            iconst_m1
            aload 4 /* kind */
            iconst_0
            aload 1 /* store */
            invokevirtual org.graalvm.compiler.nodes.java.StoreFieldNode.value:()Lorg/graalvm/compiler/nodes/ValueNode;
            aload 2 /* state */
            aload 3 /* effects */
            invokevirtual org.graalvm.compiler.virtual.phases.ea.PEReadEliminationClosure.processStore:(Lorg/graalvm/compiler/nodes/FixedNode;Lorg/graalvm/compiler/nodes/ValueNode;Ljdk/internal/vm/compiler/word/LocationIdentity;ILjdk/vm/ci/meta/JavaKind;ZLorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/virtual/phases/ea/PEReadEliminationBlockState;Lorg/graalvm/compiler/virtual/phases/ea/GraphEffectList;)Z
            ireturn
        end local 4 // jdk.vm.ci.meta.JavaKind kind
        end local 3 // org.graalvm.compiler.virtual.phases.ea.GraphEffectList effects
        end local 2 // org.graalvm.compiler.virtual.phases.ea.PEReadEliminationBlockState state
        end local 1 // org.graalvm.compiler.nodes.java.StoreFieldNode store
        end local 0 // org.graalvm.compiler.virtual.phases.ea.PEReadEliminationClosure this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    5     0     this  Lorg/graalvm/compiler/virtual/phases/ea/PEReadEliminationClosure;
            0    5     1    store  Lorg/graalvm/compiler/nodes/java/StoreFieldNode;
            0    5     2    state  Lorg/graalvm/compiler/virtual/phases/ea/PEReadEliminationBlockState;
            0    5     3  effects  Lorg/graalvm/compiler/virtual/phases/ea/GraphEffectList;
            4    5     4     kind  Ljdk/vm/ci/meta/JavaKind;
    MethodParameters:
         Name  Flags
      store    
      state    
      effects  

  private boolean processLoadField(org.graalvm.compiler.nodes.java.LoadFieldNode, org.graalvm.compiler.virtual.phases.ea.PEReadEliminationBlockState, org.graalvm.compiler.virtual.phases.ea.GraphEffectList);
    descriptor: (Lorg/graalvm/compiler/nodes/java/LoadFieldNode;Lorg/graalvm/compiler/virtual/phases/ea/PEReadEliminationBlockState;Lorg/graalvm/compiler/virtual/phases/ea/GraphEffectList;)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=8, locals=4, args_size=4
        start local 0 // org.graalvm.compiler.virtual.phases.ea.PEReadEliminationClosure this
        start local 1 // org.graalvm.compiler.nodes.java.LoadFieldNode load
        start local 2 // org.graalvm.compiler.virtual.phases.ea.PEReadEliminationBlockState state
        start local 3 // org.graalvm.compiler.virtual.phases.ea.GraphEffectList effects
         0: .line 253
            aload 1 /* load */
            invokevirtual org.graalvm.compiler.nodes.java.LoadFieldNode.isVolatile:()Z
            ifeq 3
         1: .line 254
            aload 2 /* state */
            invokevirtual org.graalvm.compiler.virtual.phases.ea.PEReadEliminationBlockState.killReadCache:()V
         2: .line 255
            iconst_0
            ireturn
         3: .line 257
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* load */
            aload 1 /* load */
            invokevirtual org.graalvm.compiler.nodes.java.LoadFieldNode.object:()Lorg/graalvm/compiler/nodes/ValueNode;
            new org.graalvm.compiler.nodes.FieldLocationIdentity
            dup
            aload 1 /* load */
            invokevirtual org.graalvm.compiler.nodes.java.LoadFieldNode.field:()Ljdk/vm/ci/meta/ResolvedJavaField;
            invokespecial org.graalvm.compiler.nodes.FieldLocationIdentity.<init>:(Ljdk/vm/ci/meta/ResolvedJavaField;)V
            iconst_m1
            aload 1 /* load */
            invokevirtual org.graalvm.compiler.nodes.java.LoadFieldNode.field:()Ljdk/vm/ci/meta/ResolvedJavaField;
            invokeinterface jdk.vm.ci.meta.ResolvedJavaField.getJavaKind:()Ljdk/vm/ci/meta/JavaKind;
            aload 2 /* state */
            aload 3 /* effects */
            invokevirtual org.graalvm.compiler.virtual.phases.ea.PEReadEliminationClosure.processLoad:(Lorg/graalvm/compiler/nodes/FixedNode;Lorg/graalvm/compiler/nodes/ValueNode;Ljdk/internal/vm/compiler/word/LocationIdentity;ILjdk/vm/ci/meta/JavaKind;Lorg/graalvm/compiler/virtual/phases/ea/PEReadEliminationBlockState;Lorg/graalvm/compiler/virtual/phases/ea/GraphEffectList;)Z
            ireturn
        end local 3 // org.graalvm.compiler.virtual.phases.ea.GraphEffectList effects
        end local 2 // org.graalvm.compiler.virtual.phases.ea.PEReadEliminationBlockState state
        end local 1 // org.graalvm.compiler.nodes.java.LoadFieldNode load
        end local 0 // org.graalvm.compiler.virtual.phases.ea.PEReadEliminationClosure this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    4     0     this  Lorg/graalvm/compiler/virtual/phases/ea/PEReadEliminationClosure;
            0    4     1     load  Lorg/graalvm/compiler/nodes/java/LoadFieldNode;
            0    4     2    state  Lorg/graalvm/compiler/virtual/phases/ea/PEReadEliminationBlockState;
            0    4     3  effects  Lorg/graalvm/compiler/virtual/phases/ea/GraphEffectList;
    MethodParameters:
         Name  Flags
      load     
      state    
      effects  

  private boolean processStoreIndexed(org.graalvm.compiler.nodes.java.StoreIndexedNode, org.graalvm.compiler.virtual.phases.ea.PEReadEliminationBlockState, org.graalvm.compiler.virtual.phases.ea.GraphEffectList);
    descriptor: (Lorg/graalvm/compiler/nodes/java/StoreIndexedNode;Lorg/graalvm/compiler/virtual/phases/ea/PEReadEliminationBlockState;Lorg/graalvm/compiler/virtual/phases/ea/GraphEffectList;)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=10, locals=7, args_size=4
        start local 0 // org.graalvm.compiler.virtual.phases.ea.PEReadEliminationClosure this
        start local 1 // org.graalvm.compiler.nodes.java.StoreIndexedNode store
        start local 2 // org.graalvm.compiler.virtual.phases.ea.PEReadEliminationBlockState state
        start local 3 // org.graalvm.compiler.virtual.phases.ea.GraphEffectList effects
         0: .line 261
            aload 1 /* store */
            invokevirtual org.graalvm.compiler.nodes.java.StoreIndexedNode.index:()Lorg/graalvm/compiler/nodes/ValueNode;
            invokevirtual org.graalvm.compiler.nodes.ValueNode.isConstant:()Z
            ifeq 1
            aload 1 /* store */
            invokevirtual org.graalvm.compiler.nodes.java.StoreIndexedNode.index:()Lorg/graalvm/compiler/nodes/ValueNode;
            invokevirtual org.graalvm.compiler.nodes.ValueNode.asConstant:()Ljdk/vm/ci/meta/Constant;
            checkcast jdk.vm.ci.meta.JavaConstant
            invokeinterface jdk.vm.ci.meta.JavaConstant.asInt:()I
            goto 2
      StackMap locals:
      StackMap stack:
         1: iconst_m1
      StackMap locals:
      StackMap stack: int
         2: istore 4 /* index */
        start local 4 // int index
         3: .line 262
            aload 1 /* store */
            invokevirtual org.graalvm.compiler.nodes.java.StoreIndexedNode.elementKind:()Ljdk/vm/ci/meta/JavaKind;
            astore 5 /* elementKind */
        start local 5 // jdk.vm.ci.meta.JavaKind elementKind
         4: .line 263
            aload 5 /* elementKind */
            invokestatic org.graalvm.compiler.nodes.NamedLocationIdentity.getArrayLocation:(Ljdk/vm/ci/meta/JavaKind;)Ljdk/internal/vm/compiler/word/LocationIdentity;
            astore 6 /* arrayLocation */
        start local 6 // jdk.internal.vm.compiler.word.LocationIdentity arrayLocation
         5: .line 264
            iload 4 /* index */
            iconst_m1
            if_icmpeq 7
         6: .line 265
            aload 0 /* this */
            aload 1 /* store */
            aload 1 /* store */
            invokevirtual org.graalvm.compiler.nodes.java.StoreIndexedNode.array:()Lorg/graalvm/compiler/nodes/ValueNode;
            aload 6 /* arrayLocation */
            iload 4 /* index */
            aload 5 /* elementKind */
            iconst_0
            aload 1 /* store */
            invokevirtual org.graalvm.compiler.nodes.java.StoreIndexedNode.value:()Lorg/graalvm/compiler/nodes/ValueNode;
            aload 2 /* state */
            aload 3 /* effects */
            invokevirtual org.graalvm.compiler.virtual.phases.ea.PEReadEliminationClosure.processStore:(Lorg/graalvm/compiler/nodes/FixedNode;Lorg/graalvm/compiler/nodes/ValueNode;Ljdk/internal/vm/compiler/word/LocationIdentity;ILjdk/vm/ci/meta/JavaKind;ZLorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/virtual/phases/ea/PEReadEliminationBlockState;Lorg/graalvm/compiler/virtual/phases/ea/GraphEffectList;)Z
            ireturn
         7: .line 267
      StackMap locals: int jdk.vm.ci.meta.JavaKind jdk.internal.vm.compiler.word.LocationIdentity
      StackMap stack:
            aload 2 /* state */
            aload 6 /* arrayLocation */
            iconst_m1
            invokevirtual org.graalvm.compiler.virtual.phases.ea.PEReadEliminationBlockState.killReadCache:(Ljdk/internal/vm/compiler/word/LocationIdentity;I)V
         8: .line 269
            iconst_0
            ireturn
        end local 6 // jdk.internal.vm.compiler.word.LocationIdentity arrayLocation
        end local 5 // jdk.vm.ci.meta.JavaKind elementKind
        end local 4 // int index
        end local 3 // org.graalvm.compiler.virtual.phases.ea.GraphEffectList effects
        end local 2 // org.graalvm.compiler.virtual.phases.ea.PEReadEliminationBlockState state
        end local 1 // org.graalvm.compiler.nodes.java.StoreIndexedNode store
        end local 0 // org.graalvm.compiler.virtual.phases.ea.PEReadEliminationClosure this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    9     0           this  Lorg/graalvm/compiler/virtual/phases/ea/PEReadEliminationClosure;
            0    9     1          store  Lorg/graalvm/compiler/nodes/java/StoreIndexedNode;
            0    9     2          state  Lorg/graalvm/compiler/virtual/phases/ea/PEReadEliminationBlockState;
            0    9     3        effects  Lorg/graalvm/compiler/virtual/phases/ea/GraphEffectList;
            3    9     4          index  I
            4    9     5    elementKind  Ljdk/vm/ci/meta/JavaKind;
            5    9     6  arrayLocation  Ljdk/internal/vm/compiler/word/LocationIdentity;
    MethodParameters:
         Name  Flags
      store    
      state    
      effects  

  private boolean processLoadIndexed(org.graalvm.compiler.nodes.java.LoadIndexedNode, org.graalvm.compiler.virtual.phases.ea.PEReadEliminationBlockState, org.graalvm.compiler.virtual.phases.ea.GraphEffectList);
    descriptor: (Lorg/graalvm/compiler/nodes/java/LoadIndexedNode;Lorg/graalvm/compiler/virtual/phases/ea/PEReadEliminationBlockState;Lorg/graalvm/compiler/virtual/phases/ea/GraphEffectList;)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=8, locals=7, args_size=4
        start local 0 // org.graalvm.compiler.virtual.phases.ea.PEReadEliminationClosure this
        start local 1 // org.graalvm.compiler.nodes.java.LoadIndexedNode load
        start local 2 // org.graalvm.compiler.virtual.phases.ea.PEReadEliminationBlockState state
        start local 3 // org.graalvm.compiler.virtual.phases.ea.GraphEffectList effects
         0: .line 273
            aload 1 /* load */
            invokevirtual org.graalvm.compiler.nodes.java.LoadIndexedNode.index:()Lorg/graalvm/compiler/nodes/ValueNode;
            invokevirtual org.graalvm.compiler.nodes.ValueNode.isConstant:()Z
            ifeq 5
         1: .line 274
            aload 1 /* load */
            invokevirtual org.graalvm.compiler.nodes.java.LoadIndexedNode.index:()Lorg/graalvm/compiler/nodes/ValueNode;
            invokevirtual org.graalvm.compiler.nodes.ValueNode.asConstant:()Ljdk/vm/ci/meta/Constant;
            checkcast jdk.vm.ci.meta.JavaConstant
            invokeinterface jdk.vm.ci.meta.JavaConstant.asInt:()I
            istore 4 /* index */
        start local 4 // int index
         2: .line 275
            aload 1 /* load */
            invokevirtual org.graalvm.compiler.nodes.java.LoadIndexedNode.elementKind:()Ljdk/vm/ci/meta/JavaKind;
            astore 5 /* elementKind */
        start local 5 // jdk.vm.ci.meta.JavaKind elementKind
         3: .line 276
            aload 5 /* elementKind */
            invokestatic org.graalvm.compiler.nodes.NamedLocationIdentity.getArrayLocation:(Ljdk/vm/ci/meta/JavaKind;)Ljdk/internal/vm/compiler/word/LocationIdentity;
            astore 6 /* arrayLocation */
        start local 6 // jdk.internal.vm.compiler.word.LocationIdentity arrayLocation
         4: .line 277
            aload 0 /* this */
            aload 1 /* load */
            aload 1 /* load */
            invokevirtual org.graalvm.compiler.nodes.java.LoadIndexedNode.array:()Lorg/graalvm/compiler/nodes/ValueNode;
            aload 6 /* arrayLocation */
            iload 4 /* index */
            aload 5 /* elementKind */
            aload 2 /* state */
            aload 3 /* effects */
            invokevirtual org.graalvm.compiler.virtual.phases.ea.PEReadEliminationClosure.processLoad:(Lorg/graalvm/compiler/nodes/FixedNode;Lorg/graalvm/compiler/nodes/ValueNode;Ljdk/internal/vm/compiler/word/LocationIdentity;ILjdk/vm/ci/meta/JavaKind;Lorg/graalvm/compiler/virtual/phases/ea/PEReadEliminationBlockState;Lorg/graalvm/compiler/virtual/phases/ea/GraphEffectList;)Z
            ireturn
        end local 6 // jdk.internal.vm.compiler.word.LocationIdentity arrayLocation
        end local 5 // jdk.vm.ci.meta.JavaKind elementKind
        end local 4 // int index
         5: .line 279
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        end local 3 // org.graalvm.compiler.virtual.phases.ea.GraphEffectList effects
        end local 2 // org.graalvm.compiler.virtual.phases.ea.PEReadEliminationBlockState state
        end local 1 // org.graalvm.compiler.nodes.java.LoadIndexedNode load
        end local 0 // org.graalvm.compiler.virtual.phases.ea.PEReadEliminationClosure this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    6     0           this  Lorg/graalvm/compiler/virtual/phases/ea/PEReadEliminationClosure;
            0    6     1           load  Lorg/graalvm/compiler/nodes/java/LoadIndexedNode;
            0    6     2          state  Lorg/graalvm/compiler/virtual/phases/ea/PEReadEliminationBlockState;
            0    6     3        effects  Lorg/graalvm/compiler/virtual/phases/ea/GraphEffectList;
            2    5     4          index  I
            3    5     5    elementKind  Ljdk/vm/ci/meta/JavaKind;
            4    5     6  arrayLocation  Ljdk/internal/vm/compiler/word/LocationIdentity;
    MethodParameters:
         Name  Flags
      load     
      state    
      effects  

  private boolean processUnbox(org.graalvm.compiler.nodes.extended.UnboxNode, org.graalvm.compiler.virtual.phases.ea.PEReadEliminationBlockState, org.graalvm.compiler.virtual.phases.ea.GraphEffectList);
    descriptor: (Lorg/graalvm/compiler/nodes/extended/UnboxNode;Lorg/graalvm/compiler/virtual/phases/ea/PEReadEliminationBlockState;Lorg/graalvm/compiler/virtual/phases/ea/GraphEffectList;)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=8, locals=4, args_size=4
        start local 0 // org.graalvm.compiler.virtual.phases.ea.PEReadEliminationClosure this
        start local 1 // org.graalvm.compiler.nodes.extended.UnboxNode unbox
        start local 2 // org.graalvm.compiler.virtual.phases.ea.PEReadEliminationBlockState state
        start local 3 // org.graalvm.compiler.virtual.phases.ea.GraphEffectList effects
         0: .line 283
            aload 0 /* this */
            aload 1 /* unbox */
            aload 1 /* unbox */
            invokevirtual org.graalvm.compiler.nodes.extended.UnboxNode.getValue:()Lorg/graalvm/compiler/nodes/ValueNode;
            getstatic org.graalvm.compiler.virtual.phases.ea.PEReadEliminationClosure.UNBOX_LOCATIONS:Ljava/util/EnumMap;
            aload 1 /* unbox */
            invokevirtual org.graalvm.compiler.nodes.extended.UnboxNode.getBoxingKind:()Ljdk/vm/ci/meta/JavaKind;
            invokevirtual java.util.EnumMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast jdk.internal.vm.compiler.word.LocationIdentity
            iconst_m1
            aload 1 /* unbox */
            invokevirtual org.graalvm.compiler.nodes.extended.UnboxNode.getBoxingKind:()Ljdk/vm/ci/meta/JavaKind;
            aload 2 /* state */
            aload 3 /* effects */
            invokevirtual org.graalvm.compiler.virtual.phases.ea.PEReadEliminationClosure.processLoad:(Lorg/graalvm/compiler/nodes/FixedNode;Lorg/graalvm/compiler/nodes/ValueNode;Ljdk/internal/vm/compiler/word/LocationIdentity;ILjdk/vm/ci/meta/JavaKind;Lorg/graalvm/compiler/virtual/phases/ea/PEReadEliminationBlockState;Lorg/graalvm/compiler/virtual/phases/ea/GraphEffectList;)Z
            ireturn
        end local 3 // org.graalvm.compiler.virtual.phases.ea.GraphEffectList effects
        end local 2 // org.graalvm.compiler.virtual.phases.ea.PEReadEliminationBlockState state
        end local 1 // org.graalvm.compiler.nodes.extended.UnboxNode unbox
        end local 0 // org.graalvm.compiler.virtual.phases.ea.PEReadEliminationClosure this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     this  Lorg/graalvm/compiler/virtual/phases/ea/PEReadEliminationClosure;
            0    1     1    unbox  Lorg/graalvm/compiler/nodes/extended/UnboxNode;
            0    1     2    state  Lorg/graalvm/compiler/virtual/phases/ea/PEReadEliminationBlockState;
            0    1     3  effects  Lorg/graalvm/compiler/virtual/phases/ea/GraphEffectList;
    MethodParameters:
         Name  Flags
      unbox    
      state    
      effects  

  private static void processIdentity(org.graalvm.compiler.virtual.phases.ea.PEReadEliminationBlockState, jdk.internal.vm.compiler.word.LocationIdentity);
    descriptor: (Lorg/graalvm/compiler/virtual/phases/ea/PEReadEliminationBlockState;Ljdk/internal/vm/compiler/word/LocationIdentity;)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.graalvm.compiler.virtual.phases.ea.PEReadEliminationBlockState state
        start local 1 // jdk.internal.vm.compiler.word.LocationIdentity identity
         0: .line 287
            aload 1 /* identity */
            invokevirtual jdk.internal.vm.compiler.word.LocationIdentity.isAny:()Z
            ifeq 3
         1: .line 288
            aload 0 /* state */
            invokevirtual org.graalvm.compiler.virtual.phases.ea.PEReadEliminationBlockState.killReadCache:()V
         2: .line 289
            goto 4
         3: .line 290
      StackMap locals:
      StackMap stack:
            aload 0 /* state */
            aload 1 /* identity */
            iconst_m1
            invokevirtual org.graalvm.compiler.virtual.phases.ea.PEReadEliminationBlockState.killReadCache:(Ljdk/internal/vm/compiler/word/LocationIdentity;I)V
         4: .line 292
      StackMap locals:
      StackMap stack:
            return
        end local 1 // jdk.internal.vm.compiler.word.LocationIdentity identity
        end local 0 // org.graalvm.compiler.virtual.phases.ea.PEReadEliminationBlockState state
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    5     0     state  Lorg/graalvm/compiler/virtual/phases/ea/PEReadEliminationBlockState;
            0    5     1  identity  Ljdk/internal/vm/compiler/word/LocationIdentity;
    MethodParameters:
          Name  Flags
      state     
      identity  

  protected void processInitialLoopState(org.graalvm.compiler.core.common.cfg.Loop<org.graalvm.compiler.nodes.cfg.Block>, org.graalvm.compiler.virtual.phases.ea.PEReadEliminationBlockState);
    descriptor: (Lorg/graalvm/compiler/core/common/cfg/Loop;Lorg/graalvm/compiler/virtual/phases/ea/PEReadEliminationBlockState;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=8, locals=12, args_size=3
        start local 0 // org.graalvm.compiler.virtual.phases.ea.PEReadEliminationClosure this
        start local 1 // org.graalvm.compiler.core.common.cfg.Loop loop
        start local 2 // org.graalvm.compiler.virtual.phases.ea.PEReadEliminationBlockState initialState
         0: .line 297
            aload 0 /* this */
            aload 1 /* loop */
            aload 2 /* initialState */
            invokespecial org.graalvm.compiler.virtual.phases.ea.PartialEscapeClosure.processInitialLoopState:(Lorg/graalvm/compiler/core/common/cfg/Loop;Lorg/graalvm/compiler/virtual/phases/ea/PartialEscapeBlockState;)V
         1: .line 299
            aload 2 /* initialState */
            invokevirtual org.graalvm.compiler.virtual.phases.ea.PEReadEliminationBlockState.getReadCache:()Ljdk/internal/vm/compiler/collections/EconomicMap;
            invokeinterface jdk.internal.vm.compiler.collections.EconomicMap.isEmpty:()Z
            ifne 31
         2: .line 300
            aconst_null
            astore 3 /* firstValueSet */
        start local 3 // jdk.internal.vm.compiler.collections.EconomicMap firstValueSet
         3: .line 301
            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;
            checkcast org.graalvm.compiler.nodes.LoopBeginNode
            invokevirtual org.graalvm.compiler.nodes.LoopBeginNode.phis:()Lorg/graalvm/compiler/graph/iterators/NodeIterable;
            invokeinterface org.graalvm.compiler.graph.iterators.NodeIterable.iterator:()Ljava/util/Iterator;
            astore 5
            goto 12
      StackMap locals: org.graalvm.compiler.virtual.phases.ea.PEReadEliminationClosure org.graalvm.compiler.core.common.cfg.Loop org.graalvm.compiler.virtual.phases.ea.PEReadEliminationBlockState jdk.internal.vm.compiler.collections.EconomicMap top java.util.Iterator
      StackMap stack:
         4: aload 5
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.graalvm.compiler.nodes.PhiNode
            astore 4 /* phi */
        start local 4 // org.graalvm.compiler.nodes.PhiNode phi
         5: .line 302
            aload 4 /* phi */
            iconst_0
            invokevirtual org.graalvm.compiler.nodes.PhiNode.valueAt:(I)Lorg/graalvm/compiler/nodes/ValueNode;
            astore 6 /* firstValue */
        start local 6 // org.graalvm.compiler.nodes.ValueNode firstValue
         6: .line 303
            aload 6 /* firstValue */
            ifnull 12
            aload 4 /* phi */
            invokevirtual org.graalvm.compiler.nodes.PhiNode.getStackKind:()Ljdk/vm/ci/meta/JavaKind;
            invokevirtual jdk.vm.ci.meta.JavaKind.isObject:()Z
            ifeq 12
         7: .line 304
            aload 6 /* firstValue */
            invokestatic org.graalvm.compiler.nodes.util.GraphUtil.unproxify:(Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/nodes/ValueNode;
            astore 7 /* unproxified */
        start local 7 // org.graalvm.compiler.nodes.ValueNode unproxified
         8: .line 305
            aload 3 /* firstValueSet */
            ifnonnull 10
         9: .line 306
            getstatic jdk.internal.vm.compiler.collections.Equivalence.IDENTITY_WITH_SYSTEM_HASHCODE:Ljdk/internal/vm/compiler/collections/Equivalence;
            invokestatic jdk.internal.vm.compiler.collections.EconomicMap.create:(Ljdk/internal/vm/compiler/collections/Equivalence;)Ljdk/internal/vm/compiler/collections/EconomicMap;
            astore 3 /* firstValueSet */
        10: .line 308
      StackMap locals: org.graalvm.compiler.virtual.phases.ea.PEReadEliminationClosure org.graalvm.compiler.core.common.cfg.Loop org.graalvm.compiler.virtual.phases.ea.PEReadEliminationBlockState jdk.internal.vm.compiler.collections.EconomicMap org.graalvm.compiler.nodes.PhiNode java.util.Iterator org.graalvm.compiler.nodes.ValueNode org.graalvm.compiler.nodes.ValueNode
      StackMap stack:
            aload 7 /* unproxified */
            aload 3 /* firstValueSet */
            aload 7 /* unproxified */
            invokeinterface jdk.internal.vm.compiler.collections.EconomicMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
            invokestatic jdk.internal.vm.compiler.collections.Pair.create:(Ljava/lang/Object;Ljava/lang/Object;)Ljdk/internal/vm/compiler/collections/Pair;
            astore 8 /* pair */
        start local 8 // jdk.internal.vm.compiler.collections.Pair pair
        11: .line 309
            aload 3 /* firstValueSet */
            aload 7 /* unproxified */
            aload 8 /* pair */
            invokeinterface jdk.internal.vm.compiler.collections.EconomicMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        end local 8 // jdk.internal.vm.compiler.collections.Pair pair
        end local 7 // org.graalvm.compiler.nodes.ValueNode unproxified
        end local 6 // org.graalvm.compiler.nodes.ValueNode firstValue
        end local 4 // org.graalvm.compiler.nodes.PhiNode phi
        12: .line 301
      StackMap locals: org.graalvm.compiler.virtual.phases.ea.PEReadEliminationClosure org.graalvm.compiler.core.common.cfg.Loop org.graalvm.compiler.virtual.phases.ea.PEReadEliminationBlockState jdk.internal.vm.compiler.collections.EconomicMap top java.util.Iterator
      StackMap stack:
            aload 5
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 4
        13: .line 313
            aload 3 /* firstValueSet */
            ifnull 31
        14: .line 314
            aload 2 /* initialState */
            invokevirtual org.graalvm.compiler.virtual.phases.ea.PEReadEliminationBlockState.getReadCache:()Ljdk/internal/vm/compiler/collections/EconomicMap;
            invokeinterface jdk.internal.vm.compiler.collections.EconomicMap.size:()I
            anewarray org.graalvm.compiler.virtual.phases.ea.PEReadEliminationBlockState$ReadCacheEntry
            astore 4 /* entries */
        start local 4 // org.graalvm.compiler.virtual.phases.ea.PEReadEliminationBlockState$ReadCacheEntry[] entries
        15: .line 315
            iconst_0
            istore 5 /* z */
        start local 5 // int z
        16: .line 316
            aload 2 /* initialState */
            invokevirtual org.graalvm.compiler.virtual.phases.ea.PEReadEliminationBlockState.getReadCache:()Ljdk/internal/vm/compiler/collections/EconomicMap;
            invokeinterface jdk.internal.vm.compiler.collections.EconomicMap.getKeys:()Ljava/lang/Iterable;
            invokeinterface java.lang.Iterable.iterator:()Ljava/util/Iterator;
            astore 7
            goto 19
      StackMap locals: org.graalvm.compiler.virtual.phases.ea.PEReadEliminationClosure org.graalvm.compiler.core.common.cfg.Loop org.graalvm.compiler.virtual.phases.ea.PEReadEliminationBlockState jdk.internal.vm.compiler.collections.EconomicMap org.graalvm.compiler.virtual.phases.ea.PEReadEliminationBlockState$ReadCacheEntry[] int top java.util.Iterator
      StackMap stack:
        17: aload 7
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.graalvm.compiler.virtual.phases.ea.PEReadEliminationBlockState$ReadCacheEntry
            astore 6 /* entry */
        start local 6 // org.graalvm.compiler.virtual.phases.ea.PEReadEliminationBlockState$ReadCacheEntry entry
        18: .line 317
            aload 4 /* entries */
            iload 5 /* z */
            iinc 5 /* z */ 1
            aload 6 /* entry */
            aastore
        end local 6 // org.graalvm.compiler.virtual.phases.ea.PEReadEliminationBlockState$ReadCacheEntry entry
        19: .line 316
      StackMap locals:
      StackMap stack:
            aload 7
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 17
        20: .line 320
            aload 4 /* entries */
            dup
            astore 9
            arraylength
            istore 8
            iconst_0
            istore 7
            goto 30
      StackMap locals: org.graalvm.compiler.virtual.phases.ea.PEReadEliminationClosure org.graalvm.compiler.core.common.cfg.Loop org.graalvm.compiler.virtual.phases.ea.PEReadEliminationBlockState jdk.internal.vm.compiler.collections.EconomicMap org.graalvm.compiler.virtual.phases.ea.PEReadEliminationBlockState$ReadCacheEntry[] int top int int org.graalvm.compiler.virtual.phases.ea.PEReadEliminationBlockState$ReadCacheEntry[]
      StackMap stack:
        21: aload 9
            iload 7
            aaload
            astore 6 /* entry */
        start local 6 // org.graalvm.compiler.virtual.phases.ea.PEReadEliminationBlockState$ReadCacheEntry entry
        22: .line 321
            aload 6 /* entry */
            getfield org.graalvm.compiler.virtual.phases.ea.PEReadEliminationBlockState$ReadCacheEntry.object:Lorg/graalvm/compiler/nodes/ValueNode;
            astore 10 /* object */
        start local 10 // org.graalvm.compiler.nodes.ValueNode object
        23: .line 322
            aload 10 /* object */
            ifnull 29
        24: .line 323
            aload 3 /* firstValueSet */
            aload 10 /* object */
            invokeinterface jdk.internal.vm.compiler.collections.EconomicMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast jdk.internal.vm.compiler.collections.Pair
            astore 11 /* pair */
        start local 11 // jdk.internal.vm.compiler.collections.Pair pair
        25: .line 324
            goto 28
        26: .line 325
      StackMap locals: org.graalvm.compiler.virtual.phases.ea.PEReadEliminationClosure org.graalvm.compiler.core.common.cfg.Loop org.graalvm.compiler.virtual.phases.ea.PEReadEliminationBlockState jdk.internal.vm.compiler.collections.EconomicMap org.graalvm.compiler.virtual.phases.ea.PEReadEliminationBlockState$ReadCacheEntry[] int org.graalvm.compiler.virtual.phases.ea.PEReadEliminationBlockState$ReadCacheEntry int int org.graalvm.compiler.virtual.phases.ea.PEReadEliminationBlockState$ReadCacheEntry[] org.graalvm.compiler.nodes.ValueNode jdk.internal.vm.compiler.collections.Pair
      StackMap stack:
            aload 2 /* initialState */
            aload 11 /* pair */
            invokevirtual jdk.internal.vm.compiler.collections.Pair.getLeft:()Ljava/lang/Object;
            checkcast org.graalvm.compiler.nodes.ValueNode
            aload 6 /* entry */
            getfield org.graalvm.compiler.virtual.phases.ea.PEReadEliminationBlockState$ReadCacheEntry.identity:Ljdk/internal/vm/compiler/word/LocationIdentity;
            aload 6 /* entry */
            getfield org.graalvm.compiler.virtual.phases.ea.PEReadEliminationBlockState$ReadCacheEntry.index:I
            aload 6 /* entry */
            getfield org.graalvm.compiler.virtual.phases.ea.PEReadEliminationBlockState$ReadCacheEntry.kind:Ljdk/vm/ci/meta/JavaKind;
            aload 6 /* entry */
            getfield org.graalvm.compiler.virtual.phases.ea.PEReadEliminationBlockState$ReadCacheEntry.overflowAccess:Z
            aload 2 /* initialState */
            invokevirtual org.graalvm.compiler.virtual.phases.ea.PEReadEliminationBlockState.getReadCache:()Ljdk/internal/vm/compiler/collections/EconomicMap;
            aload 6 /* entry */
            invokeinterface jdk.internal.vm.compiler.collections.EconomicMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast org.graalvm.compiler.nodes.ValueNode
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.virtual.phases.ea.PEReadEliminationBlockState.addReadCache:(Lorg/graalvm/compiler/nodes/ValueNode;Ljdk/internal/vm/compiler/word/LocationIdentity;ILjdk/vm/ci/meta/JavaKind;ZLorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/virtual/phases/ea/PartialEscapeClosure;)V
        27: .line 326
            aload 11 /* pair */
            invokevirtual jdk.internal.vm.compiler.collections.Pair.getRight:()Ljava/lang/Object;
            checkcast jdk.internal.vm.compiler.collections.Pair
            astore 11 /* pair */
        28: .line 324
      StackMap locals:
      StackMap stack:
            aload 11 /* pair */
            ifnonnull 26
        end local 11 // jdk.internal.vm.compiler.collections.Pair pair
        end local 10 // org.graalvm.compiler.nodes.ValueNode object
        end local 6 // org.graalvm.compiler.virtual.phases.ea.PEReadEliminationBlockState$ReadCacheEntry entry
        29: .line 320
      StackMap locals: org.graalvm.compiler.virtual.phases.ea.PEReadEliminationClosure org.graalvm.compiler.core.common.cfg.Loop org.graalvm.compiler.virtual.phases.ea.PEReadEliminationBlockState jdk.internal.vm.compiler.collections.EconomicMap org.graalvm.compiler.virtual.phases.ea.PEReadEliminationBlockState$ReadCacheEntry[] int top int int org.graalvm.compiler.virtual.phases.ea.PEReadEliminationBlockState$ReadCacheEntry[]
      StackMap stack:
            iinc 7 1
      StackMap locals:
      StackMap stack:
        30: iload 7
            iload 8
            if_icmplt 21
        end local 5 // int z
        end local 4 // org.graalvm.compiler.virtual.phases.ea.PEReadEliminationBlockState$ReadCacheEntry[] entries
        end local 3 // jdk.internal.vm.compiler.collections.EconomicMap firstValueSet
        31: .line 332
      StackMap locals: org.graalvm.compiler.virtual.phases.ea.PEReadEliminationClosure org.graalvm.compiler.core.common.cfg.Loop org.graalvm.compiler.virtual.phases.ea.PEReadEliminationBlockState
      StackMap stack:
            return
        end local 2 // org.graalvm.compiler.virtual.phases.ea.PEReadEliminationBlockState initialState
        end local 1 // org.graalvm.compiler.core.common.cfg.Loop loop
        end local 0 // org.graalvm.compiler.virtual.phases.ea.PEReadEliminationClosure this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   32     0           this  Lorg/graalvm/compiler/virtual/phases/ea/PEReadEliminationClosure;
            0   32     1           loop  Lorg/graalvm/compiler/core/common/cfg/Loop<Lorg/graalvm/compiler/nodes/cfg/Block;>;
            0   32     2   initialState  Lorg/graalvm/compiler/virtual/phases/ea/PEReadEliminationBlockState;
            3   31     3  firstValueSet  Ljdk/internal/vm/compiler/collections/EconomicMap<Lorg/graalvm/compiler/nodes/ValueNode;Ljdk/internal/vm/compiler/collections/Pair<Lorg/graalvm/compiler/nodes/ValueNode;Ljava/lang/Object;>;>;
            5   12     4            phi  Lorg/graalvm/compiler/nodes/PhiNode;
            6   12     6     firstValue  Lorg/graalvm/compiler/nodes/ValueNode;
            8   12     7    unproxified  Lorg/graalvm/compiler/nodes/ValueNode;
           11   12     8           pair  Ljdk/internal/vm/compiler/collections/Pair<Lorg/graalvm/compiler/nodes/ValueNode;Ljava/lang/Object;>;
           15   31     4        entries  [Lorg/graalvm/compiler/virtual/phases/ea/PEReadEliminationBlockState$ReadCacheEntry;
           16   31     5              z  I
           18   19     6          entry  Lorg/graalvm/compiler/virtual/phases/ea/PEReadEliminationBlockState$ReadCacheEntry;
           22   29     6          entry  Lorg/graalvm/compiler/virtual/phases/ea/PEReadEliminationBlockState$ReadCacheEntry;
           23   29    10         object  Lorg/graalvm/compiler/nodes/ValueNode;
           25   29    11           pair  Ljdk/internal/vm/compiler/collections/Pair<Lorg/graalvm/compiler/nodes/ValueNode;Ljava/lang/Object;>;
    Signature: (Lorg/graalvm/compiler/core/common/cfg/Loop<Lorg/graalvm/compiler/nodes/cfg/Block;>;Lorg/graalvm/compiler/virtual/phases/ea/PEReadEliminationBlockState;)V
    MethodParameters:
              Name  Flags
      loop          
      initialState  

  protected void processLoopExit(org.graalvm.compiler.nodes.LoopExitNode, org.graalvm.compiler.virtual.phases.ea.PEReadEliminationBlockState, org.graalvm.compiler.virtual.phases.ea.PEReadEliminationBlockState, org.graalvm.compiler.virtual.phases.ea.GraphEffectList);
    descriptor: (Lorg/graalvm/compiler/nodes/LoopExitNode;Lorg/graalvm/compiler/virtual/phases/ea/PEReadEliminationBlockState;Lorg/graalvm/compiler/virtual/phases/ea/PEReadEliminationBlockState;Lorg/graalvm/compiler/virtual/phases/ea/GraphEffectList;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=6, locals=8, args_size=5
        start local 0 // org.graalvm.compiler.virtual.phases.ea.PEReadEliminationClosure this
        start local 1 // org.graalvm.compiler.nodes.LoopExitNode exitNode
        start local 2 // org.graalvm.compiler.virtual.phases.ea.PEReadEliminationBlockState initialState
        start local 3 // org.graalvm.compiler.virtual.phases.ea.PEReadEliminationBlockState exitState
        start local 4 // org.graalvm.compiler.virtual.phases.ea.GraphEffectList effects
         0: .line 336
            aload 0 /* this */
            aload 1 /* exitNode */
            aload 2 /* initialState */
            aload 3 /* exitState */
            aload 4 /* effects */
            invokespecial org.graalvm.compiler.virtual.phases.ea.PartialEscapeClosure.processLoopExit:(Lorg/graalvm/compiler/nodes/LoopExitNode;Lorg/graalvm/compiler/virtual/phases/ea/PartialEscapeBlockState;Lorg/graalvm/compiler/virtual/phases/ea/PartialEscapeBlockState;Lorg/graalvm/compiler/virtual/phases/ea/GraphEffectList;)V
         1: .line 338
            aload 1 /* exitNode */
            invokevirtual org.graalvm.compiler.nodes.LoopExitNode.graph:()Lorg/graalvm/compiler/nodes/StructuredGraph;
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph.hasValueProxies:()Z
            ifeq 12
         2: .line 339
            aload 3 /* exitState */
            invokevirtual org.graalvm.compiler.virtual.phases.ea.PEReadEliminationBlockState.getReadCache:()Ljdk/internal/vm/compiler/collections/EconomicMap;
            invokeinterface jdk.internal.vm.compiler.collections.EconomicMap.getEntries:()Ljdk/internal/vm/compiler/collections/MapCursor;
            astore 5 /* entry */
        start local 5 // jdk.internal.vm.compiler.collections.MapCursor entry
         3: .line 340
            goto 11
         4: .line 341
      StackMap locals: jdk.internal.vm.compiler.collections.MapCursor
      StackMap stack:
            aload 2 /* initialState */
            invokevirtual org.graalvm.compiler.virtual.phases.ea.PEReadEliminationBlockState.getReadCache:()Ljdk/internal/vm/compiler/collections/EconomicMap;
            aload 5 /* entry */
            invokeinterface jdk.internal.vm.compiler.collections.MapCursor.getKey:()Ljava/lang/Object;
            checkcast org.graalvm.compiler.virtual.phases.ea.PEReadEliminationBlockState$ReadCacheEntry
            invokeinterface jdk.internal.vm.compiler.collections.EconomicMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
            aload 5 /* entry */
            invokeinterface jdk.internal.vm.compiler.collections.MapCursor.getValue:()Ljava/lang/Object;
            if_acmpeq 11
         5: .line 342
            aload 3 /* exitState */
            aload 5 /* entry */
            invokeinterface jdk.internal.vm.compiler.collections.MapCursor.getKey:()Ljava/lang/Object;
            checkcast org.graalvm.compiler.virtual.phases.ea.PEReadEliminationBlockState$ReadCacheEntry
            getfield org.graalvm.compiler.virtual.phases.ea.PEReadEliminationBlockState$ReadCacheEntry.object:Lorg/graalvm/compiler/nodes/ValueNode;
            aload 5 /* entry */
            invokeinterface jdk.internal.vm.compiler.collections.MapCursor.getKey:()Ljava/lang/Object;
            checkcast org.graalvm.compiler.virtual.phases.ea.PEReadEliminationBlockState$ReadCacheEntry
            getfield org.graalvm.compiler.virtual.phases.ea.PEReadEliminationBlockState$ReadCacheEntry.identity:Ljdk/internal/vm/compiler/word/LocationIdentity;
            aload 5 /* entry */
            invokeinterface jdk.internal.vm.compiler.collections.MapCursor.getKey:()Ljava/lang/Object;
            checkcast org.graalvm.compiler.virtual.phases.ea.PEReadEliminationBlockState$ReadCacheEntry
            getfield org.graalvm.compiler.virtual.phases.ea.PEReadEliminationBlockState$ReadCacheEntry.index:I
            aload 5 /* entry */
            invokeinterface jdk.internal.vm.compiler.collections.MapCursor.getKey:()Ljava/lang/Object;
            checkcast org.graalvm.compiler.virtual.phases.ea.PEReadEliminationBlockState$ReadCacheEntry
            getfield org.graalvm.compiler.virtual.phases.ea.PEReadEliminationBlockState$ReadCacheEntry.kind:Ljdk/vm/ci/meta/JavaKind;
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.virtual.phases.ea.PEReadEliminationBlockState.getReadCache:(Lorg/graalvm/compiler/nodes/ValueNode;Ljdk/internal/vm/compiler/word/LocationIdentity;ILjdk/vm/ci/meta/JavaKind;Lorg/graalvm/compiler/virtual/phases/ea/PartialEscapeClosure;)Lorg/graalvm/compiler/nodes/ValueNode;
            astore 6 /* value */
        start local 6 // org.graalvm.compiler.nodes.ValueNode value
         6: .line 343
            getstatic org.graalvm.compiler.virtual.phases.ea.PEReadEliminationClosure.$assertionsDisabled:Z
            ifne 7
            aload 6 /* value */
            ifnonnull 7
            new java.lang.AssertionError
            dup
            new java.lang.StringBuilder
            dup
            ldc "Got null from read cache, entry's value:"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 5 /* entry */
            invokeinterface jdk.internal.vm.compiler.collections.MapCursor.getValue:()Ljava/lang/Object;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
         7: .line 344
      StackMap locals: org.graalvm.compiler.nodes.ValueNode
      StackMap stack:
            aload 6 /* value */
            instanceof org.graalvm.compiler.nodes.ProxyNode
            ifeq 8
            aload 6 /* value */
            checkcast org.graalvm.compiler.nodes.ProxyNode
            invokevirtual org.graalvm.compiler.nodes.ProxyNode.proxyPoint:()Lorg/graalvm/compiler/nodes/LoopExitNode;
            aload 1 /* exitNode */
            if_acmpeq 11
         8: .line 345
      StackMap locals:
      StackMap stack:
            new org.graalvm.compiler.nodes.ValueProxyNode
            dup
            aload 6 /* value */
            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
         9: .line 346
            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
        10: .line 347
            aload 3 /* exitState */
            invokevirtual org.graalvm.compiler.virtual.phases.ea.PEReadEliminationBlockState.getReadCache:()Ljdk/internal/vm/compiler/collections/EconomicMap;
            aload 5 /* entry */
            invokeinterface jdk.internal.vm.compiler.collections.MapCursor.getKey:()Ljava/lang/Object;
            checkcast org.graalvm.compiler.virtual.phases.ea.PEReadEliminationBlockState$ReadCacheEntry
            aload 7 /* proxy */
            invokeinterface jdk.internal.vm.compiler.collections.EconomicMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        end local 7 // org.graalvm.compiler.nodes.ProxyNode proxy
        end local 6 // org.graalvm.compiler.nodes.ValueNode value
        11: .line 340
      StackMap locals:
      StackMap stack:
            aload 5 /* entry */
            invokeinterface jdk.internal.vm.compiler.collections.MapCursor.advance:()Z
            ifne 4
        end local 5 // jdk.internal.vm.compiler.collections.MapCursor entry
        12: .line 352
      StackMap locals:
      StackMap stack:
            return
        end local 4 // org.graalvm.compiler.virtual.phases.ea.GraphEffectList effects
        end local 3 // org.graalvm.compiler.virtual.phases.ea.PEReadEliminationBlockState exitState
        end local 2 // org.graalvm.compiler.virtual.phases.ea.PEReadEliminationBlockState initialState
        end local 1 // org.graalvm.compiler.nodes.LoopExitNode exitNode
        end local 0 // org.graalvm.compiler.virtual.phases.ea.PEReadEliminationClosure this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   13     0          this  Lorg/graalvm/compiler/virtual/phases/ea/PEReadEliminationClosure;
            0   13     1      exitNode  Lorg/graalvm/compiler/nodes/LoopExitNode;
            0   13     2  initialState  Lorg/graalvm/compiler/virtual/phases/ea/PEReadEliminationBlockState;
            0   13     3     exitState  Lorg/graalvm/compiler/virtual/phases/ea/PEReadEliminationBlockState;
            0   13     4       effects  Lorg/graalvm/compiler/virtual/phases/ea/GraphEffectList;
            3   12     5         entry  Ljdk/internal/vm/compiler/collections/MapCursor<Lorg/graalvm/compiler/virtual/phases/ea/PEReadEliminationBlockState$ReadCacheEntry;Lorg/graalvm/compiler/nodes/ValueNode;>;
            6   11     6         value  Lorg/graalvm/compiler/nodes/ValueNode;
            9   11     7         proxy  Lorg/graalvm/compiler/nodes/ProxyNode;
    MethodParameters:
              Name  Flags
      exitNode      
      initialState  
      exitState     
      effects       

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

  protected org.graalvm.compiler.virtual.phases.ea.PartialEscapeClosure<org.graalvm.compiler.virtual.phases.ea.PEReadEliminationBlockState>.MergeProcessor createMergeProcessor(org.graalvm.compiler.nodes.cfg.Block);
    descriptor: (Lorg/graalvm/compiler/nodes/cfg/Block;)Lorg/graalvm/compiler/virtual/phases/ea/PartialEscapeClosure$MergeProcessor;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // org.graalvm.compiler.virtual.phases.ea.PEReadEliminationClosure this
        start local 1 // org.graalvm.compiler.nodes.cfg.Block merge
         0: .line 361
            new org.graalvm.compiler.virtual.phases.ea.PEReadEliminationClosure$ReadEliminationMergeProcessor
            dup
            aload 0 /* this */
            aload 1 /* merge */
            invokespecial org.graalvm.compiler.virtual.phases.ea.PEReadEliminationClosure$ReadEliminationMergeProcessor.<init>:(Lorg/graalvm/compiler/virtual/phases/ea/PEReadEliminationClosure;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.PEReadEliminationClosure this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0   this  Lorg/graalvm/compiler/virtual/phases/ea/PEReadEliminationClosure;
            0    1     1  merge  Lorg/graalvm/compiler/nodes/cfg/Block;
    Signature: (Lorg/graalvm/compiler/nodes/cfg/Block;)Lorg/graalvm/compiler/virtual/phases/ea/PartialEscapeClosure<Lorg/graalvm/compiler/virtual/phases/ea/PEReadEliminationBlockState;>.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.PEReadEliminationBlockState, org.graalvm.compiler.virtual.phases.ea.PEReadEliminationBlockState);
    descriptor: (Lorg/graalvm/compiler/core/common/cfg/Loop;Lorg/graalvm/compiler/virtual/phases/ea/PEReadEliminationBlockState;Lorg/graalvm/compiler/virtual/phases/ea/PEReadEliminationBlockState;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=4, locals=10, args_size=4
        start local 0 // org.graalvm.compiler.virtual.phases.ea.PEReadEliminationClosure this
        start local 1 // org.graalvm.compiler.core.common.cfg.Loop loop
        start local 2 // org.graalvm.compiler.virtual.phases.ea.PEReadEliminationBlockState initialState
        start local 3 // org.graalvm.compiler.virtual.phases.ea.PEReadEliminationBlockState mergedStates
         0: .line 451
            getstatic org.graalvm.compiler.virtual.phases.ea.PEReadEliminationClosure.$assertionsDisabled:Z
            ifne 1
            aload 2 /* initialState */
            ifnonnull 1
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         1: .line 452
      StackMap locals:
      StackMap stack:
            getstatic org.graalvm.compiler.virtual.phases.ea.PEReadEliminationClosure.$assertionsDisabled:Z
            ifne 2
            aload 3 /* mergedStates */
            ifnonnull 2
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         2: .line 453
      StackMap locals:
      StackMap stack:
            aload 2 /* initialState */
            getfield org.graalvm.compiler.virtual.phases.ea.PEReadEliminationBlockState.readCache:Ljdk/internal/vm/compiler/collections/EconomicMap;
            invokeinterface jdk.internal.vm.compiler.collections.EconomicMap.size:()I
            ifle 31
         3: .line 454
            aload 0 /* this */
            getfield org.graalvm.compiler.virtual.phases.ea.PEReadEliminationClosure.loopLocationKillCache:Ljdk/internal/vm/compiler/collections/EconomicMap;
            aload 1 /* loop */
            invokeinterface jdk.internal.vm.compiler.collections.EconomicMap.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 457
            aload 4 /* loopKilledLocations */
            ifnonnull 8
         5: .line 458
            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 459
            aload 0 /* this */
            getfield org.graalvm.compiler.virtual.phases.ea.PEReadEliminationClosure.loopLocationKillCache:Ljdk/internal/vm/compiler/collections/EconomicMap;
            aload 1 /* loop */
            aload 4 /* loopKilledLocations */
            invokeinterface jdk.internal.vm.compiler.collections.EconomicMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         7: .line 460
            goto 31
         8: .line 461
      StackMap locals: org.graalvm.compiler.virtual.phases.ea.EffectsClosure$LoopKillCache
      StackMap stack:
            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;
            astore 5 /* beginNode */
        start local 5 // org.graalvm.compiler.nodes.AbstractBeginNode beginNode
         9: .line 462
            aload 5 /* beginNode */
            invokevirtual org.graalvm.compiler.nodes.AbstractBeginNode.getOptions:()Lorg/graalvm/compiler/options/OptionValues;
            astore 6 /* options */
        start local 6 // org.graalvm.compiler.options.OptionValues options
        10: .line 463
            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/OptionKey;
            aload 6 /* options */
            invokevirtual org.graalvm.compiler.options.OptionKey.getValue:(Lorg/graalvm/compiler/options/OptionValues;)Ljava/lang/Object;
            checkcast java.lang.Integer
            invokevirtual java.lang.Integer.intValue:()I
            if_icmple 13
        11: .line 466
            aload 4 /* loopKilledLocations */
            invokevirtual org.graalvm.compiler.virtual.phases.ea.EffectsClosure$LoopKillCache.setKillsAll:()V
        12: .line 467
            goto 30
        13: .line 469
      StackMap locals: org.graalvm.compiler.nodes.AbstractBeginNode org.graalvm.compiler.options.OptionValues
      StackMap stack:
            getstatic jdk.internal.vm.compiler.collections.Equivalence.DEFAULT:Ljdk/internal/vm/compiler/collections/Equivalence;
            invokestatic jdk.internal.vm.compiler.collections.EconomicSet.create:(Ljdk/internal/vm/compiler/collections/Equivalence;)Ljdk/internal/vm/compiler/collections/EconomicSet;
            astore 7 /* forwardEndLiveLocations */
        start local 7 // jdk.internal.vm.compiler.collections.EconomicSet forwardEndLiveLocations
        14: .line 470
            aload 2 /* initialState */
            getfield org.graalvm.compiler.virtual.phases.ea.PEReadEliminationBlockState.readCache:Ljdk/internal/vm/compiler/collections/EconomicMap;
            invokeinterface jdk.internal.vm.compiler.collections.EconomicMap.getKeys:()Ljava/lang/Iterable;
            invokeinterface java.lang.Iterable.iterator:()Ljava/util/Iterator;
            astore 9
            goto 17
      StackMap locals: org.graalvm.compiler.virtual.phases.ea.PEReadEliminationClosure org.graalvm.compiler.core.common.cfg.Loop org.graalvm.compiler.virtual.phases.ea.PEReadEliminationBlockState org.graalvm.compiler.virtual.phases.ea.PEReadEliminationBlockState org.graalvm.compiler.virtual.phases.ea.EffectsClosure$LoopKillCache org.graalvm.compiler.nodes.AbstractBeginNode org.graalvm.compiler.options.OptionValues jdk.internal.vm.compiler.collections.EconomicSet top java.util.Iterator
      StackMap stack:
        15: aload 9
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.graalvm.compiler.virtual.phases.ea.PEReadEliminationBlockState$ReadCacheEntry
            astore 8 /* entry */
        start local 8 // org.graalvm.compiler.virtual.phases.ea.PEReadEliminationBlockState$ReadCacheEntry entry
        16: .line 471
            aload 7 /* forwardEndLiveLocations */
            aload 8 /* entry */
            getfield org.graalvm.compiler.virtual.phases.ea.PEReadEliminationBlockState$ReadCacheEntry.identity:Ljdk/internal/vm/compiler/word/LocationIdentity;
            invokeinterface jdk.internal.vm.compiler.collections.EconomicSet.add:(Ljava/lang/Object;)Z
            pop
        end local 8 // org.graalvm.compiler.virtual.phases.ea.PEReadEliminationBlockState$ReadCacheEntry entry
        17: .line 470
      StackMap locals:
      StackMap stack:
            aload 9
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 15
        18: .line 473
            aload 3 /* mergedStates */
            getfield org.graalvm.compiler.virtual.phases.ea.PEReadEliminationBlockState.readCache:Ljdk/internal/vm/compiler/collections/EconomicMap;
            invokeinterface jdk.internal.vm.compiler.collections.EconomicMap.getKeys:()Ljava/lang/Iterable;
            invokeinterface java.lang.Iterable.iterator:()Ljava/util/Iterator;
            astore 9
            goto 21
      StackMap locals:
      StackMap stack:
        19: aload 9
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.graalvm.compiler.virtual.phases.ea.PEReadEliminationBlockState$ReadCacheEntry
            astore 8 /* entry */
        start local 8 // org.graalvm.compiler.virtual.phases.ea.PEReadEliminationBlockState$ReadCacheEntry entry
        20: .line 474
            aload 7 /* forwardEndLiveLocations */
            aload 8 /* entry */
            getfield org.graalvm.compiler.virtual.phases.ea.PEReadEliminationBlockState$ReadCacheEntry.identity:Ljdk/internal/vm/compiler/word/LocationIdentity;
            invokeinterface jdk.internal.vm.compiler.collections.EconomicSet.remove:(Ljava/lang/Object;)V
        end local 8 // org.graalvm.compiler.virtual.phases.ea.PEReadEliminationBlockState$ReadCacheEntry entry
        21: .line 473
      StackMap locals:
      StackMap stack:
            aload 9
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 19
        22: .line 478
            aload 7 /* forwardEndLiveLocations */
            invokeinterface jdk.internal.vm.compiler.collections.EconomicSet.iterator:()Ljava/util/Iterator;
            astore 9
            goto 25
      StackMap locals:
      StackMap stack:
        23: aload 9
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast jdk.internal.vm.compiler.word.LocationIdentity
            astore 8 /* location */
        start local 8 // jdk.internal.vm.compiler.word.LocationIdentity location
        24: .line 479
            aload 4 /* loopKilledLocations */
            aload 8 /* location */
            invokevirtual org.graalvm.compiler.virtual.phases.ea.EffectsClosure$LoopKillCache.rememberLoopKilledLocation:(Ljdk/internal/vm/compiler/word/LocationIdentity;)V
        end local 8 // jdk.internal.vm.compiler.word.LocationIdentity location
        25: .line 478
      StackMap locals:
      StackMap stack:
            aload 9
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 23
        26: .line 481
            aload 0 /* this */
            getfield org.graalvm.compiler.virtual.phases.ea.PEReadEliminationClosure.debug:Lorg/graalvm/compiler/debug/DebugContext;
            invokevirtual org.graalvm.compiler.debug.DebugContext.isLogEnabled:()Z
            ifeq 30
            aload 4 /* loopKilledLocations */
            ifnull 30
        27: .line 482
            aload 0 /* this */
            getfield org.graalvm.compiler.virtual.phases.ea.PEReadEliminationClosure.debug:Lorg/graalvm/compiler/debug/DebugContext;
            ldc "[Early Read Elimination] Setting loop killed locations of loop at node %s with %s"
        28: .line 483
            aload 5 /* beginNode */
            aload 7 /* forwardEndLiveLocations */
        29: .line 482
            invokevirtual org.graalvm.compiler.debug.DebugContext.log:(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;)V
        end local 7 // jdk.internal.vm.compiler.collections.EconomicSet forwardEndLiveLocations
        30: .line 487
      StackMap locals: org.graalvm.compiler.virtual.phases.ea.PEReadEliminationClosure org.graalvm.compiler.core.common.cfg.Loop org.graalvm.compiler.virtual.phases.ea.PEReadEliminationBlockState org.graalvm.compiler.virtual.phases.ea.PEReadEliminationBlockState org.graalvm.compiler.virtual.phases.ea.EffectsClosure$LoopKillCache org.graalvm.compiler.nodes.AbstractBeginNode org.graalvm.compiler.options.OptionValues
      StackMap stack:
            aload 4 /* loopKilledLocations */
            invokevirtual org.graalvm.compiler.virtual.phases.ea.EffectsClosure$LoopKillCache.visited:()V
        end local 6 // org.graalvm.compiler.options.OptionValues options
        end local 5 // org.graalvm.compiler.nodes.AbstractBeginNode beginNode
        end local 4 // org.graalvm.compiler.virtual.phases.ea.EffectsClosure$LoopKillCache loopKilledLocations
        31: .line 490
      StackMap locals:
      StackMap stack:
            return
        end local 3 // org.graalvm.compiler.virtual.phases.ea.PEReadEliminationBlockState mergedStates
        end local 2 // org.graalvm.compiler.virtual.phases.ea.PEReadEliminationBlockState initialState
        end local 1 // org.graalvm.compiler.core.common.cfg.Loop loop
        end local 0 // org.graalvm.compiler.virtual.phases.ea.PEReadEliminationClosure this
      LocalVariableTable:
        Start  End  Slot                     Name  Signature
            0   32     0                     this  Lorg/graalvm/compiler/virtual/phases/ea/PEReadEliminationClosure;
            0   32     1                     loop  Lorg/graalvm/compiler/core/common/cfg/Loop<Lorg/graalvm/compiler/nodes/cfg/Block;>;
            0   32     2             initialState  Lorg/graalvm/compiler/virtual/phases/ea/PEReadEliminationBlockState;
            0   32     3             mergedStates  Lorg/graalvm/compiler/virtual/phases/ea/PEReadEliminationBlockState;
            4   31     4      loopKilledLocations  Lorg/graalvm/compiler/virtual/phases/ea/EffectsClosure$LoopKillCache;
            9   31     5                beginNode  Lorg/graalvm/compiler/nodes/AbstractBeginNode;
           10   31     6                  options  Lorg/graalvm/compiler/options/OptionValues;
           14   30     7  forwardEndLiveLocations  Ljdk/internal/vm/compiler/collections/EconomicSet<Ljdk/internal/vm/compiler/word/LocationIdentity;>;
           16   17     8                    entry  Lorg/graalvm/compiler/virtual/phases/ea/PEReadEliminationBlockState$ReadCacheEntry;
           20   21     8                    entry  Lorg/graalvm/compiler/virtual/phases/ea/PEReadEliminationBlockState$ReadCacheEntry;
           24   25     8                 location  Ljdk/internal/vm/compiler/word/LocationIdentity;
    Signature: (Lorg/graalvm/compiler/core/common/cfg/Loop<Lorg/graalvm/compiler/nodes/cfg/Block;>;Lorg/graalvm/compiler/virtual/phases/ea/PEReadEliminationBlockState;Lorg/graalvm/compiler/virtual/phases/ea/PEReadEliminationBlockState;)V
    MethodParameters:
              Name  Flags
      loop          
      initialState  
      mergedStates  

  protected org.graalvm.compiler.virtual.phases.ea.PEReadEliminationBlockState stripKilledLoopLocations(org.graalvm.compiler.core.common.cfg.Loop<org.graalvm.compiler.nodes.cfg.Block>, org.graalvm.compiler.virtual.phases.ea.PEReadEliminationBlockState);
    descriptor: (Lorg/graalvm/compiler/core/common/cfg/Loop;Lorg/graalvm/compiler/virtual/phases/ea/PEReadEliminationBlockState;)Lorg/graalvm/compiler/virtual/phases/ea/PEReadEliminationBlockState;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=3, locals=7, args_size=3
        start local 0 // org.graalvm.compiler.virtual.phases.ea.PEReadEliminationClosure this
        start local 1 // org.graalvm.compiler.core.common.cfg.Loop loop
        start local 2 // org.graalvm.compiler.virtual.phases.ea.PEReadEliminationBlockState originalInitialState
         0: .line 494
            aload 0 /* this */
            aload 1 /* loop */
            aload 2 /* originalInitialState */
            invokespecial org.graalvm.compiler.virtual.phases.ea.PartialEscapeClosure.stripKilledLoopLocations:(Lorg/graalvm/compiler/core/common/cfg/Loop;Lorg/graalvm/compiler/virtual/phases/ea/PartialEscapeBlockState;)Lorg/graalvm/compiler/virtual/phases/ea/PartialEscapeBlockState;
            checkcast org.graalvm.compiler.virtual.phases.ea.PEReadEliminationBlockState
            astore 3 /* initialState */
        start local 3 // org.graalvm.compiler.virtual.phases.ea.PEReadEliminationBlockState initialState
         1: .line 495
            aload 0 /* this */
            getfield org.graalvm.compiler.virtual.phases.ea.PEReadEliminationClosure.loopLocationKillCache:Ljdk/internal/vm/compiler/collections/EconomicMap;
            aload 1 /* loop */
            invokeinterface jdk.internal.vm.compiler.collections.EconomicMap.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 496
            aload 4 /* loopKilledLocations */
            ifnull 9
            aload 4 /* loopKilledLocations */
            invokevirtual org.graalvm.compiler.virtual.phases.ea.EffectsClosure$LoopKillCache.loopKillsLocations:()Z
            ifeq 9
         3: .line 497
            aload 3 /* initialState */
            getfield org.graalvm.compiler.virtual.phases.ea.PEReadEliminationBlockState.readCache:Ljdk/internal/vm/compiler/collections/EconomicMap;
            invokeinterface jdk.internal.vm.compiler.collections.EconomicMap.getKeys:()Ljava/lang/Iterable;
            invokeinterface java.lang.Iterable.iterator:()Ljava/util/Iterator;
            astore 5 /* it */
        start local 5 // java.util.Iterator it
         4: .line 498
            goto 8
         5: .line 499
      StackMap locals: org.graalvm.compiler.virtual.phases.ea.PEReadEliminationBlockState org.graalvm.compiler.virtual.phases.ea.EffectsClosure$LoopKillCache java.util.Iterator
      StackMap stack:
            aload 5 /* it */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.graalvm.compiler.virtual.phases.ea.PEReadEliminationBlockState$ReadCacheEntry
            astore 6 /* entry */
        start local 6 // org.graalvm.compiler.virtual.phases.ea.PEReadEliminationBlockState$ReadCacheEntry entry
         6: .line 500
            aload 4 /* loopKilledLocations */
            aload 6 /* entry */
            getfield org.graalvm.compiler.virtual.phases.ea.PEReadEliminationBlockState$ReadCacheEntry.identity:Ljdk/internal/vm/compiler/word/LocationIdentity;
            invokevirtual org.graalvm.compiler.virtual.phases.ea.EffectsClosure$LoopKillCache.containsLocation:(Ljdk/internal/vm/compiler/word/LocationIdentity;)Z
            ifeq 8
         7: .line 501
            aload 5 /* it */
            invokeinterface java.util.Iterator.remove:()V
        end local 6 // org.graalvm.compiler.virtual.phases.ea.PEReadEliminationBlockState$ReadCacheEntry entry
         8: .line 498
      StackMap locals:
      StackMap stack:
            aload 5 /* it */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 5
        end local 5 // java.util.Iterator it
         9: .line 505
      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.PEReadEliminationBlockState initialState
        end local 2 // org.graalvm.compiler.virtual.phases.ea.PEReadEliminationBlockState originalInitialState
        end local 1 // org.graalvm.compiler.core.common.cfg.Loop loop
        end local 0 // org.graalvm.compiler.virtual.phases.ea.PEReadEliminationClosure this
      LocalVariableTable:
        Start  End  Slot                  Name  Signature
            0   10     0                  this  Lorg/graalvm/compiler/virtual/phases/ea/PEReadEliminationClosure;
            0   10     1                  loop  Lorg/graalvm/compiler/core/common/cfg/Loop<Lorg/graalvm/compiler/nodes/cfg/Block;>;
            0   10     2  originalInitialState  Lorg/graalvm/compiler/virtual/phases/ea/PEReadEliminationBlockState;
            1   10     3          initialState  Lorg/graalvm/compiler/virtual/phases/ea/PEReadEliminationBlockState;
            2   10     4   loopKilledLocations  Lorg/graalvm/compiler/virtual/phases/ea/EffectsClosure$LoopKillCache;
            4    9     5                    it  Ljava/util/Iterator<Lorg/graalvm/compiler/virtual/phases/ea/PEReadEliminationBlockState$ReadCacheEntry;>;
            6    8     6                 entry  Lorg/graalvm/compiler/virtual/phases/ea/PEReadEliminationBlockState$ReadCacheEntry;
    Signature: (Lorg/graalvm/compiler/core/common/cfg/Loop<Lorg/graalvm/compiler/nodes/cfg/Block;>;Lorg/graalvm/compiler/virtual/phases/ea/PEReadEliminationBlockState;)Lorg/graalvm/compiler/virtual/phases/ea/PEReadEliminationBlockState;
    MethodParameters:
                      Name  Flags
      loop                  
      originalInitialState  

  protected void processLoopExit(org.graalvm.compiler.nodes.LoopExitNode, org.graalvm.compiler.virtual.phases.ea.PartialEscapeBlockState, org.graalvm.compiler.virtual.phases.ea.PartialEscapeBlockState, org.graalvm.compiler.virtual.phases.ea.GraphEffectList);
    descriptor: (Lorg/graalvm/compiler/nodes/LoopExitNode;Lorg/graalvm/compiler/virtual/phases/ea/PartialEscapeBlockState;Lorg/graalvm/compiler/virtual/phases/ea/PartialEscapeBlockState;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.PEReadEliminationBlockState
            aload 3
            checkcast org.graalvm.compiler.virtual.phases.ea.PEReadEliminationBlockState
            aload 4
            invokevirtual org.graalvm.compiler.virtual.phases.ea.PEReadEliminationClosure.processLoopExit:(Lorg/graalvm/compiler/nodes/LoopExitNode;Lorg/graalvm/compiler/virtual/phases/ea/PEReadEliminationBlockState;Lorg/graalvm/compiler/virtual/phases/ea/PEReadEliminationBlockState;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.PartialEscapeBlockState, org.graalvm.compiler.virtual.phases.ea.GraphEffectList, org.graalvm.compiler.nodes.FixedWithNextNode);
    descriptor: (Lorg/graalvm/compiler/graph/Node;Lorg/graalvm/compiler/virtual/phases/ea/PartialEscapeBlockState;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.PEReadEliminationBlockState
            aload 3
            aload 4
            invokevirtual org.graalvm.compiler.virtual.phases.ea.PEReadEliminationClosure.processNode:(Lorg/graalvm/compiler/graph/Node;Lorg/graalvm/compiler/virtual/phases/ea/PEReadEliminationBlockState;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.PartialEscapeBlockState stripKilledLoopLocations(org.graalvm.compiler.core.common.cfg.Loop, org.graalvm.compiler.virtual.phases.ea.PartialEscapeBlockState);
    descriptor: (Lorg/graalvm/compiler/core/common/cfg/Loop;Lorg/graalvm/compiler/virtual/phases/ea/PartialEscapeBlockState;)Lorg/graalvm/compiler/virtual/phases/ea/PartialEscapeBlockState;
    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.PEReadEliminationBlockState
            invokevirtual org.graalvm.compiler.virtual.phases.ea.PEReadEliminationClosure.stripKilledLoopLocations:(Lorg/graalvm/compiler/core/common/cfg/Loop;Lorg/graalvm/compiler/virtual/phases/ea/PEReadEliminationBlockState;)Lorg/graalvm/compiler/virtual/phases/ea/PEReadEliminationBlockState;
            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.PEReadEliminationClosure.getInitialState:()Lorg/graalvm/compiler/virtual/phases/ea/PEReadEliminationBlockState;
            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.PEReadEliminationBlockState
            aload 3
            checkcast org.graalvm.compiler.virtual.phases.ea.PEReadEliminationBlockState
            invokevirtual org.graalvm.compiler.virtual.phases.ea.PEReadEliminationClosure.processKilledLoopLocations:(Lorg/graalvm/compiler/core/common/cfg/Loop;Lorg/graalvm/compiler/virtual/phases/ea/PEReadEliminationBlockState;Lorg/graalvm/compiler/virtual/phases/ea/PEReadEliminationBlockState;)V
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  protected org.graalvm.compiler.virtual.phases.ea.EffectsClosure$MergeProcessor createMergeProcessor(org.graalvm.compiler.nodes.cfg.Block);
    descriptor: (Lorg/graalvm/compiler/nodes/cfg/Block;)Lorg/graalvm/compiler/virtual/phases/ea/EffectsClosure$MergeProcessor;
    flags: (0x1044) ACC_PROTECTED, ACC_BRIDGE, ACC_SYNTHETIC
    Code:
      stack=2, locals=2, args_size=2
         0: .line 1
            aload 0
            aload 1
            invokevirtual org.graalvm.compiler.virtual.phases.ea.PEReadEliminationClosure.createMergeProcessor:(Lorg/graalvm/compiler/nodes/cfg/Block;)Lorg/graalvm/compiler/virtual/phases/ea/PartialEscapeClosure$MergeProcessor;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  protected void processInitialLoopState(org.graalvm.compiler.core.common.cfg.Loop, org.graalvm.compiler.virtual.phases.ea.PartialEscapeBlockState);
    descriptor: (Lorg/graalvm/compiler/core/common/cfg/Loop;Lorg/graalvm/compiler/virtual/phases/ea/PartialEscapeBlockState;)V
    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.PEReadEliminationBlockState
            invokevirtual org.graalvm.compiler.virtual.phases.ea.PEReadEliminationClosure.processInitialLoopState:(Lorg/graalvm/compiler/core/common/cfg/Loop;Lorg/graalvm/compiler/virtual/phases/ea/PEReadEliminationBlockState;)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.PEReadEliminationBlockState
            invokevirtual org.graalvm.compiler.virtual.phases.ea.PEReadEliminationClosure.cloneState:(Lorg/graalvm/compiler/virtual/phases/ea/PEReadEliminationBlockState;)Lorg/graalvm/compiler/virtual/phases/ea/PEReadEliminationBlockState;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  static int[] $SWITCH_TABLE$jdk$vm$ci$meta$JavaKind();
    descriptor: ()[I
    flags: (0x1008) ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=3, locals=1, args_size=0
         0: .line 77
            getstatic org.graalvm.compiler.virtual.phases.ea.PEReadEliminationClosure.$SWITCH_TABLE$jdk$vm$ci$meta$JavaKind:[I
            dup
            ifnull 1
            areturn
      StackMap locals:
      StackMap stack: int[]
         1: pop
            invokestatic jdk.vm.ci.meta.JavaKind.values:()[Ljdk/vm/ci/meta/JavaKind;
            arraylength
            newarray 10
            astore 0
         2: aload 0
            getstatic jdk.vm.ci.meta.JavaKind.Boolean:Ljdk/vm/ci/meta/JavaKind;
            invokevirtual jdk.vm.ci.meta.JavaKind.ordinal:()I
            iconst_1
            iastore
         3: goto 5
      StackMap locals: int[]
      StackMap stack: java.lang.NoSuchFieldError
         4: pop
      StackMap locals:
      StackMap stack:
         5: aload 0
            getstatic jdk.vm.ci.meta.JavaKind.Byte:Ljdk/vm/ci/meta/JavaKind;
            invokevirtual jdk.vm.ci.meta.JavaKind.ordinal:()I
            iconst_2
            iastore
         6: goto 8
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
         7: pop
      StackMap locals:
      StackMap stack:
         8: aload 0
            getstatic jdk.vm.ci.meta.JavaKind.Char:Ljdk/vm/ci/meta/JavaKind;
            invokevirtual jdk.vm.ci.meta.JavaKind.ordinal:()I
            iconst_4
            iastore
         9: goto 11
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        10: pop
      StackMap locals:
      StackMap stack:
        11: aload 0
            getstatic jdk.vm.ci.meta.JavaKind.Double:Ljdk/vm/ci/meta/JavaKind;
            invokevirtual jdk.vm.ci.meta.JavaKind.ordinal:()I
            bipush 8
            iastore
        12: goto 14
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        13: pop
      StackMap locals:
      StackMap stack:
        14: aload 0
            getstatic jdk.vm.ci.meta.JavaKind.Float:Ljdk/vm/ci/meta/JavaKind;
            invokevirtual jdk.vm.ci.meta.JavaKind.ordinal:()I
            bipush 6
            iastore
        15: goto 17
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        16: pop
      StackMap locals:
      StackMap stack:
        17: aload 0
            getstatic jdk.vm.ci.meta.JavaKind.Illegal:Ljdk/vm/ci/meta/JavaKind;
            invokevirtual jdk.vm.ci.meta.JavaKind.ordinal:()I
            bipush 11
            iastore
        18: goto 20
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        19: pop
      StackMap locals:
      StackMap stack:
        20: aload 0
            getstatic jdk.vm.ci.meta.JavaKind.Int:Ljdk/vm/ci/meta/JavaKind;
            invokevirtual jdk.vm.ci.meta.JavaKind.ordinal:()I
            iconst_5
            iastore
        21: goto 23
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        22: pop
      StackMap locals:
      StackMap stack:
        23: aload 0
            getstatic jdk.vm.ci.meta.JavaKind.Long:Ljdk/vm/ci/meta/JavaKind;
            invokevirtual jdk.vm.ci.meta.JavaKind.ordinal:()I
            bipush 7
            iastore
        24: goto 26
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        25: pop
      StackMap locals:
      StackMap stack:
        26: aload 0
            getstatic jdk.vm.ci.meta.JavaKind.Object:Ljdk/vm/ci/meta/JavaKind;
            invokevirtual jdk.vm.ci.meta.JavaKind.ordinal:()I
            bipush 9
            iastore
        27: goto 29
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        28: pop
      StackMap locals:
      StackMap stack:
        29: aload 0
            getstatic jdk.vm.ci.meta.JavaKind.Short:Ljdk/vm/ci/meta/JavaKind;
            invokevirtual jdk.vm.ci.meta.JavaKind.ordinal:()I
            iconst_3
            iastore
        30: goto 32
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        31: pop
      StackMap locals:
      StackMap stack:
        32: aload 0
            getstatic jdk.vm.ci.meta.JavaKind.Void:Ljdk/vm/ci/meta/JavaKind;
            invokevirtual jdk.vm.ci.meta.JavaKind.ordinal:()I
            bipush 10
            iastore
        33: goto 35
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        34: pop
      StackMap locals:
      StackMap stack:
        35: aload 0
            dup
            putstatic org.graalvm.compiler.virtual.phases.ea.PEReadEliminationClosure.$SWITCH_TABLE$jdk$vm$ci$meta$JavaKind:[I
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
      Exception table:
        from    to  target  type
           2     3       4  Class java.lang.NoSuchFieldError
           5     6       7  Class java.lang.NoSuchFieldError
           8     9      10  Class java.lang.NoSuchFieldError
          11    12      13  Class java.lang.NoSuchFieldError
          14    15      16  Class java.lang.NoSuchFieldError
          17    18      19  Class java.lang.NoSuchFieldError
          20    21      22  Class java.lang.NoSuchFieldError
          23    24      25  Class java.lang.NoSuchFieldError
          26    27      28  Class java.lang.NoSuchFieldError
          29    30      31  Class java.lang.NoSuchFieldError
          32    33      34  Class java.lang.NoSuchFieldError
}
Signature: Lorg/graalvm/compiler/virtual/phases/ea/PartialEscapeClosure<Lorg/graalvm/compiler/virtual/phases/ea/PEReadEliminationBlockState;>;
SourceFile: "PEReadEliminationClosure.java"
NestMembers:
  org.graalvm.compiler.virtual.phases.ea.PEReadEliminationClosure$ReadEliminationMergeProcessor
InnerClasses:
  public ScheduleResult = org.graalvm.compiler.nodes.StructuredGraph$ScheduleResult of org.graalvm.compiler.nodes.StructuredGraph
  protected final LoopKillCache = org.graalvm.compiler.virtual.phases.ea.EffectsClosure$LoopKillCache of org.graalvm.compiler.virtual.phases.ea.EffectsClosure
  protected abstract MergeProcessor = org.graalvm.compiler.virtual.phases.ea.EffectsClosure$MergeProcessor of org.graalvm.compiler.virtual.phases.ea.EffectsClosure
  final ReadCacheEntry = org.graalvm.compiler.virtual.phases.ea.PEReadEliminationBlockState$ReadCacheEntry of org.graalvm.compiler.virtual.phases.ea.PEReadEliminationBlockState
  private ReadEliminationMergeProcessor = org.graalvm.compiler.virtual.phases.ea.PEReadEliminationClosure$ReadEliminationMergeProcessor of org.graalvm.compiler.virtual.phases.ea.PEReadEliminationClosure
  protected MergeProcessor = org.graalvm.compiler.virtual.phases.ea.PartialEscapeClosure$MergeProcessor of org.graalvm.compiler.virtual.phases.ea.PartialEscapeClosure