public final class org.graalvm.compiler.virtual.phases.ea.PEReadEliminationBlockState extends org.graalvm.compiler.virtual.phases.ea.PartialEscapeBlockState<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.PEReadEliminationBlockState
  super_class: org.graalvm.compiler.virtual.phases.ea.PartialEscapeBlockState
{
  final org.graalvm.collections.EconomicMap<org.graalvm.compiler.virtual.phases.ea.PEReadEliminationBlockState$ReadCacheEntry, org.graalvm.compiler.nodes.ValueNode> readCache;
    descriptor: Lorg/graalvm/collections/EconomicMap;
    flags: (0x0010) ACC_FINAL
    Signature: Lorg/graalvm/collections/EconomicMap<Lorg/graalvm/compiler/virtual/phases/ea/PEReadEliminationBlockState$ReadCacheEntry;Lorg/graalvm/compiler/nodes/ValueNode;>;

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

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 46
            ldc Lorg/graalvm/compiler/virtual/phases/ea/PEReadEliminationBlockState;
            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.PEReadEliminationBlockState.$assertionsDisabled:Z
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public void <init>(org.graalvm.compiler.options.OptionValues, org.graalvm.compiler.debug.DebugContext);
    descriptor: (Lorg/graalvm/compiler/options/OptionValues;Lorg/graalvm/compiler/debug/DebugContext;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // org.graalvm.compiler.virtual.phases.ea.PEReadEliminationBlockState this
        start local 1 // org.graalvm.compiler.options.OptionValues options
        start local 2 // org.graalvm.compiler.debug.DebugContext debug
         0: .line 92
            aload 0 /* this */
            aload 1 /* options */
            aload 2 /* debug */
            invokespecial org.graalvm.compiler.virtual.phases.ea.PartialEscapeBlockState.<init>:(Lorg/graalvm/compiler/options/OptionValues;Lorg/graalvm/compiler/debug/DebugContext;)V
         1: .line 93
            aload 0 /* this */
            getstatic org.graalvm.collections.Equivalence.DEFAULT:Lorg/graalvm/collections/Equivalence;
            invokestatic org.graalvm.collections.EconomicMap.create:(Lorg/graalvm/collections/Equivalence;)Lorg/graalvm/collections/EconomicMap;
            putfield org.graalvm.compiler.virtual.phases.ea.PEReadEliminationBlockState.readCache:Lorg/graalvm/collections/EconomicMap;
         2: .line 94
            return
        end local 2 // org.graalvm.compiler.debug.DebugContext debug
        end local 1 // org.graalvm.compiler.options.OptionValues options
        end local 0 // org.graalvm.compiler.virtual.phases.ea.PEReadEliminationBlockState this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    3     0     this  Lorg/graalvm/compiler/virtual/phases/ea/PEReadEliminationBlockState;
            0    3     1  options  Lorg/graalvm/compiler/options/OptionValues;
            0    3     2    debug  Lorg/graalvm/compiler/debug/DebugContext;
    MethodParameters:
         Name  Flags
      options  
      debug    

  public void <init>(org.graalvm.compiler.virtual.phases.ea.PEReadEliminationBlockState);
    descriptor: (Lorg/graalvm/compiler/virtual/phases/ea/PEReadEliminationBlockState;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.graalvm.compiler.virtual.phases.ea.PEReadEliminationBlockState this
        start local 1 // org.graalvm.compiler.virtual.phases.ea.PEReadEliminationBlockState other
         0: .line 97
            aload 0 /* this */
            aload 1 /* other */
            invokespecial org.graalvm.compiler.virtual.phases.ea.PartialEscapeBlockState.<init>:(Lorg/graalvm/compiler/virtual/phases/ea/PartialEscapeBlockState;)V
         1: .line 98
            aload 0 /* this */
            getstatic org.graalvm.collections.Equivalence.DEFAULT:Lorg/graalvm/collections/Equivalence;
            aload 1 /* other */
            getfield org.graalvm.compiler.virtual.phases.ea.PEReadEliminationBlockState.readCache:Lorg/graalvm/collections/EconomicMap;
            invokestatic org.graalvm.collections.EconomicMap.create:(Lorg/graalvm/collections/Equivalence;Lorg/graalvm/collections/UnmodifiableEconomicMap;)Lorg/graalvm/collections/EconomicMap;
            putfield org.graalvm.compiler.virtual.phases.ea.PEReadEliminationBlockState.readCache:Lorg/graalvm/collections/EconomicMap;
         2: .line 99
            return
        end local 1 // org.graalvm.compiler.virtual.phases.ea.PEReadEliminationBlockState other
        end local 0 // org.graalvm.compiler.virtual.phases.ea.PEReadEliminationBlockState this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    3     0   this  Lorg/graalvm/compiler/virtual/phases/ea/PEReadEliminationBlockState;
            0    3     1  other  Lorg/graalvm/compiler/virtual/phases/ea/PEReadEliminationBlockState;
    MethodParameters:
       Name  Flags
      other  

  public java.lang.String toString();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // org.graalvm.compiler.virtual.phases.ea.PEReadEliminationBlockState this
         0: .line 103
            new java.lang.StringBuilder
            dup
            aload 0 /* this */
            invokespecial org.graalvm.compiler.virtual.phases.ea.PartialEscapeBlockState.toString:()Ljava/lang/String;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc " "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            getfield org.graalvm.compiler.virtual.phases.ea.PEReadEliminationBlockState.readCache:Lorg/graalvm/collections/EconomicMap;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 0 // org.graalvm.compiler.virtual.phases.ea.PEReadEliminationBlockState this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/graalvm/compiler/virtual/phases/ea/PEReadEliminationBlockState;

  private static jdk.vm.ci.meta.JavaKind stampToJavaKind(org.graalvm.compiler.core.common.type.Stamp);
    descriptor: (Lorg/graalvm/compiler/core/common/type/Stamp;)Ljdk/vm/ci/meta/JavaKind;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=5, locals=1, args_size=1
        start local 0 // org.graalvm.compiler.core.common.type.Stamp stamp
         0: .line 107
            aload 0 /* stamp */
            instanceof org.graalvm.compiler.core.common.type.IntegerStamp
            ifeq 10
         1: .line 108
            aload 0 /* stamp */
            checkcast org.graalvm.compiler.core.common.type.IntegerStamp
            invokevirtual org.graalvm.compiler.core.common.type.IntegerStamp.getBits:()I
            lookupswitch { // 5
                    1: 2
                    8: 3
                   16: 4
                   32: 7
                   64: 8
              default: 9
          }
         2: .line 110
      StackMap locals:
      StackMap stack:
            getstatic jdk.vm.ci.meta.JavaKind.Boolean:Ljdk/vm/ci/meta/JavaKind;
            areturn
         3: .line 112
      StackMap locals:
      StackMap stack:
            getstatic jdk.vm.ci.meta.JavaKind.Byte:Ljdk/vm/ci/meta/JavaKind;
            areturn
         4: .line 114
      StackMap locals:
      StackMap stack:
            aload 0 /* stamp */
            checkcast org.graalvm.compiler.core.common.type.IntegerStamp
            invokevirtual org.graalvm.compiler.core.common.type.IntegerStamp.isPositive:()Z
            ifeq 5
            getstatic jdk.vm.ci.meta.JavaKind.Char:Ljdk/vm/ci/meta/JavaKind;
            goto 6
      StackMap locals:
      StackMap stack:
         5: getstatic jdk.vm.ci.meta.JavaKind.Short:Ljdk/vm/ci/meta/JavaKind;
      StackMap locals:
      StackMap stack: jdk.vm.ci.meta.JavaKind
         6: areturn
         7: .line 116
      StackMap locals:
      StackMap stack:
            getstatic jdk.vm.ci.meta.JavaKind.Int:Ljdk/vm/ci/meta/JavaKind;
            areturn
         8: .line 118
      StackMap locals:
      StackMap stack:
            getstatic jdk.vm.ci.meta.JavaKind.Long:Ljdk/vm/ci/meta/JavaKind;
            areturn
         9: .line 120
      StackMap locals:
      StackMap stack:
            new java.lang.IllegalArgumentException
            dup
            new java.lang.StringBuilder
            dup
            ldc "unexpected IntegerStamp "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* stamp */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
        10: .line 123
      StackMap locals:
      StackMap stack:
            aload 0 /* stamp */
            invokevirtual org.graalvm.compiler.core.common.type.Stamp.getStackKind:()Ljdk/vm/ci/meta/JavaKind;
            areturn
        end local 0 // org.graalvm.compiler.core.common.type.Stamp stamp
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   11     0  stamp  Lorg/graalvm/compiler/core/common/type/Stamp;
    MethodParameters:
       Name  Flags
      stamp  

  protected void objectMaterialized(org.graalvm.compiler.nodes.virtual.VirtualObjectNode, org.graalvm.compiler.nodes.virtual.AllocatedObjectNode, java.util.List<org.graalvm.compiler.nodes.ValueNode>);
    descriptor: (Lorg/graalvm/compiler/nodes/virtual/VirtualObjectNode;Lorg/graalvm/compiler/nodes/virtual/AllocatedObjectNode;Ljava/util/List;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=8, locals=7, args_size=4
        start local 0 // org.graalvm.compiler.virtual.phases.ea.PEReadEliminationBlockState this
        start local 1 // org.graalvm.compiler.nodes.virtual.VirtualObjectNode virtual
        start local 2 // org.graalvm.compiler.nodes.virtual.AllocatedObjectNode representation
        start local 3 // java.util.List values
         0: .line 129
            aload 1 /* virtual */
            instanceof org.graalvm.compiler.nodes.virtual.VirtualInstanceNode
            ifeq 9
         1: .line 130
            aload 1 /* virtual */
            checkcast org.graalvm.compiler.nodes.virtual.VirtualInstanceNode
            astore 4 /* instance */
        start local 4 // org.graalvm.compiler.nodes.virtual.VirtualInstanceNode instance
         2: .line 131
            iconst_0
            istore 5 /* i */
        start local 5 // int i
         3: goto 8
         4: .line 132
      StackMap locals: org.graalvm.compiler.nodes.virtual.VirtualInstanceNode int
      StackMap stack:
            aload 4 /* instance */
            iload 5 /* i */
            invokevirtual org.graalvm.compiler.nodes.virtual.VirtualInstanceNode.field:(I)Ljdk/vm/ci/meta/ResolvedJavaField;
            invokeinterface jdk.vm.ci.meta.ResolvedJavaField.getJavaKind:()Ljdk/vm/ci/meta/JavaKind;
            astore 6 /* declaredKind */
        start local 6 // jdk.vm.ci.meta.JavaKind declaredKind
         5: .line 133
            aload 6 /* declaredKind */
            aload 3 /* values */
            iload 5 /* i */
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast org.graalvm.compiler.nodes.ValueNode
            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;
            invokestatic org.graalvm.compiler.virtual.phases.ea.PEReadEliminationBlockState.stampToJavaKind:(Lorg/graalvm/compiler/core/common/type/Stamp;)Ljdk/vm/ci/meta/JavaKind;
            if_acmpne 7
         6: .line 136
            aload 0 /* this */
            getfield org.graalvm.compiler.virtual.phases.ea.PEReadEliminationBlockState.readCache:Lorg/graalvm/collections/EconomicMap;
            new org.graalvm.compiler.virtual.phases.ea.PEReadEliminationBlockState$ReadCacheEntry
            dup
            new org.graalvm.compiler.nodes.FieldLocationIdentity
            dup
            aload 4 /* instance */
            iload 5 /* i */
            invokevirtual org.graalvm.compiler.nodes.virtual.VirtualInstanceNode.field:(I)Ljdk/vm/ci/meta/ResolvedJavaField;
            invokespecial org.graalvm.compiler.nodes.FieldLocationIdentity.<init>:(Ljdk/vm/ci/meta/ResolvedJavaField;)V
            aload 2 /* representation */
            iconst_m1
            aload 6 /* declaredKind */
            iconst_0
            invokespecial org.graalvm.compiler.virtual.phases.ea.PEReadEliminationBlockState$ReadCacheEntry.<init>:(Lorg/graalvm/word/LocationIdentity;Lorg/graalvm/compiler/nodes/ValueNode;ILjdk/vm/ci/meta/JavaKind;Z)V
            aload 3 /* values */
            iload 5 /* i */
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast org.graalvm.compiler.nodes.ValueNode
            invokeinterface org.graalvm.collections.EconomicMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        end local 6 // jdk.vm.ci.meta.JavaKind declaredKind
         7: .line 131
      StackMap locals:
      StackMap stack:
            iinc 5 /* i */ 1
      StackMap locals:
      StackMap stack:
         8: iload 5 /* i */
            aload 4 /* instance */
            invokevirtual org.graalvm.compiler.nodes.virtual.VirtualInstanceNode.entryCount:()I
            if_icmplt 4
        end local 5 // int i
        end local 4 // org.graalvm.compiler.nodes.virtual.VirtualInstanceNode instance
         9: .line 140
      StackMap locals:
      StackMap stack:
            return
        end local 3 // java.util.List values
        end local 2 // org.graalvm.compiler.nodes.virtual.AllocatedObjectNode representation
        end local 1 // org.graalvm.compiler.nodes.virtual.VirtualObjectNode virtual
        end local 0 // org.graalvm.compiler.virtual.phases.ea.PEReadEliminationBlockState this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   10     0            this  Lorg/graalvm/compiler/virtual/phases/ea/PEReadEliminationBlockState;
            0   10     1         virtual  Lorg/graalvm/compiler/nodes/virtual/VirtualObjectNode;
            0   10     2  representation  Lorg/graalvm/compiler/nodes/virtual/AllocatedObjectNode;
            0   10     3          values  Ljava/util/List<Lorg/graalvm/compiler/nodes/ValueNode;>;
            2    9     4        instance  Lorg/graalvm/compiler/nodes/virtual/VirtualInstanceNode;
            3    9     5               i  I
            5    7     6    declaredKind  Ljdk/vm/ci/meta/JavaKind;
    Signature: (Lorg/graalvm/compiler/nodes/virtual/VirtualObjectNode;Lorg/graalvm/compiler/nodes/virtual/AllocatedObjectNode;Ljava/util/List<Lorg/graalvm/compiler/nodes/ValueNode;>;)V
    MethodParameters:
                Name  Flags
      virtual         
      representation  
      values          

  public boolean equivalentTo(org.graalvm.compiler.virtual.phases.ea.PEReadEliminationBlockState);
    descriptor: (Lorg/graalvm/compiler/virtual/phases/ea/PEReadEliminationBlockState;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.graalvm.compiler.virtual.phases.ea.PEReadEliminationBlockState this
        start local 1 // org.graalvm.compiler.virtual.phases.ea.PEReadEliminationBlockState other
         0: .line 144
            aload 0 /* this */
            getfield org.graalvm.compiler.virtual.phases.ea.PEReadEliminationBlockState.readCache:Lorg/graalvm/collections/EconomicMap;
            aload 1 /* other */
            getfield org.graalvm.compiler.virtual.phases.ea.PEReadEliminationBlockState.readCache:Lorg/graalvm/collections/EconomicMap;
            invokestatic org.graalvm.compiler.virtual.phases.ea.PEReadEliminationBlockState.isSubMapOf:(Lorg/graalvm/collections/EconomicMap;Lorg/graalvm/collections/EconomicMap;)Z
            ifne 2
         1: .line 145
            iconst_0
            ireturn
         2: .line 147
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* other */
            invokespecial org.graalvm.compiler.virtual.phases.ea.PartialEscapeBlockState.equivalentTo:(Lorg/graalvm/compiler/virtual/phases/ea/PartialEscapeBlockState;)Z
            ireturn
        end local 1 // org.graalvm.compiler.virtual.phases.ea.PEReadEliminationBlockState other
        end local 0 // org.graalvm.compiler.virtual.phases.ea.PEReadEliminationBlockState this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    3     0   this  Lorg/graalvm/compiler/virtual/phases/ea/PEReadEliminationBlockState;
            0    3     1  other  Lorg/graalvm/compiler/virtual/phases/ea/PEReadEliminationBlockState;
    MethodParameters:
       Name  Flags
      other  

  public void addReadCache(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.PartialEscapeClosure<?>);
    descriptor: (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
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=8, locals=10, args_size=8
        start local 0 // org.graalvm.compiler.virtual.phases.ea.PEReadEliminationBlockState this
        start local 1 // org.graalvm.compiler.nodes.ValueNode object
        start local 2 // org.graalvm.word.LocationIdentity identity
        start local 3 // int index
        start local 4 // jdk.vm.ci.meta.JavaKind kind
        start local 5 // boolean overflowAccess
        start local 6 // org.graalvm.compiler.nodes.ValueNode value
        start local 7 // org.graalvm.compiler.virtual.phases.ea.PartialEscapeClosure closure
         0: .line 152
            aload 7 /* closure */
            aload 0 /* this */
            aload 1 /* object */
            invokevirtual org.graalvm.compiler.virtual.phases.ea.PartialEscapeClosure.getObjectState:(Lorg/graalvm/compiler/virtual/phases/ea/PartialEscapeBlockState;Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/virtual/phases/ea/ObjectState;
            astore 9 /* obj */
        start local 9 // org.graalvm.compiler.virtual.phases.ea.ObjectState obj
         1: .line 153
            aload 9 /* obj */
            ifnull 5
         2: .line 154
            getstatic org.graalvm.compiler.virtual.phases.ea.PEReadEliminationBlockState.$assertionsDisabled:Z
            ifne 3
            aload 9 /* obj */
            invokevirtual org.graalvm.compiler.virtual.phases.ea.ObjectState.isVirtual:()Z
            ifeq 3
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         3: .line 155
      StackMap locals: org.graalvm.compiler.virtual.phases.ea.PEReadEliminationBlockState 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.PartialEscapeClosure top org.graalvm.compiler.virtual.phases.ea.ObjectState
      StackMap stack:
            aload 9 /* obj */
            invokevirtual org.graalvm.compiler.virtual.phases.ea.ObjectState.getMaterializedValue:()Lorg/graalvm/compiler/nodes/ValueNode;
            astore 8 /* cacheObject */
        start local 8 // org.graalvm.compiler.nodes.ValueNode cacheObject
         4: .line 156
            goto 6
        end local 8 // org.graalvm.compiler.nodes.ValueNode cacheObject
         5: .line 157
      StackMap locals:
      StackMap stack:
            aload 1 /* object */
            astore 8 /* cacheObject */
        start local 8 // org.graalvm.compiler.nodes.ValueNode cacheObject
         6: .line 159
      StackMap locals: org.graalvm.compiler.virtual.phases.ea.PEReadEliminationBlockState 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.PartialEscapeClosure org.graalvm.compiler.nodes.ValueNode org.graalvm.compiler.virtual.phases.ea.ObjectState
      StackMap stack:
            aload 0 /* this */
            getfield org.graalvm.compiler.virtual.phases.ea.PEReadEliminationBlockState.readCache:Lorg/graalvm/collections/EconomicMap;
            new org.graalvm.compiler.virtual.phases.ea.PEReadEliminationBlockState$ReadCacheEntry
            dup
            aload 2 /* identity */
            aload 8 /* cacheObject */
            iload 3 /* index */
            aload 4 /* kind */
            iload 5 /* overflowAccess */
            invokespecial org.graalvm.compiler.virtual.phases.ea.PEReadEliminationBlockState$ReadCacheEntry.<init>:(Lorg/graalvm/word/LocationIdentity;Lorg/graalvm/compiler/nodes/ValueNode;ILjdk/vm/ci/meta/JavaKind;Z)V
            aload 6 /* value */
            invokeinterface org.graalvm.collections.EconomicMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         7: .line 160
            return
        end local 9 // org.graalvm.compiler.virtual.phases.ea.ObjectState obj
        end local 8 // org.graalvm.compiler.nodes.ValueNode cacheObject
        end local 7 // org.graalvm.compiler.virtual.phases.ea.PartialEscapeClosure closure
        end local 6 // org.graalvm.compiler.nodes.ValueNode value
        end local 5 // boolean overflowAccess
        end local 4 // jdk.vm.ci.meta.JavaKind kind
        end local 3 // int index
        end local 2 // org.graalvm.word.LocationIdentity identity
        end local 1 // org.graalvm.compiler.nodes.ValueNode object
        end local 0 // org.graalvm.compiler.virtual.phases.ea.PEReadEliminationBlockState this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    8     0            this  Lorg/graalvm/compiler/virtual/phases/ea/PEReadEliminationBlockState;
            0    8     1          object  Lorg/graalvm/compiler/nodes/ValueNode;
            0    8     2        identity  Lorg/graalvm/word/LocationIdentity;
            0    8     3           index  I
            0    8     4            kind  Ljdk/vm/ci/meta/JavaKind;
            0    8     5  overflowAccess  Z
            0    8     6           value  Lorg/graalvm/compiler/nodes/ValueNode;
            0    8     7         closure  Lorg/graalvm/compiler/virtual/phases/ea/PartialEscapeClosure<*>;
            4    5     8     cacheObject  Lorg/graalvm/compiler/nodes/ValueNode;
            6    8     8     cacheObject  Lorg/graalvm/compiler/nodes/ValueNode;
            1    8     9             obj  Lorg/graalvm/compiler/virtual/phases/ea/ObjectState;
    Signature: (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
    MethodParameters:
                Name  Flags
      object          
      identity        
      index           
      kind            
      overflowAccess  
      value           
      closure         

  public org.graalvm.compiler.nodes.ValueNode getReadCache(org.graalvm.compiler.nodes.ValueNode, org.graalvm.word.LocationIdentity, int, jdk.vm.ci.meta.JavaKind, org.graalvm.compiler.virtual.phases.ea.PartialEscapeClosure<?>);
    descriptor: (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;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=8, locals=9, args_size=6
        start local 0 // org.graalvm.compiler.virtual.phases.ea.PEReadEliminationBlockState this
        start local 1 // org.graalvm.compiler.nodes.ValueNode object
        start local 2 // org.graalvm.word.LocationIdentity identity
        start local 3 // int index
        start local 4 // jdk.vm.ci.meta.JavaKind kind
        start local 5 // org.graalvm.compiler.virtual.phases.ea.PartialEscapeClosure closure
         0: .line 164
            aload 5 /* closure */
            aload 0 /* this */
            aload 1 /* object */
            invokevirtual org.graalvm.compiler.virtual.phases.ea.PartialEscapeClosure.getObjectState:(Lorg/graalvm/compiler/virtual/phases/ea/PartialEscapeBlockState;Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/virtual/phases/ea/ObjectState;
            astore 7 /* obj */
        start local 7 // org.graalvm.compiler.virtual.phases.ea.ObjectState obj
         1: .line 165
            aload 7 /* obj */
            ifnull 5
         2: .line 166
            getstatic org.graalvm.compiler.virtual.phases.ea.PEReadEliminationBlockState.$assertionsDisabled:Z
            ifne 3
            aload 7 /* obj */
            invokevirtual org.graalvm.compiler.virtual.phases.ea.ObjectState.isVirtual:()Z
            ifeq 3
            new java.lang.AssertionError
            dup
            aload 1 /* object */
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
         3: .line 167
      StackMap locals: org.graalvm.compiler.virtual.phases.ea.PEReadEliminationBlockState org.graalvm.compiler.nodes.ValueNode org.graalvm.word.LocationIdentity int jdk.vm.ci.meta.JavaKind org.graalvm.compiler.virtual.phases.ea.PartialEscapeClosure top org.graalvm.compiler.virtual.phases.ea.ObjectState
      StackMap stack:
            aload 7 /* obj */
            invokevirtual org.graalvm.compiler.virtual.phases.ea.ObjectState.getMaterializedValue:()Lorg/graalvm/compiler/nodes/ValueNode;
            astore 6 /* cacheObject */
        start local 6 // org.graalvm.compiler.nodes.ValueNode cacheObject
         4: .line 168
            goto 6
        end local 6 // org.graalvm.compiler.nodes.ValueNode cacheObject
         5: .line 169
      StackMap locals:
      StackMap stack:
            aload 1 /* object */
            astore 6 /* cacheObject */
        start local 6 // org.graalvm.compiler.nodes.ValueNode cacheObject
         6: .line 171
      StackMap locals: org.graalvm.compiler.virtual.phases.ea.PEReadEliminationBlockState org.graalvm.compiler.nodes.ValueNode org.graalvm.word.LocationIdentity int jdk.vm.ci.meta.JavaKind org.graalvm.compiler.virtual.phases.ea.PartialEscapeClosure org.graalvm.compiler.nodes.ValueNode org.graalvm.compiler.virtual.phases.ea.ObjectState
      StackMap stack:
            aload 0 /* this */
            getfield org.graalvm.compiler.virtual.phases.ea.PEReadEliminationBlockState.readCache:Lorg/graalvm/collections/EconomicMap;
            new org.graalvm.compiler.virtual.phases.ea.PEReadEliminationBlockState$ReadCacheEntry
            dup
            aload 2 /* identity */
            aload 6 /* cacheObject */
            iload 3 /* index */
            aload 4 /* kind */
            iconst_0
            invokespecial org.graalvm.compiler.virtual.phases.ea.PEReadEliminationBlockState$ReadCacheEntry.<init>:(Lorg/graalvm/word/LocationIdentity;Lorg/graalvm/compiler/nodes/ValueNode;ILjdk/vm/ci/meta/JavaKind;Z)V
            invokeinterface org.graalvm.collections.EconomicMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast org.graalvm.compiler.nodes.ValueNode
            astore 8 /* cacheValue */
        start local 8 // org.graalvm.compiler.nodes.ValueNode cacheValue
         7: .line 172
            aload 5 /* closure */
            aload 0 /* this */
            aload 8 /* cacheValue */
            invokevirtual org.graalvm.compiler.virtual.phases.ea.PartialEscapeClosure.getObjectState:(Lorg/graalvm/compiler/virtual/phases/ea/PartialEscapeBlockState;Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/virtual/phases/ea/ObjectState;
            astore 7 /* obj */
         8: .line 173
            aload 7 /* obj */
            ifnull 12
         9: .line 174
            getstatic org.graalvm.compiler.virtual.phases.ea.PEReadEliminationBlockState.$assertionsDisabled:Z
            ifne 10
            aload 7 /* obj */
            invokevirtual org.graalvm.compiler.virtual.phases.ea.ObjectState.isVirtual:()Z
            ifeq 10
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        10: .line 175
      StackMap locals: org.graalvm.compiler.nodes.ValueNode
      StackMap stack:
            aload 7 /* obj */
            invokevirtual org.graalvm.compiler.virtual.phases.ea.ObjectState.getMaterializedValue:()Lorg/graalvm/compiler/nodes/ValueNode;
            astore 8 /* cacheValue */
        11: .line 176
            goto 13
        12: .line 178
      StackMap locals:
      StackMap stack:
            aload 5 /* closure */
            aload 8 /* cacheValue */
            invokevirtual org.graalvm.compiler.virtual.phases.ea.PartialEscapeClosure.getScalarAlias:(Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/nodes/ValueNode;
            astore 8 /* cacheValue */
        13: .line 180
      StackMap locals:
      StackMap stack:
            aload 8 /* cacheValue */
            areturn
        end local 8 // org.graalvm.compiler.nodes.ValueNode cacheValue
        end local 7 // org.graalvm.compiler.virtual.phases.ea.ObjectState obj
        end local 6 // org.graalvm.compiler.nodes.ValueNode cacheObject
        end local 5 // org.graalvm.compiler.virtual.phases.ea.PartialEscapeClosure closure
        end local 4 // jdk.vm.ci.meta.JavaKind kind
        end local 3 // int index
        end local 2 // org.graalvm.word.LocationIdentity identity
        end local 1 // org.graalvm.compiler.nodes.ValueNode object
        end local 0 // org.graalvm.compiler.virtual.phases.ea.PEReadEliminationBlockState this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   14     0         this  Lorg/graalvm/compiler/virtual/phases/ea/PEReadEliminationBlockState;
            0   14     1       object  Lorg/graalvm/compiler/nodes/ValueNode;
            0   14     2     identity  Lorg/graalvm/word/LocationIdentity;
            0   14     3        index  I
            0   14     4         kind  Ljdk/vm/ci/meta/JavaKind;
            0   14     5      closure  Lorg/graalvm/compiler/virtual/phases/ea/PartialEscapeClosure<*>;
            4    5     6  cacheObject  Lorg/graalvm/compiler/nodes/ValueNode;
            6   14     6  cacheObject  Lorg/graalvm/compiler/nodes/ValueNode;
            1   14     7          obj  Lorg/graalvm/compiler/virtual/phases/ea/ObjectState;
            7   14     8   cacheValue  Lorg/graalvm/compiler/nodes/ValueNode;
    Signature: (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;
    MethodParameters:
          Name  Flags
      object    
      identity  
      index     
      kind      
      closure   

  public void killReadCache();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.graalvm.compiler.virtual.phases.ea.PEReadEliminationBlockState this
         0: .line 184
            aload 0 /* this */
            getfield org.graalvm.compiler.virtual.phases.ea.PEReadEliminationBlockState.readCache:Lorg/graalvm/collections/EconomicMap;
            invokeinterface org.graalvm.collections.EconomicMap.clear:()V
         1: .line 185
            return
        end local 0 // org.graalvm.compiler.virtual.phases.ea.PEReadEliminationBlockState this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/graalvm/compiler/virtual/phases/ea/PEReadEliminationBlockState;

  public void killReadCache(org.graalvm.word.LocationIdentity, int);
    descriptor: (Lorg/graalvm/word/LocationIdentity;I)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=5, args_size=3
        start local 0 // org.graalvm.compiler.virtual.phases.ea.PEReadEliminationBlockState this
        start local 1 // org.graalvm.word.LocationIdentity identity
        start local 2 // int index
         0: .line 188
            aload 0 /* this */
            getfield org.graalvm.compiler.virtual.phases.ea.PEReadEliminationBlockState.readCache:Lorg/graalvm/collections/EconomicMap;
            invokeinterface org.graalvm.collections.EconomicMap.getKeys:()Ljava/lang/Iterable;
            invokeinterface java.lang.Iterable.iterator:()Ljava/util/Iterator;
            astore 3 /* iter */
        start local 3 // java.util.Iterator iter
         1: .line 189
            goto 5
         2: .line 190
      StackMap locals: java.util.Iterator
      StackMap stack:
            aload 3 /* iter */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.graalvm.compiler.virtual.phases.ea.PEReadEliminationBlockState$ReadCacheEntry
            astore 4 /* entry */
        start local 4 // org.graalvm.compiler.virtual.phases.ea.PEReadEliminationBlockState$ReadCacheEntry entry
         3: .line 191
            aload 4 /* entry */
            getfield org.graalvm.compiler.virtual.phases.ea.PEReadEliminationBlockState$ReadCacheEntry.identity:Lorg/graalvm/word/LocationIdentity;
            aload 1 /* identity */
            invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
            ifeq 5
            iload 2 /* index */
            iconst_m1
            if_icmpeq 4
            aload 4 /* entry */
            getfield org.graalvm.compiler.virtual.phases.ea.PEReadEliminationBlockState$ReadCacheEntry.index:I
            iconst_m1
            if_icmpeq 4
            iload 2 /* index */
            aload 4 /* entry */
            getfield org.graalvm.compiler.virtual.phases.ea.PEReadEliminationBlockState$ReadCacheEntry.index:I
            if_icmpeq 4
            aload 4 /* entry */
            getfield org.graalvm.compiler.virtual.phases.ea.PEReadEliminationBlockState$ReadCacheEntry.overflowAccess:Z
            ifeq 5
         4: .line 192
      StackMap locals: org.graalvm.compiler.virtual.phases.ea.PEReadEliminationBlockState$ReadCacheEntry
      StackMap stack:
            aload 3 /* iter */
            invokeinterface java.util.Iterator.remove:()V
        end local 4 // org.graalvm.compiler.virtual.phases.ea.PEReadEliminationBlockState$ReadCacheEntry entry
         5: .line 189
      StackMap locals:
      StackMap stack:
            aload 3 /* iter */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 2
         6: .line 195
            return
        end local 3 // java.util.Iterator iter
        end local 2 // int index
        end local 1 // org.graalvm.word.LocationIdentity identity
        end local 0 // org.graalvm.compiler.virtual.phases.ea.PEReadEliminationBlockState this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    7     0      this  Lorg/graalvm/compiler/virtual/phases/ea/PEReadEliminationBlockState;
            0    7     1  identity  Lorg/graalvm/word/LocationIdentity;
            0    7     2     index  I
            1    7     3      iter  Ljava/util/Iterator<Lorg/graalvm/compiler/virtual/phases/ea/PEReadEliminationBlockState$ReadCacheEntry;>;
            3    5     4     entry  Lorg/graalvm/compiler/virtual/phases/ea/PEReadEliminationBlockState$ReadCacheEntry;
    MethodParameters:
          Name  Flags
      identity  
      index     

  public org.graalvm.collections.EconomicMap<org.graalvm.compiler.virtual.phases.ea.PEReadEliminationBlockState$ReadCacheEntry, org.graalvm.compiler.nodes.ValueNode> getReadCache();
    descriptor: ()Lorg/graalvm/collections/EconomicMap;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.graalvm.compiler.virtual.phases.ea.PEReadEliminationBlockState this
         0: .line 198
            aload 0 /* this */
            getfield org.graalvm.compiler.virtual.phases.ea.PEReadEliminationBlockState.readCache:Lorg/graalvm/collections/EconomicMap;
            areturn
        end local 0 // org.graalvm.compiler.virtual.phases.ea.PEReadEliminationBlockState this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/graalvm/compiler/virtual/phases/ea/PEReadEliminationBlockState;
    Signature: ()Lorg/graalvm/collections/EconomicMap<Lorg/graalvm/compiler/virtual/phases/ea/PEReadEliminationBlockState$ReadCacheEntry;Lorg/graalvm/compiler/nodes/ValueNode;>;

  public boolean equivalentTo(org.graalvm.compiler.virtual.phases.ea.PartialEscapeBlockState);
    descriptor: (Lorg/graalvm/compiler/virtual/phases/ea/PartialEscapeBlockState;)Z
    flags: (0x1041) ACC_PUBLIC, 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.PEReadEliminationBlockState.equivalentTo:(Lorg/graalvm/compiler/virtual/phases/ea/PEReadEliminationBlockState;)Z
            ireturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
}
Signature: Lorg/graalvm/compiler/virtual/phases/ea/PartialEscapeBlockState<Lorg/graalvm/compiler/virtual/phases/ea/PEReadEliminationBlockState;>;
SourceFile: "PEReadEliminationBlockState.java"
NestMembers:
  org.graalvm.compiler.virtual.phases.ea.PEReadEliminationBlockState$ReadCacheEntry
InnerClasses:
  final ReadCacheEntry = org.graalvm.compiler.virtual.phases.ea.PEReadEliminationBlockState$ReadCacheEntry of org.graalvm.compiler.virtual.phases.ea.PEReadEliminationBlockState