class com.oracle.truffle.object.DynamicObjectLibraryImpl$SpecificKey$ExistingKey extends com.oracle.truffle.object.DynamicObjectLibraryImpl$SpecificKey
  minor version: 0
  major version: 59
  flags: flags: (0x0020) ACC_SUPER
  this_class: com.oracle.truffle.object.DynamicObjectLibraryImpl$SpecificKey$ExistingKey
  super_class: com.oracle.truffle.object.DynamicObjectLibraryImpl$SpecificKey
{
  final com.oracle.truffle.api.object.Property cachedProperty;
    descriptor: Lcom/oracle/truffle/api/object/Property;
    flags: (0x0010) ACC_FINAL

  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 965
            ldc Lcom/oracle/truffle/object/DynamicObjectLibraryImpl;
            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 com.oracle.truffle.object.DynamicObjectLibraryImpl$SpecificKey$ExistingKey.$assertionsDisabled:Z
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  void <init>(java.lang.Object, com.oracle.truffle.api.object.Property, com.oracle.truffle.object.DynamicObjectLibraryImpl$KeyCacheEntry);
    descriptor: (Ljava/lang/Object;Lcom/oracle/truffle/api/object/Property;Lcom/oracle/truffle/object/DynamicObjectLibraryImpl$KeyCacheEntry;)V
    flags: (0x0000) 
    Code:
      stack=3, locals=4, args_size=4
        start local 0 // com.oracle.truffle.object.DynamicObjectLibraryImpl$SpecificKey$ExistingKey this
        start local 1 // java.lang.Object key
        start local 2 // com.oracle.truffle.api.object.Property property
        start local 3 // com.oracle.truffle.object.DynamicObjectLibraryImpl$KeyCacheEntry next
         0: .line 969
            aload 0 /* this */
            aload 1 /* key */
            aload 3 /* next */
            invokespecial com.oracle.truffle.object.DynamicObjectLibraryImpl$SpecificKey.<init>:(Ljava/lang/Object;Lcom/oracle/truffle/object/DynamicObjectLibraryImpl$KeyCacheEntry;)V
         1: .line 970
            aload 0 /* this */
            aload 2 /* property */
            putfield com.oracle.truffle.object.DynamicObjectLibraryImpl$SpecificKey$ExistingKey.cachedProperty:Lcom/oracle/truffle/api/object/Property;
         2: .line 971
            return
        end local 3 // com.oracle.truffle.object.DynamicObjectLibraryImpl$KeyCacheEntry next
        end local 2 // com.oracle.truffle.api.object.Property property
        end local 1 // java.lang.Object key
        end local 0 // com.oracle.truffle.object.DynamicObjectLibraryImpl$SpecificKey$ExistingKey this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    3     0      this  Lcom/oracle/truffle/object/DynamicObjectLibraryImpl$SpecificKey$ExistingKey;
            0    3     1       key  Ljava/lang/Object;
            0    3     2  property  Lcom/oracle/truffle/api/object/Property;
            0    3     3      next  Lcom/oracle/truffle/object/DynamicObjectLibraryImpl$KeyCacheEntry;
    MethodParameters:
          Name  Flags
      key       
      property  
      next      

  private static boolean guard(com.oracle.truffle.api.object.DynamicObject, com.oracle.truffle.api.object.Shape);
    descriptor: (Lcom/oracle/truffle/api/object/DynamicObject;Lcom/oracle/truffle/api/object/Shape;)Z
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.oracle.truffle.api.object.DynamicObject object
        start local 1 // com.oracle.truffle.api.object.Shape cachedShape
         0: .line 974
            aload 0 /* object */
            invokevirtual com.oracle.truffle.api.object.DynamicObject.getShape:()Lcom/oracle/truffle/api/object/Shape;
            aload 1 /* cachedShape */
            if_acmpne 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 1 // com.oracle.truffle.api.object.Shape cachedShape
        end local 0 // com.oracle.truffle.api.object.DynamicObject object
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    2     0       object  Lcom/oracle/truffle/api/object/DynamicObject;
            0    2     1  cachedShape  Lcom/oracle/truffle/api/object/Shape;
    MethodParameters:
             Name  Flags
      object       
      cachedShape  

  public java.lang.Object getOrDefault(com.oracle.truffle.api.object.DynamicObject, com.oracle.truffle.api.object.Shape, java.lang.Object, java.lang.Object);
    descriptor: (Lcom/oracle/truffle/api/object/DynamicObject;Lcom/oracle/truffle/api/object/Shape;Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=5, args_size=5
        start local 0 // com.oracle.truffle.object.DynamicObjectLibraryImpl$SpecificKey$ExistingKey this
        start local 1 // com.oracle.truffle.api.object.DynamicObject object
        start local 2 // com.oracle.truffle.api.object.Shape cachedShape
        start local 3 // java.lang.Object key
        start local 4 // java.lang.Object defaultValue
         0: .line 979
            aload 2 /* cachedShape */
            invokestatic com.oracle.truffle.api.CompilerAsserts.partialEvaluationConstant:(Ljava/lang/Object;)V
         1: .line 980
            getstatic com.oracle.truffle.object.DynamicObjectLibraryImpl$SpecificKey$ExistingKey.$assertionsDisabled:Z
            ifne 2
            aload 0 /* this */
            aload 1 /* object */
            aload 2 /* cachedShape */
            aload 3 /* key */
            invokevirtual com.oracle.truffle.object.DynamicObjectLibraryImpl$SpecificKey$ExistingKey.assertCachedKeyAndShapeForRead:(Lcom/oracle/truffle/api/object/DynamicObject;Lcom/oracle/truffle/api/object/Shape;Ljava/lang/Object;)Z
            ifne 2
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         2: .line 981
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.oracle.truffle.object.DynamicObjectLibraryImpl$SpecificKey$ExistingKey.cachedProperty:Lcom/oracle/truffle/api/object/Property;
            invokestatic com.oracle.truffle.object.DynamicObjectLibraryImpl.getLocation:(Lcom/oracle/truffle/api/object/Property;)Lcom/oracle/truffle/object/LocationImpl;
            aload 1 /* object */
            aload 1 /* object */
            aload 2 /* cachedShape */
            invokestatic com.oracle.truffle.object.DynamicObjectLibraryImpl$SpecificKey$ExistingKey.guard:(Lcom/oracle/truffle/api/object/DynamicObject;Lcom/oracle/truffle/api/object/Shape;)Z
            invokevirtual com.oracle.truffle.object.LocationImpl.get:(Lcom/oracle/truffle/api/object/DynamicObject;Z)Ljava/lang/Object;
            areturn
        end local 4 // java.lang.Object defaultValue
        end local 3 // java.lang.Object key
        end local 2 // com.oracle.truffle.api.object.Shape cachedShape
        end local 1 // com.oracle.truffle.api.object.DynamicObject object
        end local 0 // com.oracle.truffle.object.DynamicObjectLibraryImpl$SpecificKey$ExistingKey this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    3     0          this  Lcom/oracle/truffle/object/DynamicObjectLibraryImpl$SpecificKey$ExistingKey;
            0    3     1        object  Lcom/oracle/truffle/api/object/DynamicObject;
            0    3     2   cachedShape  Lcom/oracle/truffle/api/object/Shape;
            0    3     3           key  Ljava/lang/Object;
            0    3     4  defaultValue  Ljava/lang/Object;
    MethodParameters:
              Name  Flags
      object        
      cachedShape   
      key           
      defaultValue  

  public int getIntOrDefault(com.oracle.truffle.api.object.DynamicObject, com.oracle.truffle.api.object.Shape, java.lang.Object, java.lang.Object);
    descriptor: (Lcom/oracle/truffle/api/object/DynamicObject;Lcom/oracle/truffle/api/object/Shape;Ljava/lang/Object;Ljava/lang/Object;)I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=5, args_size=5
        start local 0 // com.oracle.truffle.object.DynamicObjectLibraryImpl$SpecificKey$ExistingKey this
        start local 1 // com.oracle.truffle.api.object.DynamicObject object
        start local 2 // com.oracle.truffle.api.object.Shape cachedShape
        start local 3 // java.lang.Object key
        start local 4 // java.lang.Object defaultValue
         0: .line 986
            aload 2 /* cachedShape */
            invokestatic com.oracle.truffle.api.CompilerAsserts.partialEvaluationConstant:(Ljava/lang/Object;)V
         1: .line 987
            getstatic com.oracle.truffle.object.DynamicObjectLibraryImpl$SpecificKey$ExistingKey.$assertionsDisabled:Z
            ifne 2
            aload 0 /* this */
            aload 1 /* object */
            aload 2 /* cachedShape */
            aload 3 /* key */
            invokevirtual com.oracle.truffle.object.DynamicObjectLibraryImpl$SpecificKey$ExistingKey.assertCachedKeyAndShapeForRead:(Lcom/oracle/truffle/api/object/DynamicObject;Lcom/oracle/truffle/api/object/Shape;Ljava/lang/Object;)Z
            ifne 2
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         2: .line 988
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.oracle.truffle.object.DynamicObjectLibraryImpl$SpecificKey$ExistingKey.cachedProperty:Lcom/oracle/truffle/api/object/Property;
            invokestatic com.oracle.truffle.object.DynamicObjectLibraryImpl.getLocation:(Lcom/oracle/truffle/api/object/Property;)Lcom/oracle/truffle/object/LocationImpl;
            aload 1 /* object */
            aload 1 /* object */
            aload 2 /* cachedShape */
            invokestatic com.oracle.truffle.object.DynamicObjectLibraryImpl$SpecificKey$ExistingKey.guard:(Lcom/oracle/truffle/api/object/DynamicObject;Lcom/oracle/truffle/api/object/Shape;)Z
            invokevirtual com.oracle.truffle.object.LocationImpl.getInt:(Lcom/oracle/truffle/api/object/DynamicObject;Z)I
            ireturn
        end local 4 // java.lang.Object defaultValue
        end local 3 // java.lang.Object key
        end local 2 // com.oracle.truffle.api.object.Shape cachedShape
        end local 1 // com.oracle.truffle.api.object.DynamicObject object
        end local 0 // com.oracle.truffle.object.DynamicObjectLibraryImpl$SpecificKey$ExistingKey this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    3     0          this  Lcom/oracle/truffle/object/DynamicObjectLibraryImpl$SpecificKey$ExistingKey;
            0    3     1        object  Lcom/oracle/truffle/api/object/DynamicObject;
            0    3     2   cachedShape  Lcom/oracle/truffle/api/object/Shape;
            0    3     3           key  Ljava/lang/Object;
            0    3     4  defaultValue  Ljava/lang/Object;
    Exceptions:
      throws com.oracle.truffle.api.nodes.UnexpectedResultException
    MethodParameters:
              Name  Flags
      object        
      cachedShape   
      key           
      defaultValue  

  public long getLongOrDefault(com.oracle.truffle.api.object.DynamicObject, com.oracle.truffle.api.object.Shape, java.lang.Object, java.lang.Object);
    descriptor: (Lcom/oracle/truffle/api/object/DynamicObject;Lcom/oracle/truffle/api/object/Shape;Ljava/lang/Object;Ljava/lang/Object;)J
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=5, args_size=5
        start local 0 // com.oracle.truffle.object.DynamicObjectLibraryImpl$SpecificKey$ExistingKey this
        start local 1 // com.oracle.truffle.api.object.DynamicObject object
        start local 2 // com.oracle.truffle.api.object.Shape cachedShape
        start local 3 // java.lang.Object key
        start local 4 // java.lang.Object defaultValue
         0: .line 993
            aload 2 /* cachedShape */
            invokestatic com.oracle.truffle.api.CompilerAsserts.partialEvaluationConstant:(Ljava/lang/Object;)V
         1: .line 994
            getstatic com.oracle.truffle.object.DynamicObjectLibraryImpl$SpecificKey$ExistingKey.$assertionsDisabled:Z
            ifne 2
            aload 0 /* this */
            aload 1 /* object */
            aload 2 /* cachedShape */
            aload 3 /* key */
            invokevirtual com.oracle.truffle.object.DynamicObjectLibraryImpl$SpecificKey$ExistingKey.assertCachedKeyAndShapeForRead:(Lcom/oracle/truffle/api/object/DynamicObject;Lcom/oracle/truffle/api/object/Shape;Ljava/lang/Object;)Z
            ifne 2
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         2: .line 995
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.oracle.truffle.object.DynamicObjectLibraryImpl$SpecificKey$ExistingKey.cachedProperty:Lcom/oracle/truffle/api/object/Property;
            invokestatic com.oracle.truffle.object.DynamicObjectLibraryImpl.getLocation:(Lcom/oracle/truffle/api/object/Property;)Lcom/oracle/truffle/object/LocationImpl;
            aload 1 /* object */
            aload 1 /* object */
            aload 2 /* cachedShape */
            invokestatic com.oracle.truffle.object.DynamicObjectLibraryImpl$SpecificKey$ExistingKey.guard:(Lcom/oracle/truffle/api/object/DynamicObject;Lcom/oracle/truffle/api/object/Shape;)Z
            invokevirtual com.oracle.truffle.object.LocationImpl.getLong:(Lcom/oracle/truffle/api/object/DynamicObject;Z)J
            lreturn
        end local 4 // java.lang.Object defaultValue
        end local 3 // java.lang.Object key
        end local 2 // com.oracle.truffle.api.object.Shape cachedShape
        end local 1 // com.oracle.truffle.api.object.DynamicObject object
        end local 0 // com.oracle.truffle.object.DynamicObjectLibraryImpl$SpecificKey$ExistingKey this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    3     0          this  Lcom/oracle/truffle/object/DynamicObjectLibraryImpl$SpecificKey$ExistingKey;
            0    3     1        object  Lcom/oracle/truffle/api/object/DynamicObject;
            0    3     2   cachedShape  Lcom/oracle/truffle/api/object/Shape;
            0    3     3           key  Ljava/lang/Object;
            0    3     4  defaultValue  Ljava/lang/Object;
    Exceptions:
      throws com.oracle.truffle.api.nodes.UnexpectedResultException
    MethodParameters:
              Name  Flags
      object        
      cachedShape   
      key           
      defaultValue  

  public double getDoubleOrDefault(com.oracle.truffle.api.object.DynamicObject, com.oracle.truffle.api.object.Shape, java.lang.Object, java.lang.Object);
    descriptor: (Lcom/oracle/truffle/api/object/DynamicObject;Lcom/oracle/truffle/api/object/Shape;Ljava/lang/Object;Ljava/lang/Object;)D
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=5, args_size=5
        start local 0 // com.oracle.truffle.object.DynamicObjectLibraryImpl$SpecificKey$ExistingKey this
        start local 1 // com.oracle.truffle.api.object.DynamicObject object
        start local 2 // com.oracle.truffle.api.object.Shape cachedShape
        start local 3 // java.lang.Object key
        start local 4 // java.lang.Object defaultValue
         0: .line 1000
            aload 2 /* cachedShape */
            invokestatic com.oracle.truffle.api.CompilerAsserts.partialEvaluationConstant:(Ljava/lang/Object;)V
         1: .line 1001
            getstatic com.oracle.truffle.object.DynamicObjectLibraryImpl$SpecificKey$ExistingKey.$assertionsDisabled:Z
            ifne 2
            aload 0 /* this */
            aload 1 /* object */
            aload 2 /* cachedShape */
            aload 3 /* key */
            invokevirtual com.oracle.truffle.object.DynamicObjectLibraryImpl$SpecificKey$ExistingKey.assertCachedKeyAndShapeForRead:(Lcom/oracle/truffle/api/object/DynamicObject;Lcom/oracle/truffle/api/object/Shape;Ljava/lang/Object;)Z
            ifne 2
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         2: .line 1002
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.oracle.truffle.object.DynamicObjectLibraryImpl$SpecificKey$ExistingKey.cachedProperty:Lcom/oracle/truffle/api/object/Property;
            invokestatic com.oracle.truffle.object.DynamicObjectLibraryImpl.getLocation:(Lcom/oracle/truffle/api/object/Property;)Lcom/oracle/truffle/object/LocationImpl;
            aload 1 /* object */
            aload 1 /* object */
            aload 2 /* cachedShape */
            invokestatic com.oracle.truffle.object.DynamicObjectLibraryImpl$SpecificKey$ExistingKey.guard:(Lcom/oracle/truffle/api/object/DynamicObject;Lcom/oracle/truffle/api/object/Shape;)Z
            invokevirtual com.oracle.truffle.object.LocationImpl.getDouble:(Lcom/oracle/truffle/api/object/DynamicObject;Z)D
            dreturn
        end local 4 // java.lang.Object defaultValue
        end local 3 // java.lang.Object key
        end local 2 // com.oracle.truffle.api.object.Shape cachedShape
        end local 1 // com.oracle.truffle.api.object.DynamicObject object
        end local 0 // com.oracle.truffle.object.DynamicObjectLibraryImpl$SpecificKey$ExistingKey this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    3     0          this  Lcom/oracle/truffle/object/DynamicObjectLibraryImpl$SpecificKey$ExistingKey;
            0    3     1        object  Lcom/oracle/truffle/api/object/DynamicObject;
            0    3     2   cachedShape  Lcom/oracle/truffle/api/object/Shape;
            0    3     3           key  Ljava/lang/Object;
            0    3     4  defaultValue  Ljava/lang/Object;
    Exceptions:
      throws com.oracle.truffle.api.nodes.UnexpectedResultException
    MethodParameters:
              Name  Flags
      object        
      cachedShape   
      key           
      defaultValue  

  public boolean put(com.oracle.truffle.api.object.DynamicObject, com.oracle.truffle.api.object.Shape, java.lang.Object, java.lang.Object, long);
    descriptor: (Lcom/oracle/truffle/api/object/DynamicObject;Lcom/oracle/truffle/api/object/Shape;Ljava/lang/Object;Ljava/lang/Object;J)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=8, locals=7, args_size=6
        start local 0 // com.oracle.truffle.object.DynamicObjectLibraryImpl$SpecificKey$ExistingKey this
        start local 1 // com.oracle.truffle.api.object.DynamicObject object
        start local 2 // com.oracle.truffle.api.object.Shape cachedShape
        start local 3 // java.lang.Object key
        start local 4 // java.lang.Object value
        start local 5 // long putFlags
         0: .line 1007
            aload 2 /* cachedShape */
            invokestatic com.oracle.truffle.api.CompilerAsserts.partialEvaluationConstant:(Ljava/lang/Object;)V
         1: .line 1008
            getstatic com.oracle.truffle.object.DynamicObjectLibraryImpl$SpecificKey$ExistingKey.$assertionsDisabled:Z
            ifne 2
            aload 0 /* this */
            aload 1 /* object */
            aload 2 /* cachedShape */
            aload 3 /* key */
            invokevirtual com.oracle.truffle.object.DynamicObjectLibraryImpl$SpecificKey$ExistingKey.assertCachedKeyAndShapeForWrite:(Lcom/oracle/truffle/api/object/DynamicObject;Lcom/oracle/truffle/api/object/Shape;Ljava/lang/Object;)Z
            ifne 2
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         2: .line 1009
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* object */
            aload 2 /* cachedShape */
            aload 3 /* key */
            aload 4 /* value */
            lload 5 /* putFlags */
            aload 0 /* this */
            getfield com.oracle.truffle.object.DynamicObjectLibraryImpl$SpecificKey$ExistingKey.cachedProperty:Lcom/oracle/truffle/api/object/Property;
            invokevirtual com.oracle.truffle.object.DynamicObjectLibraryImpl$SpecificKey$ExistingKey.putImpl:(Lcom/oracle/truffle/api/object/DynamicObject;Lcom/oracle/truffle/api/object/Shape;Ljava/lang/Object;Ljava/lang/Object;JLcom/oracle/truffle/api/object/Property;)Z
            ireturn
        end local 5 // long putFlags
        end local 4 // java.lang.Object value
        end local 3 // java.lang.Object key
        end local 2 // com.oracle.truffle.api.object.Shape cachedShape
        end local 1 // com.oracle.truffle.api.object.DynamicObject object
        end local 0 // com.oracle.truffle.object.DynamicObjectLibraryImpl$SpecificKey$ExistingKey this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    3     0         this  Lcom/oracle/truffle/object/DynamicObjectLibraryImpl$SpecificKey$ExistingKey;
            0    3     1       object  Lcom/oracle/truffle/api/object/DynamicObject;
            0    3     2  cachedShape  Lcom/oracle/truffle/api/object/Shape;
            0    3     3          key  Ljava/lang/Object;
            0    3     4        value  Ljava/lang/Object;
            0    3     5     putFlags  J
    MethodParameters:
             Name  Flags
      object       
      cachedShape  
      key          
      value        
      putFlags     

  public boolean putInt(com.oracle.truffle.api.object.DynamicObject, com.oracle.truffle.api.object.Shape, java.lang.Object, int, long);
    descriptor: (Lcom/oracle/truffle/api/object/DynamicObject;Lcom/oracle/truffle/api/object/Shape;Ljava/lang/Object;IJ)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=8, locals=7, args_size=6
        start local 0 // com.oracle.truffle.object.DynamicObjectLibraryImpl$SpecificKey$ExistingKey this
        start local 1 // com.oracle.truffle.api.object.DynamicObject object
        start local 2 // com.oracle.truffle.api.object.Shape cachedShape
        start local 3 // java.lang.Object key
        start local 4 // int value
        start local 5 // long putFlags
         0: .line 1014
            aload 2 /* cachedShape */
            invokestatic com.oracle.truffle.api.CompilerAsserts.partialEvaluationConstant:(Ljava/lang/Object;)V
         1: .line 1015
            getstatic com.oracle.truffle.object.DynamicObjectLibraryImpl$SpecificKey$ExistingKey.$assertionsDisabled:Z
            ifne 2
            aload 0 /* this */
            aload 1 /* object */
            aload 2 /* cachedShape */
            aload 3 /* key */
            invokevirtual com.oracle.truffle.object.DynamicObjectLibraryImpl$SpecificKey$ExistingKey.assertCachedKeyAndShapeForWrite:(Lcom/oracle/truffle/api/object/DynamicObject;Lcom/oracle/truffle/api/object/Shape;Ljava/lang/Object;)Z
            ifne 2
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         2: .line 1016
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* object */
            aload 2 /* cachedShape */
            aload 3 /* key */
            iload 4 /* value */
            lload 5 /* putFlags */
            aload 0 /* this */
            getfield com.oracle.truffle.object.DynamicObjectLibraryImpl$SpecificKey$ExistingKey.cachedProperty:Lcom/oracle/truffle/api/object/Property;
            invokevirtual com.oracle.truffle.object.DynamicObjectLibraryImpl$SpecificKey$ExistingKey.putIntImpl:(Lcom/oracle/truffle/api/object/DynamicObject;Lcom/oracle/truffle/api/object/Shape;Ljava/lang/Object;IJLcom/oracle/truffle/api/object/Property;)Z
            ireturn
        end local 5 // long putFlags
        end local 4 // int value
        end local 3 // java.lang.Object key
        end local 2 // com.oracle.truffle.api.object.Shape cachedShape
        end local 1 // com.oracle.truffle.api.object.DynamicObject object
        end local 0 // com.oracle.truffle.object.DynamicObjectLibraryImpl$SpecificKey$ExistingKey this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    3     0         this  Lcom/oracle/truffle/object/DynamicObjectLibraryImpl$SpecificKey$ExistingKey;
            0    3     1       object  Lcom/oracle/truffle/api/object/DynamicObject;
            0    3     2  cachedShape  Lcom/oracle/truffle/api/object/Shape;
            0    3     3          key  Ljava/lang/Object;
            0    3     4        value  I
            0    3     5     putFlags  J
    MethodParameters:
             Name  Flags
      object       
      cachedShape  
      key          
      value        
      putFlags     

  public boolean putLong(com.oracle.truffle.api.object.DynamicObject, com.oracle.truffle.api.object.Shape, java.lang.Object, long, long);
    descriptor: (Lcom/oracle/truffle/api/object/DynamicObject;Lcom/oracle/truffle/api/object/Shape;Ljava/lang/Object;JJ)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=9, locals=8, args_size=6
        start local 0 // com.oracle.truffle.object.DynamicObjectLibraryImpl$SpecificKey$ExistingKey this
        start local 1 // com.oracle.truffle.api.object.DynamicObject object
        start local 2 // com.oracle.truffle.api.object.Shape cachedShape
        start local 3 // java.lang.Object key
        start local 4 // long value
        start local 6 // long putFlags
         0: .line 1021
            aload 2 /* cachedShape */
            invokestatic com.oracle.truffle.api.CompilerAsserts.partialEvaluationConstant:(Ljava/lang/Object;)V
         1: .line 1022
            getstatic com.oracle.truffle.object.DynamicObjectLibraryImpl$SpecificKey$ExistingKey.$assertionsDisabled:Z
            ifne 2
            aload 0 /* this */
            aload 1 /* object */
            aload 2 /* cachedShape */
            aload 3 /* key */
            invokevirtual com.oracle.truffle.object.DynamicObjectLibraryImpl$SpecificKey$ExistingKey.assertCachedKeyAndShapeForWrite:(Lcom/oracle/truffle/api/object/DynamicObject;Lcom/oracle/truffle/api/object/Shape;Ljava/lang/Object;)Z
            ifne 2
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         2: .line 1023
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* object */
            aload 2 /* cachedShape */
            aload 3 /* key */
            lload 4 /* value */
            lload 6 /* putFlags */
            aload 0 /* this */
            getfield com.oracle.truffle.object.DynamicObjectLibraryImpl$SpecificKey$ExistingKey.cachedProperty:Lcom/oracle/truffle/api/object/Property;
            invokevirtual com.oracle.truffle.object.DynamicObjectLibraryImpl$SpecificKey$ExistingKey.putLongImpl:(Lcom/oracle/truffle/api/object/DynamicObject;Lcom/oracle/truffle/api/object/Shape;Ljava/lang/Object;JJLcom/oracle/truffle/api/object/Property;)Z
            ireturn
        end local 6 // long putFlags
        end local 4 // long value
        end local 3 // java.lang.Object key
        end local 2 // com.oracle.truffle.api.object.Shape cachedShape
        end local 1 // com.oracle.truffle.api.object.DynamicObject object
        end local 0 // com.oracle.truffle.object.DynamicObjectLibraryImpl$SpecificKey$ExistingKey this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    3     0         this  Lcom/oracle/truffle/object/DynamicObjectLibraryImpl$SpecificKey$ExistingKey;
            0    3     1       object  Lcom/oracle/truffle/api/object/DynamicObject;
            0    3     2  cachedShape  Lcom/oracle/truffle/api/object/Shape;
            0    3     3          key  Ljava/lang/Object;
            0    3     4        value  J
            0    3     6     putFlags  J
    MethodParameters:
             Name  Flags
      object       
      cachedShape  
      key          
      value        
      putFlags     

  public boolean putDouble(com.oracle.truffle.api.object.DynamicObject, com.oracle.truffle.api.object.Shape, java.lang.Object, double, long);
    descriptor: (Lcom/oracle/truffle/api/object/DynamicObject;Lcom/oracle/truffle/api/object/Shape;Ljava/lang/Object;DJ)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=9, locals=8, args_size=6
        start local 0 // com.oracle.truffle.object.DynamicObjectLibraryImpl$SpecificKey$ExistingKey this
        start local 1 // com.oracle.truffle.api.object.DynamicObject object
        start local 2 // com.oracle.truffle.api.object.Shape cachedShape
        start local 3 // java.lang.Object key
        start local 4 // double value
        start local 6 // long putFlags
         0: .line 1028
            aload 2 /* cachedShape */
            invokestatic com.oracle.truffle.api.CompilerAsserts.partialEvaluationConstant:(Ljava/lang/Object;)V
         1: .line 1029
            getstatic com.oracle.truffle.object.DynamicObjectLibraryImpl$SpecificKey$ExistingKey.$assertionsDisabled:Z
            ifne 2
            aload 0 /* this */
            aload 1 /* object */
            aload 2 /* cachedShape */
            aload 3 /* key */
            invokevirtual com.oracle.truffle.object.DynamicObjectLibraryImpl$SpecificKey$ExistingKey.assertCachedKeyAndShapeForWrite:(Lcom/oracle/truffle/api/object/DynamicObject;Lcom/oracle/truffle/api/object/Shape;Ljava/lang/Object;)Z
            ifne 2
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         2: .line 1030
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* object */
            aload 2 /* cachedShape */
            aload 3 /* key */
            dload 4 /* value */
            lload 6 /* putFlags */
            aload 0 /* this */
            getfield com.oracle.truffle.object.DynamicObjectLibraryImpl$SpecificKey$ExistingKey.cachedProperty:Lcom/oracle/truffle/api/object/Property;
            invokevirtual com.oracle.truffle.object.DynamicObjectLibraryImpl$SpecificKey$ExistingKey.putDoubleImpl:(Lcom/oracle/truffle/api/object/DynamicObject;Lcom/oracle/truffle/api/object/Shape;Ljava/lang/Object;DJLcom/oracle/truffle/api/object/Property;)Z
            ireturn
        end local 6 // long putFlags
        end local 4 // double value
        end local 3 // java.lang.Object key
        end local 2 // com.oracle.truffle.api.object.Shape cachedShape
        end local 1 // com.oracle.truffle.api.object.DynamicObject object
        end local 0 // com.oracle.truffle.object.DynamicObjectLibraryImpl$SpecificKey$ExistingKey this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    3     0         this  Lcom/oracle/truffle/object/DynamicObjectLibraryImpl$SpecificKey$ExistingKey;
            0    3     1       object  Lcom/oracle/truffle/api/object/DynamicObject;
            0    3     2  cachedShape  Lcom/oracle/truffle/api/object/Shape;
            0    3     3          key  Ljava/lang/Object;
            0    3     4        value  D
            0    3     6     putFlags  J
    MethodParameters:
             Name  Flags
      object       
      cachedShape  
      key          
      value        
      putFlags     

  public boolean containsKey(com.oracle.truffle.api.object.DynamicObject, com.oracle.truffle.api.object.Shape, java.lang.Object);
    descriptor: (Lcom/oracle/truffle/api/object/DynamicObject;Lcom/oracle/truffle/api/object/Shape;Ljava/lang/Object;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=4, args_size=4
        start local 0 // com.oracle.truffle.object.DynamicObjectLibraryImpl$SpecificKey$ExistingKey this
        start local 1 // com.oracle.truffle.api.object.DynamicObject object
        start local 2 // com.oracle.truffle.api.object.Shape cachedShape
        start local 3 // java.lang.Object key
         0: .line 1035
            aload 2 /* cachedShape */
            invokestatic com.oracle.truffle.api.CompilerAsserts.partialEvaluationConstant:(Ljava/lang/Object;)V
         1: .line 1036
            getstatic com.oracle.truffle.object.DynamicObjectLibraryImpl$SpecificKey$ExistingKey.$assertionsDisabled:Z
            ifne 2
            aload 0 /* this */
            aload 1 /* object */
            aload 2 /* cachedShape */
            aload 3 /* key */
            invokevirtual com.oracle.truffle.object.DynamicObjectLibraryImpl$SpecificKey$ExistingKey.assertCachedKeyAndShapeForRead:(Lcom/oracle/truffle/api/object/DynamicObject;Lcom/oracle/truffle/api/object/Shape;Ljava/lang/Object;)Z
            ifne 2
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         2: .line 1037
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
        end local 3 // java.lang.Object key
        end local 2 // com.oracle.truffle.api.object.Shape cachedShape
        end local 1 // com.oracle.truffle.api.object.DynamicObject object
        end local 0 // com.oracle.truffle.object.DynamicObjectLibraryImpl$SpecificKey$ExistingKey this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    3     0         this  Lcom/oracle/truffle/object/DynamicObjectLibraryImpl$SpecificKey$ExistingKey;
            0    3     1       object  Lcom/oracle/truffle/api/object/DynamicObject;
            0    3     2  cachedShape  Lcom/oracle/truffle/api/object/Shape;
            0    3     3          key  Ljava/lang/Object;
    MethodParameters:
             Name  Flags
      object       
      cachedShape  
      key          

  public com.oracle.truffle.api.object.Property getProperty(com.oracle.truffle.api.object.DynamicObject, com.oracle.truffle.api.object.Shape, java.lang.Object);
    descriptor: (Lcom/oracle/truffle/api/object/DynamicObject;Lcom/oracle/truffle/api/object/Shape;Ljava/lang/Object;)Lcom/oracle/truffle/api/object/Property;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=4, args_size=4
        start local 0 // com.oracle.truffle.object.DynamicObjectLibraryImpl$SpecificKey$ExistingKey this
        start local 1 // com.oracle.truffle.api.object.DynamicObject object
        start local 2 // com.oracle.truffle.api.object.Shape cachedShape
        start local 3 // java.lang.Object key
         0: .line 1042
            aload 2 /* cachedShape */
            invokestatic com.oracle.truffle.api.CompilerAsserts.partialEvaluationConstant:(Ljava/lang/Object;)V
         1: .line 1043
            getstatic com.oracle.truffle.object.DynamicObjectLibraryImpl$SpecificKey$ExistingKey.$assertionsDisabled:Z
            ifne 2
            aload 0 /* this */
            aload 1 /* object */
            aload 2 /* cachedShape */
            aload 3 /* key */
            invokevirtual com.oracle.truffle.object.DynamicObjectLibraryImpl$SpecificKey$ExistingKey.assertCachedKeyAndShapeForRead:(Lcom/oracle/truffle/api/object/DynamicObject;Lcom/oracle/truffle/api/object/Shape;Ljava/lang/Object;)Z
            ifne 2
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         2: .line 1044
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.oracle.truffle.object.DynamicObjectLibraryImpl$SpecificKey$ExistingKey.cachedProperty:Lcom/oracle/truffle/api/object/Property;
            areturn
        end local 3 // java.lang.Object key
        end local 2 // com.oracle.truffle.api.object.Shape cachedShape
        end local 1 // com.oracle.truffle.api.object.DynamicObject object
        end local 0 // com.oracle.truffle.object.DynamicObjectLibraryImpl$SpecificKey$ExistingKey this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    3     0         this  Lcom/oracle/truffle/object/DynamicObjectLibraryImpl$SpecificKey$ExistingKey;
            0    3     1       object  Lcom/oracle/truffle/api/object/DynamicObject;
            0    3     2  cachedShape  Lcom/oracle/truffle/api/object/Shape;
            0    3     3          key  Ljava/lang/Object;
    MethodParameters:
             Name  Flags
      object       
      cachedShape  
      key          

  public boolean setPropertyFlags(com.oracle.truffle.api.object.DynamicObject, com.oracle.truffle.api.object.Shape, java.lang.Object, int);
    descriptor: (Lcom/oracle/truffle/api/object/DynamicObject;Lcom/oracle/truffle/api/object/Shape;Ljava/lang/Object;I)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=5, args_size=5
        start local 0 // com.oracle.truffle.object.DynamicObjectLibraryImpl$SpecificKey$ExistingKey this
        start local 1 // com.oracle.truffle.api.object.DynamicObject object
        start local 2 // com.oracle.truffle.api.object.Shape cachedShape
        start local 3 // java.lang.Object key
        start local 4 // int propertyFlags
         0: .line 1049
            aload 2 /* cachedShape */
            invokestatic com.oracle.truffle.api.CompilerAsserts.partialEvaluationConstant:(Ljava/lang/Object;)V
         1: .line 1050
            getstatic com.oracle.truffle.object.DynamicObjectLibraryImpl$SpecificKey$ExistingKey.$assertionsDisabled:Z
            ifne 2
            aload 0 /* this */
            aload 1 /* object */
            aload 2 /* cachedShape */
            aload 3 /* key */
            invokevirtual com.oracle.truffle.object.DynamicObjectLibraryImpl$SpecificKey$ExistingKey.assertCachedKeyAndShapeForWrite:(Lcom/oracle/truffle/api/object/DynamicObject;Lcom/oracle/truffle/api/object/Shape;Ljava/lang/Object;)Z
            ifne 2
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         2: .line 1051
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* object */
            aload 2 /* cachedShape */
            aload 3 /* key */
            iload 4 /* propertyFlags */
            aload 0 /* this */
            getfield com.oracle.truffle.object.DynamicObjectLibraryImpl$SpecificKey$ExistingKey.cachedProperty:Lcom/oracle/truffle/api/object/Property;
            invokevirtual com.oracle.truffle.object.DynamicObjectLibraryImpl$SpecificKey$ExistingKey.setPropertyFlagsImpl:(Lcom/oracle/truffle/api/object/DynamicObject;Lcom/oracle/truffle/api/object/Shape;Ljava/lang/Object;ILcom/oracle/truffle/api/object/Property;)Z
            ireturn
        end local 4 // int propertyFlags
        end local 3 // java.lang.Object key
        end local 2 // com.oracle.truffle.api.object.Shape cachedShape
        end local 1 // com.oracle.truffle.api.object.DynamicObject object
        end local 0 // com.oracle.truffle.object.DynamicObjectLibraryImpl$SpecificKey$ExistingKey this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    3     0           this  Lcom/oracle/truffle/object/DynamicObjectLibraryImpl$SpecificKey$ExistingKey;
            0    3     1         object  Lcom/oracle/truffle/api/object/DynamicObject;
            0    3     2    cachedShape  Lcom/oracle/truffle/api/object/Shape;
            0    3     3            key  Ljava/lang/Object;
            0    3     4  propertyFlags  I
    MethodParameters:
               Name  Flags
      object         
      cachedShape    
      key            
      propertyFlags  
}
SourceFile: "DynamicObjectLibraryImpl.java"
NestHost: com.oracle.truffle.object.DynamicObjectLibraryImpl
InnerClasses:
  abstract KeyCacheEntry = com.oracle.truffle.object.DynamicObjectLibraryImpl$KeyCacheEntry of com.oracle.truffle.object.DynamicObjectLibraryImpl
  abstract SpecificKey = com.oracle.truffle.object.DynamicObjectLibraryImpl$SpecificKey of com.oracle.truffle.object.DynamicObjectLibraryImpl
  ExistingKey = com.oracle.truffle.object.DynamicObjectLibraryImpl$SpecificKey$ExistingKey of com.oracle.truffle.object.DynamicObjectLibraryImpl$SpecificKey