public 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: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.graalvm.compiler.virtual.phases.ea.PEReadEliminationBlockState
  super_class: org.graalvm.compiler.virtual.phases.ea.PartialEscapeBlockState
{
  final java.util.HashMap<org.graalvm.compiler.virtual.phases.ea.PEReadEliminationBlockState$ReadCacheEntry, org.graalvm.compiler.nodes.ValueNode> readCache;
    descriptor: Ljava/util/HashMap;
    flags: (0x0010) ACC_FINAL
    Signature: Ljava/util/HashMap<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 38
            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>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.graalvm.compiler.virtual.phases.ea.PEReadEliminationBlockState this
         0: .line 76
            aload 0 /* this */
            invokespecial org.graalvm.compiler.virtual.phases.ea.PartialEscapeBlockState.<init>:()V
         1: .line 77
            aload 0 /* this */
            invokestatic org.graalvm.compiler.core.common.CollectionsFactory.newMap:()Ljava/util/HashMap;
            putfield org.graalvm.compiler.virtual.phases.ea.PEReadEliminationBlockState.readCache:Ljava/util/HashMap;
         2: .line 78
            return
        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;

  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=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 81
            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 82
            aload 0 /* this */
            aload 1 /* other */
            getfield org.graalvm.compiler.virtual.phases.ea.PEReadEliminationBlockState.readCache:Ljava/util/HashMap;
            invokestatic org.graalvm.compiler.core.common.CollectionsFactory.newMap:(Ljava/util/Map;)Ljava/util/HashMap;
            putfield org.graalvm.compiler.virtual.phases.ea.PEReadEliminationBlockState.readCache:Ljava/util/HashMap;
         2: .line 83
            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 87
            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:Ljava/util/HashMap;
            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;

  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=7, locals=6, 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 92
            aload 1 /* virtual */
            instanceof org.graalvm.compiler.nodes.virtual.VirtualInstanceNode
            ifeq 7
         1: .line 93
            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 94
            iconst_0
            istore 5 /* i */
        start local 5 // int i
         3: goto 6
         4: .line 95
      StackMap locals: org.graalvm.compiler.nodes.virtual.VirtualInstanceNode int
      StackMap stack:
            aload 0 /* this */
            getfield org.graalvm.compiler.virtual.phases.ea.PEReadEliminationBlockState.readCache:Ljava/util/HashMap;
            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
            invokespecial org.graalvm.compiler.virtual.phases.ea.PEReadEliminationBlockState$ReadCacheEntry.<init>:(Lorg/graalvm/compiler/core/common/LocationIdentity;Lorg/graalvm/compiler/nodes/ValueNode;I)V
            aload 3 /* values */
            iload 5 /* i */
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast org.graalvm.compiler.nodes.ValueNode
            invokevirtual java.util.HashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         5: .line 94
            iinc 5 /* i */ 1
      StackMap locals:
      StackMap stack:
         6: 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
         7: .line 98
      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    8     0            this  Lorg/graalvm/compiler/virtual/phases/ea/PEReadEliminationBlockState;
            0    8     1         virtual  Lorg/graalvm/compiler/nodes/virtual/VirtualObjectNode;
            0    8     2  representation  Lorg/graalvm/compiler/nodes/virtual/AllocatedObjectNode;
            0    8     3          values  Ljava/util/List<Lorg/graalvm/compiler/nodes/ValueNode;>;
            2    7     4        instance  Lorg/graalvm/compiler/nodes/virtual/VirtualInstanceNode;
            3    7     5               i  I
    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 102
            aload 0 /* this */
            getfield org.graalvm.compiler.virtual.phases.ea.PEReadEliminationBlockState.readCache:Ljava/util/HashMap;
            aload 1 /* other */
            getfield org.graalvm.compiler.virtual.phases.ea.PEReadEliminationBlockState.readCache:Ljava/util/HashMap;
            invokestatic org.graalvm.compiler.virtual.phases.ea.PEReadEliminationBlockState.compareMapsNoSize:(Ljava/util/Map;Ljava/util/Map;)Z
            ifne 2
         1: .line 103
            iconst_0
            ireturn
         2: .line 105
      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.compiler.core.common.LocationIdentity, int, org.graalvm.compiler.nodes.ValueNode, org.graalvm.compiler.virtual.phases.ea.PartialEscapeClosure<?>);
    descriptor: (Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/core/common/LocationIdentity;ILorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/virtual/phases/ea/PartialEscapeClosure;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=8, 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.compiler.core.common.LocationIdentity identity
        start local 3 // int index
        start local 4 // org.graalvm.compiler.nodes.ValueNode value
        start local 5 // org.graalvm.compiler.virtual.phases.ea.PartialEscapeClosure closure
         0: .line 110
            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 111
            aload 7 /* obj */
            ifnull 5
         2: .line 112
            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
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         3: .line 113
      StackMap locals: org.graalvm.compiler.virtual.phases.ea.PEReadEliminationBlockState org.graalvm.compiler.nodes.ValueNode org.graalvm.compiler.core.common.LocationIdentity int org.graalvm.compiler.nodes.ValueNode 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 114
            goto 6
        end local 6 // org.graalvm.compiler.nodes.ValueNode cacheObject
         5: .line 115
      StackMap locals:
      StackMap stack:
            aload 1 /* object */
            astore 6 /* cacheObject */
        start local 6 // org.graalvm.compiler.nodes.ValueNode cacheObject
         6: .line 117
      StackMap locals: org.graalvm.compiler.virtual.phases.ea.PEReadEliminationBlockState org.graalvm.compiler.nodes.ValueNode org.graalvm.compiler.core.common.LocationIdentity 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:Ljava/util/HashMap;
            new org.graalvm.compiler.virtual.phases.ea.PEReadEliminationBlockState$ReadCacheEntry
            dup
            aload 2 /* identity */
            aload 6 /* cacheObject */
            iload 3 /* index */
            invokespecial org.graalvm.compiler.virtual.phases.ea.PEReadEliminationBlockState$ReadCacheEntry.<init>:(Lorg/graalvm/compiler/core/common/LocationIdentity;Lorg/graalvm/compiler/nodes/ValueNode;I)V
            aload 4 /* value */
            invokevirtual java.util.HashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         7: .line 118
            return
        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 // org.graalvm.compiler.nodes.ValueNode value
        end local 3 // int index
        end local 2 // org.graalvm.compiler.core.common.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/compiler/core/common/LocationIdentity;
            0    8     3        index  I
            0    8     4        value  Lorg/graalvm/compiler/nodes/ValueNode;
            0    8     5      closure  Lorg/graalvm/compiler/virtual/phases/ea/PartialEscapeClosure<*>;
            4    5     6  cacheObject  Lorg/graalvm/compiler/nodes/ValueNode;
            6    8     6  cacheObject  Lorg/graalvm/compiler/nodes/ValueNode;
            1    8     7          obj  Lorg/graalvm/compiler/virtual/phases/ea/ObjectState;
    Signature: (Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/core/common/LocationIdentity;ILorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/virtual/phases/ea/PartialEscapeClosure<*>;)V
    MethodParameters:
          Name  Flags
      object    
      identity  
      index     
      value     
      closure   

  public org.graalvm.compiler.nodes.ValueNode getReadCache(org.graalvm.compiler.nodes.ValueNode, org.graalvm.compiler.core.common.LocationIdentity, int, org.graalvm.compiler.virtual.phases.ea.PartialEscapeClosure<?>);
    descriptor: (Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/core/common/LocationIdentity;ILorg/graalvm/compiler/virtual/phases/ea/PartialEscapeClosure;)Lorg/graalvm/compiler/nodes/ValueNode;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=8, args_size=5
        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.compiler.core.common.LocationIdentity identity
        start local 3 // int index
        start local 4 // org.graalvm.compiler.virtual.phases.ea.PartialEscapeClosure closure
         0: .line 122
            aload 4 /* 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 6 /* obj */
        start local 6 // org.graalvm.compiler.virtual.phases.ea.ObjectState obj
         1: .line 123
            aload 6 /* obj */
            ifnull 5
         2: .line 124
            getstatic org.graalvm.compiler.virtual.phases.ea.PEReadEliminationBlockState.$assertionsDisabled:Z
            ifne 3
            aload 6 /* 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 125
      StackMap locals: org.graalvm.compiler.virtual.phases.ea.PEReadEliminationBlockState org.graalvm.compiler.nodes.ValueNode org.graalvm.compiler.core.common.LocationIdentity int org.graalvm.compiler.virtual.phases.ea.PartialEscapeClosure top org.graalvm.compiler.virtual.phases.ea.ObjectState
      StackMap stack:
            aload 6 /* obj */
            invokevirtual org.graalvm.compiler.virtual.phases.ea.ObjectState.getMaterializedValue:()Lorg/graalvm/compiler/nodes/ValueNode;
            astore 5 /* cacheObject */
        start local 5 // org.graalvm.compiler.nodes.ValueNode cacheObject
         4: .line 126
            goto 6
        end local 5 // org.graalvm.compiler.nodes.ValueNode cacheObject
         5: .line 127
      StackMap locals:
      StackMap stack:
            aload 1 /* object */
            astore 5 /* cacheObject */
        start local 5 // org.graalvm.compiler.nodes.ValueNode cacheObject
         6: .line 129
      StackMap locals: org.graalvm.compiler.virtual.phases.ea.PEReadEliminationBlockState org.graalvm.compiler.nodes.ValueNode org.graalvm.compiler.core.common.LocationIdentity int 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:Ljava/util/HashMap;
            new org.graalvm.compiler.virtual.phases.ea.PEReadEliminationBlockState$ReadCacheEntry
            dup
            aload 2 /* identity */
            aload 5 /* cacheObject */
            iload 3 /* index */
            invokespecial org.graalvm.compiler.virtual.phases.ea.PEReadEliminationBlockState$ReadCacheEntry.<init>:(Lorg/graalvm/compiler/core/common/LocationIdentity;Lorg/graalvm/compiler/nodes/ValueNode;I)V
            invokevirtual java.util.HashMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast org.graalvm.compiler.nodes.ValueNode
            astore 7 /* cacheValue */
        start local 7 // org.graalvm.compiler.nodes.ValueNode cacheValue
         7: .line 130
            aload 4 /* closure */
            aload 0 /* this */
            aload 7 /* 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 6 /* obj */
         8: .line 131
            aload 6 /* obj */
            ifnull 12
         9: .line 132
            getstatic org.graalvm.compiler.virtual.phases.ea.PEReadEliminationBlockState.$assertionsDisabled:Z
            ifne 10
            aload 6 /* 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 133
      StackMap locals: org.graalvm.compiler.nodes.ValueNode
      StackMap stack:
            aload 6 /* obj */
            invokevirtual org.graalvm.compiler.virtual.phases.ea.ObjectState.getMaterializedValue:()Lorg/graalvm/compiler/nodes/ValueNode;
            astore 7 /* cacheValue */
        11: .line 134
            goto 13
        12: .line 136
      StackMap locals:
      StackMap stack:
            aload 4 /* closure */
            aload 7 /* cacheValue */
            invokevirtual org.graalvm.compiler.virtual.phases.ea.PartialEscapeClosure.getScalarAlias:(Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/nodes/ValueNode;
            astore 7 /* cacheValue */
        13: .line 138
      StackMap locals:
      StackMap stack:
            aload 7 /* cacheValue */
            areturn
        end local 7 // org.graalvm.compiler.nodes.ValueNode cacheValue
        end local 6 // org.graalvm.compiler.virtual.phases.ea.ObjectState obj
        end local 5 // org.graalvm.compiler.nodes.ValueNode cacheObject
        end local 4 // org.graalvm.compiler.virtual.phases.ea.PartialEscapeClosure closure
        end local 3 // int index
        end local 2 // org.graalvm.compiler.core.common.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/compiler/core/common/LocationIdentity;
            0   14     3        index  I
            0   14     4      closure  Lorg/graalvm/compiler/virtual/phases/ea/PartialEscapeClosure<*>;
            4    5     5  cacheObject  Lorg/graalvm/compiler/nodes/ValueNode;
            6   14     5  cacheObject  Lorg/graalvm/compiler/nodes/ValueNode;
            1   14     6          obj  Lorg/graalvm/compiler/virtual/phases/ea/ObjectState;
            7   14     7   cacheValue  Lorg/graalvm/compiler/nodes/ValueNode;
    Signature: (Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/core/common/LocationIdentity;ILorg/graalvm/compiler/virtual/phases/ea/PartialEscapeClosure<*>;)Lorg/graalvm/compiler/nodes/ValueNode;
    MethodParameters:
          Name  Flags
      object    
      identity  
      index     
      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 142
            aload 0 /* this */
            getfield org.graalvm.compiler.virtual.phases.ea.PEReadEliminationBlockState.readCache:Ljava/util/HashMap;
            invokevirtual java.util.HashMap.clear:()V
         1: .line 143
            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.compiler.core.common.LocationIdentity, int);
    descriptor: (Lorg/graalvm/compiler/core/common/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.compiler.core.common.LocationIdentity identity
        start local 2 // int index
         0: .line 146
            aload 0 /* this */
            getfield org.graalvm.compiler.virtual.phases.ea.PEReadEliminationBlockState.readCache:Ljava/util/HashMap;
            invokevirtual java.util.HashMap.entrySet:()Ljava/util/Set;
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 3 /* iter */
        start local 3 // java.util.Iterator iter
         1: .line 147
            goto 5
         2: .line 148
      StackMap locals: java.util.Iterator
      StackMap stack:
            aload 3 /* iter */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.util.Map$Entry
            invokeinterface java.util.Map$Entry.getKey:()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 149
            aload 4 /* entry */
            getfield org.graalvm.compiler.virtual.phases.ea.PEReadEliminationBlockState$ReadCacheEntry.identity:Lorg/graalvm/compiler/core/common/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_icmpne 5
         4: .line 150
      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 147
      StackMap locals:
      StackMap stack:
            aload 3 /* iter */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 2
         6: .line 153
            return
        end local 3 // java.util.Iterator iter
        end local 2 // int index
        end local 1 // org.graalvm.compiler.core.common.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/compiler/core/common/LocationIdentity;
            0    7     2     index  I
            1    7     3      iter  Ljava/util/Iterator<Ljava/util/Map$Entry<Lorg/graalvm/compiler/virtual/phases/ea/PEReadEliminationBlockState$ReadCacheEntry;Lorg/graalvm/compiler/nodes/ValueNode;>;>;
            3    5     4     entry  Lorg/graalvm/compiler/virtual/phases/ea/PEReadEliminationBlockState$ReadCacheEntry;
    MethodParameters:
          Name  Flags
      identity  
      index     

  public java.util.Map<org.graalvm.compiler.virtual.phases.ea.PEReadEliminationBlockState$ReadCacheEntry, org.graalvm.compiler.nodes.ValueNode> getReadCache();
    descriptor: ()Ljava/util/Map;
    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 156
            aload 0 /* this */
            getfield org.graalvm.compiler.virtual.phases.ea.PEReadEliminationBlockState.readCache:Ljava/util/HashMap;
            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: ()Ljava/util/Map<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:
  public abstract Entry = java.util.Map$Entry of java.util.Map
  final ReadCacheEntry = org.graalvm.compiler.virtual.phases.ea.PEReadEliminationBlockState$ReadCacheEntry of org.graalvm.compiler.virtual.phases.ea.PEReadEliminationBlockState