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, org.graalvm.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;Lorg/graalvm/word/LocationIdentity;>;

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

  static final boolean $assertionsDisabled;
    descriptor: Z
    flags: (0x1018) ACC_STATIC, ACC_FINAL, ACC_SYNTHETIC

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

  public void <init>(org.graalvm.compiler.nodes.StructuredGraph$ScheduleResult, 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 90
            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 91
            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 95
            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 100
            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 101
            iconst_1
            ireturn
         2: .line 104
      StackMap locals:
      StackMap stack:
            aload 1 /* node */
            instanceof org.graalvm.compiler.nodes.java.LoadFieldNode
            ifeq 4
         3: .line 105
            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 106
      StackMap locals:
      StackMap stack:
            aload 1 /* node */
            instanceof org.graalvm.compiler.nodes.java.StoreFieldNode
            ifeq 6
         5: .line 107
            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 108
      StackMap locals:
      StackMap stack:
            aload 1 /* node */
            instanceof org.graalvm.compiler.nodes.java.LoadIndexedNode
            ifeq 8
         7: .line 109
            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 110
      StackMap locals:
      StackMap stack:
            aload 1 /* node */
            instanceof org.graalvm.compiler.nodes.java.StoreIndexedNode
            ifeq 10
         9: .line 111
            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 112
      StackMap locals:
      StackMap stack:
            aload 1 /* node */
            instanceof org.graalvm.compiler.nodes.java.ArrayLengthNode
            ifeq 12
        11: .line 113
            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 114
      StackMap locals:
      StackMap stack:
            aload 1 /* node */
            instanceof org.graalvm.compiler.nodes.extended.UnboxNode
            ifeq 14
        13: .line 115
            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 116
      StackMap locals:
      StackMap stack:
            aload 1 /* node */
            instanceof org.graalvm.compiler.nodes.extended.RawLoadNode
            ifeq 16
        15: .line 117
            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 118
      StackMap locals:
      StackMap stack:
            aload 1 /* node */
            instanceof org.graalvm.compiler.nodes.extended.RawStoreNode
            ifeq 18
        17: .line 119
            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 120
      StackMap locals:
      StackMap stack:
            aload 1 /* node */
            instanceof org.graalvm.compiler.nodes.memory.MemoryCheckpoint$Single
            ifeq 23
        19: .line 121
            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 122
            aload 1 /* node */
            checkcast org.graalvm.compiler.nodes.memory.MemoryCheckpoint$Single
            invokeinterface org.graalvm.compiler.nodes.memory.MemoryCheckpoint$Single.getLocationIdentity:()Lorg/graalvm/word/LocationIdentity;
            astore 5 /* identity */
        start local 5 // org.graalvm.word.LocationIdentity identity
        21: .line 123
            aload 2 /* state */
            aload 5 /* identity */
            invokestatic org.graalvm.compiler.virtual.phases.ea.PEReadEliminationClosure.processIdentity:(Lorg/graalvm/compiler/virtual/phases/ea/PEReadEliminationBlockState;Lorg/graalvm/word/LocationIdentity;)V
        end local 5 // org.graalvm.word.LocationIdentity identity
        22: .line 124
            goto 30
      StackMap locals:
      StackMap stack:
        23: aload 1 /* node */
            instanceof org.graalvm.compiler.nodes.memory.MemoryCheckpoint$Multi
            ifeq 30
        24: .line 125
            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 126
            aload 1 /* node */
            checkcast org.graalvm.compiler.nodes.memory.MemoryCheckpoint$Multi
            invokeinterface org.graalvm.compiler.nodes.memory.MemoryCheckpoint$Multi.getLocationIdentities:()[Lorg/graalvm/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 org.graalvm.word.LocationIdentity[]
      StackMap stack:
        26: aload 8
            iload 6
            aaload
            astore 5 /* identity */
        start local 5 // org.graalvm.word.LocationIdentity identity
        27: .line 127
            aload 2 /* state */
            aload 5 /* identity */
            invokestatic org.graalvm.compiler.virtual.phases.ea.PEReadEliminationClosure.processIdentity:(Lorg/graalvm/compiler/virtual/phases/ea/PEReadEliminationBlockState;Lorg/graalvm/word/LocationIdentity;)V
        end local 5 // org.graalvm.word.LocationIdentity identity
        28: .line 126
            iinc 6 1
      StackMap locals:
      StackMap stack:
        29: iload 6
            iload 7
            if_icmplt 26
        30: .line 131
      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  Lorg/graalvm/word/LocationIdentity;
           27   28     5       identity  Lorg/graalvm/word/LocationIdentity;
    MethodParameters:
               Name  Flags
      node           
      state          
      effects        
      lastFixedNode  

  private boolean processStore(org.graalvm.compiler.nodes.FixedNode, org.graalvm.compiler.nodes.ValueNode, org.graalvm.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;Lorg/graalvm/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 // org.graalvm.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 136
            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 137
            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;Lorg/graalvm/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 139
            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 140
            iconst_0
            istore 13 /* result */
        start local 13 // boolean result
         4: .line 141
            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 142
            aload 9 /* effects */
            aload 1 /* store */
            invokevirtual org.graalvm.compiler.virtual.phases.ea.GraphEffectList.deleteNode:(Lorg/graalvm/compiler/graph/Node;)V
         6: .line 143
            iconst_1
            istore 13 /* result */
         7: .line 145
      StackMap locals: org.graalvm.compiler.virtual.phases.ea.PEReadEliminationClosure org.graalvm.compiler.nodes.FixedNode org.graalvm.compiler.nodes.ValueNode org.graalvm.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:(Lorg/graalvm/word/LocationIdentity;I)V
         8: .line 146
            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;Lorg/graalvm/word/LocationIdentity;ILjdk/vm/ci/meta/JavaKind;ZLorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/virtual/phases/ea/PartialEscapeClosure;)V
         9: .line 147
            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 // org.graalvm.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  Lorg/graalvm/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, org.graalvm.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;Lorg/graalvm/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 // org.graalvm.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 151
            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 152
            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;Lorg/graalvm/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 153
            aload 9 /* cachedValue */
            ifnull 6
         3: .line 155
            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 156
            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 157
            iconst_1
            ireturn
         6: .line 159
      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;Lorg/graalvm/word/LocationIdentity;ILjdk/vm/ci/meta/JavaKind;ZLorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/virtual/phases/ea/PartialEscapeClosure;)V
         7: .line 160
            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 // org.graalvm.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  Lorg/graalvm/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 165
            aload 0 /* accessKind */
            aload 1 /* declaredKind */
            if_acmpne 2
         1: .line 166
            iconst_0
            ireturn
         2: .line 168
      StackMap locals:
      StackMap stack:
            aload 0 /* accessKind */
            getstatic jdk.vm.ci.meta.JavaKind.Object:Ljdk/vm/ci/meta/JavaKind;
            if_acmpne 6
         3: .line 169
            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 173
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
         5: .line 175
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
         6: .line 178
      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 179
      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 183
            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 16
         1: .line 184
            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 185
            aload 4 /* type */
            ifnull 16
            aload 4 /* type */
            invokeinterface jdk.vm.ci.meta.ResolvedJavaType.isArray:()Z
            ifeq 16
         3: .line 186
            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 187
            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 188
            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 189
            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:(JLjdk/vm/ci/meta/JavaKind;Ljdk/vm/ci/meta/ResolvedJavaType;I)I
            istore 9 /* index */
        start local 9 // int index
         7: .line 190
            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
         8: .line 191
            aload 6 /* componentKind */
            invokestatic org.graalvm.compiler.nodes.NamedLocationIdentity.getArrayLocation:(Ljdk/vm/ci/meta/JavaKind;)Lorg/graalvm/word/LocationIdentity;
            astore 11 /* location */
        start local 11 // org.graalvm.word.LocationIdentity location
         9: .line 192
            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;Lorg/graalvm/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
        10: .line 193
            getstatic org.graalvm.compiler.virtual.phases.ea.PEReadEliminationClosure.$assertionsDisabled:Z
            ifne 11
            aload 12 /* cachedValue */
            ifnull 11
            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 11
            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
        11: .line 194
      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 org.graalvm.word.LocationIdentity org.graalvm.compiler.nodes.ValueNode
      StackMap stack:
            aload 12 /* cachedValue */
            ifnull 15
        12: .line 195
            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
        13: .line 196
            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
        14: .line 197
            iconst_1
            ireturn
        15: .line 199
      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;Lorg/graalvm/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 // org.graalvm.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
        16: .line 203
      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   17     0           this  Lorg/graalvm/compiler/virtual/phases/ea/PEReadEliminationClosure;
            0   17     1           load  Lorg/graalvm/compiler/nodes/extended/RawLoadNode;
            0   17     2          state  Lorg/graalvm/compiler/virtual/phases/ea/PEReadEliminationBlockState;
            0   17     3        effects  Lorg/graalvm/compiler/virtual/phases/ea/GraphEffectList;
            2   16     4           type  Ljdk/vm/ci/meta/ResolvedJavaType;
            4   16     5     accessKind  Ljdk/vm/ci/meta/JavaKind;
            5   16     6  componentKind  Ljdk/vm/ci/meta/JavaKind;
            6   16     7         offset  J
            7   16     9          index  I
            8   16    10         object  Lorg/graalvm/compiler/nodes/ValueNode;
            9   16    11       location  Lorg/graalvm/word/LocationIdentity;
           10   16    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 207
            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 208
            aload 4 /* type */
            ifnull 14
            aload 4 /* type */
            invokeinterface jdk.vm.ci.meta.ResolvedJavaType.isArray:()Z
            ifeq 14
         2: .line 209
            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 210
            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 211
            aload 6 /* componentKind */
            invokestatic org.graalvm.compiler.nodes.NamedLocationIdentity.getArrayLocation:(Ljdk/vm/ci/meta/JavaKind;)Lorg/graalvm/word/LocationIdentity;
            astore 7 /* location */
        start local 7 // org.graalvm.word.LocationIdentity location
         5: .line 212
            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 213
            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 214
            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 215
            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 org.graalvm.word.LocationIdentity long int
      StackMap stack:
         9: 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:(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 216
            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;Lorg/graalvm/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 218
      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;Lorg/graalvm/word/LocationIdentity;)V
        end local 7 // org.graalvm.word.LocationIdentity location
        end local 6 // jdk.vm.ci.meta.JavaKind componentKind
        end local 5 // jdk.vm.ci.meta.JavaKind accessKind
        13: .line 220
            goto 15
        14: .line 221
      StackMap locals:
      StackMap stack:
            aload 2 /* state */
            invokevirtual org.graalvm.compiler.virtual.phases.ea.PEReadEliminationBlockState.killReadCache:()V
        15: .line 223
      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  Lorg/graalvm/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 227
            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:Lorg/graalvm/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;Lorg/graalvm/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 231
            aload 1 /* store */
            invokevirtual org.graalvm.compiler.nodes.java.StoreFieldNode.isVolatile:()Z
            ifeq 3
         1: .line 232
            aload 2 /* state */
            invokevirtual org.graalvm.compiler.virtual.phases.ea.PEReadEliminationBlockState.killReadCache:()V
         2: .line 233
            iconst_0
            ireturn
         3: .line 235
      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 236
            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;Lorg/graalvm/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 240
            aload 1 /* load */
            invokevirtual org.graalvm.compiler.nodes.java.LoadFieldNode.isVolatile:()Z
            ifeq 3
         1: .line 241
            aload 2 /* state */
            invokevirtual org.graalvm.compiler.virtual.phases.ea.PEReadEliminationBlockState.killReadCache:()V
         2: .line 242
            iconst_0
            ireturn
         3: .line 244
      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;Lorg/graalvm/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 static jdk.vm.ci.meta.JavaKind getElementKindFromStamp(org.graalvm.compiler.nodes.ValueNode);
    descriptor: (Lorg/graalvm/compiler/nodes/ValueNode;)Ljdk/vm/ci/meta/JavaKind;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=1, locals=2, args_size=1
        start local 0 // org.graalvm.compiler.nodes.ValueNode array
         0: .line 248
            aload 0 /* array */
            invokestatic org.graalvm.compiler.nodes.type.StampTool.typeOrNull:(Lorg/graalvm/compiler/nodes/ValueNode;)Ljdk/vm/ci/meta/ResolvedJavaType;
            astore 1 /* type */
        start local 1 // jdk.vm.ci.meta.ResolvedJavaType type
         1: .line 249
            aload 1 /* type */
            ifnull 3
            aload 1 /* type */
            invokeinterface jdk.vm.ci.meta.ResolvedJavaType.isArray:()Z
            ifeq 3
         2: .line 250
            aload 1 /* 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;
            areturn
         3: .line 253
      StackMap locals: jdk.vm.ci.meta.ResolvedJavaType
      StackMap stack:
            getstatic jdk.vm.ci.meta.JavaKind.Illegal:Ljdk/vm/ci/meta/JavaKind;
            areturn
        end local 1 // jdk.vm.ci.meta.ResolvedJavaType type
        end local 0 // org.graalvm.compiler.nodes.ValueNode array
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    4     0  array  Lorg/graalvm/compiler/nodes/ValueNode;
            1    4     1   type  Ljdk/vm/ci/meta/ResolvedJavaType;
    MethodParameters:
       Name  Flags
      array  

  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 258
            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 260
            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 261
            aload 5 /* elementKind */
            getstatic jdk.vm.ci.meta.JavaKind.Byte:Ljdk/vm/ci/meta/JavaKind;
            if_acmpne 10
         5: .line 262
            aload 1 /* store */
            invokevirtual org.graalvm.compiler.nodes.java.StoreIndexedNode.array:()Lorg/graalvm/compiler/nodes/ValueNode;
            invokestatic org.graalvm.compiler.virtual.phases.ea.PEReadEliminationClosure.getElementKindFromStamp:(Lorg/graalvm/compiler/nodes/ValueNode;)Ljdk/vm/ci/meta/JavaKind;
            astore 5 /* elementKind */
         6: .line 263
            aload 5 /* elementKind */
            getstatic jdk.vm.ci.meta.JavaKind.Illegal:Ljdk/vm/ci/meta/JavaKind;
            if_acmpne 10
         7: .line 265
            aload 2 /* state */
            getstatic jdk.vm.ci.meta.JavaKind.Boolean:Ljdk/vm/ci/meta/JavaKind;
            invokestatic org.graalvm.compiler.nodes.NamedLocationIdentity.getArrayLocation:(Ljdk/vm/ci/meta/JavaKind;)Lorg/graalvm/word/LocationIdentity;
            iload 4 /* index */
            invokevirtual org.graalvm.compiler.virtual.phases.ea.PEReadEliminationBlockState.killReadCache:(Lorg/graalvm/word/LocationIdentity;I)V
         8: .line 266
            aload 2 /* state */
            getstatic jdk.vm.ci.meta.JavaKind.Byte:Ljdk/vm/ci/meta/JavaKind;
            invokestatic org.graalvm.compiler.nodes.NamedLocationIdentity.getArrayLocation:(Ljdk/vm/ci/meta/JavaKind;)Lorg/graalvm/word/LocationIdentity;
            iload 4 /* index */
            invokevirtual org.graalvm.compiler.virtual.phases.ea.PEReadEliminationBlockState.killReadCache:(Lorg/graalvm/word/LocationIdentity;I)V
         9: .line 267
            iconst_0
            ireturn
        10: .line 270
      StackMap locals: int jdk.vm.ci.meta.JavaKind
      StackMap stack:
            aload 5 /* elementKind */
            invokestatic org.graalvm.compiler.nodes.NamedLocationIdentity.getArrayLocation:(Ljdk/vm/ci/meta/JavaKind;)Lorg/graalvm/word/LocationIdentity;
            astore 6 /* arrayLocation */
        start local 6 // org.graalvm.word.LocationIdentity arrayLocation
        11: .line 271
            iload 4 /* index */
            iconst_m1
            if_icmpeq 13
        12: .line 272
            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;Lorg/graalvm/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
        13: .line 274
      StackMap locals: org.graalvm.word.LocationIdentity
      StackMap stack:
            aload 2 /* state */
            aload 6 /* arrayLocation */
            iconst_m1
            invokevirtual org.graalvm.compiler.virtual.phases.ea.PEReadEliminationBlockState.killReadCache:(Lorg/graalvm/word/LocationIdentity;I)V
        14: .line 276
            iconst_0
            ireturn
        end local 6 // org.graalvm.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   15     0           this  Lorg/graalvm/compiler/virtual/phases/ea/PEReadEliminationClosure;
            0   15     1          store  Lorg/graalvm/compiler/nodes/java/StoreIndexedNode;
            0   15     2          state  Lorg/graalvm/compiler/virtual/phases/ea/PEReadEliminationBlockState;
            0   15     3        effects  Lorg/graalvm/compiler/virtual/phases/ea/GraphEffectList;
            3   15     4          index  I
            4   15     5    elementKind  Ljdk/vm/ci/meta/JavaKind;
           11   15     6  arrayLocation  Lorg/graalvm/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 280
            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 9
         1: .line 281
            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 284
            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 285
            aload 5 /* elementKind */
            getstatic jdk.vm.ci.meta.JavaKind.Byte:Ljdk/vm/ci/meta/JavaKind;
            if_acmpne 7
         4: .line 286
            aload 1 /* load */
            invokevirtual org.graalvm.compiler.nodes.java.LoadIndexedNode.array:()Lorg/graalvm/compiler/nodes/ValueNode;
            invokestatic org.graalvm.compiler.virtual.phases.ea.PEReadEliminationClosure.getElementKindFromStamp:(Lorg/graalvm/compiler/nodes/ValueNode;)Ljdk/vm/ci/meta/JavaKind;
            astore 5 /* elementKind */
         5: .line 287
            aload 5 /* elementKind */
            getstatic jdk.vm.ci.meta.JavaKind.Illegal:Ljdk/vm/ci/meta/JavaKind;
            if_acmpne 7
         6: .line 288
            iconst_0
            ireturn
         7: .line 291
      StackMap locals: int jdk.vm.ci.meta.JavaKind
      StackMap stack:
            aload 5 /* elementKind */
            invokestatic org.graalvm.compiler.nodes.NamedLocationIdentity.getArrayLocation:(Ljdk/vm/ci/meta/JavaKind;)Lorg/graalvm/word/LocationIdentity;
            astore 6 /* arrayLocation */
        start local 6 // org.graalvm.word.LocationIdentity arrayLocation
         8: .line 292
            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;Lorg/graalvm/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 // org.graalvm.word.LocationIdentity arrayLocation
        end local 5 // jdk.vm.ci.meta.JavaKind elementKind
        end local 4 // int index
         9: .line 294
      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   10     0           this  Lorg/graalvm/compiler/virtual/phases/ea/PEReadEliminationClosure;
            0   10     1           load  Lorg/graalvm/compiler/nodes/java/LoadIndexedNode;
            0   10     2          state  Lorg/graalvm/compiler/virtual/phases/ea/PEReadEliminationBlockState;
            0   10     3        effects  Lorg/graalvm/compiler/virtual/phases/ea/GraphEffectList;
            2    9     4          index  I
            3    9     5    elementKind  Ljdk/vm/ci/meta/JavaKind;
            8    9     6  arrayLocation  Lorg/graalvm/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 298
            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 org.graalvm.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;Lorg/graalvm/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, org.graalvm.word.LocationIdentity);
    descriptor: (Lorg/graalvm/compiler/virtual/phases/ea/PEReadEliminationBlockState;Lorg/graalvm/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 // org.graalvm.word.LocationIdentity identity
         0: .line 302
            aload 1 /* identity */
            invokevirtual org.graalvm.word.LocationIdentity.isAny:()Z
            ifeq 3
         1: .line 303
            aload 0 /* state */
            invokevirtual org.graalvm.compiler.virtual.phases.ea.PEReadEliminationBlockState.killReadCache:()V
         2: .line 304
            goto 4
         3: .line 305
      StackMap locals:
      StackMap stack:
            aload 0 /* state */
            aload 1 /* identity */
            iconst_m1
            invokevirtual org.graalvm.compiler.virtual.phases.ea.PEReadEliminationBlockState.killReadCache:(Lorg/graalvm/word/LocationIdentity;I)V
         4: .line 307
      StackMap locals:
      StackMap stack:
            return
        end local 1 // org.graalvm.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  Lorg/graalvm/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 312
            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 314
            aload 2 /* initialState */
            invokevirtual org.graalvm.compiler.virtual.phases.ea.PEReadEliminationBlockState.getReadCache:()Lorg/graalvm/util/EconomicMap;
            invokeinterface org.graalvm.util.EconomicMap.isEmpty:()Z
            ifne 31
         2: .line 315
            aconst_null
            astore 3 /* firstValueSet */
        start local 3 // org.graalvm.util.EconomicMap firstValueSet
         3: .line 316
            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 org.graalvm.util.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 317
            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 318
            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 319
            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 320
            aload 3 /* firstValueSet */
            ifnonnull 10
         9: .line 321
            getstatic org.graalvm.util.Equivalence.IDENTITY_WITH_SYSTEM_HASHCODE:Lorg/graalvm/util/Equivalence;
            invokestatic org.graalvm.util.EconomicMap.create:(Lorg/graalvm/util/Equivalence;)Lorg/graalvm/util/EconomicMap;
            astore 3 /* firstValueSet */
        10: .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 org.graalvm.util.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 org.graalvm.util.EconomicMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
            invokestatic org.graalvm.util.Pair.create:(Ljava/lang/Object;Ljava/lang/Object;)Lorg/graalvm/util/Pair;
            astore 8 /* pair */
        start local 8 // org.graalvm.util.Pair pair
        11: .line 324
            aload 3 /* firstValueSet */
            aload 7 /* unproxified */
            aload 8 /* pair */
            invokeinterface org.graalvm.util.EconomicMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        end local 8 // org.graalvm.util.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 316
      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.util.EconomicMap top java.util.Iterator
      StackMap stack:
            aload 5
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 4
        13: .line 328
            aload 3 /* firstValueSet */
            ifnull 31
        14: .line 329
            aload 2 /* initialState */
            invokevirtual org.graalvm.compiler.virtual.phases.ea.PEReadEliminationBlockState.getReadCache:()Lorg/graalvm/util/EconomicMap;
            invokeinterface org.graalvm.util.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 330
            iconst_0
            istore 5 /* z */
        start local 5 // int z
        16: .line 331
            aload 2 /* initialState */
            invokevirtual org.graalvm.compiler.virtual.phases.ea.PEReadEliminationBlockState.getReadCache:()Lorg/graalvm/util/EconomicMap;
            invokeinterface org.graalvm.util.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 org.graalvm.util.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 332
            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 331
      StackMap locals:
      StackMap stack:
            aload 7
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 17
        20: .line 335
            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 org.graalvm.util.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 336
            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 337
            aload 10 /* object */
            ifnull 29
        24: .line 338
            aload 3 /* firstValueSet */
            aload 10 /* object */
            invokeinterface org.graalvm.util.EconomicMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast org.graalvm.util.Pair
            astore 11 /* pair */
        start local 11 // org.graalvm.util.Pair pair
        25: .line 339
            goto 28
        26: .line 340
      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.util.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 org.graalvm.util.Pair
      StackMap stack:
            aload 2 /* initialState */
            aload 11 /* pair */
            invokevirtual org.graalvm.util.Pair.getLeft:()Ljava/lang/Object;
            checkcast org.graalvm.compiler.nodes.ValueNode
            aload 6 /* entry */
            getfield org.graalvm.compiler.virtual.phases.ea.PEReadEliminationBlockState$ReadCacheEntry.identity:Lorg/graalvm/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:()Lorg/graalvm/util/EconomicMap;
            aload 6 /* entry */
            invokeinterface org.graalvm.util.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;Lorg/graalvm/word/LocationIdentity;ILjdk/vm/ci/meta/JavaKind;ZLorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/virtual/phases/ea/PartialEscapeClosure;)V
        27: .line 341
            aload 11 /* pair */
            invokevirtual org.graalvm.util.Pair.getRight:()Ljava/lang/Object;
            checkcast org.graalvm.util.Pair
            astore 11 /* pair */
        28: .line 339
      StackMap locals:
      StackMap stack:
            aload 11 /* pair */
            ifnonnull 26
        end local 11 // org.graalvm.util.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 335
      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.util.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 // org.graalvm.util.EconomicMap firstValueSet
        31: .line 347
      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  Lorg/graalvm/util/EconomicMap<Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/util/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  Lorg/graalvm/util/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  Lorg/graalvm/util/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 351
            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 353
            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 354
            aload 3 /* exitState */
            invokevirtual org.graalvm.compiler.virtual.phases.ea.PEReadEliminationBlockState.getReadCache:()Lorg/graalvm/util/EconomicMap;
            invokeinterface org.graalvm.util.EconomicMap.getEntries:()Lorg/graalvm/util/MapCursor;
            astore 5 /* entry */
        start local 5 // org.graalvm.util.MapCursor entry
         3: .line 355
            goto 11
         4: .line 356
      StackMap locals: org.graalvm.util.MapCursor
      StackMap stack:
            aload 2 /* initialState */
            invokevirtual org.graalvm.compiler.virtual.phases.ea.PEReadEliminationBlockState.getReadCache:()Lorg/graalvm/util/EconomicMap;
            aload 5 /* entry */
            invokeinterface org.graalvm.util.MapCursor.getKey:()Ljava/lang/Object;
            checkcast org.graalvm.compiler.virtual.phases.ea.PEReadEliminationBlockState$ReadCacheEntry
            invokeinterface org.graalvm.util.EconomicMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
            aload 5 /* entry */
            invokeinterface org.graalvm.util.MapCursor.getValue:()Ljava/lang/Object;
            if_acmpeq 11
         5: .line 357
            aload 3 /* exitState */
            aload 5 /* entry */
            invokeinterface org.graalvm.util.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 org.graalvm.util.MapCursor.getKey:()Ljava/lang/Object;
            checkcast org.graalvm.compiler.virtual.phases.ea.PEReadEliminationBlockState$ReadCacheEntry
            getfield org.graalvm.compiler.virtual.phases.ea.PEReadEliminationBlockState$ReadCacheEntry.identity:Lorg/graalvm/word/LocationIdentity;
            aload 5 /* entry */
            invokeinterface org.graalvm.util.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 org.graalvm.util.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;Lorg/graalvm/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 358
            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 org.graalvm.util.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 359
      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 360
      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 361
            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 362
            aload 3 /* exitState */
            invokevirtual org.graalvm.compiler.virtual.phases.ea.PEReadEliminationBlockState.getReadCache:()Lorg/graalvm/util/EconomicMap;
            aload 5 /* entry */
            invokeinterface org.graalvm.util.MapCursor.getKey:()Ljava/lang/Object;
            checkcast org.graalvm.compiler.virtual.phases.ea.PEReadEliminationBlockState$ReadCacheEntry
            aload 7 /* proxy */
            invokeinterface org.graalvm.util.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 355
      StackMap locals:
      StackMap stack:
            aload 5 /* entry */
            invokeinterface org.graalvm.util.MapCursor.advance:()Z
            ifne 4
        end local 5 // org.graalvm.util.MapCursor entry
        12: .line 367
      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  Lorg/graalvm/util/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 371
            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 376
            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 466
            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 467
      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 468
      StackMap locals:
      StackMap stack:
            aload 2 /* initialState */
            getfield org.graalvm.compiler.virtual.phases.ea.PEReadEliminationBlockState.readCache:Lorg/graalvm/util/EconomicMap;
            invokeinterface org.graalvm.util.EconomicMap.size:()I
            ifle 31
         3: .line 469
            aload 0 /* this */
            getfield org.graalvm.compiler.virtual.phases.ea.PEReadEliminationClosure.loopLocationKillCache:Lorg/graalvm/util/EconomicMap;
            aload 1 /* loop */
            invokeinterface org.graalvm.util.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 472
            aload 4 /* loopKilledLocations */
            ifnonnull 8
         5: .line 473
            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 474
            aload 0 /* this */
            getfield org.graalvm.compiler.virtual.phases.ea.PEReadEliminationClosure.loopLocationKillCache:Lorg/graalvm/util/EconomicMap;
            aload 1 /* loop */
            aload 4 /* loopKilledLocations */
            invokeinterface org.graalvm.util.EconomicMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         7: .line 475
            goto 31
         8: .line 476
      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 477
            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 478
            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 481
            aload 4 /* loopKilledLocations */
            invokevirtual org.graalvm.compiler.virtual.phases.ea.EffectsClosure$LoopKillCache.setKillsAll:()V
        12: .line 482
            goto 30
        13: .line 484
      StackMap locals: org.graalvm.compiler.nodes.AbstractBeginNode org.graalvm.compiler.options.OptionValues
      StackMap stack:
            getstatic org.graalvm.util.Equivalence.DEFAULT:Lorg/graalvm/util/Equivalence;
            invokestatic org.graalvm.util.EconomicSet.create:(Lorg/graalvm/util/Equivalence;)Lorg/graalvm/util/EconomicSet;
            astore 7 /* forwardEndLiveLocations */
        start local 7 // org.graalvm.util.EconomicSet forwardEndLiveLocations
        14: .line 485
            aload 2 /* initialState */
            getfield org.graalvm.compiler.virtual.phases.ea.PEReadEliminationBlockState.readCache:Lorg/graalvm/util/EconomicMap;
            invokeinterface org.graalvm.util.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 org.graalvm.util.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 486
            aload 7 /* forwardEndLiveLocations */
            aload 8 /* entry */
            getfield org.graalvm.compiler.virtual.phases.ea.PEReadEliminationBlockState$ReadCacheEntry.identity:Lorg/graalvm/word/LocationIdentity;
            invokeinterface org.graalvm.util.EconomicSet.add:(Ljava/lang/Object;)Z
            pop
        end local 8 // org.graalvm.compiler.virtual.phases.ea.PEReadEliminationBlockState$ReadCacheEntry entry
        17: .line 485
      StackMap locals:
      StackMap stack:
            aload 9
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 15
        18: .line 488
            aload 3 /* mergedStates */
            getfield org.graalvm.compiler.virtual.phases.ea.PEReadEliminationBlockState.readCache:Lorg/graalvm/util/EconomicMap;
            invokeinterface org.graalvm.util.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 489
            aload 7 /* forwardEndLiveLocations */
            aload 8 /* entry */
            getfield org.graalvm.compiler.virtual.phases.ea.PEReadEliminationBlockState$ReadCacheEntry.identity:Lorg/graalvm/word/LocationIdentity;
            invokeinterface org.graalvm.util.EconomicSet.remove:(Ljava/lang/Object;)V
        end local 8 // org.graalvm.compiler.virtual.phases.ea.PEReadEliminationBlockState$ReadCacheEntry entry
        21: .line 488
      StackMap locals:
      StackMap stack:
            aload 9
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 19
        22: .line 493
            aload 7 /* forwardEndLiveLocations */
            invokeinterface org.graalvm.util.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 org.graalvm.word.LocationIdentity
            astore 8 /* location */
        start local 8 // org.graalvm.word.LocationIdentity location
        24: .line 494
            aload 4 /* loopKilledLocations */
            aload 8 /* location */
            invokevirtual org.graalvm.compiler.virtual.phases.ea.EffectsClosure$LoopKillCache.rememberLoopKilledLocation:(Lorg/graalvm/word/LocationIdentity;)V
        end local 8 // org.graalvm.word.LocationIdentity location
        25: .line 493
      StackMap locals:
      StackMap stack:
            aload 9
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 23
        26: .line 496
            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 497
            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 498
            aload 5 /* beginNode */
            aload 7 /* forwardEndLiveLocations */
        29: .line 497
            invokevirtual org.graalvm.compiler.debug.DebugContext.log:(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;)V
        end local 7 // org.graalvm.util.EconomicSet forwardEndLiveLocations
        30: .line 502
      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 505
      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  Lorg/graalvm/util/EconomicSet<Lorg/graalvm/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  Lorg/graalvm/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 509
            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 510
            aload 0 /* this */
            getfield org.graalvm.compiler.virtual.phases.ea.PEReadEliminationClosure.loopLocationKillCache:Lorg/graalvm/util/EconomicMap;
            aload 1 /* loop */
            invokeinterface org.graalvm.util.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 511
            aload 4 /* loopKilledLocations */
            ifnull 9
            aload 4 /* loopKilledLocations */
            invokevirtual org.graalvm.compiler.virtual.phases.ea.EffectsClosure$LoopKillCache.loopKillsLocations:()Z
            ifeq 9
         3: .line 512
            aload 3 /* initialState */
            getfield org.graalvm.compiler.virtual.phases.ea.PEReadEliminationBlockState.readCache:Lorg/graalvm/util/EconomicMap;
            invokeinterface org.graalvm.util.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 513
            goto 8
         5: .line 514
      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 515
            aload 4 /* loopKilledLocations */
            aload 6 /* entry */
            getfield org.graalvm.compiler.virtual.phases.ea.PEReadEliminationBlockState$ReadCacheEntry.identity:Lorg/graalvm/word/LocationIdentity;
            invokevirtual org.graalvm.compiler.virtual.phases.ea.EffectsClosure$LoopKillCache.containsLocation:(Lorg/graalvm/word/LocationIdentity;)Z
            ifeq 8
         7: .line 516
            aload 5 /* it */
            invokeinterface java.util.Iterator.remove:()V
        end local 6 // org.graalvm.compiler.virtual.phases.ea.PEReadEliminationBlockState$ReadCacheEntry entry
         8: .line 513
      StackMap locals:
      StackMap stack:
            aload 5 /* it */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 5
        end local 5 // java.util.Iterator it
         9: .line 520
      StackMap locals:
      StackMap stack:
            aload 3 /* initialState */
            areturn
        end local 4 // org.graalvm.compiler.virtual.phases.ea.EffectsClosure$LoopKillCache loopKilledLocations
        end local 3 // org.graalvm.compiler.virtual.phases.ea.PEReadEliminationBlockState initialState
        end local 2 // org.graalvm.compiler.virtual.phases.ea.PEReadEliminationBlockState originalInitialState
        end local 1 // org.graalvm.compiler.core.common.cfg.Loop loop
        end local 0 // org.graalvm.compiler.virtual.phases.ea.PEReadEliminationClosure this
      LocalVariableTable:
        Start  End  Slot                  Name  Signature
            0   10     0                  this  Lorg/graalvm/compiler/virtual/phases/ea/PEReadEliminationClosure;
            0   10     1                  loop  Lorg/graalvm/compiler/core/common/cfg/Loop<Lorg/graalvm/compiler/nodes/cfg/Block;>;
            0   10     2  originalInitialState  Lorg/graalvm/compiler/virtual/phases/ea/PEReadEliminationBlockState;
            1   10     3          initialState  Lorg/graalvm/compiler/virtual/phases/ea/PEReadEliminationBlockState;
            2   10     4   loopKilledLocations  Lorg/graalvm/compiler/virtual/phases/ea/EffectsClosure$LoopKillCache;
            4    9     5                    it  Ljava/util/Iterator<Lorg/graalvm/compiler/virtual/phases/ea/PEReadEliminationBlockState$ReadCacheEntry;>;
            6    8     6                 entry  Lorg/graalvm/compiler/virtual/phases/ea/PEReadEliminationBlockState$ReadCacheEntry;
    Signature: (Lorg/graalvm/compiler/core/common/cfg/Loop<Lorg/graalvm/compiler/nodes/cfg/Block;>;Lorg/graalvm/compiler/virtual/phases/ea/PEReadEliminationBlockState;)Lorg/graalvm/compiler/virtual/phases/ea/PEReadEliminationBlockState;
    MethodParameters:
                      Name  Flags
      loop                  
      originalInitialState  

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

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

  protected org.graalvm.compiler.virtual.phases.ea.PartialEscapeBlockState stripKilledLoopLocations(org.graalvm.compiler.core.common.cfg.Loop, org.graalvm.compiler.virtual.phases.ea.PartialEscapeBlockState);
    descriptor: (Lorg/graalvm/compiler/core/common/cfg/Loop;Lorg/graalvm/compiler/virtual/phases/ea/PartialEscapeBlockState;)Lorg/graalvm/compiler/virtual/phases/ea/PartialEscapeBlockState;
    flags: (0x1044) ACC_PROTECTED, ACC_BRIDGE, ACC_SYNTHETIC
    Code:
      stack=3, locals=3, args_size=3
         0: .line 1
            aload 0
            aload 1
            aload 2
            checkcast org.graalvm.compiler.virtual.phases.ea.PEReadEliminationBlockState
            invokevirtual org.graalvm.compiler.virtual.phases.ea.PEReadEliminationClosure.stripKilledLoopLocations:(Lorg/graalvm/compiler/core/common/cfg/Loop;Lorg/graalvm/compiler/virtual/phases/ea/PEReadEliminationBlockState;)Lorg/graalvm/compiler/virtual/phases/ea/PEReadEliminationBlockState;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

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

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

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

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

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

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