public abstract class com.oracle.truffle.object.LayoutImpl$Support extends com.oracle.truffle.api.object.Layout$Access
  minor version: 0
  major version: 59
  flags: flags: (0x0421) ACC_PUBLIC, ACC_SUPER, ACC_ABSTRACT
  this_class: com.oracle.truffle.object.LayoutImpl$Support
  super_class: com.oracle.truffle.api.object.Layout$Access
{
  protected void <init>();
    descriptor: ()V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.oracle.truffle.object.LayoutImpl$Support this
         0: .line 172
            aload 0 /* this */
            invokespecial com.oracle.truffle.api.object.Layout$Access.<init>:()V
         1: .line 173
            return
        end local 0 // com.oracle.truffle.object.LayoutImpl$Support this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lcom/oracle/truffle/object/LayoutImpl$Support;

  public final void growAndSetShape(com.oracle.truffle.api.object.DynamicObject, com.oracle.truffle.api.object.Shape, com.oracle.truffle.api.object.Shape);
    descriptor: (Lcom/oracle/truffle/api/object/DynamicObject;Lcom/oracle/truffle/api/object/Shape;Lcom/oracle/truffle/api/object/Shape;)V
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=3, locals=4, args_size=4
        start local 0 // com.oracle.truffle.object.LayoutImpl$Support this
        start local 1 // com.oracle.truffle.api.object.DynamicObject object
        start local 2 // com.oracle.truffle.api.object.Shape oldShape
        start local 3 // com.oracle.truffle.api.object.Shape newShape
         0: .line 176
            aload 1 /* object */
            aload 2 /* oldShape */
            aload 3 /* newShape */
            invokestatic com.oracle.truffle.object.DynamicObjectSupport.growAndSetShape:(Lcom/oracle/truffle/api/object/DynamicObject;Lcom/oracle/truffle/api/object/Shape;Lcom/oracle/truffle/api/object/Shape;)V
         1: .line 177
            return
        end local 3 // com.oracle.truffle.api.object.Shape newShape
        end local 2 // com.oracle.truffle.api.object.Shape oldShape
        end local 1 // com.oracle.truffle.api.object.DynamicObject object
        end local 0 // com.oracle.truffle.object.LayoutImpl$Support this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    2     0      this  Lcom/oracle/truffle/object/LayoutImpl$Support;
            0    2     1    object  Lcom/oracle/truffle/api/object/DynamicObject;
            0    2     2  oldShape  Lcom/oracle/truffle/api/object/Shape;
            0    2     3  newShape  Lcom/oracle/truffle/api/object/Shape;
    MethodParameters:
          Name  Flags
      object    
      oldShape  
      newShape  

  public final void resize(com.oracle.truffle.api.object.DynamicObject, com.oracle.truffle.api.object.Shape, com.oracle.truffle.api.object.Shape);
    descriptor: (Lcom/oracle/truffle/api/object/DynamicObject;Lcom/oracle/truffle/api/object/Shape;Lcom/oracle/truffle/api/object/Shape;)V
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=3, locals=4, args_size=4
        start local 0 // com.oracle.truffle.object.LayoutImpl$Support this
        start local 1 // com.oracle.truffle.api.object.DynamicObject object
        start local 2 // com.oracle.truffle.api.object.Shape thisShape
        start local 3 // com.oracle.truffle.api.object.Shape otherShape
         0: .line 180
            aload 1 /* object */
            aload 2 /* thisShape */
            aload 3 /* otherShape */
            invokestatic com.oracle.truffle.object.DynamicObjectSupport.resize:(Lcom/oracle/truffle/api/object/DynamicObject;Lcom/oracle/truffle/api/object/Shape;Lcom/oracle/truffle/api/object/Shape;)V
         1: .line 181
            return
        end local 3 // com.oracle.truffle.api.object.Shape otherShape
        end local 2 // com.oracle.truffle.api.object.Shape thisShape
        end local 1 // com.oracle.truffle.api.object.DynamicObject object
        end local 0 // com.oracle.truffle.object.LayoutImpl$Support this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    2     0        this  Lcom/oracle/truffle/object/LayoutImpl$Support;
            0    2     1      object  Lcom/oracle/truffle/api/object/DynamicObject;
            0    2     2   thisShape  Lcom/oracle/truffle/api/object/Shape;
            0    2     3  otherShape  Lcom/oracle/truffle/api/object/Shape;
    MethodParameters:
            Name  Flags
      object      
      thisShape   
      otherShape  

  public final void resizeAndSetShape(com.oracle.truffle.api.object.DynamicObject, com.oracle.truffle.api.object.Shape, com.oracle.truffle.api.object.Shape);
    descriptor: (Lcom/oracle/truffle/api/object/DynamicObject;Lcom/oracle/truffle/api/object/Shape;Lcom/oracle/truffle/api/object/Shape;)V
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=3, locals=4, args_size=4
        start local 0 // com.oracle.truffle.object.LayoutImpl$Support this
        start local 1 // com.oracle.truffle.api.object.DynamicObject object
        start local 2 // com.oracle.truffle.api.object.Shape thisShape
        start local 3 // com.oracle.truffle.api.object.Shape otherShape
         0: .line 184
            aload 1 /* object */
            aload 2 /* thisShape */
            aload 3 /* otherShape */
            invokestatic com.oracle.truffle.object.DynamicObjectSupport.resizeAndSetShape:(Lcom/oracle/truffle/api/object/DynamicObject;Lcom/oracle/truffle/api/object/Shape;Lcom/oracle/truffle/api/object/Shape;)V
         1: .line 185
            return
        end local 3 // com.oracle.truffle.api.object.Shape otherShape
        end local 2 // com.oracle.truffle.api.object.Shape thisShape
        end local 1 // com.oracle.truffle.api.object.DynamicObject object
        end local 0 // com.oracle.truffle.object.LayoutImpl$Support this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    2     0        this  Lcom/oracle/truffle/object/LayoutImpl$Support;
            0    2     1      object  Lcom/oracle/truffle/api/object/DynamicObject;
            0    2     2   thisShape  Lcom/oracle/truffle/api/object/Shape;
            0    2     3  otherShape  Lcom/oracle/truffle/api/object/Shape;
    MethodParameters:
            Name  Flags
      object      
      thisShape   
      otherShape  

  public final void invalidateAllPropertyAssumptions(com.oracle.truffle.api.object.Shape);
    descriptor: (Lcom/oracle/truffle/api/object/Shape;)V
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=1, locals=2, args_size=2
        start local 0 // com.oracle.truffle.object.LayoutImpl$Support this
        start local 1 // com.oracle.truffle.api.object.Shape shape
         0: .line 188
            aload 1 /* shape */
            invokestatic com.oracle.truffle.object.DynamicObjectSupport.invalidateAllPropertyAssumptions:(Lcom/oracle/truffle/api/object/Shape;)V
         1: .line 189
            return
        end local 1 // com.oracle.truffle.api.object.Shape shape
        end local 0 // com.oracle.truffle.object.LayoutImpl$Support this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    2     0   this  Lcom/oracle/truffle/object/LayoutImpl$Support;
            0    2     1  shape  Lcom/oracle/truffle/api/object/Shape;
    MethodParameters:
       Name  Flags
      shape  

  public final void trimToSize(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;)V
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // com.oracle.truffle.object.LayoutImpl$Support this
        start local 1 // com.oracle.truffle.api.object.DynamicObject object
        start local 2 // com.oracle.truffle.api.object.Shape thisShape
         0: .line 192
            aload 1 /* object */
            aload 2 /* thisShape */
            invokestatic com.oracle.truffle.object.DynamicObjectSupport.trimToSize:(Lcom/oracle/truffle/api/object/DynamicObject;Lcom/oracle/truffle/api/object/Shape;)V
         1: .line 193
            return
        end local 2 // com.oracle.truffle.api.object.Shape thisShape
        end local 1 // com.oracle.truffle.api.object.DynamicObject object
        end local 0 // com.oracle.truffle.object.LayoutImpl$Support this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    2     0       this  Lcom/oracle/truffle/object/LayoutImpl$Support;
            0    2     1     object  Lcom/oracle/truffle/api/object/DynamicObject;
            0    2     2  thisShape  Lcom/oracle/truffle/api/object/Shape;
    MethodParameters:
           Name  Flags
      object     
      thisShape  

  public final java.util.Map<java.lang.Object, java.lang.Object> archive(com.oracle.truffle.api.object.DynamicObject);
    descriptor: (Lcom/oracle/truffle/api/object/DynamicObject;)Ljava/util/Map;
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=1, locals=2, args_size=2
        start local 0 // com.oracle.truffle.object.LayoutImpl$Support this
        start local 1 // com.oracle.truffle.api.object.DynamicObject object
         0: .line 196
            aload 1 /* object */
            invokestatic com.oracle.truffle.object.DynamicObjectSupport.archive:(Lcom/oracle/truffle/api/object/DynamicObject;)Ljava/util/Map;
            areturn
        end local 1 // com.oracle.truffle.api.object.DynamicObject object
        end local 0 // com.oracle.truffle.object.LayoutImpl$Support this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    1     0    this  Lcom/oracle/truffle/object/LayoutImpl$Support;
            0    1     1  object  Lcom/oracle/truffle/api/object/DynamicObject;
    Signature: (Lcom/oracle/truffle/api/object/DynamicObject;)Ljava/util/Map<Ljava/lang/Object;Ljava/lang/Object;>;
    MethodParameters:
        Name  Flags
      object  

  public final boolean verifyValues(com.oracle.truffle.api.object.DynamicObject, java.util.Map<java.lang.Object, java.lang.Object>);
    descriptor: (Lcom/oracle/truffle/api/object/DynamicObject;Ljava/util/Map;)Z
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // com.oracle.truffle.object.LayoutImpl$Support this
        start local 1 // com.oracle.truffle.api.object.DynamicObject object
        start local 2 // java.util.Map archive
         0: .line 200
            aload 1 /* object */
            aload 2 /* archive */
            invokestatic com.oracle.truffle.object.DynamicObjectSupport.verifyValues:(Lcom/oracle/truffle/api/object/DynamicObject;Ljava/util/Map;)Z
            ireturn
        end local 2 // java.util.Map archive
        end local 1 // com.oracle.truffle.api.object.DynamicObject object
        end local 0 // com.oracle.truffle.object.LayoutImpl$Support this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     this  Lcom/oracle/truffle/object/LayoutImpl$Support;
            0    1     1   object  Lcom/oracle/truffle/api/object/DynamicObject;
            0    1     2  archive  Ljava/util/Map<Ljava/lang/Object;Ljava/lang/Object;>;
    Signature: (Lcom/oracle/truffle/api/object/DynamicObject;Ljava/util/Map<Ljava/lang/Object;Ljava/lang/Object;>;)Z
    MethodParameters:
         Name  Flags
      object   
      archive  

  protected void arrayCopy(java.lang.Object[], java.lang.Object[], int);
    descriptor: ([Ljava/lang/Object;[Ljava/lang/Object;I)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=5, locals=4, args_size=4
        start local 0 // com.oracle.truffle.object.LayoutImpl$Support this
        start local 1 // java.lang.Object[] from
        start local 2 // java.lang.Object[] to
        start local 3 // int length
         0: .line 204
            aload 1 /* from */
            iconst_0
            aload 2 /* to */
            iconst_0
            iload 3 /* length */
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
         1: .line 205
            return
        end local 3 // int length
        end local 2 // java.lang.Object[] to
        end local 1 // java.lang.Object[] from
        end local 0 // com.oracle.truffle.object.LayoutImpl$Support this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    2     0    this  Lcom/oracle/truffle/object/LayoutImpl$Support;
            0    2     1    from  [Ljava/lang/Object;
            0    2     2      to  [Ljava/lang/Object;
            0    2     3  length  I
    MethodParameters:
        Name  Flags
      from    
      to      
      length  

  protected void arrayCopy(int[], int[], int);
    descriptor: ([I[II)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=5, locals=4, args_size=4
        start local 0 // com.oracle.truffle.object.LayoutImpl$Support this
        start local 1 // int[] from
        start local 2 // int[] to
        start local 3 // int length
         0: .line 208
            aload 1 /* from */
            iconst_0
            aload 2 /* to */
            iconst_0
            iload 3 /* length */
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
         1: .line 209
            return
        end local 3 // int length
        end local 2 // int[] to
        end local 1 // int[] from
        end local 0 // com.oracle.truffle.object.LayoutImpl$Support this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    2     0    this  Lcom/oracle/truffle/object/LayoutImpl$Support;
            0    2     1    from  [I
            0    2     2      to  [I
            0    2     3  length  I
    MethodParameters:
        Name  Flags
      from    
      to      
      length  
}
SourceFile: "LayoutImpl.java"
NestHost: com.oracle.truffle.object.LayoutImpl
InnerClasses:
  protected abstract Access = com.oracle.truffle.api.object.Layout$Access of com.oracle.truffle.api.object.Layout
  protected abstract Support = com.oracle.truffle.object.LayoutImpl$Support of com.oracle.truffle.object.LayoutImpl