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 79
            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 84
            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 85
            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 86
            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 85
            iinc 1 1
      StackMap locals:
      StackMap stack:
         8: iload 1
            iload 2
            if_icmplt 5
         9: .line 88
            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, jdk.vm.ci.meta.MetaAccessProvider, jdk.vm.ci.meta.ConstantReflectionProvider, org.graalvm.compiler.core.common.spi.ConstantFieldProvider, org.graalvm.compiler.nodes.spi.LoweringProvider);
    descriptor: (Lorg/graalvm/compiler/nodes/StructuredGraph$ScheduleResult;Ljdk/vm/ci/meta/MetaAccessProvider;Ljdk/vm/ci/meta/ConstantReflectionProvider;Lorg/graalvm/compiler/core/common/spi/ConstantFieldProvider;Lorg/graalvm/compiler/nodes/spi/LoweringProvider;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=6, args_size=6
        start local 0 // org.graalvm.compiler.virtual.phases.ea.PEReadEliminationClosure this
        start local 1 // org.graalvm.compiler.nodes.StructuredGraph$ScheduleResult schedule
        start local 2 // jdk.vm.ci.meta.MetaAccessProvider metaAccess
        start local 3 // jdk.vm.ci.meta.ConstantReflectionProvider constantReflection
        start local 4 // org.graalvm.compiler.core.common.spi.ConstantFieldProvider constantFieldProvider
        start local 5 // org.graalvm.compiler.nodes.spi.LoweringProvider loweringProvider
         0: .line 92
            aload 0 /* this */
            aload 1 /* schedule */
            aload 2 /* metaAccess */
            aload 3 /* constantReflection */
            aload 4 /* constantFieldProvider */
            aload 5 /* loweringProvider */
            invokespecial org.graalvm.compiler.virtual.phases.ea.PartialEscapeClosure.<init>:(Lorg/graalvm/compiler/nodes/StructuredGraph$ScheduleResult;Ljdk/vm/ci/meta/MetaAccessProvider;Ljdk/vm/ci/meta/ConstantReflectionProvider;Lorg/graalvm/compiler/core/common/spi/ConstantFieldProvider;Lorg/graalvm/compiler/nodes/spi/LoweringProvider;)V
         1: .line 93
            return
        end local 5 // org.graalvm.compiler.nodes.spi.LoweringProvider loweringProvider
        end local 4 // org.graalvm.compiler.core.common.spi.ConstantFieldProvider constantFieldProvider
        end local 3 // jdk.vm.ci.meta.ConstantReflectionProvider constantReflection
        end local 2 // jdk.vm.ci.meta.MetaAccessProvider metaAccess
        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             metaAccess  Ljdk/vm/ci/meta/MetaAccessProvider;
            0    2     3     constantReflection  Ljdk/vm/ci/meta/ConstantReflectionProvider;
            0    2     4  constantFieldProvider  Lorg/graalvm/compiler/core/common/spi/ConstantFieldProvider;
            0    2     5       loweringProvider  Lorg/graalvm/compiler/nodes/spi/LoweringProvider;
    MethodParameters:
                       Name  Flags
      schedule               
      metaAccess             
      constantReflection     
      constantFieldProvider  
      loweringProvider       

  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 97
            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 102
            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 103
            iconst_1
            ireturn
         2: .line 106
      StackMap locals:
      StackMap stack:
            aload 1 /* node */
            instanceof org.graalvm.compiler.nodes.java.LoadFieldNode
            ifeq 4
         3: .line 107
            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 108
      StackMap locals:
      StackMap stack:
            aload 1 /* node */
            instanceof org.graalvm.compiler.nodes.java.StoreFieldNode
            ifeq 6
         5: .line 109
            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 110
      StackMap locals:
      StackMap stack:
            aload 1 /* node */
            instanceof org.graalvm.compiler.nodes.java.LoadIndexedNode
            ifeq 8
         7: .line 111
            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 112
      StackMap locals:
      StackMap stack:
            aload 1 /* node */
            instanceof org.graalvm.compiler.nodes.java.StoreIndexedNode
            ifeq 10
         9: .line 113
            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 114
      StackMap locals:
      StackMap stack:
            aload 1 /* node */
            instanceof org.graalvm.compiler.nodes.java.ArrayLengthNode
            ifeq 12
        11: .line 115
            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 116
      StackMap locals:
      StackMap stack:
            aload 1 /* node */
            instanceof org.graalvm.compiler.nodes.extended.UnboxNode
            ifeq 14
        13: .line 117
            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 118
      StackMap locals:
      StackMap stack:
            aload 1 /* node */
            instanceof org.graalvm.compiler.nodes.extended.RawLoadNode
            ifeq 16
        15: .line 119
            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 120
      StackMap locals:
      StackMap stack:
            aload 1 /* node */
            instanceof org.graalvm.compiler.nodes.extended.RawStoreNode
            ifeq 18
        17: .line 121
            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 122
      StackMap locals:
      StackMap stack:
            aload 1 /* node */
            instanceof org.graalvm.compiler.nodes.memory.MemoryCheckpoint$Single
            ifeq 23
        19: .line 123
            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 124
            aload 1 /* node */
            checkcast org.graalvm.compiler.nodes.memory.MemoryCheckpoint$Single
            invokeinterface org.graalvm.compiler.nodes.memory.MemoryCheckpoint$Single.getLocationIdentity:()Ljdk/internal/vm/compiler/word/LocationIdentity;
            astore 5 /* identity */
        start local 5 // jdk.internal.vm.compiler.word.LocationIdentity identity
        21: .line 125
            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 126
            goto 30
      StackMap locals:
      StackMap stack:
        23: aload 1 /* node */
            instanceof org.graalvm.compiler.nodes.memory.MemoryCheckpoint$Multi
            ifeq 30
        24: .line 127
            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 128
            aload 1 /* node */
            checkcast org.graalvm.compiler.nodes.memory.MemoryCheckpoint$Multi
            invokeinterface org.graalvm.compiler.nodes.memory.MemoryCheckpoint$Multi.getLocationIdentities:()[Ljdk/internal/vm/compiler/word/LocationIdentity;
            dup
            astore 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 129
            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 128
            iinc 6 1
      StackMap locals:
      StackMap stack:
        29: iload 6
            iload 7
            if_icmplt 26
        30: .line 133
      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 138
            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 139
            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 141
            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 142
            iconst_0
            istore 13 /* result */
        start local 13 // boolean result
         4: .line 143
            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 144
            aload 9 /* effects */
            aload 1 /* store */
            invokevirtual org.graalvm.compiler.virtual.phases.ea.GraphEffectList.deleteNode:(Lorg/graalvm/compiler/graph/Node;)V
         6: .line 145
            iconst_1
            istore 13 /* result */
         7: .line 147
      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 148
            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 149
            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 153
            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 154
            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 155
            aload 9 /* cachedValue */
            ifnull 6
         3: .line 157
            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 158
            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 159
            iconst_1
            ireturn
         6: .line 161
      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 162
            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 167
            aload 0 /* accessKind */
            aload 1 /* declaredKind */
            if_acmpne 2
         1: .line 168
            iconst_0
            ireturn
         2: .line 170
      StackMap locals:
      StackMap stack:
            aload 0 /* accessKind */
            getstatic jdk.vm.ci.meta.JavaKind.Object:Ljdk/vm/ci/meta/JavaKind;
            if_acmpne 6
         3: .line 171
            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 175
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
         5: .line 177
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
         6: .line 180
      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 181
      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 185
            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 17
         1: .line 186
            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
         2: .line 187
            aload 4 /* type */
            ifnull 17
            aload 4 /* type */
            invokeinterface jdk.vm.ci.meta.ResolvedJavaType.isArray:()Z
            ifeq 17
         3: .line 188
            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
         4: .line 189
            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
         5: .line 190
            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
         6: .line 191
            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
         7: .line 192
            iload 9 /* index */
            iflt 17
         8: .line 193
            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
         9: .line 194
            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
        10: .line 195
            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
        11: .line 196
            getstatic org.graalvm.compiler.virtual.phases.ea.PEReadEliminationClosure.$assertionsDisabled:Z
            ifne 12
            aload 12 /* cachedValue */
            ifnull 12
            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 12
            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
        12: .line 197
      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 16
        13: .line 198
            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
        14: .line 199
            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
        15: .line 200
            iconst_1
            ireturn
        16: .line 202
      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
        17: .line 207
      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   18     0           this  Lorg/graalvm/compiler/virtual/phases/ea/PEReadEliminationClosure;
            0   18     1           load  Lorg/graalvm/compiler/nodes/extended/RawLoadNode;
            0   18     2          state  Lorg/graalvm/compiler/virtual/phases/ea/PEReadEliminationBlockState;
            0   18     3        effects  Lorg/graalvm/compiler/virtual/phases/ea/GraphEffectList;
            2   17     4           type  Ljdk/vm/ci/meta/ResolvedJavaType;
            4   17     5     accessKind  Ljdk/vm/ci/meta/JavaKind;
            5   17     6  componentKind  Ljdk/vm/ci/meta/JavaKind;
            6   17     7         offset  J
            7   17     9          index  I
            9   17    10         object  Lorg/graalvm/compiler/nodes/ValueNode;
           10   17    11       location  Ljdk/internal/vm/compiler/word/LocationIdentity;
           11   17    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 211
            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
         1: .line 212
            aload 4 /* type */
            ifnull 14
            aload 4 /* type */
            invokeinterface jdk.vm.ci.meta.ResolvedJavaType.isArray:()Z
            ifeq 14
         2: .line 213
            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
         3: .line 214
            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
         4: .line 215
            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
         5: .line 216
            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 12
         6: .line 217
            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
         7: .line 218
            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
         8: .line 219
            iload 10 /* overflowAccess */
            ifeq 9
            iconst_m1
            goto 10
      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:
         9: 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
        10: istore 11 /* index */
        start local 11 // int index
        11: .line 220
            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
        end local 11 // int index
        end local 10 // boolean overflowAccess
        end local 8 // long offset
        12: .line 222
      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
        13: .line 224
            goto 15
        14: .line 225
      StackMap locals:
      StackMap stack:
            aload 2 /* state */
            invokevirtual org.graalvm.compiler.virtual.phases.ea.PEReadEliminationBlockState.killReadCache:()V
        15: .line 227
      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   16     0            this  Lorg/graalvm/compiler/virtual/phases/ea/PEReadEliminationClosure;
            0   16     1           store  Lorg/graalvm/compiler/nodes/extended/RawStoreNode;
            0   16     2           state  Lorg/graalvm/compiler/virtual/phases/ea/PEReadEliminationBlockState;
            0   16     3         effects  Lorg/graalvm/compiler/virtual/phases/ea/GraphEffectList;
            1   16     4            type  Ljdk/vm/ci/meta/ResolvedJavaType;
            3   13     5      accessKind  Ljdk/vm/ci/meta/JavaKind;
            4   13     6   componentKind  Ljdk/vm/ci/meta/JavaKind;
            5   13     7        location  Ljdk/internal/vm/compiler/word/LocationIdentity;
            7   12     8          offset  J
            8   12    10  overflowAccess  Z
           11   12    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 231
            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 235
            aload 1 /* store */
            invokevirtual org.graalvm.compiler.nodes.java.StoreFieldNode.isVolatile:()Z
            ifeq 3
         1: .line 236
            aload 2 /* state */
            invokevirtual org.graalvm.compiler.virtual.phases.ea.PEReadEliminationBlockState.killReadCache:()V
         2: .line 237
            iconst_0
            ireturn
         3: .line 239
      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 240
            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 244
            aload 1 /* load */
            invokevirtual org.graalvm.compiler.nodes.java.LoadFieldNode.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 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 252
            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 253
            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 254
            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 255
            iload 4 /* index */
            iconst_m1
            if_icmpeq 7
         6: .line 256
            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 258
      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 260
            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 264
            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 265
            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 266
            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 267
            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 268
            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 270
      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 274
            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 278
            aload 1 /* identity */
            invokevirtual jdk.internal.vm.compiler.word.LocationIdentity.isAny:()Z
            ifeq 3
         1: .line 279
            aload 0 /* state */
            invokevirtual org.graalvm.compiler.virtual.phases.ea.PEReadEliminationBlockState.killReadCache:()V
         2: .line 280
            goto 4
         3: .line 281
      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 283
      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 288
            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 290
            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 291
            aconst_null
            astore 3 /* firstValueSet */
        start local 3 // jdk.internal.vm.compiler.collections.EconomicMap firstValueSet
         3: .line 292
            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 293
            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 294
            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 295
            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 296
            aload 3 /* firstValueSet */
            ifnonnull 10
         9: .line 297
            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 299
      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 300
            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 292
      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 304
            aload 3 /* firstValueSet */
            ifnull 31
        14: .line 305
            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 306
            iconst_0
            istore 5 /* z */
        start local 5 // int z
        16: .line 307
            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 308
            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 307
      StackMap locals:
      StackMap stack:
            aload 7
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 17
        20: .line 311
            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 312
            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 313
            aload 10 /* object */
            ifnull 29
        24: .line 314
            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 315
            goto 28
        26: .line 316
      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 317
            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 315
      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 311
      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 323
      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 327
            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 329
            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 330
            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 331
            goto 11
         4: .line 332
      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 333
            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 334
            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 335
      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 336
      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 337
            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 338
            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 331
      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 343
      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 347
            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 352
            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 442
            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 443
      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 444
      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 445
            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 448
            aload 4 /* loopKilledLocations */
            ifnonnull 8
         5: .line 449
            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 450
            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 451
            goto 31
         8: .line 452
      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 453
            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 454
            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 457
            aload 4 /* loopKilledLocations */
            invokevirtual org.graalvm.compiler.virtual.phases.ea.EffectsClosure$LoopKillCache.setKillsAll:()V
        12: .line 458
            goto 30
        13: .line 460
      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 461
            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 462
            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 461
      StackMap locals:
      StackMap stack:
            aload 9
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 15
        18: .line 464
            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 465
            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 464
      StackMap locals:
      StackMap stack:
            aload 9
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 19
        22: .line 469
            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 470
            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 469
      StackMap locals:
      StackMap stack:
            aload 9
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 23
        26: .line 472
            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 473
            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 474
            aload 5 /* beginNode */
            aload 7 /* forwardEndLiveLocations */
        29: .line 473
            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 478
      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 481
      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 485
            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 486
            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 487
            aload 4 /* loopKilledLocations */
            ifnull 9
            aload 4 /* loopKilledLocations */
            invokevirtual org.graalvm.compiler.virtual.phases.ea.EffectsClosure$LoopKillCache.loopKillsLocations:()Z
            ifeq 9
         3: .line 488
            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 489
            goto 8
         5: .line 490
      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 491
            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 492
            aload 5 /* it */
            invokeinterface java.util.Iterator.remove:()V
        end local 6 // org.graalvm.compiler.virtual.phases.ea.PEReadEliminationBlockState$ReadCacheEntry entry
         8: .line 489
      StackMap locals:
      StackMap stack:
            aload 5 /* it */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 5
        end local 5 // java.util.Iterator it
         9: .line 496
      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 79
            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
  public abstract Multi = org.graalvm.compiler.nodes.memory.MemoryCheckpoint$Multi of org.graalvm.compiler.nodes.memory.MemoryCheckpoint
  public abstract Single = org.graalvm.compiler.nodes.memory.MemoryCheckpoint$Single of org.graalvm.compiler.nodes.memory.MemoryCheckpoint
  protected 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