public class com.oracle.truffle.object.DynamicObjectBasic extends com.oracle.truffle.object.DynamicObjectImpl
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: com.oracle.truffle.object.DynamicObjectBasic
  super_class: com.oracle.truffle.object.DynamicObjectImpl
{
  long primitive1;
    descriptor: J
    flags: (0x0000) 

  long primitive2;
    descriptor: J
    flags: (0x0000) 

  long primitive3;
    descriptor: J
    flags: (0x0000) 

  java.lang.Object object1;
    descriptor: Ljava/lang/Object;
    flags: (0x0000) 

  java.lang.Object object2;
    descriptor: Ljava/lang/Object;
    flags: (0x0000) 

  java.lang.Object object3;
    descriptor: Ljava/lang/Object;
    flags: (0x0000) 

  java.lang.Object object4;
    descriptor: Ljava/lang/Object;
    flags: (0x0000) 

  static final com.oracle.truffle.object.DynamicObjectBasic$BasicObjectFieldLocation[] OBJECT_FIELD_LOCATIONS;
    descriptor: [Lcom/oracle/truffle/object/DynamicObjectBasic$BasicObjectFieldLocation;
    flags: (0x0018) ACC_STATIC, ACC_FINAL

  static final com.oracle.truffle.object.DynamicObjectBasic$BasicLongFieldLocation[] PRIMITIVE_FIELD_LOCATIONS;
    descriptor: [Lcom/oracle/truffle/object/DynamicObjectBasic$BasicLongFieldLocation;
    flags: (0x0018) ACC_STATIC, 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=6, locals=1, args_size=0
         0: .line 51
            ldc Lcom/oracle/truffle/object/DynamicObjectBasic;
            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.DynamicObjectBasic.$assertionsDisabled:Z
         3: .line 280
            iconst_0
            istore 0 /* index */
        start local 0 // int index
         4: .line 281
            iconst_3
            anewarray com.oracle.truffle.object.DynamicObjectBasic$BasicLongFieldLocation
            dup
            iconst_0
            new com.oracle.truffle.object.DynamicObjectBasic$1
            dup
            iload 0 /* index */
            iinc 0 /* index */ 1
            invokespecial com.oracle.truffle.object.DynamicObjectBasic$1.<init>:(I)V
            aastore
            dup
            iconst_1
         5: .line 291
            new com.oracle.truffle.object.DynamicObjectBasic$2
            dup
            iload 0 /* index */
            iinc 0 /* index */ 1
            invokespecial com.oracle.truffle.object.DynamicObjectBasic$2.<init>:(I)V
            aastore
            dup
            iconst_2
         6: .line 301
            new com.oracle.truffle.object.DynamicObjectBasic$3
            dup
            iload 0 /* index */
            iinc 0 /* index */ 1
            invokespecial com.oracle.truffle.object.DynamicObjectBasic$3.<init>:(I)V
            aastore
         7: .line 281
            putstatic com.oracle.truffle.object.DynamicObjectBasic.PRIMITIVE_FIELD_LOCATIONS:[Lcom/oracle/truffle/object/DynamicObjectBasic$BasicLongFieldLocation;
         8: .line 313
            iconst_0
            istore 0 /* index */
         9: .line 314
            iconst_4
            anewarray com.oracle.truffle.object.DynamicObjectBasic$BasicObjectFieldLocation
            dup
            iconst_0
            new com.oracle.truffle.object.DynamicObjectBasic$4
            dup
            iload 0 /* index */
            iinc 0 /* index */ 1
            invokespecial com.oracle.truffle.object.DynamicObjectBasic$4.<init>:(I)V
            aastore
            dup
            iconst_1
        10: .line 324
            new com.oracle.truffle.object.DynamicObjectBasic$5
            dup
            iload 0 /* index */
            iinc 0 /* index */ 1
            invokespecial com.oracle.truffle.object.DynamicObjectBasic$5.<init>:(I)V
            aastore
            dup
            iconst_2
        11: .line 334
            new com.oracle.truffle.object.DynamicObjectBasic$6
            dup
            iload 0 /* index */
            iinc 0 /* index */ 1
            invokespecial com.oracle.truffle.object.DynamicObjectBasic$6.<init>:(I)V
            aastore
            dup
            iconst_3
        12: .line 344
            new com.oracle.truffle.object.DynamicObjectBasic$7
            dup
            iload 0 /* index */
            iinc 0 /* index */ 1
            invokespecial com.oracle.truffle.object.DynamicObjectBasic$7.<init>:(I)V
            aastore
        13: .line 314
            putstatic com.oracle.truffle.object.DynamicObjectBasic.OBJECT_FIELD_LOCATIONS:[Lcom/oracle/truffle/object/DynamicObjectBasic$BasicObjectFieldLocation;
        end local 0 // int index
        14: .line 355
            return
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            4   14     0  index  I

  protected void <init>(com.oracle.truffle.api.object.Shape);
    descriptor: (Lcom/oracle/truffle/api/object/Shape;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.oracle.truffle.object.DynamicObjectBasic this
        start local 1 // com.oracle.truffle.api.object.Shape shape
         0: .line 62
            aload 0 /* this */
            aload 1 /* shape */
            invokespecial com.oracle.truffle.object.DynamicObjectImpl.<init>:(Lcom/oracle/truffle/api/object/Shape;)V
         1: .line 63
            return
        end local 1 // com.oracle.truffle.api.object.Shape shape
        end local 0 // com.oracle.truffle.object.DynamicObjectBasic this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    2     0   this  Lcom/oracle/truffle/object/DynamicObjectBasic;
            0    2     1  shape  Lcom/oracle/truffle/api/object/Shape;
    MethodParameters:
       Name  Flags
      shape  

  protected final void initialize(com.oracle.truffle.api.object.Shape);
    descriptor: (Lcom/oracle/truffle/api/object/Shape;)V
    flags: (0x0014) ACC_PROTECTED, ACC_FINAL
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // com.oracle.truffle.object.DynamicObjectBasic this
        start local 1 // com.oracle.truffle.api.object.Shape shape
         0: .line 67
            getstatic com.oracle.truffle.object.DynamicObjectBasic.$assertionsDisabled:Z
            ifne 1
            aload 0 /* this */
            aload 1 /* shape */
            invokevirtual com.oracle.truffle.object.DynamicObjectBasic.getObjectStore:(Lcom/oracle/truffle/api/object/Shape;)[Ljava/lang/Object;
            ifnull 1
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         1: .line 68
      StackMap locals:
      StackMap stack:
            aload 1 /* shape */
            checkcast com.oracle.truffle.object.ShapeImpl
            invokevirtual com.oracle.truffle.object.ShapeImpl.getObjectArrayCapacity:()I
            istore 2 /* capacity */
        start local 2 // int capacity
         2: .line 69
            iload 2 /* capacity */
            ifeq 4
         3: .line 70
            aload 0 /* this */
            iload 2 /* capacity */
            anewarray java.lang.Object
            aload 1 /* shape */
            invokevirtual com.oracle.truffle.object.DynamicObjectBasic.setObjectStore:([Ljava/lang/Object;Lcom/oracle/truffle/api/object/Shape;)V
         4: .line 72
      StackMap locals: int
      StackMap stack:
            aload 1 /* shape */
            checkcast com.oracle.truffle.object.ShapeImpl
            invokevirtual com.oracle.truffle.object.ShapeImpl.getPrimitiveArrayCapacity:()I
            ifeq 6
         5: .line 73
            aload 0 /* this */
            aload 1 /* shape */
            checkcast com.oracle.truffle.object.ShapeImpl
            invokevirtual com.oracle.truffle.object.ShapeImpl.getPrimitiveArrayCapacity:()I
            newarray 10
            aload 1 /* shape */
            invokevirtual com.oracle.truffle.object.DynamicObjectBasic.setPrimitiveStore:([ILcom/oracle/truffle/api/object/Shape;)V
         6: .line 75
      StackMap locals:
      StackMap stack:
            return
        end local 2 // int capacity
        end local 1 // com.oracle.truffle.api.object.Shape shape
        end local 0 // com.oracle.truffle.object.DynamicObjectBasic this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    7     0      this  Lcom/oracle/truffle/object/DynamicObjectBasic;
            0    7     1     shape  Lcom/oracle/truffle/api/object/Shape;
            2    7     2  capacity  I
    MethodParameters:
       Name  Flags
      shape  

  protected final void growObjectStore(com.oracle.truffle.api.object.Shape, com.oracle.truffle.api.object.Shape);
    descriptor: (Lcom/oracle/truffle/api/object/Shape;Lcom/oracle/truffle/api/object/Shape;)V
    flags: (0x0014) ACC_PROTECTED, ACC_FINAL
    Code:
      stack=4, locals=5, args_size=3
        start local 0 // com.oracle.truffle.object.DynamicObjectBasic this
        start local 1 // com.oracle.truffle.api.object.Shape oldShape
        start local 2 // com.oracle.truffle.api.object.Shape newShape
         0: .line 82
            aload 1 /* oldShape */
            checkcast com.oracle.truffle.object.ShapeImpl
            invokevirtual com.oracle.truffle.object.ShapeImpl.getObjectArrayCapacity:()I
            istore 3 /* oldObjectArrayCapacity */
        start local 3 // int oldObjectArrayCapacity
         1: .line 83
            aload 2 /* newShape */
            checkcast com.oracle.truffle.object.ShapeImpl
            invokevirtual com.oracle.truffle.object.ShapeImpl.getObjectArrayCapacity:()I
            istore 4 /* newObjectArrayCapacity */
        start local 4 // int newObjectArrayCapacity
         2: .line 84
            iload 3 /* oldObjectArrayCapacity */
            iload 4 /* newObjectArrayCapacity */
            if_icmpeq 4
         3: .line 85
            aload 0 /* this */
            iload 3 /* oldObjectArrayCapacity */
            iload 4 /* newObjectArrayCapacity */
            aload 1 /* oldShape */
            invokevirtual com.oracle.truffle.object.DynamicObjectBasic.growObjectStoreIntl:(IILcom/oracle/truffle/api/object/Shape;)V
         4: .line 87
      StackMap locals: int int
      StackMap stack:
            return
        end local 4 // int newObjectArrayCapacity
        end local 3 // int oldObjectArrayCapacity
        end local 2 // com.oracle.truffle.api.object.Shape newShape
        end local 1 // com.oracle.truffle.api.object.Shape oldShape
        end local 0 // com.oracle.truffle.object.DynamicObjectBasic this
      LocalVariableTable:
        Start  End  Slot                    Name  Signature
            0    5     0                    this  Lcom/oracle/truffle/object/DynamicObjectBasic;
            0    5     1                oldShape  Lcom/oracle/truffle/api/object/Shape;
            0    5     2                newShape  Lcom/oracle/truffle/api/object/Shape;
            1    5     3  oldObjectArrayCapacity  I
            2    5     4  newObjectArrayCapacity  I
    MethodParameters:
          Name  Flags
      oldShape  
      newShape  

  private void growObjectStoreIntl(int, int, com.oracle.truffle.api.object.Shape);
    descriptor: (IILcom/oracle/truffle/api/object/Shape;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=7, args_size=4
        start local 0 // com.oracle.truffle.object.DynamicObjectBasic this
        start local 1 // int oldObjectArrayCapacity
        start local 2 // int newObjectArrayCapacity
        start local 3 // com.oracle.truffle.api.object.Shape newShape
         0: .line 90
            iload 2 /* newObjectArrayCapacity */
            anewarray java.lang.Object
            astore 4 /* newObjectStore */
        start local 4 // java.lang.Object[] newObjectStore
         1: .line 91
            iload 1 /* oldObjectArrayCapacity */
            ifeq 9
         2: .line 93
            getstatic com.oracle.truffle.object.DynamicObjectBasic.$assertionsDisabled:Z
            ifne 3
            iload 1 /* oldObjectArrayCapacity */
            iload 2 /* newObjectArrayCapacity */
            if_icmplt 3
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         3: .line 94
      StackMap locals: java.lang.Object[]
      StackMap stack:
            aload 0 /* this */
            aload 3 /* newShape */
            invokevirtual com.oracle.truffle.object.DynamicObjectBasic.getObjectStore:(Lcom/oracle/truffle/api/object/Shape;)[Ljava/lang/Object;
            astore 5 /* oldObjectStore */
        start local 5 // java.lang.Object[] oldObjectStore
         4: .line 95
            iconst_0
            istore 6 /* i */
        start local 6 // int i
         5: goto 8
         6: .line 96
      StackMap locals: java.lang.Object[] int
      StackMap stack:
            aload 4 /* newObjectStore */
            iload 6 /* i */
            aload 5 /* oldObjectStore */
            iload 6 /* i */
            aaload
            aastore
         7: .line 95
            iinc 6 /* i */ 1
      StackMap locals:
      StackMap stack:
         8: iload 6 /* i */
            iload 1 /* oldObjectArrayCapacity */
            if_icmplt 6
        end local 6 // int i
        end local 5 // java.lang.Object[] oldObjectStore
         9: .line 99
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 4 /* newObjectStore */
            aload 3 /* newShape */
            invokevirtual com.oracle.truffle.object.DynamicObjectBasic.setObjectStore:([Ljava/lang/Object;Lcom/oracle/truffle/api/object/Shape;)V
        10: .line 100
            return
        end local 4 // java.lang.Object[] newObjectStore
        end local 3 // com.oracle.truffle.api.object.Shape newShape
        end local 2 // int newObjectArrayCapacity
        end local 1 // int oldObjectArrayCapacity
        end local 0 // com.oracle.truffle.object.DynamicObjectBasic this
      LocalVariableTable:
        Start  End  Slot                    Name  Signature
            0   11     0                    this  Lcom/oracle/truffle/object/DynamicObjectBasic;
            0   11     1  oldObjectArrayCapacity  I
            0   11     2  newObjectArrayCapacity  I
            0   11     3                newShape  Lcom/oracle/truffle/api/object/Shape;
            1   11     4          newObjectStore  [Ljava/lang/Object;
            4    9     5          oldObjectStore  [Ljava/lang/Object;
            5    9     6                       i  I
    MethodParameters:
                        Name  Flags
      oldObjectArrayCapacity  
      newObjectArrayCapacity  
      newShape                

  protected final void growPrimitiveStore(com.oracle.truffle.api.object.Shape, com.oracle.truffle.api.object.Shape);
    descriptor: (Lcom/oracle/truffle/api/object/Shape;Lcom/oracle/truffle/api/object/Shape;)V
    flags: (0x0014) ACC_PROTECTED, ACC_FINAL
    Code:
      stack=4, locals=5, args_size=3
        start local 0 // com.oracle.truffle.object.DynamicObjectBasic this
        start local 1 // com.oracle.truffle.api.object.Shape oldShape
        start local 2 // com.oracle.truffle.api.object.Shape newShape
         0: .line 107
            getstatic com.oracle.truffle.object.DynamicObjectBasic.$assertionsDisabled:Z
            ifne 1
            aload 2 /* newShape */
            checkcast com.oracle.truffle.object.ShapeImpl
            invokevirtual com.oracle.truffle.object.ShapeImpl.hasPrimitiveArray:()Z
            ifne 1
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         1: .line 108
      StackMap locals:
      StackMap stack:
            aload 1 /* oldShape */
            checkcast com.oracle.truffle.object.ShapeImpl
            invokevirtual com.oracle.truffle.object.ShapeImpl.getPrimitiveArrayCapacity:()I
            istore 3 /* oldPrimitiveCapacity */
        start local 3 // int oldPrimitiveCapacity
         2: .line 109
            aload 2 /* newShape */
            checkcast com.oracle.truffle.object.ShapeImpl
            invokevirtual com.oracle.truffle.object.ShapeImpl.getPrimitiveArrayCapacity:()I
            istore 4 /* newPrimitiveCapacity */
        start local 4 // int newPrimitiveCapacity
         3: .line 110
            iload 4 /* newPrimitiveCapacity */
            ifne 6
         4: .line 112
            aload 0 /* this */
            aconst_null
            aload 2 /* newShape */
            invokevirtual com.oracle.truffle.object.DynamicObjectBasic.setPrimitiveStore:([ILcom/oracle/truffle/api/object/Shape;)V
         5: .line 113
            goto 8
      StackMap locals: int int
      StackMap stack:
         6: iload 3 /* oldPrimitiveCapacity */
            iload 4 /* newPrimitiveCapacity */
            if_icmpeq 8
         7: .line 114
            aload 0 /* this */
            iload 3 /* oldPrimitiveCapacity */
            iload 4 /* newPrimitiveCapacity */
            aload 1 /* oldShape */
            invokevirtual com.oracle.truffle.object.DynamicObjectBasic.growPrimitiveStoreIntl:(IILcom/oracle/truffle/api/object/Shape;)V
         8: .line 116
      StackMap locals:
      StackMap stack:
            return
        end local 4 // int newPrimitiveCapacity
        end local 3 // int oldPrimitiveCapacity
        end local 2 // com.oracle.truffle.api.object.Shape newShape
        end local 1 // com.oracle.truffle.api.object.Shape oldShape
        end local 0 // com.oracle.truffle.object.DynamicObjectBasic this
      LocalVariableTable:
        Start  End  Slot                  Name  Signature
            0    9     0                  this  Lcom/oracle/truffle/object/DynamicObjectBasic;
            0    9     1              oldShape  Lcom/oracle/truffle/api/object/Shape;
            0    9     2              newShape  Lcom/oracle/truffle/api/object/Shape;
            2    9     3  oldPrimitiveCapacity  I
            3    9     4  newPrimitiveCapacity  I
    MethodParameters:
          Name  Flags
      oldShape  
      newShape  

  private void growPrimitiveStoreIntl(int, int, com.oracle.truffle.api.object.Shape);
    descriptor: (IILcom/oracle/truffle/api/object/Shape;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=7, args_size=4
        start local 0 // com.oracle.truffle.object.DynamicObjectBasic this
        start local 1 // int oldPrimitiveCapacity
        start local 2 // int newPrimitiveCapacity
        start local 3 // com.oracle.truffle.api.object.Shape newShape
         0: .line 119
            iload 2 /* newPrimitiveCapacity */
            newarray 10
            astore 4 /* newPrimitiveArray */
        start local 4 // int[] newPrimitiveArray
         1: .line 120
            iload 1 /* oldPrimitiveCapacity */
            ifeq 8
         2: .line 122
            aload 0 /* this */
            aload 3 /* newShape */
            invokevirtual com.oracle.truffle.object.DynamicObjectBasic.getPrimitiveStore:(Lcom/oracle/truffle/api/object/Shape;)[I
            astore 5 /* oldPrimitiveArray */
        start local 5 // int[] oldPrimitiveArray
         3: .line 123
            iconst_0
            istore 6 /* i */
        start local 6 // int i
         4: goto 7
         5: .line 124
      StackMap locals: int[] int[] int
      StackMap stack:
            aload 4 /* newPrimitiveArray */
            iload 6 /* i */
            aload 5 /* oldPrimitiveArray */
            iload 6 /* i */
            iaload
            iastore
         6: .line 123
            iinc 6 /* i */ 1
      StackMap locals:
      StackMap stack:
         7: iload 6 /* i */
            iload 1 /* oldPrimitiveCapacity */
            iload 2 /* newPrimitiveCapacity */
            invokestatic java.lang.Math.min:(II)I
            if_icmplt 5
        end local 6 // int i
        end local 5 // int[] oldPrimitiveArray
         8: .line 127
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 4 /* newPrimitiveArray */
            aload 3 /* newShape */
            invokevirtual com.oracle.truffle.object.DynamicObjectBasic.setPrimitiveStore:([ILcom/oracle/truffle/api/object/Shape;)V
         9: .line 128
            return
        end local 4 // int[] newPrimitiveArray
        end local 3 // com.oracle.truffle.api.object.Shape newShape
        end local 2 // int newPrimitiveCapacity
        end local 1 // int oldPrimitiveCapacity
        end local 0 // com.oracle.truffle.object.DynamicObjectBasic this
      LocalVariableTable:
        Start  End  Slot                  Name  Signature
            0   10     0                  this  Lcom/oracle/truffle/object/DynamicObjectBasic;
            0   10     1  oldPrimitiveCapacity  I
            0   10     2  newPrimitiveCapacity  I
            0   10     3              newShape  Lcom/oracle/truffle/api/object/Shape;
            1   10     4     newPrimitiveArray  [I
            3    8     5     oldPrimitiveArray  [I
            4    8     6                     i  I
    MethodParameters:
                      Name  Flags
      oldPrimitiveCapacity  
      newPrimitiveCapacity  
      newShape              

  protected final void resizeObjectStore(com.oracle.truffle.api.object.Shape, com.oracle.truffle.api.object.Shape);
    descriptor: (Lcom/oracle/truffle/api/object/Shape;Lcom/oracle/truffle/api/object/Shape;)V
    flags: (0x0014) ACC_PROTECTED, ACC_FINAL
    Code:
      stack=4, locals=8, args_size=3
        start local 0 // com.oracle.truffle.object.DynamicObjectBasic this
        start local 1 // com.oracle.truffle.api.object.Shape oldShape
        start local 2 // com.oracle.truffle.api.object.Shape newShape
         0: .line 132
            aconst_null
            astore 3 /* newObjectStore */
        start local 3 // java.lang.Object[] newObjectStore
         1: .line 133
            aload 2 /* newShape */
            checkcast com.oracle.truffle.object.ShapeImpl
            invokevirtual com.oracle.truffle.object.ShapeImpl.getObjectArrayCapacity:()I
            istore 4 /* destinationCapacity */
        start local 4 // int destinationCapacity
         2: .line 134
            iload 4 /* destinationCapacity */
            ifeq 12
         3: .line 135
            iload 4 /* destinationCapacity */
            anewarray java.lang.Object
            astore 3 /* newObjectStore */
         4: .line 136
            aload 1 /* oldShape */
            checkcast com.oracle.truffle.object.ShapeImpl
            invokevirtual com.oracle.truffle.object.ShapeImpl.getObjectArrayCapacity:()I
            istore 5 /* sourceCapacity */
        start local 5 // int sourceCapacity
         5: .line 137
            iload 5 /* sourceCapacity */
            ifeq 12
         6: .line 138
            aload 0 /* this */
            aload 2 /* newShape */
            invokevirtual com.oracle.truffle.object.DynamicObjectBasic.getObjectStore:(Lcom/oracle/truffle/api/object/Shape;)[Ljava/lang/Object;
            astore 6 /* oldObjectStore */
        start local 6 // java.lang.Object[] oldObjectStore
         7: .line 139
            iconst_0
            istore 7 /* i */
        start local 7 // int i
         8: goto 11
         9: .line 140
      StackMap locals: com.oracle.truffle.object.DynamicObjectBasic com.oracle.truffle.api.object.Shape com.oracle.truffle.api.object.Shape java.lang.Object[] int int java.lang.Object[] int
      StackMap stack:
            aload 3 /* newObjectStore */
            iload 7 /* i */
            aload 6 /* oldObjectStore */
            iload 7 /* i */
            aaload
            aastore
        10: .line 139
            iinc 7 /* i */ 1
      StackMap locals:
      StackMap stack:
        11: iload 7 /* i */
            iload 5 /* sourceCapacity */
            iload 4 /* destinationCapacity */
            invokestatic java.lang.Math.min:(II)I
            if_icmplt 9
        end local 7 // int i
        end local 6 // java.lang.Object[] oldObjectStore
        end local 5 // int sourceCapacity
        12: .line 144
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 3 /* newObjectStore */
            aload 2 /* newShape */
            invokevirtual com.oracle.truffle.object.DynamicObjectBasic.setObjectStore:([Ljava/lang/Object;Lcom/oracle/truffle/api/object/Shape;)V
        13: .line 145
            return
        end local 4 // int destinationCapacity
        end local 3 // java.lang.Object[] newObjectStore
        end local 2 // com.oracle.truffle.api.object.Shape newShape
        end local 1 // com.oracle.truffle.api.object.Shape oldShape
        end local 0 // com.oracle.truffle.object.DynamicObjectBasic this
      LocalVariableTable:
        Start  End  Slot                 Name  Signature
            0   14     0                 this  Lcom/oracle/truffle/object/DynamicObjectBasic;
            0   14     1             oldShape  Lcom/oracle/truffle/api/object/Shape;
            0   14     2             newShape  Lcom/oracle/truffle/api/object/Shape;
            1   14     3       newObjectStore  [Ljava/lang/Object;
            2   14     4  destinationCapacity  I
            5   12     5       sourceCapacity  I
            7   12     6       oldObjectStore  [Ljava/lang/Object;
            8   12     7                    i  I
    MethodParameters:
          Name  Flags
      oldShape  
      newShape  

  private java.lang.Object[] getObjectStore(com.oracle.truffle.api.object.Shape);
    descriptor: (Lcom/oracle/truffle/api/object/Shape;)[Ljava/lang/Object;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.oracle.truffle.object.DynamicObjectBasic this
        start local 1 // com.oracle.truffle.api.object.Shape currentShape
         0: .line 148
            getstatic com.oracle.truffle.object.LayoutImpl.ACCESS:Lcom/oracle/truffle/object/LayoutImpl$CoreAccess;
            aload 0 /* this */
            invokevirtual com.oracle.truffle.object.LayoutImpl$CoreAccess.getObjectArray:(Lcom/oracle/truffle/api/object/DynamicObject;)[Ljava/lang/Object;
            areturn
        end local 1 // com.oracle.truffle.api.object.Shape currentShape
        end local 0 // com.oracle.truffle.object.DynamicObjectBasic this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    1     0          this  Lcom/oracle/truffle/object/DynamicObjectBasic;
            0    1     1  currentShape  Lcom/oracle/truffle/api/object/Shape;
    MethodParameters:
              Name  Flags
      currentShape  

  private void setObjectStore(java.lang.Object[], com.oracle.truffle.api.object.Shape);
    descriptor: ([Ljava/lang/Object;Lcom/oracle/truffle/api/object/Shape;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // com.oracle.truffle.object.DynamicObjectBasic this
        start local 1 // java.lang.Object[] newArray
        start local 2 // com.oracle.truffle.api.object.Shape currentShape
         0: .line 152
            getstatic com.oracle.truffle.object.LayoutImpl.ACCESS:Lcom/oracle/truffle/object/LayoutImpl$CoreAccess;
            aload 0 /* this */
            aload 1 /* newArray */
            invokevirtual com.oracle.truffle.object.LayoutImpl$CoreAccess.setObjectArray:(Lcom/oracle/truffle/api/object/DynamicObject;[Ljava/lang/Object;)V
         1: .line 153
            return
        end local 2 // com.oracle.truffle.api.object.Shape currentShape
        end local 1 // java.lang.Object[] newArray
        end local 0 // com.oracle.truffle.object.DynamicObjectBasic this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    2     0          this  Lcom/oracle/truffle/object/DynamicObjectBasic;
            0    2     1      newArray  [Ljava/lang/Object;
            0    2     2  currentShape  Lcom/oracle/truffle/api/object/Shape;
    MethodParameters:
              Name  Flags
      newArray      
      currentShape  

  private int[] getPrimitiveStore(com.oracle.truffle.api.object.Shape);
    descriptor: (Lcom/oracle/truffle/api/object/Shape;)[I
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.oracle.truffle.object.DynamicObjectBasic this
        start local 1 // com.oracle.truffle.api.object.Shape currentShape
         0: .line 156
            getstatic com.oracle.truffle.object.LayoutImpl.ACCESS:Lcom/oracle/truffle/object/LayoutImpl$CoreAccess;
            aload 0 /* this */
            invokevirtual com.oracle.truffle.object.LayoutImpl$CoreAccess.getPrimitiveArray:(Lcom/oracle/truffle/api/object/DynamicObject;)[I
            areturn
        end local 1 // com.oracle.truffle.api.object.Shape currentShape
        end local 0 // com.oracle.truffle.object.DynamicObjectBasic this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    1     0          this  Lcom/oracle/truffle/object/DynamicObjectBasic;
            0    1     1  currentShape  Lcom/oracle/truffle/api/object/Shape;
    MethodParameters:
              Name  Flags
      currentShape  

  private void setPrimitiveStore(int[], com.oracle.truffle.api.object.Shape);
    descriptor: ([ILcom/oracle/truffle/api/object/Shape;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // com.oracle.truffle.object.DynamicObjectBasic this
        start local 1 // int[] newArray
        start local 2 // com.oracle.truffle.api.object.Shape currentShape
         0: .line 160
            getstatic com.oracle.truffle.object.LayoutImpl.ACCESS:Lcom/oracle/truffle/object/LayoutImpl$CoreAccess;
            aload 0 /* this */
            aload 1 /* newArray */
            invokevirtual com.oracle.truffle.object.LayoutImpl$CoreAccess.setPrimitiveArray:(Lcom/oracle/truffle/api/object/DynamicObject;[I)V
         1: .line 161
            return
        end local 2 // com.oracle.truffle.api.object.Shape currentShape
        end local 1 // int[] newArray
        end local 0 // com.oracle.truffle.object.DynamicObjectBasic this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    2     0          this  Lcom/oracle/truffle/object/DynamicObjectBasic;
            0    2     1      newArray  [I
            0    2     2  currentShape  Lcom/oracle/truffle/api/object/Shape;
    MethodParameters:
              Name  Flags
      newArray      
      currentShape  

  protected final void resizePrimitiveStore(com.oracle.truffle.api.object.Shape, com.oracle.truffle.api.object.Shape);
    descriptor: (Lcom/oracle/truffle/api/object/Shape;Lcom/oracle/truffle/api/object/Shape;)V
    flags: (0x0014) ACC_PROTECTED, ACC_FINAL
    Code:
      stack=4, locals=8, args_size=3
        start local 0 // com.oracle.truffle.object.DynamicObjectBasic this
        start local 1 // com.oracle.truffle.api.object.Shape oldShape
        start local 2 // com.oracle.truffle.api.object.Shape newShape
         0: .line 165
            getstatic com.oracle.truffle.object.DynamicObjectBasic.$assertionsDisabled:Z
            ifne 1
            aload 2 /* newShape */
            checkcast com.oracle.truffle.object.ShapeImpl
            invokevirtual com.oracle.truffle.object.ShapeImpl.hasPrimitiveArray:()Z
            ifne 1
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         1: .line 166
      StackMap locals:
      StackMap stack:
            aconst_null
            astore 3 /* newPrimitiveArray */
        start local 3 // int[] newPrimitiveArray
         2: .line 167
            aload 2 /* newShape */
            checkcast com.oracle.truffle.object.ShapeImpl
            invokevirtual com.oracle.truffle.object.ShapeImpl.getPrimitiveArrayCapacity:()I
            istore 4 /* destinationCapacity */
        start local 4 // int destinationCapacity
         3: .line 168
            iload 4 /* destinationCapacity */
            ifeq 13
         4: .line 169
            iload 4 /* destinationCapacity */
            newarray 10
            astore 3 /* newPrimitiveArray */
         5: .line 170
            aload 1 /* oldShape */
            checkcast com.oracle.truffle.object.ShapeImpl
            invokevirtual com.oracle.truffle.object.ShapeImpl.getPrimitiveArrayCapacity:()I
            istore 5 /* sourceCapacity */
        start local 5 // int sourceCapacity
         6: .line 171
            iload 5 /* sourceCapacity */
            ifeq 13
         7: .line 172
            aload 0 /* this */
            aload 2 /* newShape */
            invokevirtual com.oracle.truffle.object.DynamicObjectBasic.getPrimitiveStore:(Lcom/oracle/truffle/api/object/Shape;)[I
            astore 6 /* oldPrimitiveArray */
        start local 6 // int[] oldPrimitiveArray
         8: .line 173
            iconst_0
            istore 7 /* i */
        start local 7 // int i
         9: goto 12
        10: .line 174
      StackMap locals: com.oracle.truffle.object.DynamicObjectBasic com.oracle.truffle.api.object.Shape com.oracle.truffle.api.object.Shape int[] int int int[] int
      StackMap stack:
            aload 3 /* newPrimitiveArray */
            iload 7 /* i */
            aload 6 /* oldPrimitiveArray */
            iload 7 /* i */
            iaload
            iastore
        11: .line 173
            iinc 7 /* i */ 1
      StackMap locals:
      StackMap stack:
        12: iload 7 /* i */
            iload 5 /* sourceCapacity */
            iload 4 /* destinationCapacity */
            invokestatic java.lang.Math.min:(II)I
            if_icmplt 10
        end local 7 // int i
        end local 6 // int[] oldPrimitiveArray
        end local 5 // int sourceCapacity
        13: .line 178
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 3 /* newPrimitiveArray */
            aload 2 /* newShape */
            invokevirtual com.oracle.truffle.object.DynamicObjectBasic.setPrimitiveStore:([ILcom/oracle/truffle/api/object/Shape;)V
        14: .line 179
            return
        end local 4 // int destinationCapacity
        end local 3 // int[] newPrimitiveArray
        end local 2 // com.oracle.truffle.api.object.Shape newShape
        end local 1 // com.oracle.truffle.api.object.Shape oldShape
        end local 0 // com.oracle.truffle.object.DynamicObjectBasic this
      LocalVariableTable:
        Start  End  Slot                 Name  Signature
            0   15     0                 this  Lcom/oracle/truffle/object/DynamicObjectBasic;
            0   15     1             oldShape  Lcom/oracle/truffle/api/object/Shape;
            0   15     2             newShape  Lcom/oracle/truffle/api/object/Shape;
            2   15     3    newPrimitiveArray  [I
            3   15     4  destinationCapacity  I
            6   13     5       sourceCapacity  I
            8   13     6    oldPrimitiveArray  [I
            9   13     7                    i  I
    MethodParameters:
          Name  Flags
      oldShape  
      newShape  

  private boolean checkSetShape(com.oracle.truffle.api.object.Shape, com.oracle.truffle.api.object.Shape);
    descriptor: (Lcom/oracle/truffle/api/object/Shape;Lcom/oracle/truffle/api/object/Shape;)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=4, args_size=3
        start local 0 // com.oracle.truffle.object.DynamicObjectBasic this
        start local 1 // com.oracle.truffle.api.object.Shape oldShape
        start local 2 // com.oracle.truffle.api.object.Shape newShape
         0: .line 188
            aload 0 /* this */
            invokevirtual com.oracle.truffle.object.DynamicObjectBasic.getShape:()Lcom/oracle/truffle/api/object/Shape;
            astore 3 /* currentShape */
        start local 3 // com.oracle.truffle.api.object.Shape currentShape
         1: .line 189
            getstatic com.oracle.truffle.object.DynamicObjectBasic.$assertionsDisabled:Z
            ifne 2
            aload 1 /* oldShape */
            aload 2 /* newShape */
            if_acmpne 2
            new java.lang.AssertionError
            dup
            ldc "Wrong old shape assumption?"
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
         2: .line 190
      StackMap locals: com.oracle.truffle.api.object.Shape
      StackMap stack:
            getstatic com.oracle.truffle.object.DynamicObjectBasic.$assertionsDisabled:Z
            ifne 3
            aload 2 /* newShape */
            aload 3 /* currentShape */
            if_acmpne 3
            new java.lang.AssertionError
            dup
            new java.lang.StringBuilder
            dup
            ldc "Redundant shape change? shape="
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 3 /* currentShape */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
         3: .line 191
      StackMap locals:
      StackMap stack:
            getstatic com.oracle.truffle.object.DynamicObjectBasic.$assertionsDisabled:Z
            ifne 4
            aload 1 /* oldShape */
            aload 3 /* currentShape */
            if_acmpeq 4
            aload 1 /* oldShape */
            invokevirtual com.oracle.truffle.api.object.Shape.getParent:()Lcom/oracle/truffle/api/object/Shape;
            aload 3 /* currentShape */
            if_acmpeq 4
            new java.lang.AssertionError
            dup
            new java.lang.StringBuilder
            dup
            ldc "Out-of-order shape change?\nparentShape="
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 3 /* currentShape */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc "\noldShape="
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 1 /* oldShape */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc "\nnewShape="
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 2 /* newShape */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
         4: .line 192
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
        end local 3 // com.oracle.truffle.api.object.Shape currentShape
        end local 2 // com.oracle.truffle.api.object.Shape newShape
        end local 1 // com.oracle.truffle.api.object.Shape oldShape
        end local 0 // com.oracle.truffle.object.DynamicObjectBasic this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    5     0          this  Lcom/oracle/truffle/object/DynamicObjectBasic;
            0    5     1      oldShape  Lcom/oracle/truffle/api/object/Shape;
            0    5     2      newShape  Lcom/oracle/truffle/api/object/Shape;
            1    5     3  currentShape  Lcom/oracle/truffle/api/object/Shape;
    MethodParameters:
          Name  Flags
      oldShape  
      newShape  

  protected final boolean checkExtensionArrayInvariants(com.oracle.truffle.api.object.Shape);
    descriptor: (Lcom/oracle/truffle/api/object/Shape;)Z
    flags: (0x0014) ACC_PROTECTED, ACC_FINAL
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.oracle.truffle.object.DynamicObjectBasic this
        start local 1 // com.oracle.truffle.api.object.Shape newShape
         0: .line 200
            getstatic com.oracle.truffle.object.DynamicObjectBasic.$assertionsDisabled:Z
            ifne 1
            aload 0 /* this */
            invokevirtual com.oracle.truffle.object.DynamicObjectBasic.getShape:()Lcom/oracle/truffle/api/object/Shape;
            aload 1 /* newShape */
            if_acmpeq 1
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         1: .line 201
      StackMap locals:
      StackMap stack:
            getstatic com.oracle.truffle.object.DynamicObjectBasic.$assertionsDisabled:Z
            ifne 4
            aload 0 /* this */
            aload 1 /* newShape */
            invokevirtual com.oracle.truffle.object.DynamicObjectBasic.getObjectStore:(Lcom/oracle/truffle/api/object/Shape;)[Ljava/lang/Object;
            ifnonnull 2
            aload 1 /* newShape */
            checkcast com.oracle.truffle.object.ShapeImpl
            invokevirtual com.oracle.truffle.object.ShapeImpl.getObjectArrayCapacity:()I
            ifeq 4
         2: .line 202
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* newShape */
            invokevirtual com.oracle.truffle.object.DynamicObjectBasic.getObjectStore:(Lcom/oracle/truffle/api/object/Shape;)[Ljava/lang/Object;
            ifnull 3
            aload 0 /* this */
            aload 1 /* newShape */
            invokevirtual com.oracle.truffle.object.DynamicObjectBasic.getObjectStore:(Lcom/oracle/truffle/api/object/Shape;)[Ljava/lang/Object;
            arraylength
            aload 1 /* newShape */
            checkcast com.oracle.truffle.object.ShapeImpl
            invokevirtual com.oracle.truffle.object.ShapeImpl.getObjectArrayCapacity:()I
            if_icmpeq 4
      StackMap locals:
      StackMap stack:
         3: new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         4: .line 203
      StackMap locals:
      StackMap stack:
            aload 1 /* newShape */
            checkcast com.oracle.truffle.object.ShapeImpl
            invokevirtual com.oracle.truffle.object.ShapeImpl.hasPrimitiveArray:()Z
            ifeq 8
         5: .line 204
            getstatic com.oracle.truffle.object.DynamicObjectBasic.$assertionsDisabled:Z
            ifne 8
            aload 0 /* this */
            aload 1 /* newShape */
            invokevirtual com.oracle.truffle.object.DynamicObjectBasic.getPrimitiveStore:(Lcom/oracle/truffle/api/object/Shape;)[I
            ifnonnull 6
            aload 1 /* newShape */
            checkcast com.oracle.truffle.object.ShapeImpl
            invokevirtual com.oracle.truffle.object.ShapeImpl.getPrimitiveArrayCapacity:()I
            ifeq 8
         6: .line 205
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* newShape */
            invokevirtual com.oracle.truffle.object.DynamicObjectBasic.getPrimitiveStore:(Lcom/oracle/truffle/api/object/Shape;)[I
            ifnull 7
            aload 0 /* this */
            aload 1 /* newShape */
            invokevirtual com.oracle.truffle.object.DynamicObjectBasic.getPrimitiveStore:(Lcom/oracle/truffle/api/object/Shape;)[I
            arraylength
            aload 1 /* newShape */
            checkcast com.oracle.truffle.object.ShapeImpl
            invokevirtual com.oracle.truffle.object.ShapeImpl.getPrimitiveArrayCapacity:()I
            if_icmpeq 8
      StackMap locals:
      StackMap stack:
         7: new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         8: .line 207
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
        end local 1 // com.oracle.truffle.api.object.Shape newShape
        end local 0 // com.oracle.truffle.object.DynamicObjectBasic this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    9     0      this  Lcom/oracle/truffle/object/DynamicObjectBasic;
            0    9     1  newShape  Lcom/oracle/truffle/api/object/Shape;
    MethodParameters:
          Name  Flags
      newShape  

  protected final com.oracle.truffle.api.object.DynamicObject cloneWithShape(com.oracle.truffle.api.object.Shape);
    descriptor: (Lcom/oracle/truffle/api/object/Shape;)Lcom/oracle/truffle/api/object/DynamicObject;
    flags: (0x0014) ACC_PROTECTED, ACC_FINAL
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // com.oracle.truffle.object.DynamicObjectBasic this
        start local 1 // com.oracle.truffle.api.object.Shape currentShape
         0: .line 212
            getstatic com.oracle.truffle.object.DynamicObjectBasic.$assertionsDisabled:Z
            ifne 1
            aload 0 /* this */
            invokevirtual com.oracle.truffle.object.DynamicObjectBasic.getShape:()Lcom/oracle/truffle/api/object/Shape;
            aload 1 /* currentShape */
            if_acmpeq 1
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         1: .line 213
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokespecial com.oracle.truffle.object.DynamicObjectImpl.clone:()Lcom/oracle/truffle/api/object/DynamicObject;
            checkcast com.oracle.truffle.object.DynamicObjectBasic
            astore 2 /* clone */
        start local 2 // com.oracle.truffle.object.DynamicObjectBasic clone
         2: .line 214
            aload 0 /* this */
            aload 1 /* currentShape */
            invokevirtual com.oracle.truffle.object.DynamicObjectBasic.getObjectStore:(Lcom/oracle/truffle/api/object/Shape;)[Ljava/lang/Object;
            ifnull 4
         3: .line 215
            aload 2 /* clone */
            aload 0 /* this */
            aload 1 /* currentShape */
            invokevirtual com.oracle.truffle.object.DynamicObjectBasic.getObjectStore:(Lcom/oracle/truffle/api/object/Shape;)[Ljava/lang/Object;
            invokevirtual java.lang.Object[].clone:()Ljava/lang/Object;
            checkcast java.lang.Object[]
            aload 1 /* currentShape */
            invokevirtual com.oracle.truffle.object.DynamicObjectBasic.setObjectStore:([Ljava/lang/Object;Lcom/oracle/truffle/api/object/Shape;)V
         4: .line 217
      StackMap locals: com.oracle.truffle.object.DynamicObjectBasic
      StackMap stack:
            aload 1 /* currentShape */
            checkcast com.oracle.truffle.object.ShapeImpl
            invokevirtual com.oracle.truffle.object.ShapeImpl.hasPrimitiveArray:()Z
            ifeq 6
            aload 0 /* this */
            aload 1 /* currentShape */
            invokevirtual com.oracle.truffle.object.DynamicObjectBasic.getPrimitiveStore:(Lcom/oracle/truffle/api/object/Shape;)[I
            ifnull 6
         5: .line 218
            aload 2 /* clone */
            aload 0 /* this */
            aload 1 /* currentShape */
            invokevirtual com.oracle.truffle.object.DynamicObjectBasic.getPrimitiveStore:(Lcom/oracle/truffle/api/object/Shape;)[I
            invokevirtual int[].clone:()Ljava/lang/Object;
            checkcast int[]
            aload 1 /* currentShape */
            invokevirtual com.oracle.truffle.object.DynamicObjectBasic.setPrimitiveStore:([ILcom/oracle/truffle/api/object/Shape;)V
         6: .line 220
      StackMap locals:
      StackMap stack:
            aload 2 /* clone */
            areturn
        end local 2 // com.oracle.truffle.object.DynamicObjectBasic clone
        end local 1 // com.oracle.truffle.api.object.Shape currentShape
        end local 0 // com.oracle.truffle.object.DynamicObjectBasic this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    7     0          this  Lcom/oracle/truffle/object/DynamicObjectBasic;
            0    7     1  currentShape  Lcom/oracle/truffle/api/object/Shape;
            2    7     2         clone  Lcom/oracle/truffle/object/DynamicObjectBasic;
    MethodParameters:
              Name  Flags
      currentShape  

  protected final void reshape(com.oracle.truffle.object.ShapeImpl);
    descriptor: (Lcom/oracle/truffle/object/ShapeImpl;)V
    flags: (0x0014) ACC_PROTECTED, ACC_FINAL
    Code:
      stack=7, locals=6, args_size=2
        start local 0 // com.oracle.truffle.object.DynamicObjectBasic this
        start local 1 // com.oracle.truffle.object.ShapeImpl newShape
         0: .line 226
            aload 0 /* this */
            invokevirtual com.oracle.truffle.object.DynamicObjectBasic.getShape:()Lcom/oracle/truffle/api/object/Shape;
            checkcast com.oracle.truffle.object.ShapeImpl
            astore 2 /* oldShape */
        start local 2 // com.oracle.truffle.object.ShapeImpl oldShape
         1: .line 227
            aload 2 /* oldShape */
            aload 1 /* newShape */
            invokestatic com.oracle.truffle.object.ShapeImpl.findCommonAncestor:(Lcom/oracle/truffle/object/ShapeImpl;Lcom/oracle/truffle/object/ShapeImpl;)Lcom/oracle/truffle/object/ShapeImpl;
            astore 3 /* commonAncestor */
        start local 3 // com.oracle.truffle.object.ShapeImpl commonAncestor
         2: .line 228
            getstatic com.oracle.truffle.object.ObjectStorageOptions.TraceReshape:Z
            ifeq 8
         3: .line 229
            sipush 200
            istore 4 /* limit */
        start local 4 // int limit
         4: .line 230
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            astore 5 /* out */
        start local 5 // java.io.PrintStream out
         5: .line 231
            aload 5 /* out */
            ldc "RESHAPE\nOLD %s\nNEW %s\nLCA %s\nDIFF %s\n---\n"
            iconst_4
            anewarray java.lang.Object
            dup
            iconst_0
            aload 2 /* oldShape */
            iload 4 /* limit */
            invokevirtual com.oracle.truffle.object.ShapeImpl.toStringLimit:(I)Ljava/lang/String;
            aastore
            dup
            iconst_1
            aload 1 /* newShape */
            iload 4 /* limit */
            invokevirtual com.oracle.truffle.object.ShapeImpl.toStringLimit:(I)Ljava/lang/String;
            aastore
            dup
            iconst_2
            aload 3 /* commonAncestor */
            iload 4 /* limit */
            invokevirtual com.oracle.truffle.object.ShapeImpl.toStringLimit:(I)Ljava/lang/String;
            aastore
            dup
            iconst_3
         6: .line 232
            aload 2 /* oldShape */
            aload 1 /* newShape */
            invokestatic com.oracle.truffle.object.ShapeImpl.diff:(Lcom/oracle/truffle/api/object/Shape;Lcom/oracle/truffle/api/object/Shape;)Ljava/util/List;
            aastore
         7: .line 231
            invokevirtual java.io.PrintStream.printf:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/io/PrintStream;
            pop
        end local 5 // java.io.PrintStream out
        end local 4 // int limit
         8: .line 235
      StackMap locals: com.oracle.truffle.object.ShapeImpl com.oracle.truffle.object.ShapeImpl
      StackMap stack:
            aload 0 /* this */
            aload 2 /* oldShape */
            invokevirtual com.oracle.truffle.object.DynamicObjectBasic.cloneWithShape:(Lcom/oracle/truffle/api/object/Shape;)Lcom/oracle/truffle/api/object/DynamicObject;
            astore 4 /* original */
        start local 4 // com.oracle.truffle.api.object.DynamicObject original
         9: .line 236
            aload 0 /* this */
            aload 2 /* oldShape */
            aload 1 /* newShape */
            invokevirtual com.oracle.truffle.object.DynamicObjectBasic.setShapeAndGrow:(Lcom/oracle/truffle/api/object/Shape;Lcom/oracle/truffle/api/object/Shape;)V
        10: .line 237
            getstatic com.oracle.truffle.object.DynamicObjectBasic.$assertionsDisabled:Z
            ifne 11
            aload 1 /* newShape */
            invokevirtual com.oracle.truffle.object.ShapeImpl.hasPrimitiveArray:()Z
            ifeq 11
            aload 1 /* newShape */
            invokevirtual com.oracle.truffle.object.ShapeImpl.getPrimitiveArrayCapacity:()I
            ifne 11
            aload 0 /* this */
            aload 1 /* newShape */
            invokevirtual com.oracle.truffle.object.DynamicObjectBasic.getPrimitiveStore:(Lcom/oracle/truffle/api/object/Shape;)[I
            ifnull 11
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        11: .line 238
      StackMap locals: com.oracle.truffle.api.object.DynamicObject
      StackMap stack:
            aload 0 /* this */
            aload 4 /* original */
            aload 3 /* commonAncestor */
            invokevirtual com.oracle.truffle.object.DynamicObjectBasic.copyProperties:(Lcom/oracle/truffle/api/object/DynamicObject;Lcom/oracle/truffle/api/object/Shape;)V
        12: .line 239
            getstatic com.oracle.truffle.object.DynamicObjectBasic.$assertionsDisabled:Z
            ifne 13
            aload 0 /* this */
            aload 1 /* newShape */
            invokevirtual com.oracle.truffle.object.DynamicObjectBasic.checkExtensionArrayInvariants:(Lcom/oracle/truffle/api/object/Shape;)Z
            ifne 13
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        13: .line 240
      StackMap locals:
      StackMap stack:
            return
        end local 4 // com.oracle.truffle.api.object.DynamicObject original
        end local 3 // com.oracle.truffle.object.ShapeImpl commonAncestor
        end local 2 // com.oracle.truffle.object.ShapeImpl oldShape
        end local 1 // com.oracle.truffle.object.ShapeImpl newShape
        end local 0 // com.oracle.truffle.object.DynamicObjectBasic this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   14     0            this  Lcom/oracle/truffle/object/DynamicObjectBasic;
            0   14     1        newShape  Lcom/oracle/truffle/object/ShapeImpl;
            1   14     2        oldShape  Lcom/oracle/truffle/object/ShapeImpl;
            2   14     3  commonAncestor  Lcom/oracle/truffle/object/ShapeImpl;
            4    8     4           limit  I
            5    8     5             out  Ljava/io/PrintStream;
            9   14     4        original  Lcom/oracle/truffle/api/object/DynamicObject;
    MethodParameters:
          Name  Flags
      newShape  
}
SourceFile: "DynamicObjectBasic.java"
NestMembers:
  com.oracle.truffle.object.DynamicObjectBasic$1  com.oracle.truffle.object.DynamicObjectBasic$2  com.oracle.truffle.object.DynamicObjectBasic$3  com.oracle.truffle.object.DynamicObjectBasic$4  com.oracle.truffle.object.DynamicObjectBasic$5  com.oracle.truffle.object.DynamicObjectBasic$6  com.oracle.truffle.object.DynamicObjectBasic$7  com.oracle.truffle.object.DynamicObjectBasic$BasicLongFieldLocation  com.oracle.truffle.object.DynamicObjectBasic$BasicObjectFieldLocation
InnerClasses:
  com.oracle.truffle.object.DynamicObjectBasic$1
  com.oracle.truffle.object.DynamicObjectBasic$2
  com.oracle.truffle.object.DynamicObjectBasic$3
  com.oracle.truffle.object.DynamicObjectBasic$4
  com.oracle.truffle.object.DynamicObjectBasic$5
  com.oracle.truffle.object.DynamicObjectBasic$6
  com.oracle.truffle.object.DynamicObjectBasic$7
  abstract BasicLongFieldLocation = com.oracle.truffle.object.DynamicObjectBasic$BasicLongFieldLocation of com.oracle.truffle.object.DynamicObjectBasic
  abstract BasicObjectFieldLocation = com.oracle.truffle.object.DynamicObjectBasic$BasicObjectFieldLocation of com.oracle.truffle.object.DynamicObjectBasic
  final CoreAccess = com.oracle.truffle.object.LayoutImpl$CoreAccess of com.oracle.truffle.object.LayoutImpl