public class com.oracle.truffle.object.basic.test.DynamicObjectLibraryTest extends com.oracle.truffle.api.test.AbstractParametrizedLibraryTest
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: com.oracle.truffle.object.basic.test.DynamicObjectLibraryTest
  super_class: com.oracle.truffle.api.test.AbstractParametrizedLibraryTest
{
  public java.util.function.Supplier<? extends com.oracle.truffle.api.object.DynamicObject> emptyObjectSupplier;
    descriptor: Ljava/util/function/Supplier;
    flags: (0x0001) ACC_PUBLIC
    Signature: Ljava/util/function/Supplier<+Lcom/oracle/truffle/api/object/DynamicObject;>;
    RuntimeVisibleAnnotations: 
      org.junit.runners.Parameterized$Parameter(value = 1)

  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.oracle.truffle.object.basic.test.DynamicObjectLibraryTest this
         0: .line 75
            aload 0 /* this */
            invokespecial com.oracle.truffle.api.test.AbstractParametrizedLibraryTest.<init>:()V
            return
        end local 0 // com.oracle.truffle.object.basic.test.DynamicObjectLibraryTest this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/oracle/truffle/object/basic/test/DynamicObjectLibraryTest;

  private com.oracle.truffle.api.object.DynamicObject createEmpty();
    descriptor: ()Lcom/oracle/truffle/api/object/DynamicObject;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.oracle.truffle.object.basic.test.DynamicObjectLibraryTest this
         0: .line 79
            aload 0 /* this */
            getfield com.oracle.truffle.object.basic.test.DynamicObjectLibraryTest.emptyObjectSupplier:Ljava/util/function/Supplier;
            invokeinterface java.util.function.Supplier.get:()Ljava/lang/Object;
            checkcast com.oracle.truffle.api.object.DynamicObject
            areturn
        end local 0 // com.oracle.truffle.object.basic.test.DynamicObjectLibraryTest this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/oracle/truffle/object/basic/test/DynamicObjectLibraryTest;

  public static java.util.Collection<java.lang.Object[]> parameters();
    descriptor: ()Ljava/util/Collection;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=9, args_size=0
         0: .line 84
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 0 /* params */
        start local 0 // java.util.Collection params
         1: .line 86
            invokestatic com.oracle.truffle.object.basic.test.DynamicObjectLibraryTest.newObjectType:()Ljava/lang/Object;
            astore 1 /* objectType */
        start local 1 // java.lang.Object objectType
         2: .line 87
            invokestatic com.oracle.truffle.api.object.Layout.createLayout:()Lcom/oracle/truffle/api/object/Layout;
            astore 2 /* layout */
        start local 2 // com.oracle.truffle.api.object.Layout layout
         3: .line 88
            aload 2 /* layout */
            aload 1 /* objectType */
            checkcast com.oracle.truffle.api.object.ObjectType
            invokevirtual com.oracle.truffle.api.object.Layout.createShape:(Lcom/oracle/truffle/api/object/ObjectType;)Lcom/oracle/truffle/api/object/Shape;
            astore 3 /* shape */
        start local 3 // com.oracle.truffle.api.object.Shape shape
         4: .line 89
            aload 3 /* shape */
            invokedynamic get(Lcom/oracle/truffle/api/object/Shape;)Ljava/util/function/Supplier;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  ()Ljava/lang/Object;
                  com/oracle/truffle/object/basic/test/DynamicObjectLibraryTest.lambda$0(Lcom/oracle/truffle/api/object/Shape;)Ljava/lang/Object; (6)
                  ()Ljava/lang/Object;
            astore 4 /* doSupplier */
        start local 4 // java.util.function.Supplier doSupplier
         5: .line 90
            aload 0 /* params */
            aload 4 /* doSupplier */
            invokestatic com.oracle.truffle.object.basic.test.DynamicObjectLibraryTest.addParams:(Ljava/util/Collection;Ljava/util/function/Supplier;)V
         6: .line 92
            invokestatic com.oracle.truffle.api.object.Shape.newBuilder:()Lcom/oracle/truffle/api/object/Shape$Builder;
            invokevirtual com.oracle.truffle.api.object.Shape$Builder.build:()Lcom/oracle/truffle/api/object/Shape;
            astore 5 /* shapeMin */
        start local 5 // com.oracle.truffle.api.object.Shape shapeMin
         7: .line 93
            aload 5 /* shapeMin */
            invokedynamic get(Lcom/oracle/truffle/api/object/Shape;)Ljava/util/function/Supplier;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  ()Ljava/lang/Object;
                  com/oracle/truffle/object/basic/test/DynamicObjectLibraryTest.lambda$1(Lcom/oracle/truffle/api/object/Shape;)Lcom/oracle/truffle/api/object/DynamicObject; (6)
                  ()Lcom/oracle/truffle/api/object/DynamicObject;
            astore 6 /* minimalSupplier */
        start local 6 // java.util.function.Supplier minimalSupplier
         8: .line 94
            aload 0 /* params */
            aload 6 /* minimalSupplier */
            invokestatic com.oracle.truffle.object.basic.test.DynamicObjectLibraryTest.addParams:(Ljava/util/Collection;Ljava/util/function/Supplier;)V
         9: .line 96
            invokestatic com.oracle.truffle.api.object.Shape.newBuilder:()Lcom/oracle/truffle/api/object/Shape$Builder;
            ldc Lcom/oracle/truffle/object/basic/test/TestDynamicObjectDefault;
            invokevirtual com.oracle.truffle.api.object.Shape$Builder.layout:(Ljava/lang/Class;)Lcom/oracle/truffle/api/object/Shape$Builder;
            invokevirtual com.oracle.truffle.api.object.Shape$Builder.build:()Lcom/oracle/truffle/api/object/Shape;
            astore 7 /* shapeDef */
        start local 7 // com.oracle.truffle.api.object.Shape shapeDef
        10: .line 97
            aload 7 /* shapeDef */
            invokedynamic get(Lcom/oracle/truffle/api/object/Shape;)Ljava/util/function/Supplier;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  ()Ljava/lang/Object;
                  com/oracle/truffle/object/basic/test/DynamicObjectLibraryTest.lambda$2(Lcom/oracle/truffle/api/object/Shape;)Lcom/oracle/truffle/api/object/DynamicObject; (6)
                  ()Lcom/oracle/truffle/api/object/DynamicObject;
            astore 8 /* defaultSupplier */
        start local 8 // java.util.function.Supplier defaultSupplier
        11: .line 98
            aload 0 /* params */
            aload 8 /* defaultSupplier */
            invokestatic com.oracle.truffle.object.basic.test.DynamicObjectLibraryTest.addParams:(Ljava/util/Collection;Ljava/util/function/Supplier;)V
        12: .line 100
            aload 0 /* params */
            areturn
        end local 8 // java.util.function.Supplier defaultSupplier
        end local 7 // com.oracle.truffle.api.object.Shape shapeDef
        end local 6 // java.util.function.Supplier minimalSupplier
        end local 5 // com.oracle.truffle.api.object.Shape shapeMin
        end local 4 // java.util.function.Supplier doSupplier
        end local 3 // com.oracle.truffle.api.object.Shape shape
        end local 2 // com.oracle.truffle.api.object.Layout layout
        end local 1 // java.lang.Object objectType
        end local 0 // java.util.Collection params
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            1   13     0           params  Ljava/util/Collection<[Ljava/lang/Object;>;
            2   13     1       objectType  Ljava/lang/Object;
            3   13     2           layout  Lcom/oracle/truffle/api/object/Layout;
            4   13     3            shape  Lcom/oracle/truffle/api/object/Shape;
            5   13     4       doSupplier  Ljava/util/function/Supplier<+Ljava/lang/Object;>;
            7   13     5         shapeMin  Lcom/oracle/truffle/api/object/Shape;
            8   13     6  minimalSupplier  Ljava/util/function/Supplier<+Lcom/oracle/truffle/api/object/DynamicObject;>;
           10   13     7         shapeDef  Lcom/oracle/truffle/api/object/Shape;
           11   13     8  defaultSupplier  Ljava/util/function/Supplier<+Lcom/oracle/truffle/api/object/DynamicObject;>;
    Signature: ()Ljava/util/Collection<[Ljava/lang/Object;>;
    RuntimeVisibleAnnotations: 
      org.junit.runners.Parameterized$Parameters()

  private static void addParams(java.util.Collection<java.lang.Object[]>, java.util.function.Supplier<? extends java.lang.Object>);
    descriptor: (Ljava/util/Collection;Ljava/util/function/Supplier;)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=5, locals=6, args_size=2
        start local 0 // java.util.Collection params
        start local 1 // java.util.function.Supplier supplier
         0: .line 104
            invokestatic com.oracle.truffle.api.test.AbstractParametrizedLibraryTest$TestRun.values:()[Lcom/oracle/truffle/api/test/AbstractParametrizedLibraryTest$TestRun;
            dup
            astore 5
            arraylength
            istore 4
            iconst_0
            istore 3
            goto 4
      StackMap locals: java.util.Collection java.util.function.Supplier top int int com.oracle.truffle.api.test.AbstractParametrizedLibraryTest$TestRun[]
      StackMap stack:
         1: aload 5
            iload 3
            aaload
            astore 2 /* run */
        start local 2 // com.oracle.truffle.api.test.AbstractParametrizedLibraryTest$TestRun run
         2: .line 105
            aload 0 /* params */
            iconst_2
            anewarray java.lang.Object
            dup
            iconst_0
            aload 2 /* run */
            aastore
            dup
            iconst_1
            aload 1 /* supplier */
            aastore
            invokeinterface java.util.Collection.add:(Ljava/lang/Object;)Z
            pop
        end local 2 // com.oracle.truffle.api.test.AbstractParametrizedLibraryTest$TestRun run
         3: .line 104
            iinc 3 1
      StackMap locals:
      StackMap stack:
         4: iload 3
            iload 4
            if_icmplt 1
         5: .line 107
            return
        end local 1 // java.util.function.Supplier supplier
        end local 0 // java.util.Collection params
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    6     0    params  Ljava/util/Collection<[Ljava/lang/Object;>;
            0    6     1  supplier  Ljava/util/function/Supplier<+Ljava/lang/Object;>;
            2    3     2       run  Lcom/oracle/truffle/api/test/AbstractParametrizedLibraryTest$TestRun;
    Signature: (Ljava/util/Collection<[Ljava/lang/Object;>;Ljava/util/function/Supplier<+Ljava/lang/Object;>;)V
    MethodParameters:
          Name  Flags
      params    
      supplier  

  private com.oracle.truffle.api.object.DynamicObjectLibrary createDispatchedLibrary();
    descriptor: ()Lcom/oracle/truffle/api/object/DynamicObjectLibrary;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // com.oracle.truffle.object.basic.test.DynamicObjectLibraryTest this
         0: .line 110
            aload 0 /* this */
            getfield com.oracle.truffle.object.basic.test.DynamicObjectLibraryTest.run:Lcom/oracle/truffle/api/test/AbstractParametrizedLibraryTest$TestRun;
            getstatic com.oracle.truffle.api.test.AbstractParametrizedLibraryTest$TestRun.DISPATCHED_CACHED:Lcom/oracle/truffle/api/test/AbstractParametrizedLibraryTest$TestRun;
            if_acmpeq 1
            aload 0 /* this */
            getfield com.oracle.truffle.object.basic.test.DynamicObjectLibraryTest.run:Lcom/oracle/truffle/api/test/AbstractParametrizedLibraryTest$TestRun;
            getstatic com.oracle.truffle.api.test.AbstractParametrizedLibraryTest$TestRun.CACHED:Lcom/oracle/truffle/api/test/AbstractParametrizedLibraryTest$TestRun;
            if_acmpne 2
         1: .line 111
      StackMap locals:
      StackMap stack:
            invokestatic com.oracle.truffle.api.object.DynamicObjectLibrary.getFactory:()Lcom/oracle/truffle/api/library/LibraryFactory;
            iconst_5
            invokevirtual com.oracle.truffle.api.library.LibraryFactory.createDispatched:(I)Lcom/oracle/truffle/api/library/Library;
            checkcast com.oracle.truffle.api.object.DynamicObjectLibrary
            invokestatic com.oracle.truffle.object.basic.test.DynamicObjectLibraryTest.adopt:(Lcom/oracle/truffle/api/nodes/Node;)Lcom/oracle/truffle/api/nodes/Node;
            checkcast com.oracle.truffle.api.object.DynamicObjectLibrary
            areturn
         2: .line 113
      StackMap locals:
      StackMap stack:
            invokestatic com.oracle.truffle.api.object.DynamicObjectLibrary.getUncached:()Lcom/oracle/truffle/api/object/DynamicObjectLibrary;
            areturn
        end local 0 // com.oracle.truffle.object.basic.test.DynamicObjectLibraryTest this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lcom/oracle/truffle/object/basic/test/DynamicObjectLibraryTest;

  private com.oracle.truffle.api.object.DynamicObjectLibrary createLibraryForReceiver(com.oracle.truffle.api.object.DynamicObject);
    descriptor: (Lcom/oracle/truffle/api/object/DynamicObject;)Lcom/oracle/truffle/api/object/DynamicObjectLibrary;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // com.oracle.truffle.object.basic.test.DynamicObjectLibraryTest this
        start local 1 // com.oracle.truffle.api.object.DynamicObject receiver
         0: .line 117
            aload 0 /* this */
            ldc Lcom/oracle/truffle/api/object/DynamicObjectLibrary;
            aload 1 /* receiver */
            invokevirtual com.oracle.truffle.object.basic.test.DynamicObjectLibraryTest.createLibrary:(Ljava/lang/Class;Ljava/lang/Object;)Lcom/oracle/truffle/api/library/Library;
            checkcast com.oracle.truffle.api.object.DynamicObjectLibrary
            astore 2 /* objectLibrary */
        start local 2 // com.oracle.truffle.api.object.DynamicObjectLibrary objectLibrary
         1: .line 118
            aload 2 /* objectLibrary */
            aload 1 /* receiver */
            invokevirtual com.oracle.truffle.api.object.DynamicObjectLibrary.accepts:(Ljava/lang/Object;)Z
            invokestatic org.junit.Assert.assertTrue:(Z)V
         2: .line 119
            aload 2 /* objectLibrary */
            areturn
        end local 2 // com.oracle.truffle.api.object.DynamicObjectLibrary objectLibrary
        end local 1 // com.oracle.truffle.api.object.DynamicObject receiver
        end local 0 // com.oracle.truffle.object.basic.test.DynamicObjectLibraryTest this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    3     0           this  Lcom/oracle/truffle/object/basic/test/DynamicObjectLibraryTest;
            0    3     1       receiver  Lcom/oracle/truffle/api/object/DynamicObject;
            1    3     2  objectLibrary  Lcom/oracle/truffle/api/object/DynamicObjectLibrary;
    MethodParameters:
          Name  Flags
      receiver  

  private com.oracle.truffle.api.object.DynamicObjectLibrary createLibraryForReceiverAndKey(com.oracle.truffle.api.object.DynamicObject, java.lang.Object);
    descriptor: (Lcom/oracle/truffle/api/object/DynamicObject;Ljava/lang/Object;)Lcom/oracle/truffle/api/object/DynamicObjectLibrary;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=4, args_size=3
        start local 0 // com.oracle.truffle.object.basic.test.DynamicObjectLibraryTest this
        start local 1 // com.oracle.truffle.api.object.DynamicObject receiver
        start local 2 // java.lang.Object key
         0: .line 123
            aload 2 /* key */
            instanceof com.oracle.truffle.api.object.DynamicObject
            invokestatic org.junit.Assert.assertFalse:(Z)V
         1: .line 124
            aload 0 /* this */
            ldc Lcom/oracle/truffle/api/object/DynamicObjectLibrary;
            aload 1 /* receiver */
            invokevirtual com.oracle.truffle.object.basic.test.DynamicObjectLibraryTest.createLibrary:(Ljava/lang/Class;Ljava/lang/Object;)Lcom/oracle/truffle/api/library/Library;
            checkcast com.oracle.truffle.api.object.DynamicObjectLibrary
            astore 3 /* objectLibrary */
        start local 3 // com.oracle.truffle.api.object.DynamicObjectLibrary objectLibrary
         2: .line 125
            aload 3 /* objectLibrary */
            aload 1 /* receiver */
            invokevirtual com.oracle.truffle.api.object.DynamicObjectLibrary.accepts:(Ljava/lang/Object;)Z
            invokestatic org.junit.Assert.assertTrue:(Z)V
         3: .line 126
            aload 3 /* objectLibrary */
            areturn
        end local 3 // com.oracle.truffle.api.object.DynamicObjectLibrary objectLibrary
        end local 2 // java.lang.Object key
        end local 1 // com.oracle.truffle.api.object.DynamicObject receiver
        end local 0 // com.oracle.truffle.object.basic.test.DynamicObjectLibraryTest this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    4     0           this  Lcom/oracle/truffle/object/basic/test/DynamicObjectLibraryTest;
            0    4     1       receiver  Lcom/oracle/truffle/api/object/DynamicObject;
            0    4     2            key  Ljava/lang/Object;
            2    4     3  objectLibrary  Lcom/oracle/truffle/api/object/DynamicObjectLibrary;
    MethodParameters:
          Name  Flags
      receiver  
      key       

  private com.oracle.truffle.api.object.DynamicObjectLibrary createLibraryForKey(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Lcom/oracle/truffle/api/object/DynamicObjectLibrary;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=1, locals=2, args_size=2
        start local 0 // com.oracle.truffle.object.basic.test.DynamicObjectLibraryTest this
        start local 1 // java.lang.Object key
         0: .line 130
            aload 1 /* key */
            instanceof com.oracle.truffle.api.object.DynamicObject
            invokestatic org.junit.Assert.assertFalse:(Z)V
         1: .line 131
            aload 0 /* this */
            invokevirtual com.oracle.truffle.object.basic.test.DynamicObjectLibraryTest.createDispatchedLibrary:()Lcom/oracle/truffle/api/object/DynamicObjectLibrary;
            areturn
        end local 1 // java.lang.Object key
        end local 0 // com.oracle.truffle.object.basic.test.DynamicObjectLibraryTest this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lcom/oracle/truffle/object/basic/test/DynamicObjectLibraryTest;
            0    2     1   key  Ljava/lang/Object;
    MethodParameters:
      Name  Flags
      key   

  public void testGet1();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=9, args_size=1
        start local 0 // com.oracle.truffle.object.basic.test.DynamicObjectLibraryTest this
         0: .line 136
            aload 0 /* this */
            invokevirtual com.oracle.truffle.object.basic.test.DynamicObjectLibraryTest.createEmpty:()Lcom/oracle/truffle/api/object/DynamicObject;
            astore 1 /* o1 */
        start local 1 // com.oracle.truffle.api.object.DynamicObject o1
         1: .line 137
            ldc "key1"
            astore 2 /* k1 */
        start local 2 // java.lang.String k1
         2: .line 138
            bipush 42
            istore 3 /* v1 */
        start local 3 // int v1
         3: .line 139
            aload 1 /* o1 */
            aload 2 /* k1 */
            iload 3 /* v1 */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            iconst_0
            invokestatic com.oracle.truffle.object.basic.test.DynamicObjectLibraryTest.uncachedPut:(Lcom/oracle/truffle/api/object/DynamicObject;Ljava/lang/Object;Ljava/lang/Object;I)V
         4: .line 140
            aload 0 /* this */
            invokevirtual com.oracle.truffle.object.basic.test.DynamicObjectLibraryTest.createEmpty:()Lcom/oracle/truffle/api/object/DynamicObject;
            astore 4 /* o2 */
        start local 4 // com.oracle.truffle.api.object.DynamicObject o2
         5: .line 141
            aload 4 /* o2 */
            aload 2 /* k1 */
            iload 3 /* v1 */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            iconst_0
            invokestatic com.oracle.truffle.object.basic.test.DynamicObjectLibraryTest.uncachedPut:(Lcom/oracle/truffle/api/object/DynamicObject;Ljava/lang/Object;Ljava/lang/Object;I)V
         6: .line 142
            aload 1 /* o1 */
            invokevirtual com.oracle.truffle.api.object.DynamicObject.getShape:()Lcom/oracle/truffle/api/object/Shape;
            aload 4 /* o2 */
            invokevirtual com.oracle.truffle.api.object.DynamicObject.getShape:()Lcom/oracle/truffle/api/object/Shape;
            invokestatic org.junit.Assert.assertSame:(Ljava/lang/Object;Ljava/lang/Object;)V
         7: .line 144
            aload 0 /* this */
            aload 1 /* o1 */
            aload 2 /* k1 */
            invokevirtual com.oracle.truffle.object.basic.test.DynamicObjectLibraryTest.createLibraryForReceiverAndKey:(Lcom/oracle/truffle/api/object/DynamicObject;Ljava/lang/Object;)Lcom/oracle/truffle/api/object/DynamicObjectLibrary;
            astore 5 /* getNode */
        start local 5 // com.oracle.truffle.api.object.DynamicObjectLibrary getNode
         8: .line 145
            iload 3 /* v1 */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aload 5 /* getNode */
            aload 1 /* o1 */
            aload 2 /* k1 */
            aconst_null
            invokevirtual com.oracle.truffle.api.object.DynamicObjectLibrary.getOrDefault:(Lcom/oracle/truffle/api/object/DynamicObject;Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
         9: .line 146
            iload 3 /* v1 */
            i2l
            aload 5 /* getNode */
            aload 1 /* o1 */
            aload 2 /* k1 */
            aconst_null
            invokevirtual com.oracle.truffle.api.object.DynamicObjectLibrary.getIntOrDefault:(Lcom/oracle/truffle/api/object/DynamicObject;Ljava/lang/Object;Ljava/lang/Object;)I
            i2l
            invokestatic org.junit.Assert.assertEquals:(JJ)V
        10: .line 147
            iload 3 /* v1 */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aload 5 /* getNode */
            aload 4 /* o2 */
            aload 2 /* k1 */
            aconst_null
            invokevirtual com.oracle.truffle.api.object.DynamicObjectLibrary.getOrDefault:(Lcom/oracle/truffle/api/object/DynamicObject;Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
        11: .line 148
            iload 3 /* v1 */
            i2l
            aload 5 /* getNode */
            aload 4 /* o2 */
            aload 2 /* k1 */
            aconst_null
            invokevirtual com.oracle.truffle.api.object.DynamicObjectLibrary.getIntOrDefault:(Lcom/oracle/truffle/api/object/DynamicObject;Ljava/lang/Object;Ljava/lang/Object;)I
            i2l
            invokestatic org.junit.Assert.assertEquals:(JJ)V
        12: .line 150
            ldc "asdf"
            astore 6 /* v2 */
        start local 6 // java.lang.String v2
        13: .line 151
            aload 1 /* o1 */
            aload 2 /* k1 */
            aload 6 /* v2 */
            invokestatic com.oracle.truffle.object.basic.test.DynamicObjectLibraryTest.uncachedSet:(Lcom/oracle/truffle/api/object/DynamicObject;Ljava/lang/Object;Ljava/lang/Object;)V
        14: .line 153
            aload 0 /* this */
            aload 2 /* k1 */
            invokevirtual com.oracle.truffle.object.basic.test.DynamicObjectLibraryTest.createLibraryForKey:(Ljava/lang/Object;)Lcom/oracle/truffle/api/object/DynamicObjectLibrary;
            astore 5 /* getNode */
        15: .line 154
            aload 6 /* v2 */
            aload 5 /* getNode */
            aload 1 /* o1 */
            aload 2 /* k1 */
            aconst_null
            invokevirtual com.oracle.truffle.api.object.DynamicObjectLibrary.getOrDefault:(Lcom/oracle/truffle/api/object/DynamicObject;Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
        16: .line 156
            aload 5 /* getNode */
            aload 1 /* o1 */
            aload 2 /* k1 */
            aconst_null
            invokevirtual com.oracle.truffle.api.object.DynamicObjectLibrary.getIntOrDefault:(Lcom/oracle/truffle/api/object/DynamicObject;Ljava/lang/Object;Ljava/lang/Object;)I
            pop
        17: .line 157
            invokestatic org.junit.Assert.fail:()V
        18: .line 158
            goto 21
      StackMap locals: com.oracle.truffle.object.basic.test.DynamicObjectLibraryTest com.oracle.truffle.api.object.DynamicObject java.lang.String int com.oracle.truffle.api.object.DynamicObject com.oracle.truffle.api.object.DynamicObjectLibrary java.lang.String
      StackMap stack: com.oracle.truffle.api.nodes.UnexpectedResultException
        19: astore 7 /* e */
        start local 7 // com.oracle.truffle.api.nodes.UnexpectedResultException e
        20: .line 159
            aload 6 /* v2 */
            aload 7 /* e */
            invokevirtual com.oracle.truffle.api.nodes.UnexpectedResultException.getResult:()Ljava/lang/Object;
            invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
        end local 7 // com.oracle.truffle.api.nodes.UnexpectedResultException e
        21: .line 161
      StackMap locals:
      StackMap stack:
            iload 3 /* v1 */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aload 5 /* getNode */
            aload 4 /* o2 */
            aload 2 /* k1 */
            aconst_null
            invokevirtual com.oracle.truffle.api.object.DynamicObjectLibrary.getOrDefault:(Lcom/oracle/truffle/api/object/DynamicObject;Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
        22: .line 162
            iload 3 /* v1 */
            i2l
            aload 5 /* getNode */
            aload 4 /* o2 */
            aload 2 /* k1 */
            aconst_null
            invokevirtual com.oracle.truffle.api.object.DynamicObjectLibrary.getIntOrDefault:(Lcom/oracle/truffle/api/object/DynamicObject;Ljava/lang/Object;Ljava/lang/Object;)I
            i2l
            invokestatic org.junit.Assert.assertEquals:(JJ)V
        23: .line 164
            ldc "missing"
            astore 7 /* missingKey */
        start local 7 // java.lang.String missingKey
        24: .line 166
            aload 0 /* this */
            aload 1 /* o1 */
            aload 7 /* missingKey */
            invokevirtual com.oracle.truffle.object.basic.test.DynamicObjectLibraryTest.createLibraryForReceiverAndKey:(Lcom/oracle/truffle/api/object/DynamicObject;Ljava/lang/Object;)Lcom/oracle/truffle/api/object/DynamicObjectLibrary;
            astore 8 /* getMissingKey */
        start local 8 // com.oracle.truffle.api.object.DynamicObjectLibrary getMissingKey
        25: .line 167
            aconst_null
            aload 8 /* getMissingKey */
            aload 1 /* o1 */
            aload 7 /* missingKey */
            aconst_null
            invokevirtual com.oracle.truffle.api.object.DynamicObjectLibrary.getOrDefault:(Lcom/oracle/truffle/api/object/DynamicObject;Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
        26: .line 168
            ldc 404
            aload 8 /* getMissingKey */
            aload 1 /* o1 */
            aload 7 /* missingKey */
            sipush 404
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            invokevirtual com.oracle.truffle.api.object.DynamicObjectLibrary.getIntOrDefault:(Lcom/oracle/truffle/api/object/DynamicObject;Ljava/lang/Object;Ljava/lang/Object;)I
            i2l
            invokestatic org.junit.Assert.assertEquals:(JJ)V
        27: .line 169
            aload 0 /* this */
            aload 1 /* o1 */
            invokevirtual com.oracle.truffle.object.basic.test.DynamicObjectLibraryTest.createLibraryForReceiver:(Lcom/oracle/truffle/api/object/DynamicObject;)Lcom/oracle/truffle/api/object/DynamicObjectLibrary;
            astore 8 /* getMissingKey */
        28: .line 170
            aconst_null
            aload 8 /* getMissingKey */
            aload 1 /* o1 */
            aload 7 /* missingKey */
            aconst_null
            invokevirtual com.oracle.truffle.api.object.DynamicObjectLibrary.getOrDefault:(Lcom/oracle/truffle/api/object/DynamicObject;Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
        29: .line 171
            ldc 404
            aload 8 /* getMissingKey */
            aload 1 /* o1 */
            aload 7 /* missingKey */
            sipush 404
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            invokevirtual com.oracle.truffle.api.object.DynamicObjectLibrary.getIntOrDefault:(Lcom/oracle/truffle/api/object/DynamicObject;Ljava/lang/Object;Ljava/lang/Object;)I
            i2l
            invokestatic org.junit.Assert.assertEquals:(JJ)V
        30: .line 172
            return
        end local 8 // com.oracle.truffle.api.object.DynamicObjectLibrary getMissingKey
        end local 7 // java.lang.String missingKey
        end local 6 // java.lang.String v2
        end local 5 // com.oracle.truffle.api.object.DynamicObjectLibrary getNode
        end local 4 // com.oracle.truffle.api.object.DynamicObject o2
        end local 3 // int v1
        end local 2 // java.lang.String k1
        end local 1 // com.oracle.truffle.api.object.DynamicObject o1
        end local 0 // com.oracle.truffle.object.basic.test.DynamicObjectLibraryTest this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   31     0           this  Lcom/oracle/truffle/object/basic/test/DynamicObjectLibraryTest;
            1   31     1             o1  Lcom/oracle/truffle/api/object/DynamicObject;
            2   31     2             k1  Ljava/lang/String;
            3   31     3             v1  I
            5   31     4             o2  Lcom/oracle/truffle/api/object/DynamicObject;
            8   31     5        getNode  Lcom/oracle/truffle/api/object/DynamicObjectLibrary;
           13   31     6             v2  Ljava/lang/String;
           20   21     7              e  Lcom/oracle/truffle/api/nodes/UnexpectedResultException;
           24   31     7     missingKey  Ljava/lang/String;
           25   31     8  getMissingKey  Lcom/oracle/truffle/api/object/DynamicObjectLibrary;
      Exception table:
        from    to  target  type
          16    18      19  Class com.oracle.truffle.api.nodes.UnexpectedResultException
    Exceptions:
      throws com.oracle.truffle.api.nodes.UnexpectedResultException
    RuntimeVisibleAnnotations: 
      org.junit.Test()

  public void testPut1();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=13, args_size=1
        start local 0 // com.oracle.truffle.object.basic.test.DynamicObjectLibraryTest this
         0: .line 176
            aload 0 /* this */
            invokevirtual com.oracle.truffle.object.basic.test.DynamicObjectLibraryTest.createEmpty:()Lcom/oracle/truffle/api/object/DynamicObject;
            astore 1 /* o1 */
        start local 1 // com.oracle.truffle.api.object.DynamicObject o1
         1: .line 177
            ldc "key1"
            astore 2 /* key1 */
        start local 2 // java.lang.String key1
         2: .line 178
            bipush 42
            istore 3 /* intval1 */
        start local 3 // int intval1
         3: .line 179
            bipush 43
            istore 4 /* intval2 */
        start local 4 // int intval2
         4: .line 180
            aload 1 /* o1 */
            aload 2 /* key1 */
            iload 3 /* intval1 */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            iconst_0
            invokestatic com.oracle.truffle.object.basic.test.DynamicObjectLibraryTest.uncachedPut:(Lcom/oracle/truffle/api/object/DynamicObject;Ljava/lang/Object;Ljava/lang/Object;I)V
         5: .line 181
            aload 0 /* this */
            invokevirtual com.oracle.truffle.object.basic.test.DynamicObjectLibraryTest.createEmpty:()Lcom/oracle/truffle/api/object/DynamicObject;
            astore 5 /* o2 */
        start local 5 // com.oracle.truffle.api.object.DynamicObject o2
         6: .line 182
            aload 5 /* o2 */
            aload 2 /* key1 */
            iload 3 /* intval1 */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            iconst_0
            invokestatic com.oracle.truffle.object.basic.test.DynamicObjectLibraryTest.uncachedPut:(Lcom/oracle/truffle/api/object/DynamicObject;Ljava/lang/Object;Ljava/lang/Object;I)V
         7: .line 183
            aload 1 /* o1 */
            invokevirtual com.oracle.truffle.api.object.DynamicObject.getShape:()Lcom/oracle/truffle/api/object/Shape;
            aload 5 /* o2 */
            invokevirtual com.oracle.truffle.api.object.DynamicObject.getShape:()Lcom/oracle/truffle/api/object/Shape;
            invokestatic org.junit.Assert.assertSame:(Ljava/lang/Object;Ljava/lang/Object;)V
         8: .line 185
            aload 0 /* this */
            aload 1 /* o1 */
            aload 2 /* key1 */
            invokevirtual com.oracle.truffle.object.basic.test.DynamicObjectLibraryTest.createLibraryForReceiverAndKey:(Lcom/oracle/truffle/api/object/DynamicObject;Ljava/lang/Object;)Lcom/oracle/truffle/api/object/DynamicObjectLibrary;
            astore 6 /* setNode */
        start local 6 // com.oracle.truffle.api.object.DynamicObjectLibrary setNode
         9: .line 186
            aload 6 /* setNode */
            aload 1 /* o1 */
            aload 2 /* key1 */
            iload 4 /* intval2 */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            invokevirtual com.oracle.truffle.api.object.DynamicObjectLibrary.put:(Lcom/oracle/truffle/api/object/DynamicObject;Ljava/lang/Object;Ljava/lang/Object;)V
        10: .line 187
            iload 4 /* intval2 */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aload 1 /* o1 */
            aload 2 /* key1 */
            invokestatic com.oracle.truffle.object.basic.test.DynamicObjectLibraryTest.uncachedGet:(Lcom/oracle/truffle/api/object/DynamicObject;Ljava/lang/Object;)Ljava/lang/Object;
            invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
        11: .line 188
            aload 6 /* setNode */
            aload 1 /* o1 */
            aload 2 /* key1 */
            iload 3 /* intval1 */
            invokevirtual com.oracle.truffle.api.object.DynamicObjectLibrary.putInt:(Lcom/oracle/truffle/api/object/DynamicObject;Ljava/lang/Object;I)V
        12: .line 189
            iload 3 /* intval1 */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aload 1 /* o1 */
            aload 2 /* key1 */
            invokestatic com.oracle.truffle.object.basic.test.DynamicObjectLibraryTest.uncachedGet:(Lcom/oracle/truffle/api/object/DynamicObject;Ljava/lang/Object;)Ljava/lang/Object;
            invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
        13: .line 190
            aload 6 /* setNode */
            aload 5 /* o2 */
            aload 2 /* key1 */
            iload 4 /* intval2 */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            invokevirtual com.oracle.truffle.api.object.DynamicObjectLibrary.put:(Lcom/oracle/truffle/api/object/DynamicObject;Ljava/lang/Object;Ljava/lang/Object;)V
        14: .line 191
            iload 4 /* intval2 */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aload 5 /* o2 */
            aload 2 /* key1 */
            invokestatic com.oracle.truffle.object.basic.test.DynamicObjectLibraryTest.uncachedGet:(Lcom/oracle/truffle/api/object/DynamicObject;Ljava/lang/Object;)Ljava/lang/Object;
            invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
        15: .line 192
            aload 6 /* setNode */
            aload 5 /* o2 */
            aload 2 /* key1 */
            iload 3 /* intval1 */
            invokevirtual com.oracle.truffle.api.object.DynamicObjectLibrary.putInt:(Lcom/oracle/truffle/api/object/DynamicObject;Ljava/lang/Object;I)V
        16: .line 193
            iload 3 /* intval1 */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aload 5 /* o2 */
            aload 2 /* key1 */
            invokestatic com.oracle.truffle.object.basic.test.DynamicObjectLibraryTest.uncachedGet:(Lcom/oracle/truffle/api/object/DynamicObject;Ljava/lang/Object;)Ljava/lang/Object;
            invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
        17: .line 194
            aload 1 /* o1 */
            invokevirtual com.oracle.truffle.api.object.DynamicObject.getShape:()Lcom/oracle/truffle/api/object/Shape;
            aload 5 /* o2 */
            invokevirtual com.oracle.truffle.api.object.DynamicObject.getShape:()Lcom/oracle/truffle/api/object/Shape;
            invokestatic org.junit.Assert.assertSame:(Ljava/lang/Object;Ljava/lang/Object;)V
        18: .line 196
            ldc "asdf"
            astore 7 /* strval1 */
        start local 7 // java.lang.String strval1
        19: .line 197
            aload 6 /* setNode */
            aload 1 /* o1 */
            aload 2 /* key1 */
            aload 7 /* strval1 */
            invokevirtual com.oracle.truffle.api.object.DynamicObjectLibrary.put:(Lcom/oracle/truffle/api/object/DynamicObject;Ljava/lang/Object;Ljava/lang/Object;)V
        20: .line 198
            aload 7 /* strval1 */
            aload 1 /* o1 */
            aload 2 /* key1 */
            invokestatic com.oracle.truffle.object.basic.test.DynamicObjectLibraryTest.uncachedGet:(Lcom/oracle/truffle/api/object/DynamicObject;Ljava/lang/Object;)Ljava/lang/Object;
            invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
        21: .line 200
            ldc "key2"
            astore 8 /* key2 */
        start local 8 // java.lang.String key2
        22: .line 201
            ldc "qwer"
            astore 9 /* strval2 */
        start local 9 // java.lang.String strval2
        23: .line 202
            aload 0 /* this */
            aload 1 /* o1 */
            aload 8 /* key2 */
            invokevirtual com.oracle.truffle.object.basic.test.DynamicObjectLibraryTest.createLibraryForReceiverAndKey:(Lcom/oracle/truffle/api/object/DynamicObject;Ljava/lang/Object;)Lcom/oracle/truffle/api/object/DynamicObjectLibrary;
            astore 10 /* setNode2 */
        start local 10 // com.oracle.truffle.api.object.DynamicObjectLibrary setNode2
        24: .line 203
            aload 10 /* setNode2 */
            aload 1 /* o1 */
            aload 8 /* key2 */
            aload 9 /* strval2 */
            invokevirtual com.oracle.truffle.api.object.DynamicObjectLibrary.put:(Lcom/oracle/truffle/api/object/DynamicObject;Ljava/lang/Object;Ljava/lang/Object;)V
        25: .line 204
            aload 9 /* strval2 */
            aload 1 /* o1 */
            aload 8 /* key2 */
            invokestatic com.oracle.truffle.object.basic.test.DynamicObjectLibraryTest.uncachedGet:(Lcom/oracle/truffle/api/object/DynamicObject;Ljava/lang/Object;)Ljava/lang/Object;
            invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
        26: .line 205
            aload 10 /* setNode2 */
            aload 1 /* o1 */
            aload 8 /* key2 */
            iload 3 /* intval1 */
            invokevirtual com.oracle.truffle.api.object.DynamicObjectLibrary.putInt:(Lcom/oracle/truffle/api/object/DynamicObject;Ljava/lang/Object;I)V
        27: .line 206
            iload 3 /* intval1 */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aload 1 /* o1 */
            aload 8 /* key2 */
            invokestatic com.oracle.truffle.object.basic.test.DynamicObjectLibraryTest.uncachedGet:(Lcom/oracle/truffle/api/object/DynamicObject;Ljava/lang/Object;)Ljava/lang/Object;
            invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
        28: .line 208
            aload 0 /* this */
            aload 1 /* o1 */
            aload 8 /* key2 */
            invokevirtual com.oracle.truffle.object.basic.test.DynamicObjectLibraryTest.createLibraryForReceiverAndKey:(Lcom/oracle/truffle/api/object/DynamicObject;Ljava/lang/Object;)Lcom/oracle/truffle/api/object/DynamicObjectLibrary;
            astore 11 /* setNode3 */
        start local 11 // com.oracle.truffle.api.object.DynamicObjectLibrary setNode3
        29: .line 209
            aload 11 /* setNode3 */
            aload 1 /* o1 */
            aload 8 /* key2 */
            aload 7 /* strval1 */
            invokevirtual com.oracle.truffle.api.object.DynamicObjectLibrary.put:(Lcom/oracle/truffle/api/object/DynamicObject;Ljava/lang/Object;Ljava/lang/Object;)V
        30: .line 210
            aload 7 /* strval1 */
            aload 1 /* o1 */
            aload 8 /* key2 */
            invokestatic com.oracle.truffle.object.basic.test.DynamicObjectLibraryTest.uncachedGet:(Lcom/oracle/truffle/api/object/DynamicObject;Ljava/lang/Object;)Ljava/lang/Object;
            invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
        31: .line 211
            aload 11 /* setNode3 */
            aload 1 /* o1 */
            invokevirtual com.oracle.truffle.api.object.DynamicObjectLibrary.accepts:(Ljava/lang/Object;)Z
            invokestatic org.junit.Assert.assertTrue:(Z)V
        32: .line 212
            aload 0 /* this */
            aload 1 /* o1 */
            aload 8 /* key2 */
            invokevirtual com.oracle.truffle.object.basic.test.DynamicObjectLibraryTest.createLibraryForReceiverAndKey:(Lcom/oracle/truffle/api/object/DynamicObject;Ljava/lang/Object;)Lcom/oracle/truffle/api/object/DynamicObjectLibrary;
            astore 12 /* setNode4 */
        start local 12 // com.oracle.truffle.api.object.DynamicObjectLibrary setNode4
        33: .line 213
            aload 12 /* setNode4 */
            aload 1 /* o1 */
            aload 8 /* key2 */
            iload 4 /* intval2 */
            invokevirtual com.oracle.truffle.api.object.DynamicObjectLibrary.putInt:(Lcom/oracle/truffle/api/object/DynamicObject;Ljava/lang/Object;I)V
        34: .line 214
            iload 4 /* intval2 */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aload 1 /* o1 */
            aload 8 /* key2 */
            invokestatic com.oracle.truffle.object.basic.test.DynamicObjectLibraryTest.uncachedGet:(Lcom/oracle/truffle/api/object/DynamicObject;Ljava/lang/Object;)Ljava/lang/Object;
            invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
        35: .line 215
            aload 12 /* setNode4 */
            aload 1 /* o1 */
            invokevirtual com.oracle.truffle.api.object.DynamicObjectLibrary.accepts:(Ljava/lang/Object;)Z
            invokestatic org.junit.Assert.assertTrue:(Z)V
        36: .line 216
            return
        end local 12 // com.oracle.truffle.api.object.DynamicObjectLibrary setNode4
        end local 11 // com.oracle.truffle.api.object.DynamicObjectLibrary setNode3
        end local 10 // com.oracle.truffle.api.object.DynamicObjectLibrary setNode2
        end local 9 // java.lang.String strval2
        end local 8 // java.lang.String key2
        end local 7 // java.lang.String strval1
        end local 6 // com.oracle.truffle.api.object.DynamicObjectLibrary setNode
        end local 5 // com.oracle.truffle.api.object.DynamicObject o2
        end local 4 // int intval2
        end local 3 // int intval1
        end local 2 // java.lang.String key1
        end local 1 // com.oracle.truffle.api.object.DynamicObject o1
        end local 0 // com.oracle.truffle.object.basic.test.DynamicObjectLibraryTest this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   37     0      this  Lcom/oracle/truffle/object/basic/test/DynamicObjectLibraryTest;
            1   37     1        o1  Lcom/oracle/truffle/api/object/DynamicObject;
            2   37     2      key1  Ljava/lang/String;
            3   37     3   intval1  I
            4   37     4   intval2  I
            6   37     5        o2  Lcom/oracle/truffle/api/object/DynamicObject;
            9   37     6   setNode  Lcom/oracle/truffle/api/object/DynamicObjectLibrary;
           19   37     7   strval1  Ljava/lang/String;
           22   37     8      key2  Ljava/lang/String;
           23   37     9   strval2  Ljava/lang/String;
           24   37    10  setNode2  Lcom/oracle/truffle/api/object/DynamicObjectLibrary;
           29   37    11  setNode3  Lcom/oracle/truffle/api/object/DynamicObjectLibrary;
           33   37    12  setNode4  Lcom/oracle/truffle/api/object/DynamicObjectLibrary;
    RuntimeVisibleAnnotations: 
      org.junit.Test()

  public void testPutIfPresent();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=12, args_size=1
        start local 0 // com.oracle.truffle.object.basic.test.DynamicObjectLibraryTest this
         0: .line 220
            aload 0 /* this */
            invokevirtual com.oracle.truffle.object.basic.test.DynamicObjectLibraryTest.createEmpty:()Lcom/oracle/truffle/api/object/DynamicObject;
            astore 1 /* o1 */
        start local 1 // com.oracle.truffle.api.object.DynamicObject o1
         1: .line 221
            ldc "key1"
            astore 2 /* key1 */
        start local 2 // java.lang.String key1
         2: .line 222
            bipush 42
            istore 3 /* intval1 */
        start local 3 // int intval1
         3: .line 223
            bipush 43
            istore 4 /* intval2 */
        start local 4 // int intval2
         4: .line 224
            aload 1 /* o1 */
            aload 2 /* key1 */
            iload 3 /* intval1 */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            iconst_0
            invokestatic com.oracle.truffle.object.basic.test.DynamicObjectLibraryTest.uncachedPut:(Lcom/oracle/truffle/api/object/DynamicObject;Ljava/lang/Object;Ljava/lang/Object;I)V
         5: .line 225
            aload 0 /* this */
            invokevirtual com.oracle.truffle.object.basic.test.DynamicObjectLibraryTest.createEmpty:()Lcom/oracle/truffle/api/object/DynamicObject;
            astore 5 /* o2 */
        start local 5 // com.oracle.truffle.api.object.DynamicObject o2
         6: .line 226
            aload 5 /* o2 */
            aload 2 /* key1 */
            iload 3 /* intval1 */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            iconst_0
            invokestatic com.oracle.truffle.object.basic.test.DynamicObjectLibraryTest.uncachedPut:(Lcom/oracle/truffle/api/object/DynamicObject;Ljava/lang/Object;Ljava/lang/Object;I)V
         7: .line 227
            aload 1 /* o1 */
            invokevirtual com.oracle.truffle.api.object.DynamicObject.getShape:()Lcom/oracle/truffle/api/object/Shape;
            aload 5 /* o2 */
            invokevirtual com.oracle.truffle.api.object.DynamicObject.getShape:()Lcom/oracle/truffle/api/object/Shape;
            invokestatic org.junit.Assert.assertSame:(Ljava/lang/Object;Ljava/lang/Object;)V
         8: .line 229
            aload 0 /* this */
            aload 2 /* key1 */
            invokevirtual com.oracle.truffle.object.basic.test.DynamicObjectLibraryTest.createLibraryForKey:(Ljava/lang/Object;)Lcom/oracle/truffle/api/object/DynamicObjectLibrary;
            astore 6 /* setNode */
        start local 6 // com.oracle.truffle.api.object.DynamicObjectLibrary setNode
         9: .line 230
            aload 6 /* setNode */
            aload 1 /* o1 */
            aload 2 /* key1 */
            iload 4 /* intval2 */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            invokevirtual com.oracle.truffle.api.object.DynamicObjectLibrary.putIfPresent:(Lcom/oracle/truffle/api/object/DynamicObject;Ljava/lang/Object;Ljava/lang/Object;)Z
            invokestatic org.junit.Assert.assertTrue:(Z)V
        10: .line 231
            iload 4 /* intval2 */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aload 1 /* o1 */
            aload 2 /* key1 */
            invokestatic com.oracle.truffle.object.basic.test.DynamicObjectLibraryTest.uncachedGet:(Lcom/oracle/truffle/api/object/DynamicObject;Ljava/lang/Object;)Ljava/lang/Object;
            invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
        11: .line 232
            aload 6 /* setNode */
            aload 1 /* o1 */
            aload 2 /* key1 */
            iload 3 /* intval1 */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            invokevirtual com.oracle.truffle.api.object.DynamicObjectLibrary.putIfPresent:(Lcom/oracle/truffle/api/object/DynamicObject;Ljava/lang/Object;Ljava/lang/Object;)Z
            invokestatic org.junit.Assert.assertTrue:(Z)V
        12: .line 233
            iload 3 /* intval1 */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aload 1 /* o1 */
            aload 2 /* key1 */
            invokestatic com.oracle.truffle.object.basic.test.DynamicObjectLibraryTest.uncachedGet:(Lcom/oracle/truffle/api/object/DynamicObject;Ljava/lang/Object;)Ljava/lang/Object;
            invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
        13: .line 234
            aload 6 /* setNode */
            aload 5 /* o2 */
            aload 2 /* key1 */
            iload 4 /* intval2 */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            invokevirtual com.oracle.truffle.api.object.DynamicObjectLibrary.putIfPresent:(Lcom/oracle/truffle/api/object/DynamicObject;Ljava/lang/Object;Ljava/lang/Object;)Z
            invokestatic org.junit.Assert.assertTrue:(Z)V
        14: .line 235
            iload 4 /* intval2 */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aload 5 /* o2 */
            aload 2 /* key1 */
            invokestatic com.oracle.truffle.object.basic.test.DynamicObjectLibraryTest.uncachedGet:(Lcom/oracle/truffle/api/object/DynamicObject;Ljava/lang/Object;)Ljava/lang/Object;
            invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
        15: .line 236
            aload 6 /* setNode */
            aload 5 /* o2 */
            aload 2 /* key1 */
            iload 3 /* intval1 */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            invokevirtual com.oracle.truffle.api.object.DynamicObjectLibrary.putIfPresent:(Lcom/oracle/truffle/api/object/DynamicObject;Ljava/lang/Object;Ljava/lang/Object;)Z
            invokestatic org.junit.Assert.assertTrue:(Z)V
        16: .line 237
            iload 3 /* intval1 */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aload 5 /* o2 */
            aload 2 /* key1 */
            invokestatic com.oracle.truffle.object.basic.test.DynamicObjectLibraryTest.uncachedGet:(Lcom/oracle/truffle/api/object/DynamicObject;Ljava/lang/Object;)Ljava/lang/Object;
            invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
        17: .line 238
            aload 1 /* o1 */
            invokevirtual com.oracle.truffle.api.object.DynamicObject.getShape:()Lcom/oracle/truffle/api/object/Shape;
            aload 5 /* o2 */
            invokevirtual com.oracle.truffle.api.object.DynamicObject.getShape:()Lcom/oracle/truffle/api/object/Shape;
            invokestatic org.junit.Assert.assertSame:(Ljava/lang/Object;Ljava/lang/Object;)V
        18: .line 240
            ldc "asdf"
            astore 7 /* strval1 */
        start local 7 // java.lang.String strval1
        19: .line 241
            aload 6 /* setNode */
            aload 1 /* o1 */
            aload 2 /* key1 */
            aload 7 /* strval1 */
            invokevirtual com.oracle.truffle.api.object.DynamicObjectLibrary.put:(Lcom/oracle/truffle/api/object/DynamicObject;Ljava/lang/Object;Ljava/lang/Object;)V
        20: .line 242
            aload 7 /* strval1 */
            aload 1 /* o1 */
            aload 2 /* key1 */
            invokestatic com.oracle.truffle.object.basic.test.DynamicObjectLibraryTest.uncachedGet:(Lcom/oracle/truffle/api/object/DynamicObject;Ljava/lang/Object;)Ljava/lang/Object;
            invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
        21: .line 244
            ldc "key2"
            astore 8 /* key2 */
        start local 8 // java.lang.String key2
        22: .line 245
            ldc "qwer"
            astore 9 /* strval2 */
        start local 9 // java.lang.String strval2
        23: .line 246
            aload 0 /* this */
            aload 1 /* o1 */
            aload 8 /* key2 */
            invokevirtual com.oracle.truffle.object.basic.test.DynamicObjectLibraryTest.createLibraryForReceiverAndKey:(Lcom/oracle/truffle/api/object/DynamicObject;Ljava/lang/Object;)Lcom/oracle/truffle/api/object/DynamicObjectLibrary;
            astore 10 /* setNode2 */
        start local 10 // com.oracle.truffle.api.object.DynamicObjectLibrary setNode2
        24: .line 247
            invokestatic com.oracle.truffle.api.object.DynamicObjectLibrary.getUncached:()Lcom/oracle/truffle/api/object/DynamicObjectLibrary;
            aload 1 /* o1 */
            aload 8 /* key2 */
            invokevirtual com.oracle.truffle.api.object.DynamicObjectLibrary.containsKey:(Lcom/oracle/truffle/api/object/DynamicObject;Ljava/lang/Object;)Z
            invokestatic org.junit.Assert.assertFalse:(Z)V
        25: .line 248
            aload 10 /* setNode2 */
            aload 1 /* o1 */
            aload 8 /* key2 */
            aload 9 /* strval2 */
            invokevirtual com.oracle.truffle.api.object.DynamicObjectLibrary.putIfPresent:(Lcom/oracle/truffle/api/object/DynamicObject;Ljava/lang/Object;Ljava/lang/Object;)Z
            invokestatic org.junit.Assert.assertFalse:(Z)V
        26: .line 249
            aload 10 /* setNode2 */
            aload 1 /* o1 */
            invokevirtual com.oracle.truffle.api.object.DynamicObjectLibrary.accepts:(Ljava/lang/Object;)Z
            invokestatic org.junit.Assert.assertTrue:(Z)V
        27: .line 250
            aload 10 /* setNode2 */
            aload 1 /* o1 */
            aload 8 /* key2 */
            invokevirtual com.oracle.truffle.api.object.DynamicObjectLibrary.containsKey:(Lcom/oracle/truffle/api/object/DynamicObject;Ljava/lang/Object;)Z
            invokestatic org.junit.Assert.assertFalse:(Z)V
        28: .line 251
            aconst_null
            aload 1 /* o1 */
            aload 8 /* key2 */
            invokestatic com.oracle.truffle.object.basic.test.DynamicObjectLibraryTest.uncachedGet:(Lcom/oracle/truffle/api/object/DynamicObject;Ljava/lang/Object;)Ljava/lang/Object;
            invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
        29: .line 253
            aload 10 /* setNode2 */
            aload 1 /* o1 */
            aload 8 /* key2 */
            aload 9 /* strval2 */
            invokevirtual com.oracle.truffle.api.object.DynamicObjectLibrary.put:(Lcom/oracle/truffle/api/object/DynamicObject;Ljava/lang/Object;Ljava/lang/Object;)V
        30: .line 254
            aload 0 /* this */
            getfield com.oracle.truffle.object.basic.test.DynamicObjectLibraryTest.run:Lcom/oracle/truffle/api/test/AbstractParametrizedLibraryTest$TestRun;
            getstatic com.oracle.truffle.api.test.AbstractParametrizedLibraryTest$TestRun.CACHED:Lcom/oracle/truffle/api/test/AbstractParametrizedLibraryTest$TestRun;
            if_acmpeq 31
            iconst_1
            goto 32
      StackMap locals: com.oracle.truffle.object.basic.test.DynamicObjectLibraryTest com.oracle.truffle.api.object.DynamicObject java.lang.String int int com.oracle.truffle.api.object.DynamicObject com.oracle.truffle.api.object.DynamicObjectLibrary java.lang.String java.lang.String java.lang.String com.oracle.truffle.api.object.DynamicObjectLibrary
      StackMap stack:
        31: iconst_0
      StackMap locals:
      StackMap stack: int
        32: invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
            aload 10 /* setNode2 */
            aload 1 /* o1 */
            invokevirtual com.oracle.truffle.api.object.DynamicObjectLibrary.accepts:(Ljava/lang/Object;)Z
            invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
            invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
        33: .line 255
            invokestatic com.oracle.truffle.api.object.DynamicObjectLibrary.getUncached:()Lcom/oracle/truffle/api/object/DynamicObjectLibrary;
            aload 1 /* o1 */
            aload 8 /* key2 */
            invokevirtual com.oracle.truffle.api.object.DynamicObjectLibrary.containsKey:(Lcom/oracle/truffle/api/object/DynamicObject;Ljava/lang/Object;)Z
            invokestatic org.junit.Assert.assertTrue:(Z)V
        34: .line 256
            aload 9 /* strval2 */
            aload 1 /* o1 */
            aload 8 /* key2 */
            invokestatic com.oracle.truffle.object.basic.test.DynamicObjectLibraryTest.uncachedGet:(Lcom/oracle/truffle/api/object/DynamicObject;Ljava/lang/Object;)Ljava/lang/Object;
            invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
        35: .line 258
            aload 0 /* this */
            aload 1 /* o1 */
            aload 8 /* key2 */
            invokevirtual com.oracle.truffle.object.basic.test.DynamicObjectLibraryTest.createLibraryForReceiverAndKey:(Lcom/oracle/truffle/api/object/DynamicObject;Ljava/lang/Object;)Lcom/oracle/truffle/api/object/DynamicObjectLibrary;
            astore 11 /* setNode3 */
        start local 11 // com.oracle.truffle.api.object.DynamicObjectLibrary setNode3
        36: .line 259
            aload 11 /* setNode3 */
            aload 1 /* o1 */
            aload 8 /* key2 */
            iload 3 /* intval1 */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            invokevirtual com.oracle.truffle.api.object.DynamicObjectLibrary.putIfPresent:(Lcom/oracle/truffle/api/object/DynamicObject;Ljava/lang/Object;Ljava/lang/Object;)Z
            invokestatic org.junit.Assert.assertTrue:(Z)V
        37: .line 260
            iload 3 /* intval1 */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aload 1 /* o1 */
            aload 8 /* key2 */
            invokestatic com.oracle.truffle.object.basic.test.DynamicObjectLibraryTest.uncachedGet:(Lcom/oracle/truffle/api/object/DynamicObject;Ljava/lang/Object;)Ljava/lang/Object;
            invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
        38: .line 261
            return
        end local 11 // com.oracle.truffle.api.object.DynamicObjectLibrary setNode3
        end local 10 // com.oracle.truffle.api.object.DynamicObjectLibrary setNode2
        end local 9 // java.lang.String strval2
        end local 8 // java.lang.String key2
        end local 7 // java.lang.String strval1
        end local 6 // com.oracle.truffle.api.object.DynamicObjectLibrary setNode
        end local 5 // com.oracle.truffle.api.object.DynamicObject o2
        end local 4 // int intval2
        end local 3 // int intval1
        end local 2 // java.lang.String key1
        end local 1 // com.oracle.truffle.api.object.DynamicObject o1
        end local 0 // com.oracle.truffle.object.basic.test.DynamicObjectLibraryTest this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   39     0      this  Lcom/oracle/truffle/object/basic/test/DynamicObjectLibraryTest;
            1   39     1        o1  Lcom/oracle/truffle/api/object/DynamicObject;
            2   39     2      key1  Ljava/lang/String;
            3   39     3   intval1  I
            4   39     4   intval2  I
            6   39     5        o2  Lcom/oracle/truffle/api/object/DynamicObject;
            9   39     6   setNode  Lcom/oracle/truffle/api/object/DynamicObjectLibrary;
           19   39     7   strval1  Ljava/lang/String;
           22   39     8      key2  Ljava/lang/String;
           23   39     9   strval2  Ljava/lang/String;
           24   39    10  setNode2  Lcom/oracle/truffle/api/object/DynamicObjectLibrary;
           36   39    11  setNode3  Lcom/oracle/truffle/api/object/DynamicObjectLibrary;
    RuntimeVisibleAnnotations: 
      org.junit.Test()

  public void testPut2();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=14, args_size=1
        start local 0 // com.oracle.truffle.object.basic.test.DynamicObjectLibraryTest this
         0: .line 265
            aload 0 /* this */
            invokevirtual com.oracle.truffle.object.basic.test.DynamicObjectLibraryTest.createEmpty:()Lcom/oracle/truffle/api/object/DynamicObject;
            astore 1 /* o1 */
        start local 1 // com.oracle.truffle.api.object.DynamicObject o1
         1: .line 266
            aload 0 /* this */
            invokevirtual com.oracle.truffle.object.basic.test.DynamicObjectLibraryTest.createEmpty:()Lcom/oracle/truffle/api/object/DynamicObject;
            astore 2 /* o2 */
        start local 2 // com.oracle.truffle.api.object.DynamicObject o2
         2: .line 267
            aload 0 /* this */
            invokevirtual com.oracle.truffle.object.basic.test.DynamicObjectLibraryTest.createEmpty:()Lcom/oracle/truffle/api/object/DynamicObject;
            astore 3 /* o3 */
        start local 3 // com.oracle.truffle.api.object.DynamicObject o3
         3: .line 268
            ldc "key1"
            astore 4 /* k1 */
        start local 4 // java.lang.String k1
         4: .line 269
            bipush 42
            istore 5 /* v1 */
        start local 5 // int v1
         5: .line 270
            bipush 43
            istore 6 /* v2 */
        start local 6 // int v2
         6: .line 271
            aload 3 /* o3 */
            aload 4 /* k1 */
            iload 5 /* v1 */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            iconst_0
            invokestatic com.oracle.truffle.object.basic.test.DynamicObjectLibraryTest.uncachedPut:(Lcom/oracle/truffle/api/object/DynamicObject;Ljava/lang/Object;Ljava/lang/Object;I)V
         7: .line 273
            aload 0 /* this */
            aload 4 /* k1 */
            invokevirtual com.oracle.truffle.object.basic.test.DynamicObjectLibraryTest.createLibraryForKey:(Ljava/lang/Object;)Lcom/oracle/truffle/api/object/DynamicObjectLibrary;
            astore 7 /* setNode1 */
        start local 7 // com.oracle.truffle.api.object.DynamicObjectLibrary setNode1
         8: .line 274
            aload 7 /* setNode1 */
            aload 1 /* o1 */
            aload 4 /* k1 */
            iload 6 /* v2 */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            invokevirtual com.oracle.truffle.api.object.DynamicObjectLibrary.put:(Lcom/oracle/truffle/api/object/DynamicObject;Ljava/lang/Object;Ljava/lang/Object;)V
         9: .line 275
            iload 6 /* v2 */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aload 1 /* o1 */
            aload 4 /* k1 */
            invokestatic com.oracle.truffle.object.basic.test.DynamicObjectLibraryTest.uncachedGet:(Lcom/oracle/truffle/api/object/DynamicObject;Ljava/lang/Object;)Ljava/lang/Object;
            invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
        10: .line 276
            lconst_0
            aload 1 /* o1 */
            aload 4 /* k1 */
            invokestatic com.oracle.truffle.object.basic.test.DynamicObjectLibraryTest.uncachedGetProperty:(Lcom/oracle/truffle/api/object/DynamicObject;Ljava/lang/Object;)Lcom/oracle/truffle/api/object/Property;
            invokevirtual com.oracle.truffle.api.object.Property.getFlags:()I
            i2l
            invokestatic org.junit.Assert.assertEquals:(JJ)V
        11: .line 277
            aload 7 /* setNode1 */
            aload 1 /* o1 */
            aload 4 /* k1 */
            iload 5 /* v1 */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            invokevirtual com.oracle.truffle.api.object.DynamicObjectLibrary.put:(Lcom/oracle/truffle/api/object/DynamicObject;Ljava/lang/Object;Ljava/lang/Object;)V
        12: .line 278
            iload 5 /* v1 */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aload 1 /* o1 */
            aload 4 /* k1 */
            invokestatic com.oracle.truffle.object.basic.test.DynamicObjectLibraryTest.uncachedGet:(Lcom/oracle/truffle/api/object/DynamicObject;Ljava/lang/Object;)Ljava/lang/Object;
            invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
        13: .line 279
            aload 7 /* setNode1 */
            aload 2 /* o2 */
            aload 4 /* k1 */
            iload 6 /* v2 */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            invokevirtual com.oracle.truffle.api.object.DynamicObjectLibrary.put:(Lcom/oracle/truffle/api/object/DynamicObject;Ljava/lang/Object;Ljava/lang/Object;)V
        14: .line 280
            iload 6 /* v2 */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aload 2 /* o2 */
            aload 4 /* k1 */
            invokestatic com.oracle.truffle.object.basic.test.DynamicObjectLibraryTest.uncachedGet:(Lcom/oracle/truffle/api/object/DynamicObject;Ljava/lang/Object;)Ljava/lang/Object;
            invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
        15: .line 281
            aload 7 /* setNode1 */
            aload 2 /* o2 */
            aload 4 /* k1 */
            iload 5 /* v1 */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            invokevirtual com.oracle.truffle.api.object.DynamicObjectLibrary.put:(Lcom/oracle/truffle/api/object/DynamicObject;Ljava/lang/Object;Ljava/lang/Object;)V
        16: .line 282
            iload 5 /* v1 */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aload 2 /* o2 */
            aload 4 /* k1 */
            invokestatic com.oracle.truffle.object.basic.test.DynamicObjectLibraryTest.uncachedGet:(Lcom/oracle/truffle/api/object/DynamicObject;Ljava/lang/Object;)Ljava/lang/Object;
            invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
        17: .line 283
            aload 1 /* o1 */
            invokevirtual com.oracle.truffle.api.object.DynamicObject.getShape:()Lcom/oracle/truffle/api/object/Shape;
            aload 2 /* o2 */
            invokevirtual com.oracle.truffle.api.object.DynamicObject.getShape:()Lcom/oracle/truffle/api/object/Shape;
            invokestatic org.junit.Assert.assertSame:(Ljava/lang/Object;Ljava/lang/Object;)V
        18: .line 285
            iload 5 /* v1 */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aload 3 /* o3 */
            aload 4 /* k1 */
            invokestatic com.oracle.truffle.object.basic.test.DynamicObjectLibraryTest.uncachedGet:(Lcom/oracle/truffle/api/object/DynamicObject;Ljava/lang/Object;)Ljava/lang/Object;
            invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
        19: .line 286
            aload 1 /* o1 */
            invokevirtual com.oracle.truffle.api.object.DynamicObject.getShape:()Lcom/oracle/truffle/api/object/Shape;
            aload 3 /* o3 */
            invokevirtual com.oracle.truffle.api.object.DynamicObject.getShape:()Lcom/oracle/truffle/api/object/Shape;
            invokestatic org.junit.Assert.assertSame:(Ljava/lang/Object;Ljava/lang/Object;)V
        20: .line 287
            aload 3 /* o3 */
            aload 4 /* k1 */
            iload 5 /* v1 */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            invokestatic com.oracle.truffle.object.basic.test.DynamicObjectLibraryTest.uncachedPut:(Lcom/oracle/truffle/api/object/DynamicObject;Ljava/lang/Object;Ljava/lang/Object;)V
        21: .line 288
            iload 5 /* v1 */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aload 3 /* o3 */
            aload 4 /* k1 */
            invokestatic com.oracle.truffle.object.basic.test.DynamicObjectLibraryTest.uncachedGet:(Lcom/oracle/truffle/api/object/DynamicObject;Ljava/lang/Object;)Ljava/lang/Object;
            invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
        22: .line 289
            lconst_0
            aload 3 /* o3 */
            aload 4 /* k1 */
            invokestatic com.oracle.truffle.object.basic.test.DynamicObjectLibraryTest.uncachedGetProperty:(Lcom/oracle/truffle/api/object/DynamicObject;Ljava/lang/Object;)Lcom/oracle/truffle/api/object/Property;
            invokevirtual com.oracle.truffle.api.object.Property.getFlags:()I
            i2l
            invokestatic org.junit.Assert.assertEquals:(JJ)V
        23: .line 290
            aload 1 /* o1 */
            invokevirtual com.oracle.truffle.api.object.DynamicObject.getShape:()Lcom/oracle/truffle/api/object/Shape;
            aload 3 /* o3 */
            invokevirtual com.oracle.truffle.api.object.DynamicObject.getShape:()Lcom/oracle/truffle/api/object/Shape;
            invokestatic org.junit.Assert.assertSame:(Ljava/lang/Object;Ljava/lang/Object;)V
        24: .line 292
            ldc "asdf"
            astore 8 /* v3 */
        start local 8 // java.lang.String v3
        25: .line 293
            aload 7 /* setNode1 */
            aload 1 /* o1 */
            aload 4 /* k1 */
            aload 8 /* v3 */
            invokevirtual com.oracle.truffle.api.object.DynamicObjectLibrary.put:(Lcom/oracle/truffle/api/object/DynamicObject;Ljava/lang/Object;Ljava/lang/Object;)V
        26: .line 294
            aload 8 /* v3 */
            aload 1 /* o1 */
            aload 4 /* k1 */
            invokestatic com.oracle.truffle.object.basic.test.DynamicObjectLibraryTest.uncachedGet:(Lcom/oracle/truffle/api/object/DynamicObject;Ljava/lang/Object;)Ljava/lang/Object;
            invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
        27: .line 296
            ldc "key2"
            astore 9 /* k2 */
        start local 9 // java.lang.String k2
        28: .line 297
            ldc "qwer"
            astore 10 /* v4 */
        start local 10 // java.lang.String v4
        29: .line 298
            aload 0 /* this */
            aload 9 /* k2 */
            invokevirtual com.oracle.truffle.object.basic.test.DynamicObjectLibraryTest.createLibraryForKey:(Ljava/lang/Object;)Lcom/oracle/truffle/api/object/DynamicObjectLibrary;
            astore 11 /* setNode2 */
        start local 11 // com.oracle.truffle.api.object.DynamicObjectLibrary setNode2
        30: .line 300
            aload 11 /* setNode2 */
            aload 1 /* o1 */
            aload 9 /* k2 */
            aload 10 /* v4 */
            invokevirtual com.oracle.truffle.api.object.DynamicObjectLibrary.put:(Lcom/oracle/truffle/api/object/DynamicObject;Ljava/lang/Object;Ljava/lang/Object;)V
        31: .line 301
            aload 10 /* v4 */
            aload 1 /* o1 */
            aload 9 /* k2 */
            invokestatic com.oracle.truffle.object.basic.test.DynamicObjectLibraryTest.uncachedGet:(Lcom/oracle/truffle/api/object/DynamicObject;Ljava/lang/Object;)Ljava/lang/Object;
            invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
        32: .line 302
            aload 11 /* setNode2 */
            aload 1 /* o1 */
            aload 9 /* k2 */
            iload 5 /* v1 */
            invokevirtual com.oracle.truffle.api.object.DynamicObjectLibrary.putInt:(Lcom/oracle/truffle/api/object/DynamicObject;Ljava/lang/Object;I)V
        33: .line 303
            iload 5 /* v1 */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aload 1 /* o1 */
            aload 9 /* k2 */
            invokestatic com.oracle.truffle.object.basic.test.DynamicObjectLibraryTest.uncachedGet:(Lcom/oracle/truffle/api/object/DynamicObject;Ljava/lang/Object;)Ljava/lang/Object;
            invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
        34: .line 305
            bipush 66
            istore 12 /* f2 */
        start local 12 // int f2
        35: .line 306
            aload 0 /* this */
            aload 4 /* k1 */
            invokevirtual com.oracle.truffle.object.basic.test.DynamicObjectLibraryTest.createLibraryForKey:(Ljava/lang/Object;)Lcom/oracle/truffle/api/object/DynamicObjectLibrary;
            astore 13 /* setNode3 */
        start local 13 // com.oracle.truffle.api.object.DynamicObjectLibrary setNode3
        36: .line 308
            aload 13 /* setNode3 */
            aload 3 /* o3 */
            aload 4 /* k1 */
            iload 5 /* v1 */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            iload 12 /* f2 */
            invokevirtual com.oracle.truffle.api.object.DynamicObjectLibrary.putWithFlags:(Lcom/oracle/truffle/api/object/DynamicObject;Ljava/lang/Object;Ljava/lang/Object;I)V
        37: .line 309
            iload 5 /* v1 */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aload 3 /* o3 */
            aload 4 /* k1 */
            invokestatic com.oracle.truffle.object.basic.test.DynamicObjectLibraryTest.uncachedGet:(Lcom/oracle/truffle/api/object/DynamicObject;Ljava/lang/Object;)Ljava/lang/Object;
            invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
        38: .line 310
            iload 12 /* f2 */
            i2l
            aload 3 /* o3 */
            aload 4 /* k1 */
            invokestatic com.oracle.truffle.object.basic.test.DynamicObjectLibraryTest.uncachedGetProperty:(Lcom/oracle/truffle/api/object/DynamicObject;Ljava/lang/Object;)Lcom/oracle/truffle/api/object/Property;
            invokevirtual com.oracle.truffle.api.object.Property.getFlags:()I
            i2l
            invokestatic org.junit.Assert.assertEquals:(JJ)V
        39: .line 311
            return
        end local 13 // com.oracle.truffle.api.object.DynamicObjectLibrary setNode3
        end local 12 // int f2
        end local 11 // com.oracle.truffle.api.object.DynamicObjectLibrary setNode2
        end local 10 // java.lang.String v4
        end local 9 // java.lang.String k2
        end local 8 // java.lang.String v3
        end local 7 // com.oracle.truffle.api.object.DynamicObjectLibrary setNode1
        end local 6 // int v2
        end local 5 // int v1
        end local 4 // java.lang.String k1
        end local 3 // com.oracle.truffle.api.object.DynamicObject o3
        end local 2 // com.oracle.truffle.api.object.DynamicObject o2
        end local 1 // com.oracle.truffle.api.object.DynamicObject o1
        end local 0 // com.oracle.truffle.object.basic.test.DynamicObjectLibraryTest this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   40     0      this  Lcom/oracle/truffle/object/basic/test/DynamicObjectLibraryTest;
            1   40     1        o1  Lcom/oracle/truffle/api/object/DynamicObject;
            2   40     2        o2  Lcom/oracle/truffle/api/object/DynamicObject;
            3   40     3        o3  Lcom/oracle/truffle/api/object/DynamicObject;
            4   40     4        k1  Ljava/lang/String;
            5   40     5        v1  I
            6   40     6        v2  I
            8   40     7  setNode1  Lcom/oracle/truffle/api/object/DynamicObjectLibrary;
           25   40     8        v3  Ljava/lang/String;
           28   40     9        k2  Ljava/lang/String;
           29   40    10        v4  Ljava/lang/String;
           30   40    11  setNode2  Lcom/oracle/truffle/api/object/DynamicObjectLibrary;
           35   40    12        f2  I
           36   40    13  setNode3  Lcom/oracle/truffle/api/object/DynamicObjectLibrary;
    RuntimeVisibleAnnotations: 
      org.junit.Test()

  public void testPutWithFlags1();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=15, args_size=1
        start local 0 // com.oracle.truffle.object.basic.test.DynamicObjectLibraryTest this
         0: .line 315
            aload 0 /* this */
            invokevirtual com.oracle.truffle.object.basic.test.DynamicObjectLibraryTest.createEmpty:()Lcom/oracle/truffle/api/object/DynamicObject;
            astore 1 /* o1 */
        start local 1 // com.oracle.truffle.api.object.DynamicObject o1
         1: .line 316
            aload 0 /* this */
            invokevirtual com.oracle.truffle.object.basic.test.DynamicObjectLibraryTest.createEmpty:()Lcom/oracle/truffle/api/object/DynamicObject;
            astore 2 /* o2 */
        start local 2 // com.oracle.truffle.api.object.DynamicObject o2
         2: .line 317
            aload 0 /* this */
            invokevirtual com.oracle.truffle.object.basic.test.DynamicObjectLibraryTest.createEmpty:()Lcom/oracle/truffle/api/object/DynamicObject;
            astore 3 /* o3 */
        start local 3 // com.oracle.truffle.api.object.DynamicObject o3
         3: .line 318
            ldc "key1"
            astore 4 /* k1 */
        start local 4 // java.lang.String k1
         4: .line 319
            bipush 42
            istore 5 /* v1 */
        start local 5 // int v1
         5: .line 320
            bipush 43
            istore 6 /* v2 */
        start local 6 // int v2
         6: .line 321
            aload 3 /* o3 */
            aload 4 /* k1 */
            iload 5 /* v1 */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            iconst_0
            invokestatic com.oracle.truffle.object.basic.test.DynamicObjectLibraryTest.uncachedPut:(Lcom/oracle/truffle/api/object/DynamicObject;Ljava/lang/Object;Ljava/lang/Object;I)V
         7: .line 323
            bipush 15
            istore 7 /* flags */
        start local 7 // int flags
         8: .line 324
            aload 0 /* this */
            aload 4 /* k1 */
            invokevirtual com.oracle.truffle.object.basic.test.DynamicObjectLibraryTest.createLibraryForKey:(Ljava/lang/Object;)Lcom/oracle/truffle/api/object/DynamicObjectLibrary;
            astore 8 /* setNode1 */
        start local 8 // com.oracle.truffle.api.object.DynamicObjectLibrary setNode1
         9: .line 325
            aload 8 /* setNode1 */
            aload 1 /* o1 */
            aload 4 /* k1 */
            iload 6 /* v2 */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            iload 7 /* flags */
            invokevirtual com.oracle.truffle.api.object.DynamicObjectLibrary.putWithFlags:(Lcom/oracle/truffle/api/object/DynamicObject;Ljava/lang/Object;Ljava/lang/Object;I)V
        10: .line 326
            iload 6 /* v2 */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aload 1 /* o1 */
            aload 4 /* k1 */
            invokestatic com.oracle.truffle.object.basic.test.DynamicObjectLibraryTest.uncachedGet:(Lcom/oracle/truffle/api/object/DynamicObject;Ljava/lang/Object;)Ljava/lang/Object;
            invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
        11: .line 327
            iload 7 /* flags */
            i2l
            aload 1 /* o1 */
            aload 4 /* k1 */
            invokestatic com.oracle.truffle.object.basic.test.DynamicObjectLibraryTest.uncachedGetProperty:(Lcom/oracle/truffle/api/object/DynamicObject;Ljava/lang/Object;)Lcom/oracle/truffle/api/object/Property;
            invokevirtual com.oracle.truffle.api.object.Property.getFlags:()I
            i2l
            invokestatic org.junit.Assert.assertEquals:(JJ)V
        12: .line 328
            aload 8 /* setNode1 */
            aload 1 /* o1 */
            aload 4 /* k1 */
            iload 5 /* v1 */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            iload 7 /* flags */
            invokevirtual com.oracle.truffle.api.object.DynamicObjectLibrary.putWithFlags:(Lcom/oracle/truffle/api/object/DynamicObject;Ljava/lang/Object;Ljava/lang/Object;I)V
        13: .line 329
            iload 5 /* v1 */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aload 1 /* o1 */
            aload 4 /* k1 */
            invokestatic com.oracle.truffle.object.basic.test.DynamicObjectLibraryTest.uncachedGet:(Lcom/oracle/truffle/api/object/DynamicObject;Ljava/lang/Object;)Ljava/lang/Object;
            invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
        14: .line 330
            aload 8 /* setNode1 */
            aload 2 /* o2 */
            aload 4 /* k1 */
            iload 6 /* v2 */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            iload 7 /* flags */
            invokevirtual com.oracle.truffle.api.object.DynamicObjectLibrary.putWithFlags:(Lcom/oracle/truffle/api/object/DynamicObject;Ljava/lang/Object;Ljava/lang/Object;I)V
        15: .line 331
            iload 6 /* v2 */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aload 2 /* o2 */
            aload 4 /* k1 */
            invokestatic com.oracle.truffle.object.basic.test.DynamicObjectLibraryTest.uncachedGet:(Lcom/oracle/truffle/api/object/DynamicObject;Ljava/lang/Object;)Ljava/lang/Object;
            invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
        16: .line 332
            aload 8 /* setNode1 */
            aload 2 /* o2 */
            aload 4 /* k1 */
            iload 5 /* v1 */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            iload 7 /* flags */
            invokevirtual com.oracle.truffle.api.object.DynamicObjectLibrary.putWithFlags:(Lcom/oracle/truffle/api/object/DynamicObject;Ljava/lang/Object;Ljava/lang/Object;I)V
        17: .line 333
            iload 5 /* v1 */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aload 2 /* o2 */
            aload 4 /* k1 */
            invokestatic com.oracle.truffle.object.basic.test.DynamicObjectLibraryTest.uncachedGet:(Lcom/oracle/truffle/api/object/DynamicObject;Ljava/lang/Object;)Ljava/lang/Object;
            invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
        18: .line 334
            aload 1 /* o1 */
            invokevirtual com.oracle.truffle.api.object.DynamicObject.getShape:()Lcom/oracle/truffle/api/object/Shape;
            aload 2 /* o2 */
            invokevirtual com.oracle.truffle.api.object.DynamicObject.getShape:()Lcom/oracle/truffle/api/object/Shape;
            invokestatic org.junit.Assert.assertSame:(Ljava/lang/Object;Ljava/lang/Object;)V
        19: .line 336
            iload 5 /* v1 */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aload 3 /* o3 */
            aload 4 /* k1 */
            invokestatic com.oracle.truffle.object.basic.test.DynamicObjectLibraryTest.uncachedGet:(Lcom/oracle/truffle/api/object/DynamicObject;Ljava/lang/Object;)Ljava/lang/Object;
            invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
        20: .line 337
            aload 1 /* o1 */
            invokevirtual com.oracle.truffle.api.object.DynamicObject.getShape:()Lcom/oracle/truffle/api/object/Shape;
            aload 3 /* o3 */
            invokevirtual com.oracle.truffle.api.object.DynamicObject.getShape:()Lcom/oracle/truffle/api/object/Shape;
            invokestatic org.junit.Assert.assertNotSame:(Ljava/lang/Object;Ljava/lang/Object;)V
        21: .line 338
            aload 3 /* o3 */
            aload 4 /* k1 */
            iload 5 /* v1 */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            iload 7 /* flags */
            invokestatic com.oracle.truffle.object.basic.test.DynamicObjectLibraryTest.uncachedPut:(Lcom/oracle/truffle/api/object/DynamicObject;Ljava/lang/Object;Ljava/lang/Object;I)V
        22: .line 339
            iload 5 /* v1 */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aload 3 /* o3 */
            aload 4 /* k1 */
            invokestatic com.oracle.truffle.object.basic.test.DynamicObjectLibraryTest.uncachedGet:(Lcom/oracle/truffle/api/object/DynamicObject;Ljava/lang/Object;)Ljava/lang/Object;
            invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
        23: .line 340
            iload 7 /* flags */
            i2l
            aload 3 /* o3 */
            aload 4 /* k1 */
            invokestatic com.oracle.truffle.object.basic.test.DynamicObjectLibraryTest.uncachedGetProperty:(Lcom/oracle/truffle/api/object/DynamicObject;Ljava/lang/Object;)Lcom/oracle/truffle/api/object/Property;
            invokevirtual com.oracle.truffle.api.object.Property.getFlags:()I
            i2l
            invokestatic org.junit.Assert.assertEquals:(JJ)V
        24: .line 343
            ldc "asdf"
            astore 9 /* v3 */
        start local 9 // java.lang.String v3
        25: .line 344
            aload 8 /* setNode1 */
            aload 1 /* o1 */
            aload 4 /* k1 */
            aload 9 /* v3 */
            iload 7 /* flags */
            invokevirtual com.oracle.truffle.api.object.DynamicObjectLibrary.putWithFlags:(Lcom/oracle/truffle/api/object/DynamicObject;Ljava/lang/Object;Ljava/lang/Object;I)V
        26: .line 345
            aload 9 /* v3 */
            aload 1 /* o1 */
            aload 4 /* k1 */
            invokestatic com.oracle.truffle.object.basic.test.DynamicObjectLibraryTest.uncachedGet:(Lcom/oracle/truffle/api/object/DynamicObject;Ljava/lang/Object;)Ljava/lang/Object;
            invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
        27: .line 347
            ldc "key2"
            astore 10 /* k2 */
        start local 10 // java.lang.String k2
        28: .line 348
            ldc "qwer"
            astore 11 /* v4 */
        start local 11 // java.lang.String v4
        29: .line 349
            aload 0 /* this */
            aload 10 /* k2 */
            invokevirtual com.oracle.truffle.object.basic.test.DynamicObjectLibraryTest.createLibraryForKey:(Ljava/lang/Object;)Lcom/oracle/truffle/api/object/DynamicObjectLibrary;
            astore 12 /* setNode2 */
        start local 12 // com.oracle.truffle.api.object.DynamicObjectLibrary setNode2
        30: .line 351
            aload 12 /* setNode2 */
            aload 1 /* o1 */
            aload 10 /* k2 */
            aload 11 /* v4 */
            invokevirtual com.oracle.truffle.api.object.DynamicObjectLibrary.put:(Lcom/oracle/truffle/api/object/DynamicObject;Ljava/lang/Object;Ljava/lang/Object;)V
        31: .line 352
            aload 11 /* v4 */
            aload 1 /* o1 */
            aload 10 /* k2 */
            invokestatic com.oracle.truffle.object.basic.test.DynamicObjectLibraryTest.uncachedGet:(Lcom/oracle/truffle/api/object/DynamicObject;Ljava/lang/Object;)Ljava/lang/Object;
            invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
        32: .line 353
            aload 12 /* setNode2 */
            aload 1 /* o1 */
            aload 10 /* k2 */
            iload 5 /* v1 */
            invokevirtual com.oracle.truffle.api.object.DynamicObjectLibrary.putInt:(Lcom/oracle/truffle/api/object/DynamicObject;Ljava/lang/Object;I)V
        33: .line 354
            iload 5 /* v1 */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aload 1 /* o1 */
            aload 10 /* k2 */
            invokestatic com.oracle.truffle.object.basic.test.DynamicObjectLibraryTest.uncachedGet:(Lcom/oracle/truffle/api/object/DynamicObject;Ljava/lang/Object;)Ljava/lang/Object;
            invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
        34: .line 356
            bipush 66
            istore 13 /* f2 */
        start local 13 // int f2
        35: .line 357
            aload 0 /* this */
            aload 4 /* k1 */
            invokevirtual com.oracle.truffle.object.basic.test.DynamicObjectLibraryTest.createLibraryForKey:(Ljava/lang/Object;)Lcom/oracle/truffle/api/object/DynamicObjectLibrary;
            astore 14 /* setNode3 */
        start local 14 // com.oracle.truffle.api.object.DynamicObjectLibrary setNode3
        36: .line 359
            aload 14 /* setNode3 */
            aload 3 /* o3 */
            aload 4 /* k1 */
            iload 5 /* v1 */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            iload 13 /* f2 */
            invokevirtual com.oracle.truffle.api.object.DynamicObjectLibrary.putWithFlags:(Lcom/oracle/truffle/api/object/DynamicObject;Ljava/lang/Object;Ljava/lang/Object;I)V
        37: .line 360
            iload 5 /* v1 */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aload 3 /* o3 */
            aload 4 /* k1 */
            invokestatic com.oracle.truffle.object.basic.test.DynamicObjectLibraryTest.uncachedGet:(Lcom/oracle/truffle/api/object/DynamicObject;Ljava/lang/Object;)Ljava/lang/Object;
            invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
        38: .line 361
            iload 13 /* f2 */
            i2l
            aload 3 /* o3 */
            aload 4 /* k1 */
            invokestatic com.oracle.truffle.object.basic.test.DynamicObjectLibraryTest.uncachedGetProperty:(Lcom/oracle/truffle/api/object/DynamicObject;Ljava/lang/Object;)Lcom/oracle/truffle/api/object/Property;
            invokevirtual com.oracle.truffle.api.object.Property.getFlags:()I
            i2l
            invokestatic org.junit.Assert.assertEquals:(JJ)V
        39: .line 362
            return
        end local 14 // com.oracle.truffle.api.object.DynamicObjectLibrary setNode3
        end local 13 // int f2
        end local 12 // com.oracle.truffle.api.object.DynamicObjectLibrary setNode2
        end local 11 // java.lang.String v4
        end local 10 // java.lang.String k2
        end local 9 // java.lang.String v3
        end local 8 // com.oracle.truffle.api.object.DynamicObjectLibrary setNode1
        end local 7 // int flags
        end local 6 // int v2
        end local 5 // int v1
        end local 4 // java.lang.String k1
        end local 3 // com.oracle.truffle.api.object.DynamicObject o3
        end local 2 // com.oracle.truffle.api.object.DynamicObject o2
        end local 1 // com.oracle.truffle.api.object.DynamicObject o1
        end local 0 // com.oracle.truffle.object.basic.test.DynamicObjectLibraryTest this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   40     0      this  Lcom/oracle/truffle/object/basic/test/DynamicObjectLibraryTest;
            1   40     1        o1  Lcom/oracle/truffle/api/object/DynamicObject;
            2   40     2        o2  Lcom/oracle/truffle/api/object/DynamicObject;
            3   40     3        o3  Lcom/oracle/truffle/api/object/DynamicObject;
            4   40     4        k1  Ljava/lang/String;
            5   40     5        v1  I
            6   40     6        v2  I
            8   40     7     flags  I
            9   40     8  setNode1  Lcom/oracle/truffle/api/object/DynamicObjectLibrary;
           25   40     9        v3  Ljava/lang/String;
           28   40    10        k2  Ljava/lang/String;
           29   40    11        v4  Ljava/lang/String;
           30   40    12  setNode2  Lcom/oracle/truffle/api/object/DynamicObjectLibrary;
           35   40    13        f2  I
           36   40    14  setNode3  Lcom/oracle/truffle/api/object/DynamicObjectLibrary;
    RuntimeVisibleAnnotations: 
      org.junit.Test()

  public void testTypeIdAndShapeFlags();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=11, args_size=1
        start local 0 // com.oracle.truffle.object.basic.test.DynamicObjectLibraryTest this
         0: .line 366
            aload 0 /* this */
            invokevirtual com.oracle.truffle.object.basic.test.DynamicObjectLibraryTest.createDispatchedLibrary:()Lcom/oracle/truffle/api/object/DynamicObjectLibrary;
            astore 1 /* lib */
        start local 1 // com.oracle.truffle.api.object.DynamicObjectLibrary lib
         1: .line 367
            invokestatic com.oracle.truffle.object.basic.test.DynamicObjectLibraryTest.newObjectType:()Ljava/lang/Object;
            astore 2 /* myType */
        start local 2 // java.lang.Object myType
         2: .line 368
            bipush 42
            istore 3 /* flags */
        start local 3 // int flags
         3: .line 369
            ldc "key1"
            astore 4 /* key */
        start local 4 // java.lang.String key
         4: .line 371
            aload 0 /* this */
            invokevirtual com.oracle.truffle.object.basic.test.DynamicObjectLibraryTest.createEmpty:()Lcom/oracle/truffle/api/object/DynamicObject;
            astore 5 /* o1 */
        start local 5 // com.oracle.truffle.api.object.DynamicObject o1
         5: .line 372
            aload 1 /* lib */
            aload 5 /* o1 */
            aload 2 /* myType */
            invokevirtual com.oracle.truffle.api.object.DynamicObjectLibrary.setDynamicType:(Lcom/oracle/truffle/api/object/DynamicObject;Ljava/lang/Object;)Z
            pop
         6: .line 373
            aload 2 /* myType */
            aload 1 /* lib */
            aload 5 /* o1 */
            invokevirtual com.oracle.truffle.api.object.DynamicObjectLibrary.getDynamicType:(Lcom/oracle/truffle/api/object/DynamicObject;)Ljava/lang/Object;
            invokestatic org.junit.Assert.assertSame:(Ljava/lang/Object;Ljava/lang/Object;)V
         7: .line 375
            aload 0 /* this */
            invokevirtual com.oracle.truffle.object.basic.test.DynamicObjectLibraryTest.createEmpty:()Lcom/oracle/truffle/api/object/DynamicObject;
            astore 6 /* o2 */
        start local 6 // com.oracle.truffle.api.object.DynamicObject o2
         8: .line 376
            aload 1 /* lib */
            aload 6 /* o2 */
            aload 2 /* myType */
            invokevirtual com.oracle.truffle.api.object.DynamicObjectLibrary.setDynamicType:(Lcom/oracle/truffle/api/object/DynamicObject;Ljava/lang/Object;)Z
            pop
         9: .line 377
            aload 2 /* myType */
            aload 1 /* lib */
            aload 6 /* o2 */
            invokevirtual com.oracle.truffle.api.object.DynamicObjectLibrary.getDynamicType:(Lcom/oracle/truffle/api/object/DynamicObject;)Ljava/lang/Object;
            invokestatic org.junit.Assert.assertSame:(Ljava/lang/Object;Ljava/lang/Object;)V
        10: .line 378
            aload 5 /* o1 */
            invokevirtual com.oracle.truffle.api.object.DynamicObject.getShape:()Lcom/oracle/truffle/api/object/Shape;
            aload 6 /* o2 */
            invokevirtual com.oracle.truffle.api.object.DynamicObject.getShape:()Lcom/oracle/truffle/api/object/Shape;
            invokestatic org.junit.Assert.assertSame:(Ljava/lang/Object;Ljava/lang/Object;)V
        11: .line 380
            aload 0 /* this */
            invokevirtual com.oracle.truffle.object.basic.test.DynamicObjectLibraryTest.createEmpty:()Lcom/oracle/truffle/api/object/DynamicObject;
            astore 7 /* o3 */
        start local 7 // com.oracle.truffle.api.object.DynamicObject o3
        12: .line 381
            aload 1 /* lib */
            aload 7 /* o3 */
            iload 3 /* flags */
            invokevirtual com.oracle.truffle.api.object.DynamicObjectLibrary.setShapeFlags:(Lcom/oracle/truffle/api/object/DynamicObject;I)Z
            pop
        13: .line 382
            aload 1 /* lib */
            aload 7 /* o3 */
            aload 2 /* myType */
            invokevirtual com.oracle.truffle.api.object.DynamicObjectLibrary.setDynamicType:(Lcom/oracle/truffle/api/object/DynamicObject;Ljava/lang/Object;)Z
            pop
        14: .line 383
            aload 2 /* myType */
            aload 1 /* lib */
            aload 7 /* o3 */
            invokevirtual com.oracle.truffle.api.object.DynamicObjectLibrary.getDynamicType:(Lcom/oracle/truffle/api/object/DynamicObject;)Ljava/lang/Object;
            invokestatic org.junit.Assert.assertSame:(Ljava/lang/Object;Ljava/lang/Object;)V
        15: .line 384
            iload 3 /* flags */
            i2l
            aload 1 /* lib */
            aload 7 /* o3 */
            invokevirtual com.oracle.truffle.api.object.DynamicObjectLibrary.getShapeFlags:(Lcom/oracle/truffle/api/object/DynamicObject;)I
            i2l
            invokestatic org.junit.Assert.assertEquals:(JJ)V
        16: .line 386
            aload 0 /* this */
            invokevirtual com.oracle.truffle.object.basic.test.DynamicObjectLibraryTest.createEmpty:()Lcom/oracle/truffle/api/object/DynamicObject;
            astore 8 /* o4 */
        start local 8 // com.oracle.truffle.api.object.DynamicObject o4
        17: .line 387
            aload 1 /* lib */
            aload 8 /* o4 */
            iload 3 /* flags */
            invokevirtual com.oracle.truffle.api.object.DynamicObjectLibrary.setShapeFlags:(Lcom/oracle/truffle/api/object/DynamicObject;I)Z
            pop
        18: .line 388
            aload 1 /* lib */
            aload 8 /* o4 */
            aload 4 /* key */
            bipush 42
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            invokevirtual com.oracle.truffle.api.object.DynamicObjectLibrary.put:(Lcom/oracle/truffle/api/object/DynamicObject;Ljava/lang/Object;Ljava/lang/Object;)V
        19: .line 389
            aload 1 /* lib */
            aload 8 /* o4 */
            aload 2 /* myType */
            invokevirtual com.oracle.truffle.api.object.DynamicObjectLibrary.setDynamicType:(Lcom/oracle/truffle/api/object/DynamicObject;Ljava/lang/Object;)Z
            pop
        20: .line 390
            aload 1 /* lib */
            aload 8 /* o4 */
            aload 4 /* key */
            ldc "value"
            invokevirtual com.oracle.truffle.api.object.DynamicObjectLibrary.put:(Lcom/oracle/truffle/api/object/DynamicObject;Ljava/lang/Object;Ljava/lang/Object;)V
        21: .line 391
            aload 2 /* myType */
            aload 1 /* lib */
            aload 8 /* o4 */
            invokevirtual com.oracle.truffle.api.object.DynamicObjectLibrary.getDynamicType:(Lcom/oracle/truffle/api/object/DynamicObject;)Ljava/lang/Object;
            invokestatic org.junit.Assert.assertSame:(Ljava/lang/Object;Ljava/lang/Object;)V
        22: .line 393
            aload 0 /* this */
            aload 8 /* o4 */
            invokevirtual com.oracle.truffle.object.basic.test.DynamicObjectLibraryTest.createLibraryForReceiver:(Lcom/oracle/truffle/api/object/DynamicObject;)Lcom/oracle/truffle/api/object/DynamicObjectLibrary;
            astore 9 /* cached */
        start local 9 // com.oracle.truffle.api.object.DynamicObjectLibrary cached
        23: .line 394
            aload 2 /* myType */
            aload 9 /* cached */
            aload 8 /* o4 */
            invokevirtual com.oracle.truffle.api.object.DynamicObjectLibrary.getDynamicType:(Lcom/oracle/truffle/api/object/DynamicObject;)Ljava/lang/Object;
            invokestatic org.junit.Assert.assertSame:(Ljava/lang/Object;Ljava/lang/Object;)V
        24: .line 395
            aload 2 /* myType */
            aload 9 /* cached */
            aload 8 /* o4 */
            invokevirtual com.oracle.truffle.api.object.DynamicObjectLibrary.getDynamicType:(Lcom/oracle/truffle/api/object/DynamicObject;)Ljava/lang/Object;
            invokestatic org.junit.Assert.assertSame:(Ljava/lang/Object;Ljava/lang/Object;)V
        25: .line 396
            invokestatic com.oracle.truffle.object.basic.test.DynamicObjectLibraryTest.newObjectType:()Ljava/lang/Object;
            astore 10 /* myType2 */
        start local 10 // java.lang.Object myType2
        26: .line 397
            aload 9 /* cached */
            aload 8 /* o4 */
            aload 10 /* myType2 */
            invokevirtual com.oracle.truffle.api.object.DynamicObjectLibrary.setDynamicType:(Lcom/oracle/truffle/api/object/DynamicObject;Ljava/lang/Object;)Z
            pop
        27: .line 398
            aload 0 /* this */
            getfield com.oracle.truffle.object.basic.test.DynamicObjectLibraryTest.run:Lcom/oracle/truffle/api/test/AbstractParametrizedLibraryTest$TestRun;
            getstatic com.oracle.truffle.api.test.AbstractParametrizedLibraryTest$TestRun.CACHED:Lcom/oracle/truffle/api/test/AbstractParametrizedLibraryTest$TestRun;
            if_acmpeq 28
            iconst_1
            goto 29
      StackMap locals: com.oracle.truffle.object.basic.test.DynamicObjectLibraryTest com.oracle.truffle.api.object.DynamicObjectLibrary java.lang.Object int java.lang.String com.oracle.truffle.api.object.DynamicObject com.oracle.truffle.api.object.DynamicObject com.oracle.truffle.api.object.DynamicObject com.oracle.truffle.api.object.DynamicObject com.oracle.truffle.api.object.DynamicObjectLibrary java.lang.Object
      StackMap stack:
        28: iconst_0
      StackMap locals:
      StackMap stack: int
        29: invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
            aload 9 /* cached */
            aload 8 /* o4 */
            invokevirtual com.oracle.truffle.api.object.DynamicObjectLibrary.accepts:(Ljava/lang/Object;)Z
            invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
            invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
        30: .line 399
            aload 10 /* myType2 */
            aload 1 /* lib */
            aload 8 /* o4 */
            invokevirtual com.oracle.truffle.api.object.DynamicObjectLibrary.getDynamicType:(Lcom/oracle/truffle/api/object/DynamicObject;)Ljava/lang/Object;
            invokestatic org.junit.Assert.assertSame:(Ljava/lang/Object;Ljava/lang/Object;)V
        31: .line 400
            return
        end local 10 // java.lang.Object myType2
        end local 9 // com.oracle.truffle.api.object.DynamicObjectLibrary cached
        end local 8 // com.oracle.truffle.api.object.DynamicObject o4
        end local 7 // com.oracle.truffle.api.object.DynamicObject o3
        end local 6 // com.oracle.truffle.api.object.DynamicObject o2
        end local 5 // com.oracle.truffle.api.object.DynamicObject o1
        end local 4 // java.lang.String key
        end local 3 // int flags
        end local 2 // java.lang.Object myType
        end local 1 // com.oracle.truffle.api.object.DynamicObjectLibrary lib
        end local 0 // com.oracle.truffle.object.basic.test.DynamicObjectLibraryTest this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   32     0     this  Lcom/oracle/truffle/object/basic/test/DynamicObjectLibraryTest;
            1   32     1      lib  Lcom/oracle/truffle/api/object/DynamicObjectLibrary;
            2   32     2   myType  Ljava/lang/Object;
            3   32     3    flags  I
            4   32     4      key  Ljava/lang/String;
            5   32     5       o1  Lcom/oracle/truffle/api/object/DynamicObject;
            8   32     6       o2  Lcom/oracle/truffle/api/object/DynamicObject;
           12   32     7       o3  Lcom/oracle/truffle/api/object/DynamicObject;
           17   32     8       o4  Lcom/oracle/truffle/api/object/DynamicObject;
           23   32     9   cached  Lcom/oracle/truffle/api/object/DynamicObjectLibrary;
           26   32    10  myType2  Ljava/lang/Object;
    RuntimeVisibleAnnotations: 
      org.junit.Test()

  public void testShapeFlags();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=9, args_size=1
        start local 0 // com.oracle.truffle.object.basic.test.DynamicObjectLibraryTest this
         0: .line 404
            aload 0 /* this */
            invokevirtual com.oracle.truffle.object.basic.test.DynamicObjectLibraryTest.createDispatchedLibrary:()Lcom/oracle/truffle/api/object/DynamicObjectLibrary;
            astore 1 /* lib */
        start local 1 // com.oracle.truffle.api.object.DynamicObjectLibrary lib
         1: .line 405
            bipush 42
            istore 2 /* flags */
        start local 2 // int flags
         2: .line 407
            aload 0 /* this */
            invokevirtual com.oracle.truffle.object.basic.test.DynamicObjectLibraryTest.createEmpty:()Lcom/oracle/truffle/api/object/DynamicObject;
            astore 3 /* o1 */
        start local 3 // com.oracle.truffle.api.object.DynamicObject o1
         3: .line 408
            aload 1 /* lib */
            aload 3 /* o1 */
            iload 2 /* flags */
            invokevirtual com.oracle.truffle.api.object.DynamicObjectLibrary.setShapeFlags:(Lcom/oracle/truffle/api/object/DynamicObject;I)Z
            pop
         4: .line 409
            iload 2 /* flags */
            i2l
            aload 1 /* lib */
            aload 3 /* o1 */
            invokevirtual com.oracle.truffle.api.object.DynamicObjectLibrary.getShapeFlags:(Lcom/oracle/truffle/api/object/DynamicObject;)I
            i2l
            invokestatic org.junit.Assert.assertEquals:(JJ)V
         5: .line 411
            aload 0 /* this */
            invokevirtual com.oracle.truffle.object.basic.test.DynamicObjectLibraryTest.createEmpty:()Lcom/oracle/truffle/api/object/DynamicObject;
            astore 4 /* o2 */
        start local 4 // com.oracle.truffle.api.object.DynamicObject o2
         6: .line 412
            aload 1 /* lib */
            aload 4 /* o2 */
            iload 2 /* flags */
            invokevirtual com.oracle.truffle.api.object.DynamicObjectLibrary.setShapeFlags:(Lcom/oracle/truffle/api/object/DynamicObject;I)Z
            pop
         7: .line 413
            iload 2 /* flags */
            i2l
            aload 1 /* lib */
            aload 4 /* o2 */
            invokevirtual com.oracle.truffle.api.object.DynamicObjectLibrary.getShapeFlags:(Lcom/oracle/truffle/api/object/DynamicObject;)I
            i2l
            invokestatic org.junit.Assert.assertEquals:(JJ)V
         8: .line 414
            aload 3 /* o1 */
            invokevirtual com.oracle.truffle.api.object.DynamicObject.getShape:()Lcom/oracle/truffle/api/object/Shape;
            aload 4 /* o2 */
            invokevirtual com.oracle.truffle.api.object.DynamicObject.getShape:()Lcom/oracle/truffle/api/object/Shape;
            invokestatic org.junit.Assert.assertSame:(Ljava/lang/Object;Ljava/lang/Object;)V
         9: .line 416
            aload 0 /* this */
            invokevirtual com.oracle.truffle.object.basic.test.DynamicObjectLibraryTest.createEmpty:()Lcom/oracle/truffle/api/object/DynamicObject;
            astore 5 /* o3 */
        start local 5 // com.oracle.truffle.api.object.DynamicObject o3
        10: .line 417
            aload 1 /* lib */
            aload 5 /* o3 */
            iconst_1
            invokevirtual com.oracle.truffle.api.object.DynamicObjectLibrary.setShapeFlags:(Lcom/oracle/truffle/api/object/DynamicObject;I)Z
            pop
        11: .line 418
            aload 1 /* lib */
            aload 5 /* o3 */
            invokestatic com.oracle.truffle.object.basic.test.DynamicObjectLibraryTest.newObjectType:()Ljava/lang/Object;
            invokevirtual com.oracle.truffle.api.object.DynamicObjectLibrary.setDynamicType:(Lcom/oracle/truffle/api/object/DynamicObject;Ljava/lang/Object;)Z
            pop
        12: .line 419
            aload 1 /* lib */
            aload 5 /* o3 */
            iload 2 /* flags */
            invokevirtual com.oracle.truffle.api.object.DynamicObjectLibrary.setShapeFlags:(Lcom/oracle/truffle/api/object/DynamicObject;I)Z
            pop
        13: .line 420
            aload 1 /* lib */
            aload 5 /* o3 */
            invokestatic com.oracle.truffle.object.basic.test.DynamicObjectLibraryTest.newObjectType:()Ljava/lang/Object;
            invokevirtual com.oracle.truffle.api.object.DynamicObjectLibrary.setDynamicType:(Lcom/oracle/truffle/api/object/DynamicObject;Ljava/lang/Object;)Z
            pop
        14: .line 421
            iload 2 /* flags */
            i2l
            aload 1 /* lib */
            aload 4 /* o2 */
            invokevirtual com.oracle.truffle.api.object.DynamicObjectLibrary.getShapeFlags:(Lcom/oracle/truffle/api/object/DynamicObject;)I
            i2l
            invokestatic org.junit.Assert.assertEquals:(JJ)V
        15: .line 423
            aload 0 /* this */
            invokevirtual com.oracle.truffle.object.basic.test.DynamicObjectLibraryTest.createEmpty:()Lcom/oracle/truffle/api/object/DynamicObject;
            astore 6 /* o4 */
        start local 6 // com.oracle.truffle.api.object.DynamicObject o4
        16: .line 424
            aload 1 /* lib */
            aload 6 /* o4 */
            iload 2 /* flags */
            invokevirtual com.oracle.truffle.api.object.DynamicObjectLibrary.setShapeFlags:(Lcom/oracle/truffle/api/object/DynamicObject;I)Z
            pop
        17: .line 425
            aload 1 /* lib */
            aload 6 /* o4 */
            invokevirtual com.oracle.truffle.api.object.DynamicObjectLibrary.markShared:(Lcom/oracle/truffle/api/object/DynamicObject;)V
        18: .line 426
            iload 2 /* flags */
            i2l
            aload 1 /* lib */
            aload 4 /* o2 */
            invokevirtual com.oracle.truffle.api.object.DynamicObjectLibrary.getShapeFlags:(Lcom/oracle/truffle/api/object/DynamicObject;)I
            i2l
            invokestatic org.junit.Assert.assertEquals:(JJ)V
        19: .line 428
            aload 0 /* this */
            aload 6 /* o4 */
            invokevirtual com.oracle.truffle.object.basic.test.DynamicObjectLibraryTest.createLibraryForReceiver:(Lcom/oracle/truffle/api/object/DynamicObject;)Lcom/oracle/truffle/api/object/DynamicObjectLibrary;
            astore 7 /* cached */
        start local 7 // com.oracle.truffle.api.object.DynamicObjectLibrary cached
        20: .line 429
            iload 2 /* flags */
            i2l
            aload 7 /* cached */
            aload 6 /* o4 */
            invokevirtual com.oracle.truffle.api.object.DynamicObjectLibrary.getShapeFlags:(Lcom/oracle/truffle/api/object/DynamicObject;)I
            i2l
            invokestatic org.junit.Assert.assertEquals:(JJ)V
        21: .line 430
            iload 2 /* flags */
            i2l
            aload 7 /* cached */
            aload 6 /* o4 */
            invokevirtual com.oracle.truffle.api.object.DynamicObjectLibrary.getShapeFlags:(Lcom/oracle/truffle/api/object/DynamicObject;)I
            i2l
            invokestatic org.junit.Assert.assertEquals:(JJ)V
        22: .line 431
            bipush 43
            istore 8 /* flags2 */
        start local 8 // int flags2
        23: .line 432
            aload 7 /* cached */
            aload 6 /* o4 */
            iload 8 /* flags2 */
            invokevirtual com.oracle.truffle.api.object.DynamicObjectLibrary.setShapeFlags:(Lcom/oracle/truffle/api/object/DynamicObject;I)Z
            pop
        24: .line 433
            aload 0 /* this */
            getfield com.oracle.truffle.object.basic.test.DynamicObjectLibraryTest.run:Lcom/oracle/truffle/api/test/AbstractParametrizedLibraryTest$TestRun;
            getstatic com.oracle.truffle.api.test.AbstractParametrizedLibraryTest$TestRun.CACHED:Lcom/oracle/truffle/api/test/AbstractParametrizedLibraryTest$TestRun;
            if_acmpeq 25
            iconst_1
            goto 26
      StackMap locals: com.oracle.truffle.object.basic.test.DynamicObjectLibraryTest com.oracle.truffle.api.object.DynamicObjectLibrary int com.oracle.truffle.api.object.DynamicObject com.oracle.truffle.api.object.DynamicObject com.oracle.truffle.api.object.DynamicObject com.oracle.truffle.api.object.DynamicObject com.oracle.truffle.api.object.DynamicObjectLibrary int
      StackMap stack:
        25: iconst_0
      StackMap locals:
      StackMap stack: int
        26: invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
            aload 7 /* cached */
            aload 6 /* o4 */
            invokevirtual com.oracle.truffle.api.object.DynamicObjectLibrary.accepts:(Ljava/lang/Object;)Z
            invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
            invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
        27: .line 434
            iload 8 /* flags2 */
            i2l
            aload 1 /* lib */
            aload 6 /* o4 */
            invokevirtual com.oracle.truffle.api.object.DynamicObjectLibrary.getShapeFlags:(Lcom/oracle/truffle/api/object/DynamicObject;)I
            i2l
            invokestatic org.junit.Assert.assertEquals:(JJ)V
        28: .line 435
            return
        end local 8 // int flags2
        end local 7 // com.oracle.truffle.api.object.DynamicObjectLibrary cached
        end local 6 // com.oracle.truffle.api.object.DynamicObject o4
        end local 5 // com.oracle.truffle.api.object.DynamicObject o3
        end local 4 // com.oracle.truffle.api.object.DynamicObject o2
        end local 3 // com.oracle.truffle.api.object.DynamicObject o1
        end local 2 // int flags
        end local 1 // com.oracle.truffle.api.object.DynamicObjectLibrary lib
        end local 0 // com.oracle.truffle.object.basic.test.DynamicObjectLibraryTest this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   29     0    this  Lcom/oracle/truffle/object/basic/test/DynamicObjectLibraryTest;
            1   29     1     lib  Lcom/oracle/truffle/api/object/DynamicObjectLibrary;
            2   29     2   flags  I
            3   29     3      o1  Lcom/oracle/truffle/api/object/DynamicObject;
            6   29     4      o2  Lcom/oracle/truffle/api/object/DynamicObject;
           10   29     5      o3  Lcom/oracle/truffle/api/object/DynamicObject;
           16   29     6      o4  Lcom/oracle/truffle/api/object/DynamicObject;
           20   29     7  cached  Lcom/oracle/truffle/api/object/DynamicObjectLibrary;
           23   29     8  flags2  I
    RuntimeVisibleAnnotations: 
      org.junit.Test()

  public void testUpdateShapeFlags();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=6, args_size=1
        start local 0 // com.oracle.truffle.object.basic.test.DynamicObjectLibraryTest this
         0: .line 439
            bipush 15
            istore 1 /* f1 */
        start local 1 // int f1
         1: .line 440
            bipush 16
            istore 2 /* f2 */
        start local 2 // int f2
         2: .line 441
            bipush 31
            istore 3 /* f3 */
        start local 3 // int f3
         3: .line 443
            aload 0 /* this */
            invokevirtual com.oracle.truffle.object.basic.test.DynamicObjectLibraryTest.createDispatchedLibrary:()Lcom/oracle/truffle/api/object/DynamicObjectLibrary;
            astore 4 /* lib */
        start local 4 // com.oracle.truffle.api.object.DynamicObjectLibrary lib
         4: .line 444
            aload 0 /* this */
            invokevirtual com.oracle.truffle.object.basic.test.DynamicObjectLibraryTest.createEmpty:()Lcom/oracle/truffle/api/object/DynamicObject;
            astore 5 /* o1 */
        start local 5 // com.oracle.truffle.api.object.DynamicObject o1
         5: .line 445
            aload 5 /* o1 */
            ldc "key"
            bipush 42
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            iconst_0
            invokestatic com.oracle.truffle.object.basic.test.DynamicObjectLibraryTest.uncachedPut:(Lcom/oracle/truffle/api/object/DynamicObject;Ljava/lang/Object;Ljava/lang/Object;I)V
         6: .line 446
            aload 4 /* lib */
            aload 5 /* o1 */
            iload 1 /* f1 */
            invokevirtual com.oracle.truffle.api.object.DynamicObjectLibrary.setShapeFlags:(Lcom/oracle/truffle/api/object/DynamicObject;I)Z
            invokestatic org.junit.Assert.assertTrue:(Z)V
         7: .line 447
            iload 1 /* f1 */
            i2l
            aload 4 /* lib */
            aload 5 /* o1 */
            invokevirtual com.oracle.truffle.api.object.DynamicObjectLibrary.getShapeFlags:(Lcom/oracle/truffle/api/object/DynamicObject;)I
            i2l
            invokestatic org.junit.Assert.assertEquals:(JJ)V
         8: .line 448
            iload 1 /* f1 */
            i2l
            aload 5 /* o1 */
            invokevirtual com.oracle.truffle.api.object.DynamicObject.getShape:()Lcom/oracle/truffle/api/object/Shape;
            invokevirtual com.oracle.truffle.api.object.Shape.getFlags:()I
            i2l
            invokestatic org.junit.Assert.assertEquals:(JJ)V
         9: .line 449
            aload 4 /* lib */
            aload 5 /* o1 */
            iload 2 /* f2 */
            invokedynamic applyAsInt(I)Ljava/util/function/IntUnaryOperator;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (I)I
                  com/oracle/truffle/object/basic/test/DynamicObjectLibraryTest.lambda$3(II)I (6)
                  (I)I
            invokestatic com.oracle.truffle.object.basic.test.DynamicObjectLibraryTest.updateShapeFlags:(Lcom/oracle/truffle/api/object/DynamicObjectLibrary;Lcom/oracle/truffle/api/object/DynamicObject;Ljava/util/function/IntUnaryOperator;)Z
            invokestatic org.junit.Assert.assertTrue:(Z)V
        10: .line 450
            iload 3 /* f3 */
            i2l
            aload 4 /* lib */
            aload 5 /* o1 */
            invokevirtual com.oracle.truffle.api.object.DynamicObjectLibrary.getShapeFlags:(Lcom/oracle/truffle/api/object/DynamicObject;)I
            i2l
            invokestatic org.junit.Assert.assertEquals:(JJ)V
        11: .line 451
            iload 3 /* f3 */
            i2l
            aload 5 /* o1 */
            invokevirtual com.oracle.truffle.api.object.DynamicObject.getShape:()Lcom/oracle/truffle/api/object/Shape;
            invokevirtual com.oracle.truffle.api.object.Shape.getFlags:()I
            i2l
            invokestatic org.junit.Assert.assertEquals:(JJ)V
        12: .line 452
            return
        end local 5 // com.oracle.truffle.api.object.DynamicObject o1
        end local 4 // com.oracle.truffle.api.object.DynamicObjectLibrary lib
        end local 3 // int f3
        end local 2 // int f2
        end local 1 // int f1
        end local 0 // com.oracle.truffle.object.basic.test.DynamicObjectLibraryTest this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   13     0  this  Lcom/oracle/truffle/object/basic/test/DynamicObjectLibraryTest;
            1   13     1    f1  I
            2   13     2    f2  I
            3   13     3    f3  I
            4   13     4   lib  Lcom/oracle/truffle/api/object/DynamicObjectLibrary;
            5   13     5    o1  Lcom/oracle/truffle/api/object/DynamicObject;
    RuntimeVisibleAnnotations: 
      org.junit.Test()

  private static boolean updateShapeFlags(com.oracle.truffle.api.object.DynamicObjectLibrary, com.oracle.truffle.api.object.DynamicObject, java.util.function.IntUnaryOperator);
    descriptor: (Lcom/oracle/truffle/api/object/DynamicObjectLibrary;Lcom/oracle/truffle/api/object/DynamicObject;Ljava/util/function/IntUnaryOperator;)Z
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=5, args_size=3
        start local 0 // com.oracle.truffle.api.object.DynamicObjectLibrary lib
        start local 1 // com.oracle.truffle.api.object.DynamicObject obj
        start local 2 // java.util.function.IntUnaryOperator updateFunction
         0: .line 455
            aload 0 /* lib */
            aload 1 /* obj */
            invokevirtual com.oracle.truffle.api.object.DynamicObjectLibrary.getShapeFlags:(Lcom/oracle/truffle/api/object/DynamicObject;)I
            istore 3 /* oldFlags */
        start local 3 // int oldFlags
         1: .line 456
            aload 2 /* updateFunction */
            iload 3 /* oldFlags */
            invokeinterface java.util.function.IntUnaryOperator.applyAsInt:(I)I
            istore 4 /* newFlags */
        start local 4 // int newFlags
         2: .line 457
            iload 3 /* oldFlags */
            iload 4 /* newFlags */
            if_icmpne 4
         3: .line 458
            iconst_0
            ireturn
         4: .line 460
      StackMap locals: int int
      StackMap stack:
            aload 0 /* lib */
            aload 1 /* obj */
            iload 4 /* newFlags */
            invokevirtual com.oracle.truffle.api.object.DynamicObjectLibrary.setShapeFlags:(Lcom/oracle/truffle/api/object/DynamicObject;I)Z
            ireturn
        end local 4 // int newFlags
        end local 3 // int oldFlags
        end local 2 // java.util.function.IntUnaryOperator updateFunction
        end local 1 // com.oracle.truffle.api.object.DynamicObject obj
        end local 0 // com.oracle.truffle.api.object.DynamicObjectLibrary lib
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    5     0             lib  Lcom/oracle/truffle/api/object/DynamicObjectLibrary;
            0    5     1             obj  Lcom/oracle/truffle/api/object/DynamicObject;
            0    5     2  updateFunction  Ljava/util/function/IntUnaryOperator;
            1    5     3        oldFlags  I
            2    5     4        newFlags  I
    MethodParameters:
                Name  Flags
      lib             
      obj             
      updateFunction  

  public void testMakeShared();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=1
        start local 0 // com.oracle.truffle.object.basic.test.DynamicObjectLibraryTest this
         0: .line 465
            aload 0 /* this */
            invokevirtual com.oracle.truffle.object.basic.test.DynamicObjectLibraryTest.createDispatchedLibrary:()Lcom/oracle/truffle/api/object/DynamicObjectLibrary;
            astore 1 /* lib */
        start local 1 // com.oracle.truffle.api.object.DynamicObjectLibrary lib
         1: .line 467
            aload 0 /* this */
            invokevirtual com.oracle.truffle.object.basic.test.DynamicObjectLibraryTest.createEmpty:()Lcom/oracle/truffle/api/object/DynamicObject;
            astore 2 /* o1 */
        start local 2 // com.oracle.truffle.api.object.DynamicObject o1
         2: .line 468
            aload 1 /* lib */
            aload 2 /* o1 */
            invokevirtual com.oracle.truffle.api.object.DynamicObjectLibrary.isShared:(Lcom/oracle/truffle/api/object/DynamicObject;)Z
            invokestatic org.junit.Assert.assertFalse:(Z)V
         3: .line 469
            aload 1 /* lib */
            aload 2 /* o1 */
            invokevirtual com.oracle.truffle.api.object.DynamicObjectLibrary.markShared:(Lcom/oracle/truffle/api/object/DynamicObject;)V
         4: .line 470
            aload 1 /* lib */
            aload 2 /* o1 */
            invokevirtual com.oracle.truffle.api.object.DynamicObjectLibrary.isShared:(Lcom/oracle/truffle/api/object/DynamicObject;)Z
            invokestatic org.junit.Assert.assertTrue:(Z)V
         5: .line 471
            aload 1 /* lib */
            aload 2 /* o1 */
            ldc "key"
            ldc "value"
            invokevirtual com.oracle.truffle.api.object.DynamicObjectLibrary.put:(Lcom/oracle/truffle/api/object/DynamicObject;Ljava/lang/Object;Ljava/lang/Object;)V
         6: .line 472
            aload 1 /* lib */
            aload 2 /* o1 */
            invokevirtual com.oracle.truffle.api.object.DynamicObjectLibrary.isShared:(Lcom/oracle/truffle/api/object/DynamicObject;)Z
            invokestatic org.junit.Assert.assertTrue:(Z)V
         7: .line 473
            aload 1 /* lib */
            aload 2 /* o1 */
            ldc "key"
            invokevirtual com.oracle.truffle.api.object.DynamicObjectLibrary.containsKey:(Lcom/oracle/truffle/api/object/DynamicObject;Ljava/lang/Object;)Z
            invokestatic org.junit.Assert.assertTrue:(Z)V
         8: .line 474
            return
        end local 2 // com.oracle.truffle.api.object.DynamicObject o1
        end local 1 // com.oracle.truffle.api.object.DynamicObjectLibrary lib
        end local 0 // com.oracle.truffle.object.basic.test.DynamicObjectLibraryTest this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    9     0  this  Lcom/oracle/truffle/object/basic/test/DynamicObjectLibraryTest;
            1    9     1   lib  Lcom/oracle/truffle/api/object/DynamicObjectLibrary;
            2    9     2    o1  Lcom/oracle/truffle/api/object/DynamicObject;
    RuntimeVisibleAnnotations: 
      org.junit.Test()

  public void testPropertyFlags();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=12, args_size=1
        start local 0 // com.oracle.truffle.object.basic.test.DynamicObjectLibraryTest this
         0: .line 478
            ldc "key1"
            astore 1 /* k1 */
        start local 1 // java.lang.String k1
         1: .line 479
            bipush 42
            istore 2 /* v1 */
        start local 2 // int v1
         2: .line 480
            bipush 43
            istore 3 /* v2 */
        start local 3 // int v2
         3: .line 481
            bipush 15
            istore 4 /* f1 */
        start local 4 // int f1
         4: .line 482
            bipush 16
            istore 5 /* f2 */
        start local 5 // int f2
         5: .line 483
            bipush 31
            istore 6 /* f3 */
        start local 6 // int f3
         6: .line 485
            aload 0 /* this */
            aload 1 /* k1 */
            invokevirtual com.oracle.truffle.object.basic.test.DynamicObjectLibraryTest.createLibraryForKey:(Ljava/lang/Object;)Lcom/oracle/truffle/api/object/DynamicObjectLibrary;
            astore 7 /* lib */
        start local 7 // com.oracle.truffle.api.object.DynamicObjectLibrary lib
         7: .line 486
            aload 0 /* this */
            invokevirtual com.oracle.truffle.object.basic.test.DynamicObjectLibraryTest.createEmpty:()Lcom/oracle/truffle/api/object/DynamicObject;
            astore 8 /* o1 */
        start local 8 // com.oracle.truffle.api.object.DynamicObject o1
         8: .line 487
            aload 8 /* o1 */
            aload 1 /* k1 */
            iload 2 /* v1 */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            iconst_0
            invokestatic com.oracle.truffle.object.basic.test.DynamicObjectLibraryTest.uncachedPut:(Lcom/oracle/truffle/api/object/DynamicObject;Ljava/lang/Object;Ljava/lang/Object;I)V
         9: .line 488
            aload 7 /* lib */
            aload 8 /* o1 */
            aload 1 /* k1 */
            iload 4 /* f1 */
            invokevirtual com.oracle.truffle.api.object.DynamicObjectLibrary.setPropertyFlags:(Lcom/oracle/truffle/api/object/DynamicObject;Ljava/lang/Object;I)Z
            invokestatic org.junit.Assert.assertTrue:(Z)V
        10: .line 489
            iload 4 /* f1 */
            i2l
            aload 7 /* lib */
            aload 8 /* o1 */
            aload 1 /* k1 */
            iconst_m1
            invokevirtual com.oracle.truffle.api.object.DynamicObjectLibrary.getPropertyFlagsOrDefault:(Lcom/oracle/truffle/api/object/DynamicObject;Ljava/lang/Object;I)I
            i2l
            invokestatic org.junit.Assert.assertEquals:(JJ)V
        11: .line 490
            iload 4 /* f1 */
            i2l
            aload 8 /* o1 */
            aload 1 /* k1 */
            invokestatic com.oracle.truffle.object.basic.test.DynamicObjectLibraryTest.uncachedGetProperty:(Lcom/oracle/truffle/api/object/DynamicObject;Ljava/lang/Object;)Lcom/oracle/truffle/api/object/Property;
            invokevirtual com.oracle.truffle.api.object.Property.getFlags:()I
            i2l
            invokestatic org.junit.Assert.assertEquals:(JJ)V
        12: .line 491
            aload 7 /* lib */
            aload 8 /* o1 */
            aload 1 /* k1 */
            iload 5 /* f2 */
            invokedynamic applyAsInt(I)Ljava/util/function/IntUnaryOperator;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (I)I
                  com/oracle/truffle/object/basic/test/DynamicObjectLibraryTest.lambda$4(II)I (6)
                  (I)I
            invokestatic com.oracle.truffle.object.basic.test.DynamicObjectLibraryTest.updatePropertyFlags:(Lcom/oracle/truffle/api/object/DynamicObjectLibrary;Lcom/oracle/truffle/api/object/DynamicObject;Ljava/lang/String;Ljava/util/function/IntUnaryOperator;)Z
            invokestatic org.junit.Assert.assertTrue:(Z)V
        13: .line 492
            iload 6 /* f3 */
            i2l
            aload 7 /* lib */
            aload 8 /* o1 */
            aload 1 /* k1 */
            iconst_m1
            invokevirtual com.oracle.truffle.api.object.DynamicObjectLibrary.getPropertyFlagsOrDefault:(Lcom/oracle/truffle/api/object/DynamicObject;Ljava/lang/Object;I)I
            i2l
            invokestatic org.junit.Assert.assertEquals:(JJ)V
        14: .line 493
            iload 6 /* f3 */
            i2l
            aload 8 /* o1 */
            aload 1 /* k1 */
            invokestatic com.oracle.truffle.object.basic.test.DynamicObjectLibraryTest.uncachedGetProperty:(Lcom/oracle/truffle/api/object/DynamicObject;Ljava/lang/Object;)Lcom/oracle/truffle/api/object/Property;
            invokevirtual com.oracle.truffle.api.object.Property.getFlags:()I
            i2l
            invokestatic org.junit.Assert.assertEquals:(JJ)V
        15: .line 495
            aload 8 /* o1 */
            invokevirtual com.oracle.truffle.api.object.DynamicObject.getShape:()Lcom/oracle/truffle/api/object/Shape;
            astore 9 /* before */
        start local 9 // com.oracle.truffle.api.object.Shape before
        16: .line 496
            aload 7 /* lib */
            aload 8 /* o1 */
            aload 1 /* k1 */
            iload 6 /* f3 */
            invokevirtual com.oracle.truffle.api.object.DynamicObjectLibrary.setPropertyFlags:(Lcom/oracle/truffle/api/object/DynamicObject;Ljava/lang/Object;I)Z
            invokestatic org.junit.Assert.assertTrue:(Z)V
        17: .line 497
            aload 7 /* lib */
            aload 8 /* o1 */
            aload 1 /* k1 */
            iload 5 /* f2 */
            invokedynamic applyAsInt(I)Ljava/util/function/IntUnaryOperator;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (I)I
                  com/oracle/truffle/object/basic/test/DynamicObjectLibraryTest.lambda$5(II)I (6)
                  (I)I
            invokestatic com.oracle.truffle.object.basic.test.DynamicObjectLibraryTest.updatePropertyFlags:(Lcom/oracle/truffle/api/object/DynamicObjectLibrary;Lcom/oracle/truffle/api/object/DynamicObject;Ljava/lang/String;Ljava/util/function/IntUnaryOperator;)Z
            invokestatic org.junit.Assert.assertFalse:(Z)V
        18: .line 498
            iload 6 /* f3 */
            i2l
            aload 7 /* lib */
            aload 8 /* o1 */
            aload 1 /* k1 */
            iconst_m1
            invokevirtual com.oracle.truffle.api.object.DynamicObjectLibrary.getPropertyFlagsOrDefault:(Lcom/oracle/truffle/api/object/DynamicObject;Ljava/lang/Object;I)I
            i2l
            invokestatic org.junit.Assert.assertEquals:(JJ)V
        19: .line 499
            iload 6 /* f3 */
            i2l
            aload 8 /* o1 */
            aload 1 /* k1 */
            invokestatic com.oracle.truffle.object.basic.test.DynamicObjectLibraryTest.uncachedGetProperty:(Lcom/oracle/truffle/api/object/DynamicObject;Ljava/lang/Object;)Lcom/oracle/truffle/api/object/Property;
            invokevirtual com.oracle.truffle.api.object.Property.getFlags:()I
            i2l
            invokestatic org.junit.Assert.assertEquals:(JJ)V
        20: .line 500
            aload 9 /* before */
            aload 8 /* o1 */
            invokevirtual com.oracle.truffle.api.object.DynamicObject.getShape:()Lcom/oracle/truffle/api/object/Shape;
            invokestatic org.junit.Assert.assertSame:(Ljava/lang/Object;Ljava/lang/Object;)V
        21: .line 502
            aload 0 /* this */
            invokevirtual com.oracle.truffle.object.basic.test.DynamicObjectLibraryTest.createEmpty:()Lcom/oracle/truffle/api/object/DynamicObject;
            astore 10 /* o2 */
        start local 10 // com.oracle.truffle.api.object.DynamicObject o2
        22: .line 503
            aload 10 /* o2 */
            aload 1 /* k1 */
            iload 3 /* v2 */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            iconst_0
            invokestatic com.oracle.truffle.object.basic.test.DynamicObjectLibraryTest.uncachedPut:(Lcom/oracle/truffle/api/object/DynamicObject;Ljava/lang/Object;Ljava/lang/Object;I)V
        23: .line 504
            aload 7 /* lib */
            aload 10 /* o2 */
            aload 1 /* k1 */
            iload 4 /* f1 */
            invokevirtual com.oracle.truffle.api.object.DynamicObjectLibrary.setPropertyFlags:(Lcom/oracle/truffle/api/object/DynamicObject;Ljava/lang/Object;I)Z
            invokestatic org.junit.Assert.assertTrue:(Z)V
        24: .line 505
            iload 4 /* f1 */
            i2l
            aload 7 /* lib */
            aload 10 /* o2 */
            aload 1 /* k1 */
            iconst_m1
            invokevirtual com.oracle.truffle.api.object.DynamicObjectLibrary.getPropertyFlagsOrDefault:(Lcom/oracle/truffle/api/object/DynamicObject;Ljava/lang/Object;I)I
            i2l
            invokestatic org.junit.Assert.assertEquals:(JJ)V
        25: .line 506
            aload 7 /* lib */
            aload 10 /* o2 */
            aload 1 /* k1 */
            iload 5 /* f2 */
            invokedynamic applyAsInt(I)Ljava/util/function/IntUnaryOperator;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (I)I
                  com/oracle/truffle/object/basic/test/DynamicObjectLibraryTest.lambda$6(II)I (6)
                  (I)I
            invokestatic com.oracle.truffle.object.basic.test.DynamicObjectLibraryTest.updatePropertyFlags:(Lcom/oracle/truffle/api/object/DynamicObjectLibrary;Lcom/oracle/truffle/api/object/DynamicObject;Ljava/lang/String;Ljava/util/function/IntUnaryOperator;)Z
            invokestatic org.junit.Assert.assertTrue:(Z)V
        26: .line 507
            iload 6 /* f3 */
            i2l
            aload 7 /* lib */
            aload 10 /* o2 */
            aload 1 /* k1 */
            iconst_m1
            invokevirtual com.oracle.truffle.api.object.DynamicObjectLibrary.getPropertyFlagsOrDefault:(Lcom/oracle/truffle/api/object/DynamicObject;Ljava/lang/Object;I)I
            i2l
            invokestatic org.junit.Assert.assertEquals:(JJ)V
        27: .line 508
            aload 8 /* o1 */
            invokevirtual com.oracle.truffle.api.object.DynamicObject.getShape:()Lcom/oracle/truffle/api/object/Shape;
            aload 10 /* o2 */
            invokevirtual com.oracle.truffle.api.object.DynamicObject.getShape:()Lcom/oracle/truffle/api/object/Shape;
            invokestatic org.junit.Assert.assertSame:(Ljava/lang/Object;Ljava/lang/Object;)V
        28: .line 510
            aload 0 /* this */
            invokevirtual com.oracle.truffle.object.basic.test.DynamicObjectLibraryTest.createEmpty:()Lcom/oracle/truffle/api/object/DynamicObject;
            astore 11 /* o3 */
        start local 11 // com.oracle.truffle.api.object.DynamicObject o3
        29: .line 511
            aload 7 /* lib */
            aload 11 /* o3 */
            aload 1 /* k1 */
            iload 4 /* f1 */
            invokevirtual com.oracle.truffle.api.object.DynamicObjectLibrary.setPropertyFlags:(Lcom/oracle/truffle/api/object/DynamicObject;Ljava/lang/Object;I)Z
            invokestatic org.junit.Assert.assertFalse:(Z)V
        30: .line 512
            return
        end local 11 // com.oracle.truffle.api.object.DynamicObject o3
        end local 10 // com.oracle.truffle.api.object.DynamicObject o2
        end local 9 // com.oracle.truffle.api.object.Shape before
        end local 8 // com.oracle.truffle.api.object.DynamicObject o1
        end local 7 // com.oracle.truffle.api.object.DynamicObjectLibrary lib
        end local 6 // int f3
        end local 5 // int f2
        end local 4 // int f1
        end local 3 // int v2
        end local 2 // int v1
        end local 1 // java.lang.String k1
        end local 0 // com.oracle.truffle.object.basic.test.DynamicObjectLibraryTest this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   31     0    this  Lcom/oracle/truffle/object/basic/test/DynamicObjectLibraryTest;
            1   31     1      k1  Ljava/lang/String;
            2   31     2      v1  I
            3   31     3      v2  I
            4   31     4      f1  I
            5   31     5      f2  I
            6   31     6      f3  I
            7   31     7     lib  Lcom/oracle/truffle/api/object/DynamicObjectLibrary;
            8   31     8      o1  Lcom/oracle/truffle/api/object/DynamicObject;
           16   31     9  before  Lcom/oracle/truffle/api/object/Shape;
           22   31    10      o2  Lcom/oracle/truffle/api/object/DynamicObject;
           29   31    11      o3  Lcom/oracle/truffle/api/object/DynamicObject;
    RuntimeVisibleAnnotations: 
      org.junit.Test()

  private static boolean updatePropertyFlags(com.oracle.truffle.api.object.DynamicObjectLibrary, com.oracle.truffle.api.object.DynamicObject, java.lang.String, java.util.function.IntUnaryOperator);
    descriptor: (Lcom/oracle/truffle/api/object/DynamicObjectLibrary;Lcom/oracle/truffle/api/object/DynamicObject;Ljava/lang/String;Ljava/util/function/IntUnaryOperator;)Z
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=4, locals=7, args_size=4
        start local 0 // com.oracle.truffle.api.object.DynamicObjectLibrary lib
        start local 1 // com.oracle.truffle.api.object.DynamicObject obj
        start local 2 // java.lang.String key
        start local 3 // java.util.function.IntUnaryOperator updateFunction
         0: .line 515
            aload 0 /* lib */
            aload 1 /* obj */
            aload 2 /* key */
            invokevirtual com.oracle.truffle.api.object.DynamicObjectLibrary.getProperty:(Lcom/oracle/truffle/api/object/DynamicObject;Ljava/lang/Object;)Lcom/oracle/truffle/api/object/Property;
            astore 4 /* property */
        start local 4 // com.oracle.truffle.api.object.Property property
         1: .line 516
            aload 4 /* property */
            ifnonnull 3
         2: .line 517
            iconst_0
            ireturn
         3: .line 519
      StackMap locals: com.oracle.truffle.api.object.Property
      StackMap stack:
            aload 4 /* property */
            invokevirtual com.oracle.truffle.api.object.Property.getFlags:()I
            istore 5 /* oldFlags */
        start local 5 // int oldFlags
         4: .line 520
            aload 3 /* updateFunction */
            iload 5 /* oldFlags */
            invokeinterface java.util.function.IntUnaryOperator.applyAsInt:(I)I
            istore 6 /* newFlags */
        start local 6 // int newFlags
         5: .line 521
            iload 5 /* oldFlags */
            iload 6 /* newFlags */
            if_icmpne 7
         6: .line 522
            iconst_0
            ireturn
         7: .line 524
      StackMap locals: int int
      StackMap stack:
            aload 0 /* lib */
            aload 1 /* obj */
            aload 2 /* key */
            iload 6 /* newFlags */
            invokevirtual com.oracle.truffle.api.object.DynamicObjectLibrary.setPropertyFlags:(Lcom/oracle/truffle/api/object/DynamicObject;Ljava/lang/Object;I)Z
            ireturn
        end local 6 // int newFlags
        end local 5 // int oldFlags
        end local 4 // com.oracle.truffle.api.object.Property property
        end local 3 // java.util.function.IntUnaryOperator updateFunction
        end local 2 // java.lang.String key
        end local 1 // com.oracle.truffle.api.object.DynamicObject obj
        end local 0 // com.oracle.truffle.api.object.DynamicObjectLibrary lib
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    8     0             lib  Lcom/oracle/truffle/api/object/DynamicObjectLibrary;
            0    8     1             obj  Lcom/oracle/truffle/api/object/DynamicObject;
            0    8     2             key  Ljava/lang/String;
            0    8     3  updateFunction  Ljava/util/function/IntUnaryOperator;
            1    8     4        property  Lcom/oracle/truffle/api/object/Property;
            4    8     5        oldFlags  I
            5    8     6        newFlags  I
    MethodParameters:
                Name  Flags
      lib             
      obj             
      key             
      updateFunction  

  public void testRemove();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=6, args_size=1
        start local 0 // com.oracle.truffle.object.basic.test.DynamicObjectLibraryTest this
         0: .line 529
            bipush 42
            istore 1 /* v1 */
        start local 1 // int v1
         1: .line 530
            bipush 43
            istore 2 /* v2 */
        start local 2 // int v2
         2: .line 531
            ldc "value"
            astore 3 /* v3 */
        start local 3 // java.lang.Object v3
         3: .line 533
            aload 0 /* this */
            invokevirtual com.oracle.truffle.object.basic.test.DynamicObjectLibraryTest.createDispatchedLibrary:()Lcom/oracle/truffle/api/object/DynamicObjectLibrary;
            astore 4 /* lib */
        start local 4 // com.oracle.truffle.api.object.DynamicObjectLibrary lib
         4: .line 534
            aload 0 /* this */
            invokevirtual com.oracle.truffle.object.basic.test.DynamicObjectLibraryTest.createEmpty:()Lcom/oracle/truffle/api/object/DynamicObject;
            astore 5 /* o1 */
        start local 5 // com.oracle.truffle.api.object.DynamicObject o1
         5: .line 535
            aload 5 /* o1 */
            ldc "key1"
            iload 1 /* v1 */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            iconst_0
            invokestatic com.oracle.truffle.object.basic.test.DynamicObjectLibraryTest.uncachedPut:(Lcom/oracle/truffle/api/object/DynamicObject;Ljava/lang/Object;Ljava/lang/Object;I)V
         6: .line 536
            aload 5 /* o1 */
            ldc "key2"
            iload 2 /* v2 */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            iconst_0
            invokestatic com.oracle.truffle.object.basic.test.DynamicObjectLibraryTest.uncachedPut:(Lcom/oracle/truffle/api/object/DynamicObject;Ljava/lang/Object;Ljava/lang/Object;I)V
         7: .line 537
            aload 5 /* o1 */
            ldc "key3"
            aload 3 /* v3 */
            iconst_0
            invokestatic com.oracle.truffle.object.basic.test.DynamicObjectLibraryTest.uncachedPut:(Lcom/oracle/truffle/api/object/DynamicObject;Ljava/lang/Object;Ljava/lang/Object;I)V
         8: .line 539
            aload 4 /* lib */
            aload 5 /* o1 */
            ldc "key4"
            invokevirtual com.oracle.truffle.api.object.DynamicObjectLibrary.removeKey:(Lcom/oracle/truffle/api/object/DynamicObject;Ljava/lang/Object;)Z
            invokestatic org.junit.Assert.assertFalse:(Z)V
         9: .line 540
            aload 4 /* lib */
            aload 5 /* o1 */
            ldc "key3"
            invokevirtual com.oracle.truffle.api.object.DynamicObjectLibrary.removeKey:(Lcom/oracle/truffle/api/object/DynamicObject;Ljava/lang/Object;)Z
            invokestatic org.junit.Assert.assertTrue:(Z)V
            iconst_2
            anewarray java.lang.String
            dup
            iconst_0
        10: .line 541
            ldc "key1"
            aastore
            dup
            iconst_1
            ldc "key2"
            aastore
            invokestatic java.util.Arrays.asList:([Ljava/lang/Object;)Ljava/util/List;
            aload 0 /* this */
            aload 5 /* o1 */
            invokevirtual com.oracle.truffle.object.basic.test.DynamicObjectLibraryTest.getKeyList:(Lcom/oracle/truffle/api/object/DynamicObject;)Ljava/util/List;
            invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
        11: .line 542
            aload 5 /* o1 */
            ldc "key3"
            aload 3 /* v3 */
            iconst_0
            invokestatic com.oracle.truffle.object.basic.test.DynamicObjectLibraryTest.uncachedPut:(Lcom/oracle/truffle/api/object/DynamicObject;Ljava/lang/Object;Ljava/lang/Object;I)V
            iconst_3
            anewarray java.lang.String
            dup
            iconst_0
        12: .line 543
            ldc "key1"
            aastore
            dup
            iconst_1
            ldc "key2"
            aastore
            dup
            iconst_2
            ldc "key3"
            aastore
            invokestatic java.util.Arrays.asList:([Ljava/lang/Object;)Ljava/util/List;
            aload 0 /* this */
            aload 5 /* o1 */
            invokevirtual com.oracle.truffle.object.basic.test.DynamicObjectLibraryTest.getKeyList:(Lcom/oracle/truffle/api/object/DynamicObject;)Ljava/util/List;
            invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
        13: .line 544
            aload 4 /* lib */
            aload 5 /* o1 */
            ldc "key3"
            invokevirtual com.oracle.truffle.api.object.DynamicObjectLibrary.removeKey:(Lcom/oracle/truffle/api/object/DynamicObject;Ljava/lang/Object;)Z
            invokestatic org.junit.Assert.assertTrue:(Z)V
            iconst_2
            anewarray java.lang.String
            dup
            iconst_0
        14: .line 545
            ldc "key1"
            aastore
            dup
            iconst_1
            ldc "key2"
            aastore
            invokestatic java.util.Arrays.asList:([Ljava/lang/Object;)Ljava/util/List;
            aload 0 /* this */
            aload 5 /* o1 */
            invokevirtual com.oracle.truffle.object.basic.test.DynamicObjectLibraryTest.getKeyList:(Lcom/oracle/truffle/api/object/DynamicObject;)Ljava/util/List;
            invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
        15: .line 546
            aload 5 /* o1 */
            ldc "key3"
            aload 3 /* v3 */
            iconst_0
            invokestatic com.oracle.truffle.object.basic.test.DynamicObjectLibraryTest.uncachedPut:(Lcom/oracle/truffle/api/object/DynamicObject;Ljava/lang/Object;Ljava/lang/Object;I)V
        16: .line 547
            aload 4 /* lib */
            aload 5 /* o1 */
            ldc "key1"
            invokevirtual com.oracle.truffle.api.object.DynamicObjectLibrary.removeKey:(Lcom/oracle/truffle/api/object/DynamicObject;Ljava/lang/Object;)Z
            invokestatic org.junit.Assert.assertTrue:(Z)V
            iconst_2
            anewarray java.lang.String
            dup
            iconst_0
        17: .line 548
            ldc "key2"
            aastore
            dup
            iconst_1
            ldc "key3"
            aastore
            invokestatic java.util.Arrays.asList:([Ljava/lang/Object;)Ljava/util/List;
            aload 0 /* this */
            aload 5 /* o1 */
            invokevirtual com.oracle.truffle.object.basic.test.DynamicObjectLibraryTest.getKeyList:(Lcom/oracle/truffle/api/object/DynamicObject;)Ljava/util/List;
            invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
        18: .line 549
            aload 5 /* o1 */
            ldc "key1"
            iload 1 /* v1 */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            iconst_0
            invokestatic com.oracle.truffle.object.basic.test.DynamicObjectLibraryTest.uncachedPut:(Lcom/oracle/truffle/api/object/DynamicObject;Ljava/lang/Object;Ljava/lang/Object;I)V
            iconst_3
            anewarray java.lang.String
            dup
            iconst_0
        19: .line 550
            ldc "key2"
            aastore
            dup
            iconst_1
            ldc "key3"
            aastore
            dup
            iconst_2
            ldc "key1"
            aastore
            invokestatic java.util.Arrays.asList:([Ljava/lang/Object;)Ljava/util/List;
            aload 0 /* this */
            aload 5 /* o1 */
            invokevirtual com.oracle.truffle.object.basic.test.DynamicObjectLibraryTest.getKeyList:(Lcom/oracle/truffle/api/object/DynamicObject;)Ljava/util/List;
            invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
        20: .line 551
            aload 4 /* lib */
            aload 5 /* o1 */
            ldc "key3"
            invokevirtual com.oracle.truffle.api.object.DynamicObjectLibrary.removeKey:(Lcom/oracle/truffle/api/object/DynamicObject;Ljava/lang/Object;)Z
            invokestatic org.junit.Assert.assertTrue:(Z)V
            iconst_2
            anewarray java.lang.String
            dup
            iconst_0
        21: .line 552
            ldc "key2"
            aastore
            dup
            iconst_1
            ldc "key1"
            aastore
            invokestatic java.util.Arrays.asList:([Ljava/lang/Object;)Ljava/util/List;
            aload 0 /* this */
            aload 5 /* o1 */
            invokevirtual com.oracle.truffle.object.basic.test.DynamicObjectLibraryTest.getKeyList:(Lcom/oracle/truffle/api/object/DynamicObject;)Ljava/util/List;
            invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
        22: .line 553
            iload 1 /* v1 */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aload 4 /* lib */
            aload 5 /* o1 */
            ldc "key1"
            aconst_null
            invokevirtual com.oracle.truffle.api.object.DynamicObjectLibrary.getOrDefault:(Lcom/oracle/truffle/api/object/DynamicObject;Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
        23: .line 554
            iload 2 /* v2 */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aload 4 /* lib */
            aload 5 /* o1 */
            ldc "key2"
            aconst_null
            invokevirtual com.oracle.truffle.api.object.DynamicObjectLibrary.getOrDefault:(Lcom/oracle/truffle/api/object/DynamicObject;Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
        24: .line 555
            return
        end local 5 // com.oracle.truffle.api.object.DynamicObject o1
        end local 4 // com.oracle.truffle.api.object.DynamicObjectLibrary lib
        end local 3 // java.lang.Object v3
        end local 2 // int v2
        end local 1 // int v1
        end local 0 // com.oracle.truffle.object.basic.test.DynamicObjectLibraryTest this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   25     0  this  Lcom/oracle/truffle/object/basic/test/DynamicObjectLibraryTest;
            1   25     1    v1  I
            2   25     2    v2  I
            3   25     3    v3  Ljava/lang/Object;
            4   25     4   lib  Lcom/oracle/truffle/api/object/DynamicObjectLibrary;
            5   25     5    o1  Lcom/oracle/truffle/api/object/DynamicObject;
    RuntimeVisibleAnnotations: 
      org.junit.Test()

  public void testResetShape();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=9, args_size=1
        start local 0 // com.oracle.truffle.object.basic.test.DynamicObjectLibraryTest this
         0: .line 559
            bipush 42
            istore 1 /* v1 */
        start local 1 // int v1
         1: .line 560
            bipush 43
            istore 2 /* v2 */
        start local 2 // int v2
         2: .line 562
            aload 0 /* this */
            invokevirtual com.oracle.truffle.object.basic.test.DynamicObjectLibraryTest.createDispatchedLibrary:()Lcom/oracle/truffle/api/object/DynamicObjectLibrary;
            astore 3 /* lib */
        start local 3 // com.oracle.truffle.api.object.DynamicObjectLibrary lib
         3: .line 563
            aload 0 /* this */
            invokevirtual com.oracle.truffle.object.basic.test.DynamicObjectLibraryTest.createEmpty:()Lcom/oracle/truffle/api/object/DynamicObject;
            astore 4 /* o1 */
        start local 4 // com.oracle.truffle.api.object.DynamicObject o1
         4: .line 564
            aload 4 /* o1 */
            invokevirtual com.oracle.truffle.api.object.DynamicObject.getShape:()Lcom/oracle/truffle/api/object/Shape;
            astore 5 /* emptyShape */
        start local 5 // com.oracle.truffle.api.object.Shape emptyShape
         5: .line 565
            aload 4 /* o1 */
            ldc "key1"
            iload 1 /* v1 */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            iconst_0
            invokestatic com.oracle.truffle.object.basic.test.DynamicObjectLibraryTest.uncachedPut:(Lcom/oracle/truffle/api/object/DynamicObject;Ljava/lang/Object;Ljava/lang/Object;I)V
         6: .line 566
            aload 4 /* o1 */
            ldc "key2"
            iload 2 /* v2 */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            iconst_0
            invokestatic com.oracle.truffle.object.basic.test.DynamicObjectLibraryTest.uncachedPut:(Lcom/oracle/truffle/api/object/DynamicObject;Ljava/lang/Object;Ljava/lang/Object;I)V
         7: .line 567
            aload 3 /* lib */
            aload 4 /* o1 */
            aload 5 /* emptyShape */
            invokevirtual com.oracle.truffle.api.object.DynamicObjectLibrary.resetShape:(Lcom/oracle/truffle/api/object/DynamicObject;Lcom/oracle/truffle/api/object/Shape;)Z
            pop
         8: .line 568
            aload 5 /* emptyShape */
            aload 4 /* o1 */
            invokevirtual com.oracle.truffle.api.object.DynamicObject.getShape:()Lcom/oracle/truffle/api/object/Shape;
            invokestatic org.junit.Assert.assertSame:(Ljava/lang/Object;Ljava/lang/Object;)V
         9: .line 570
            ldc "new layout only"
            aload 4 /* o1 */
            invokestatic com.oracle.truffle.object.basic.test.DynamicObjectLibraryTest.isNewLayout:(Lcom/oracle/truffle/api/object/DynamicObject;)Z
            invokestatic org.junit.Assume.assumeTrue:(Ljava/lang/String;Z)V
        10: .line 571
            bipush 15
            istore 6 /* flags */
        start local 6 // int flags
        11: .line 572
            aload 0 /* this */
            invokevirtual com.oracle.truffle.object.basic.test.DynamicObjectLibraryTest.createEmpty:()Lcom/oracle/truffle/api/object/DynamicObject;
            astore 7 /* o2 */
        start local 7 // com.oracle.truffle.api.object.DynamicObject o2
        12: .line 573
            invokestatic com.oracle.truffle.api.object.Shape.newBuilder:()Lcom/oracle/truffle/api/object/Shape$Builder;
            iload 6 /* flags */
            invokevirtual com.oracle.truffle.api.object.Shape$Builder.shapeFlags:(I)Lcom/oracle/truffle/api/object/Shape$Builder;
            invokevirtual com.oracle.truffle.api.object.Shape$Builder.build:()Lcom/oracle/truffle/api/object/Shape;
            astore 8 /* newEmptyShape */
        start local 8 // com.oracle.truffle.api.object.Shape newEmptyShape
        13: .line 574
            aload 7 /* o2 */
            ldc "key1"
            iload 1 /* v1 */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            iconst_0
            invokestatic com.oracle.truffle.object.basic.test.DynamicObjectLibraryTest.uncachedPut:(Lcom/oracle/truffle/api/object/DynamicObject;Ljava/lang/Object;Ljava/lang/Object;I)V
        14: .line 575
            aload 7 /* o2 */
            ldc "key2"
            iload 2 /* v2 */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            iconst_0
            invokestatic com.oracle.truffle.object.basic.test.DynamicObjectLibraryTest.uncachedPut:(Lcom/oracle/truffle/api/object/DynamicObject;Ljava/lang/Object;Ljava/lang/Object;I)V
        15: .line 576
            aload 3 /* lib */
            aload 7 /* o2 */
            aload 8 /* newEmptyShape */
            invokevirtual com.oracle.truffle.api.object.DynamicObjectLibrary.resetShape:(Lcom/oracle/truffle/api/object/DynamicObject;Lcom/oracle/truffle/api/object/Shape;)Z
            pop
        16: .line 577
            aload 8 /* newEmptyShape */
            aload 7 /* o2 */
            invokevirtual com.oracle.truffle.api.object.DynamicObject.getShape:()Lcom/oracle/truffle/api/object/Shape;
            invokestatic org.junit.Assert.assertSame:(Ljava/lang/Object;Ljava/lang/Object;)V
        17: .line 578
            iload 6 /* flags */
            i2l
            aload 3 /* lib */
            aload 7 /* o2 */
            invokevirtual com.oracle.truffle.api.object.DynamicObjectLibrary.getShapeFlags:(Lcom/oracle/truffle/api/object/DynamicObject;)I
            i2l
            invokestatic org.junit.Assert.assertEquals:(JJ)V
        18: .line 579
            return
        end local 8 // com.oracle.truffle.api.object.Shape newEmptyShape
        end local 7 // com.oracle.truffle.api.object.DynamicObject o2
        end local 6 // int flags
        end local 5 // com.oracle.truffle.api.object.Shape emptyShape
        end local 4 // com.oracle.truffle.api.object.DynamicObject o1
        end local 3 // com.oracle.truffle.api.object.DynamicObjectLibrary lib
        end local 2 // int v2
        end local 1 // int v1
        end local 0 // com.oracle.truffle.object.basic.test.DynamicObjectLibraryTest this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   19     0           this  Lcom/oracle/truffle/object/basic/test/DynamicObjectLibraryTest;
            1   19     1             v1  I
            2   19     2             v2  I
            3   19     3            lib  Lcom/oracle/truffle/api/object/DynamicObjectLibrary;
            4   19     4             o1  Lcom/oracle/truffle/api/object/DynamicObject;
            5   19     5     emptyShape  Lcom/oracle/truffle/api/object/Shape;
           11   19     6          flags  I
           12   19     7             o2  Lcom/oracle/truffle/api/object/DynamicObject;
           13   19     8  newEmptyShape  Lcom/oracle/truffle/api/object/Shape;
    RuntimeVisibleAnnotations: 
      org.junit.Test()

  public void testGetKeysAndProperties();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=10, args_size=1
        start local 0 // com.oracle.truffle.object.basic.test.DynamicObjectLibraryTest this
         0: .line 583
            bipush 42
            istore 1 /* v1 */
        start local 1 // int v1
         1: .line 584
            bipush 43
            istore 2 /* v2 */
        start local 2 // int v2
         2: .line 585
            ldc "value"
            astore 3 /* v3 */
        start local 3 // java.lang.Object v3
         3: .line 587
            aload 0 /* this */
            invokevirtual com.oracle.truffle.object.basic.test.DynamicObjectLibraryTest.createDispatchedLibrary:()Lcom/oracle/truffle/api/object/DynamicObjectLibrary;
            astore 4 /* lib */
        start local 4 // com.oracle.truffle.api.object.DynamicObjectLibrary lib
         4: .line 588
            aload 0 /* this */
            invokevirtual com.oracle.truffle.object.basic.test.DynamicObjectLibraryTest.createEmpty:()Lcom/oracle/truffle/api/object/DynamicObject;
            astore 5 /* o1 */
        start local 5 // com.oracle.truffle.api.object.DynamicObject o1
         5: .line 589
            aload 5 /* o1 */
            ldc "key1"
            iload 1 /* v1 */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            iconst_1
            invokestatic com.oracle.truffle.object.basic.test.DynamicObjectLibraryTest.uncachedPut:(Lcom/oracle/truffle/api/object/DynamicObject;Ljava/lang/Object;Ljava/lang/Object;I)V
         6: .line 590
            aload 5 /* o1 */
            ldc "key2"
            iload 2 /* v2 */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            iconst_2
            invokestatic com.oracle.truffle.object.basic.test.DynamicObjectLibraryTest.uncachedPut:(Lcom/oracle/truffle/api/object/DynamicObject;Ljava/lang/Object;Ljava/lang/Object;I)V
         7: .line 591
            aload 5 /* o1 */
            ldc "key3"
            aload 3 /* v3 */
            iconst_3
            invokestatic com.oracle.truffle.object.basic.test.DynamicObjectLibraryTest.uncachedPut:(Lcom/oracle/truffle/api/object/DynamicObject;Ljava/lang/Object;Ljava/lang/Object;I)V
         8: .line 593
            aload 4 /* lib */
            aload 5 /* o1 */
            invokevirtual com.oracle.truffle.api.object.DynamicObjectLibrary.getKeyArray:(Lcom/oracle/truffle/api/object/DynamicObject;)[Ljava/lang/Object;
            astore 6 /* keyArray */
        start local 6 // java.lang.Object[] keyArray
         9: .line 594
            aload 4 /* lib */
            aload 5 /* o1 */
            invokevirtual com.oracle.truffle.api.object.DynamicObjectLibrary.getPropertyArray:(Lcom/oracle/truffle/api/object/DynamicObject;)[Lcom/oracle/truffle/api/object/Property;
            astore 7 /* properties */
        start local 7 // com.oracle.truffle.api.object.Property[] properties
        10: iconst_3
            anewarray java.lang.String
            dup
            iconst_0
        11: .line 595
            ldc "key1"
            aastore
            dup
            iconst_1
            ldc "key2"
            aastore
            dup
            iconst_2
            ldc "key3"
            aastore
            invokestatic java.util.Arrays.asList:([Ljava/lang/Object;)Ljava/util/List;
            aload 0 /* this */
            aload 5 /* o1 */
            invokevirtual com.oracle.truffle.object.basic.test.DynamicObjectLibraryTest.getKeyList:(Lcom/oracle/truffle/api/object/DynamicObject;)Ljava/util/List;
            invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
        12: .line 596
            ldc 3
            aload 5 /* o1 */
            invokevirtual com.oracle.truffle.api.object.DynamicObject.getShape:()Lcom/oracle/truffle/api/object/Shape;
            invokevirtual com.oracle.truffle.api.object.Shape.getPropertyCount:()I
            i2l
            invokestatic org.junit.Assert.assertEquals:(JJ)V
        13: .line 597
            iconst_0
            istore 8 /* i */
        start local 8 // int i
        14: iconst_1
            istore 9 /* j */
        start local 9 // int j
        15: goto 19
        16: .line 598
      StackMap locals: com.oracle.truffle.object.basic.test.DynamicObjectLibraryTest int int java.lang.Object com.oracle.truffle.api.object.DynamicObjectLibrary com.oracle.truffle.api.object.DynamicObject java.lang.Object[] com.oracle.truffle.api.object.Property[] int int
      StackMap stack:
            aload 6 /* keyArray */
            iload 8 /* i */
            aaload
            aload 7 /* properties */
            iload 8 /* i */
            aaload
            invokevirtual com.oracle.truffle.api.object.Property.getKey:()Ljava/lang/Object;
            invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
        17: .line 599
            iload 9 /* j */
            i2l
            aload 7 /* properties */
            iload 8 /* i */
            aaload
            invokevirtual com.oracle.truffle.api.object.Property.getFlags:()I
            i2l
            invokestatic org.junit.Assert.assertEquals:(JJ)V
        18: .line 597
            iinc 8 /* i */ 1
            iinc 9 /* j */ 1
      StackMap locals:
      StackMap stack:
        19: iload 8 /* i */
            iconst_3
            if_icmplt 16
        end local 9 // int j
        end local 8 // int i
        20: .line 601
            return
        end local 7 // com.oracle.truffle.api.object.Property[] properties
        end local 6 // java.lang.Object[] keyArray
        end local 5 // com.oracle.truffle.api.object.DynamicObject o1
        end local 4 // com.oracle.truffle.api.object.DynamicObjectLibrary lib
        end local 3 // java.lang.Object v3
        end local 2 // int v2
        end local 1 // int v1
        end local 0 // com.oracle.truffle.object.basic.test.DynamicObjectLibraryTest this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   21     0        this  Lcom/oracle/truffle/object/basic/test/DynamicObjectLibraryTest;
            1   21     1          v1  I
            2   21     2          v2  I
            3   21     3          v3  Ljava/lang/Object;
            4   21     4         lib  Lcom/oracle/truffle/api/object/DynamicObjectLibrary;
            5   21     5          o1  Lcom/oracle/truffle/api/object/DynamicObject;
            9   21     6    keyArray  [Ljava/lang/Object;
           10   21     7  properties  [Lcom/oracle/truffle/api/object/Property;
           14   20     8           i  I
           15   20     9           j  I
    RuntimeVisibleAnnotations: 
      org.junit.Test()

  public void testGetKeysAndPropertiesFromShape();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=9, args_size=1
        start local 0 // com.oracle.truffle.object.basic.test.DynamicObjectLibraryTest this
         0: .line 605
            bipush 42
            istore 1 /* v1 */
        start local 1 // int v1
         1: .line 606
            bipush 43
            istore 2 /* v2 */
        start local 2 // int v2
         2: .line 607
            ldc "value"
            astore 3 /* v3 */
        start local 3 // java.lang.Object v3
         3: .line 609
            aload 0 /* this */
            invokevirtual com.oracle.truffle.object.basic.test.DynamicObjectLibraryTest.createEmpty:()Lcom/oracle/truffle/api/object/DynamicObject;
            astore 4 /* o1 */
        start local 4 // com.oracle.truffle.api.object.DynamicObject o1
         4: .line 610
            aload 4 /* o1 */
            ldc "key1"
            iload 1 /* v1 */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            iconst_1
            invokestatic com.oracle.truffle.object.basic.test.DynamicObjectLibraryTest.uncachedPut:(Lcom/oracle/truffle/api/object/DynamicObject;Ljava/lang/Object;Ljava/lang/Object;I)V
         5: .line 611
            aload 4 /* o1 */
            ldc "key2"
            iload 2 /* v2 */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            iconst_2
            invokestatic com.oracle.truffle.object.basic.test.DynamicObjectLibraryTest.uncachedPut:(Lcom/oracle/truffle/api/object/DynamicObject;Ljava/lang/Object;Ljava/lang/Object;I)V
         6: .line 612
            aload 4 /* o1 */
            ldc "key3"
            aload 3 /* v3 */
            iconst_3
            invokestatic com.oracle.truffle.object.basic.test.DynamicObjectLibraryTest.uncachedPut:(Lcom/oracle/truffle/api/object/DynamicObject;Ljava/lang/Object;Ljava/lang/Object;I)V
         7: .line 614
            aload 0 /* this */
            aload 4 /* o1 */
            invokevirtual com.oracle.truffle.object.basic.test.DynamicObjectLibraryTest.getKeyList:(Lcom/oracle/truffle/api/object/DynamicObject;)Ljava/util/List;
            invokeinterface java.util.List.toArray:()[Ljava/lang/Object;
            astore 5 /* keyArray */
        start local 5 // java.lang.Object[] keyArray
         8: .line 615
            aload 4 /* o1 */
            invokevirtual com.oracle.truffle.api.object.DynamicObject.getShape:()Lcom/oracle/truffle/api/object/Shape;
            invokevirtual com.oracle.truffle.api.object.Shape.getPropertyList:()Ljava/util/List;
            iconst_0
            anewarray com.oracle.truffle.api.object.Property
            invokeinterface java.util.List.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
            checkcast com.oracle.truffle.api.object.Property[]
            astore 6 /* properties */
        start local 6 // com.oracle.truffle.api.object.Property[] properties
         9: iconst_3
            anewarray java.lang.String
            dup
            iconst_0
        10: .line 616
            ldc "key1"
            aastore
            dup
            iconst_1
            ldc "key2"
            aastore
            dup
            iconst_2
            ldc "key3"
            aastore
            invokestatic java.util.Arrays.asList:([Ljava/lang/Object;)Ljava/util/List;
            aload 0 /* this */
            aload 4 /* o1 */
            invokevirtual com.oracle.truffle.object.basic.test.DynamicObjectLibraryTest.getKeyList:(Lcom/oracle/truffle/api/object/DynamicObject;)Ljava/util/List;
            invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
        11: .line 617
            ldc 3
            aload 4 /* o1 */
            invokevirtual com.oracle.truffle.api.object.DynamicObject.getShape:()Lcom/oracle/truffle/api/object/Shape;
            invokevirtual com.oracle.truffle.api.object.Shape.getPropertyCount:()I
            i2l
            invokestatic org.junit.Assert.assertEquals:(JJ)V
        12: .line 618
            iconst_0
            istore 7 /* i */
        start local 7 // int i
        13: iconst_1
            istore 8 /* j */
        start local 8 // int j
        14: goto 18
        15: .line 619
      StackMap locals: com.oracle.truffle.object.basic.test.DynamicObjectLibraryTest int int java.lang.Object com.oracle.truffle.api.object.DynamicObject java.lang.Object[] com.oracle.truffle.api.object.Property[] int int
      StackMap stack:
            aload 5 /* keyArray */
            iload 7 /* i */
            aaload
            aload 6 /* properties */
            iload 7 /* i */
            aaload
            invokevirtual com.oracle.truffle.api.object.Property.getKey:()Ljava/lang/Object;
            invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
        16: .line 620
            iload 8 /* j */
            i2l
            aload 6 /* properties */
            iload 7 /* i */
            aaload
            invokevirtual com.oracle.truffle.api.object.Property.getFlags:()I
            i2l
            invokestatic org.junit.Assert.assertEquals:(JJ)V
        17: .line 618
            iinc 7 /* i */ 1
            iinc 8 /* j */ 1
      StackMap locals:
      StackMap stack:
        18: iload 7 /* i */
            iconst_3
            if_icmplt 15
        end local 8 // int j
        end local 7 // int i
        19: .line 622
            return
        end local 6 // com.oracle.truffle.api.object.Property[] properties
        end local 5 // java.lang.Object[] keyArray
        end local 4 // com.oracle.truffle.api.object.DynamicObject o1
        end local 3 // java.lang.Object v3
        end local 2 // int v2
        end local 1 // int v1
        end local 0 // com.oracle.truffle.object.basic.test.DynamicObjectLibraryTest this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   20     0        this  Lcom/oracle/truffle/object/basic/test/DynamicObjectLibraryTest;
            1   20     1          v1  I
            2   20     2          v2  I
            3   20     3          v3  Ljava/lang/Object;
            4   20     4          o1  Lcom/oracle/truffle/api/object/DynamicObject;
            8   20     5    keyArray  [Ljava/lang/Object;
            9   20     6  properties  [Lcom/oracle/truffle/api/object/Property;
           13   19     7           i  I
           14   19     8           j  I
    RuntimeVisibleAnnotations: 
      org.junit.Test()

  public void testAllPropertiesMatch();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=6, args_size=1
        start local 0 // com.oracle.truffle.object.basic.test.DynamicObjectLibraryTest this
         0: .line 626
            bipush 42
            istore 1 /* v1 */
        start local 1 // int v1
         1: .line 627
            bipush 43
            istore 2 /* v2 */
        start local 2 // int v2
         2: .line 628
            ldc "value"
            astore 3 /* v3 */
        start local 3 // java.lang.Object v3
         3: .line 630
            aload 0 /* this */
            invokevirtual com.oracle.truffle.object.basic.test.DynamicObjectLibraryTest.createEmpty:()Lcom/oracle/truffle/api/object/DynamicObject;
            astore 4 /* o1 */
        start local 4 // com.oracle.truffle.api.object.DynamicObject o1
         4: .line 631
            aload 4 /* o1 */
            ldc "key1"
            iload 1 /* v1 */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            bipush 41
            invokestatic com.oracle.truffle.object.basic.test.DynamicObjectLibraryTest.uncachedPut:(Lcom/oracle/truffle/api/object/DynamicObject;Ljava/lang/Object;Ljava/lang/Object;I)V
         5: .line 632
            aload 4 /* o1 */
            ldc "key2"
            iload 2 /* v2 */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            bipush 42
            invokestatic com.oracle.truffle.object.basic.test.DynamicObjectLibraryTest.uncachedPut:(Lcom/oracle/truffle/api/object/DynamicObject;Ljava/lang/Object;Ljava/lang/Object;I)V
         6: .line 633
            aload 4 /* o1 */
            ldc "key3"
            aload 3 /* v3 */
            bipush 43
            invokestatic com.oracle.truffle.object.basic.test.DynamicObjectLibraryTest.uncachedPut:(Lcom/oracle/truffle/api/object/DynamicObject;Ljava/lang/Object;Ljava/lang/Object;I)V
         7: .line 635
            aload 4 /* o1 */
            invokevirtual com.oracle.truffle.api.object.DynamicObject.getShape:()Lcom/oracle/truffle/api/object/Shape;
            invokedynamic test()Ljava/util/function/Predicate;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljava/lang/Object;)Z
                  com/oracle/truffle/object/basic/test/DynamicObjectLibraryTest.lambda$7(Lcom/oracle/truffle/api/object/Property;)Z (6)
                  (Lcom/oracle/truffle/api/object/Property;)Z
            invokevirtual com.oracle.truffle.api.object.Shape.allPropertiesMatch:(Ljava/util/function/Predicate;)Z
            invokestatic org.junit.Assert.assertFalse:(Z)V
         8: .line 636
            aload 0 /* this */
            ldc "key1"
            invokevirtual com.oracle.truffle.object.basic.test.DynamicObjectLibraryTest.createLibraryForKey:(Ljava/lang/Object;)Lcom/oracle/truffle/api/object/DynamicObjectLibrary;
            astore 5 /* lib2 */
        start local 5 // com.oracle.truffle.api.object.DynamicObjectLibrary lib2
         9: .line 637
            aload 5 /* lib2 */
            aload 4 /* o1 */
            ldc "key1"
            invokevirtual com.oracle.truffle.api.object.DynamicObjectLibrary.removeKey:(Lcom/oracle/truffle/api/object/DynamicObject;Ljava/lang/Object;)Z
            pop
        10: .line 638
            aload 4 /* o1 */
            invokevirtual com.oracle.truffle.api.object.DynamicObject.getShape:()Lcom/oracle/truffle/api/object/Shape;
            invokedynamic test()Ljava/util/function/Predicate;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljava/lang/Object;)Z
                  com/oracle/truffle/object/basic/test/DynamicObjectLibraryTest.lambda$8(Lcom/oracle/truffle/api/object/Property;)Z (6)
                  (Lcom/oracle/truffle/api/object/Property;)Z
            invokevirtual com.oracle.truffle.api.object.Shape.allPropertiesMatch:(Ljava/util/function/Predicate;)Z
            invokestatic org.junit.Assert.assertTrue:(Z)V
        11: .line 639
            return
        end local 5 // com.oracle.truffle.api.object.DynamicObjectLibrary lib2
        end local 4 // com.oracle.truffle.api.object.DynamicObject o1
        end local 3 // java.lang.Object v3
        end local 2 // int v2
        end local 1 // int v1
        end local 0 // com.oracle.truffle.object.basic.test.DynamicObjectLibraryTest this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   12     0  this  Lcom/oracle/truffle/object/basic/test/DynamicObjectLibraryTest;
            1   12     1    v1  I
            2   12     2    v2  I
            3   12     3    v3  Ljava/lang/Object;
            4   12     4    o1  Lcom/oracle/truffle/api/object/DynamicObject;
            9   12     5  lib2  Lcom/oracle/truffle/api/object/DynamicObjectLibrary;
    RuntimeVisibleAnnotations: 
      org.junit.Test()

  public void testGetProperty();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=8, args_size=1
        start local 0 // com.oracle.truffle.object.basic.test.DynamicObjectLibraryTest this
         0: .line 643
            bipush 42
            istore 1 /* v1 */
        start local 1 // int v1
         1: .line 644
            bipush 43
            istore 2 /* v2 */
        start local 2 // int v2
         2: .line 645
            ldc "value"
            astore 3 /* v3 */
        start local 3 // java.lang.Object v3
         3: .line 647
            aload 0 /* this */
            invokevirtual com.oracle.truffle.object.basic.test.DynamicObjectLibraryTest.createEmpty:()Lcom/oracle/truffle/api/object/DynamicObject;
            astore 4 /* o1 */
        start local 4 // com.oracle.truffle.api.object.DynamicObject o1
         4: .line 648
            aload 4 /* o1 */
            ldc "key1"
            iload 1 /* v1 */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            iconst_1
            invokestatic com.oracle.truffle.object.basic.test.DynamicObjectLibraryTest.uncachedPut:(Lcom/oracle/truffle/api/object/DynamicObject;Ljava/lang/Object;Ljava/lang/Object;I)V
         5: .line 649
            aload 4 /* o1 */
            ldc "key2"
            iload 2 /* v2 */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            iconst_2
            invokestatic com.oracle.truffle.object.basic.test.DynamicObjectLibraryTest.uncachedPut:(Lcom/oracle/truffle/api/object/DynamicObject;Ljava/lang/Object;Ljava/lang/Object;I)V
         6: .line 650
            aload 4 /* o1 */
            ldc "key3"
            aload 3 /* v3 */
            iconst_3
            invokestatic com.oracle.truffle.object.basic.test.DynamicObjectLibraryTest.uncachedPut:(Lcom/oracle/truffle/api/object/DynamicObject;Ljava/lang/Object;Ljava/lang/Object;I)V
         7: .line 652
            aload 0 /* this */
            aload 4 /* o1 */
            invokevirtual com.oracle.truffle.object.basic.test.DynamicObjectLibraryTest.createLibraryForReceiver:(Lcom/oracle/truffle/api/object/DynamicObject;)Lcom/oracle/truffle/api/object/DynamicObjectLibrary;
            astore 5 /* lib */
        start local 5 // com.oracle.truffle.api.object.DynamicObjectLibrary lib
         8: .line 653
            aload 5 /* lib */
            aload 4 /* o1 */
            invokevirtual com.oracle.truffle.api.object.DynamicObjectLibrary.accepts:(Ljava/lang/Object;)Z
            invokestatic org.junit.Assert.assertTrue:(Z)V
         9: .line 654
            iconst_1
            istore 6 /* i */
        start local 6 // int i
        10: goto 16
        11: .line 655
      StackMap locals: com.oracle.truffle.object.basic.test.DynamicObjectLibraryTest int int java.lang.Object com.oracle.truffle.api.object.DynamicObject com.oracle.truffle.api.object.DynamicObjectLibrary int
      StackMap stack:
            new java.lang.StringBuilder
            dup
            ldc "key"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 6 /* i */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 7 /* key */
        start local 7 // java.lang.Object key
        12: .line 656
            aload 4 /* o1 */
            invokevirtual com.oracle.truffle.api.object.DynamicObject.getShape:()Lcom/oracle/truffle/api/object/Shape;
            aload 7 /* key */
            invokevirtual com.oracle.truffle.api.object.Shape.getProperty:(Ljava/lang/Object;)Lcom/oracle/truffle/api/object/Property;
            aload 5 /* lib */
            aload 4 /* o1 */
            aload 7 /* key */
            invokevirtual com.oracle.truffle.api.object.DynamicObjectLibrary.getProperty:(Lcom/oracle/truffle/api/object/DynamicObject;Ljava/lang/Object;)Lcom/oracle/truffle/api/object/Property;
            invokestatic org.junit.Assert.assertSame:(Ljava/lang/Object;Ljava/lang/Object;)V
        13: .line 657
            iload 6 /* i */
            i2l
            aload 4 /* o1 */
            invokevirtual com.oracle.truffle.api.object.DynamicObject.getShape:()Lcom/oracle/truffle/api/object/Shape;
            aload 7 /* key */
            invokevirtual com.oracle.truffle.api.object.Shape.getProperty:(Ljava/lang/Object;)Lcom/oracle/truffle/api/object/Property;
            invokevirtual com.oracle.truffle.api.object.Property.getFlags:()I
            i2l
            invokestatic org.junit.Assert.assertEquals:(JJ)V
        14: .line 658
            iload 6 /* i */
            i2l
            aload 5 /* lib */
            aload 4 /* o1 */
            aload 7 /* key */
            iconst_m1
            invokevirtual com.oracle.truffle.api.object.DynamicObjectLibrary.getPropertyFlagsOrDefault:(Lcom/oracle/truffle/api/object/DynamicObject;Ljava/lang/Object;I)I
            i2l
            invokestatic org.junit.Assert.assertEquals:(JJ)V
        end local 7 // java.lang.Object key
        15: .line 654
            iinc 6 /* i */ 1
      StackMap locals:
      StackMap stack:
        16: iload 6 /* i */
            iconst_3
            if_icmple 11
        end local 6 // int i
        17: .line 660
            aload 5 /* lib */
            aload 4 /* o1 */
            invokevirtual com.oracle.truffle.api.object.DynamicObjectLibrary.accepts:(Ljava/lang/Object;)Z
            invokestatic org.junit.Assert.assertTrue:(Z)V
        18: .line 661
            return
        end local 5 // com.oracle.truffle.api.object.DynamicObjectLibrary lib
        end local 4 // com.oracle.truffle.api.object.DynamicObject o1
        end local 3 // java.lang.Object v3
        end local 2 // int v2
        end local 1 // int v1
        end local 0 // com.oracle.truffle.object.basic.test.DynamicObjectLibraryTest this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   19     0  this  Lcom/oracle/truffle/object/basic/test/DynamicObjectLibraryTest;
            1   19     1    v1  I
            2   19     2    v2  I
            3   19     3    v3  Ljava/lang/Object;
            4   19     4    o1  Lcom/oracle/truffle/api/object/DynamicObject;
            8   19     5   lib  Lcom/oracle/truffle/api/object/DynamicObjectLibrary;
           10   17     6     i  I
           12   15     7   key  Ljava/lang/Object;
    RuntimeVisibleAnnotations: 
      org.junit.Test()

  public void testPutConstant1();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=7, args_size=1
        start local 0 // com.oracle.truffle.object.basic.test.DynamicObjectLibraryTest this
         0: .line 665
            aload 0 /* this */
            invokevirtual com.oracle.truffle.object.basic.test.DynamicObjectLibraryTest.createEmpty:()Lcom/oracle/truffle/api/object/DynamicObject;
            astore 1 /* o1 */
        start local 1 // com.oracle.truffle.api.object.DynamicObject o1
         1: .line 666
            ldc "key1"
            astore 2 /* k1 */
        start local 2 // java.lang.String k1
         2: .line 667
            bipush 42
            istore 3 /* v1 */
        start local 3 // int v1
         3: .line 668
            bipush 43
            istore 4 /* v2 */
        start local 4 // int v2
         4: .line 669
            bipush 15
            istore 5 /* flags */
        start local 5 // int flags
         5: .line 671
            aload 0 /* this */
            aload 2 /* k1 */
            invokevirtual com.oracle.truffle.object.basic.test.DynamicObjectLibraryTest.createLibraryForKey:(Ljava/lang/Object;)Lcom/oracle/truffle/api/object/DynamicObjectLibrary;
            astore 6 /* setNode1 */
        start local 6 // com.oracle.truffle.api.object.DynamicObjectLibrary setNode1
         6: .line 673
            aload 6 /* setNode1 */
            aload 1 /* o1 */
            aload 2 /* k1 */
            iload 3 /* v1 */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            iconst_0
            invokevirtual com.oracle.truffle.api.object.DynamicObjectLibrary.putConstant:(Lcom/oracle/truffle/api/object/DynamicObject;Ljava/lang/Object;Ljava/lang/Object;I)V
         7: .line 674
            aload 1 /* o1 */
            invokevirtual com.oracle.truffle.api.object.DynamicObject.getShape:()Lcom/oracle/truffle/api/object/Shape;
            aload 2 /* k1 */
            invokevirtual com.oracle.truffle.api.object.Shape.getProperty:(Ljava/lang/Object;)Lcom/oracle/truffle/api/object/Property;
            invokevirtual com.oracle.truffle.api.object.Property.getLocation:()Lcom/oracle/truffle/api/object/Location;
            invokevirtual com.oracle.truffle.api.object.Location.isConstant:()Z
            invokestatic org.junit.Assert.assertTrue:(Z)V
         8: .line 675
            lconst_0
            aload 1 /* o1 */
            invokevirtual com.oracle.truffle.api.object.DynamicObject.getShape:()Lcom/oracle/truffle/api/object/Shape;
            aload 2 /* k1 */
            invokevirtual com.oracle.truffle.api.object.Shape.getProperty:(Ljava/lang/Object;)Lcom/oracle/truffle/api/object/Property;
            invokevirtual com.oracle.truffle.api.object.Property.getFlags:()I
            i2l
            invokestatic org.junit.Assert.assertEquals:(JJ)V
         9: .line 676
            iload 3 /* v1 */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aload 1 /* o1 */
            aload 2 /* k1 */
            invokestatic com.oracle.truffle.object.basic.test.DynamicObjectLibraryTest.uncachedGet:(Lcom/oracle/truffle/api/object/DynamicObject;Ljava/lang/Object;)Ljava/lang/Object;
            invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
        10: .line 678
            aload 6 /* setNode1 */
            aload 1 /* o1 */
            aload 2 /* k1 */
            iload 3 /* v1 */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            iload 5 /* flags */
            invokevirtual com.oracle.truffle.api.object.DynamicObjectLibrary.putConstant:(Lcom/oracle/truffle/api/object/DynamicObject;Ljava/lang/Object;Ljava/lang/Object;I)V
        11: .line 679
            aload 1 /* o1 */
            invokevirtual com.oracle.truffle.api.object.DynamicObject.getShape:()Lcom/oracle/truffle/api/object/Shape;
            aload 2 /* k1 */
            invokevirtual com.oracle.truffle.api.object.Shape.getProperty:(Ljava/lang/Object;)Lcom/oracle/truffle/api/object/Property;
            invokevirtual com.oracle.truffle.api.object.Property.getLocation:()Lcom/oracle/truffle/api/object/Location;
            invokevirtual com.oracle.truffle.api.object.Location.isConstant:()Z
            invokestatic org.junit.Assert.assertTrue:(Z)V
        12: .line 680
            iload 5 /* flags */
            i2l
            aload 1 /* o1 */
            invokevirtual com.oracle.truffle.api.object.DynamicObject.getShape:()Lcom/oracle/truffle/api/object/Shape;
            aload 2 /* k1 */
            invokevirtual com.oracle.truffle.api.object.Shape.getProperty:(Ljava/lang/Object;)Lcom/oracle/truffle/api/object/Property;
            invokevirtual com.oracle.truffle.api.object.Property.getFlags:()I
            i2l
            invokestatic org.junit.Assert.assertEquals:(JJ)V
        13: .line 681
            iload 3 /* v1 */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aload 1 /* o1 */
            aload 2 /* k1 */
            invokestatic com.oracle.truffle.object.basic.test.DynamicObjectLibraryTest.uncachedGet:(Lcom/oracle/truffle/api/object/DynamicObject;Ljava/lang/Object;)Ljava/lang/Object;
            invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
        14: .line 683
            aload 6 /* setNode1 */
            aload 1 /* o1 */
            aload 2 /* k1 */
            iload 4 /* v2 */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            invokevirtual com.oracle.truffle.api.object.DynamicObjectLibrary.put:(Lcom/oracle/truffle/api/object/DynamicObject;Ljava/lang/Object;Ljava/lang/Object;)V
        15: .line 684
            aload 1 /* o1 */
            invokevirtual com.oracle.truffle.api.object.DynamicObject.getShape:()Lcom/oracle/truffle/api/object/Shape;
            aload 2 /* k1 */
            invokevirtual com.oracle.truffle.api.object.Shape.getProperty:(Ljava/lang/Object;)Lcom/oracle/truffle/api/object/Property;
            invokevirtual com.oracle.truffle.api.object.Property.getLocation:()Lcom/oracle/truffle/api/object/Location;
            invokevirtual com.oracle.truffle.api.object.Location.isConstant:()Z
            invokestatic org.junit.Assert.assertFalse:(Z)V
        16: .line 685
            iload 5 /* flags */
            i2l
            aload 1 /* o1 */
            invokevirtual com.oracle.truffle.api.object.DynamicObject.getShape:()Lcom/oracle/truffle/api/object/Shape;
            aload 2 /* k1 */
            invokevirtual com.oracle.truffle.api.object.Shape.getProperty:(Ljava/lang/Object;)Lcom/oracle/truffle/api/object/Property;
            invokevirtual com.oracle.truffle.api.object.Property.getFlags:()I
            i2l
            invokestatic org.junit.Assert.assertEquals:(JJ)V
        17: .line 686
            iload 4 /* v2 */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aload 1 /* o1 */
            aload 2 /* k1 */
            invokestatic com.oracle.truffle.object.basic.test.DynamicObjectLibraryTest.uncachedGet:(Lcom/oracle/truffle/api/object/DynamicObject;Ljava/lang/Object;)Ljava/lang/Object;
            invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
        18: .line 687
            return
        end local 6 // com.oracle.truffle.api.object.DynamicObjectLibrary setNode1
        end local 5 // int flags
        end local 4 // int v2
        end local 3 // int v1
        end local 2 // java.lang.String k1
        end local 1 // com.oracle.truffle.api.object.DynamicObject o1
        end local 0 // com.oracle.truffle.object.basic.test.DynamicObjectLibraryTest this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   19     0      this  Lcom/oracle/truffle/object/basic/test/DynamicObjectLibraryTest;
            1   19     1        o1  Lcom/oracle/truffle/api/object/DynamicObject;
            2   19     2        k1  Ljava/lang/String;
            3   19     3        v1  I
            4   19     4        v2  I
            5   19     5     flags  I
            6   19     6  setNode1  Lcom/oracle/truffle/api/object/DynamicObjectLibrary;
    RuntimeVisibleAnnotations: 
      org.junit.Test()

  public void testPutConstant2();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=7, args_size=1
        start local 0 // com.oracle.truffle.object.basic.test.DynamicObjectLibraryTest this
         0: .line 691
            aload 0 /* this */
            invokevirtual com.oracle.truffle.object.basic.test.DynamicObjectLibraryTest.createEmpty:()Lcom/oracle/truffle/api/object/DynamicObject;
            astore 1 /* o1 */
        start local 1 // com.oracle.truffle.api.object.DynamicObject o1
         1: .line 692
            ldc "key1"
            astore 2 /* k1 */
        start local 2 // java.lang.String k1
         2: .line 693
            bipush 42
            istore 3 /* v1 */
        start local 3 // int v1
         3: .line 694
            bipush 43
            istore 4 /* v2 */
        start local 4 // int v2
         4: .line 695
            bipush 15
            istore 5 /* flags */
        start local 5 // int flags
         5: .line 697
            aload 0 /* this */
            aload 2 /* k1 */
            invokevirtual com.oracle.truffle.object.basic.test.DynamicObjectLibraryTest.createLibraryForKey:(Ljava/lang/Object;)Lcom/oracle/truffle/api/object/DynamicObjectLibrary;
            astore 6 /* setNode1 */
        start local 6 // com.oracle.truffle.api.object.DynamicObjectLibrary setNode1
         6: .line 699
            aload 6 /* setNode1 */
            aload 1 /* o1 */
            aload 2 /* k1 */
            iload 3 /* v1 */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            iconst_0
            invokevirtual com.oracle.truffle.api.object.DynamicObjectLibrary.putConstant:(Lcom/oracle/truffle/api/object/DynamicObject;Ljava/lang/Object;Ljava/lang/Object;I)V
         7: .line 700
            aload 1 /* o1 */
            invokevirtual com.oracle.truffle.api.object.DynamicObject.getShape:()Lcom/oracle/truffle/api/object/Shape;
            aload 2 /* k1 */
            invokevirtual com.oracle.truffle.api.object.Shape.getProperty:(Ljava/lang/Object;)Lcom/oracle/truffle/api/object/Property;
            invokevirtual com.oracle.truffle.api.object.Property.getLocation:()Lcom/oracle/truffle/api/object/Location;
            invokevirtual com.oracle.truffle.api.object.Location.isConstant:()Z
            invokestatic org.junit.Assert.assertTrue:(Z)V
         8: .line 701
            lconst_0
            aload 1 /* o1 */
            invokevirtual com.oracle.truffle.api.object.DynamicObject.getShape:()Lcom/oracle/truffle/api/object/Shape;
            aload 2 /* k1 */
            invokevirtual com.oracle.truffle.api.object.Shape.getProperty:(Ljava/lang/Object;)Lcom/oracle/truffle/api/object/Property;
            invokevirtual com.oracle.truffle.api.object.Property.getFlags:()I
            i2l
            invokestatic org.junit.Assert.assertEquals:(JJ)V
         9: .line 702
            iload 3 /* v1 */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aload 1 /* o1 */
            aload 2 /* k1 */
            invokestatic com.oracle.truffle.object.basic.test.DynamicObjectLibraryTest.uncachedGet:(Lcom/oracle/truffle/api/object/DynamicObject;Ljava/lang/Object;)Ljava/lang/Object;
            invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
        10: .line 704
            aload 6 /* setNode1 */
            aload 1 /* o1 */
            aload 2 /* k1 */
            iload 4 /* v2 */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            iload 5 /* flags */
            invokevirtual com.oracle.truffle.api.object.DynamicObjectLibrary.putWithFlags:(Lcom/oracle/truffle/api/object/DynamicObject;Ljava/lang/Object;Ljava/lang/Object;I)V
        11: .line 705
            aload 1 /* o1 */
            invokestatic com.oracle.truffle.object.basic.test.DynamicObjectLibraryTest.isNewLayout:(Lcom/oracle/truffle/api/object/DynamicObject;)Z
            ifeq 13
        12: .line 706
            aload 1 /* o1 */
            invokevirtual com.oracle.truffle.api.object.DynamicObject.getShape:()Lcom/oracle/truffle/api/object/Shape;
            aload 2 /* k1 */
            invokevirtual com.oracle.truffle.api.object.Shape.getProperty:(Ljava/lang/Object;)Lcom/oracle/truffle/api/object/Property;
            invokevirtual com.oracle.truffle.api.object.Property.getLocation:()Lcom/oracle/truffle/api/object/Location;
            invokevirtual com.oracle.truffle.api.object.Location.isConstant:()Z
            invokestatic org.junit.Assert.assertFalse:(Z)V
        13: .line 708
      StackMap locals: com.oracle.truffle.object.basic.test.DynamicObjectLibraryTest com.oracle.truffle.api.object.DynamicObject java.lang.String int int int com.oracle.truffle.api.object.DynamicObjectLibrary
      StackMap stack:
            iload 5 /* flags */
            i2l
            aload 1 /* o1 */
            invokevirtual com.oracle.truffle.api.object.DynamicObject.getShape:()Lcom/oracle/truffle/api/object/Shape;
            aload 2 /* k1 */
            invokevirtual com.oracle.truffle.api.object.Shape.getProperty:(Ljava/lang/Object;)Lcom/oracle/truffle/api/object/Property;
            invokevirtual com.oracle.truffle.api.object.Property.getFlags:()I
            i2l
            invokestatic org.junit.Assert.assertEquals:(JJ)V
        14: .line 709
            iload 4 /* v2 */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aload 1 /* o1 */
            aload 2 /* k1 */
            invokestatic com.oracle.truffle.object.basic.test.DynamicObjectLibraryTest.uncachedGet:(Lcom/oracle/truffle/api/object/DynamicObject;Ljava/lang/Object;)Ljava/lang/Object;
            invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
        15: .line 710
            return
        end local 6 // com.oracle.truffle.api.object.DynamicObjectLibrary setNode1
        end local 5 // int flags
        end local 4 // int v2
        end local 3 // int v1
        end local 2 // java.lang.String k1
        end local 1 // com.oracle.truffle.api.object.DynamicObject o1
        end local 0 // com.oracle.truffle.object.basic.test.DynamicObjectLibraryTest this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   16     0      this  Lcom/oracle/truffle/object/basic/test/DynamicObjectLibraryTest;
            1   16     1        o1  Lcom/oracle/truffle/api/object/DynamicObject;
            2   16     2        k1  Ljava/lang/String;
            3   16     3        v1  I
            4   16     4        v2  I
            5   16     5     flags  I
            6   16     6  setNode1  Lcom/oracle/truffle/api/object/DynamicObjectLibrary;
    RuntimeVisibleAnnotations: 
      org.junit.Test()

  public void testCachedShape();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // com.oracle.truffle.object.basic.test.DynamicObjectLibraryTest this
         0: .line 723
            new java.lang.Error
            dup
            ldc "Unresolved compilation problem: \n\tTestNestedDispatchNodeGen cannot be resolved\n"
            invokespecial java.lang.Error.<init>:(Ljava/lang/String;)V
            athrow
        end local 0 // com.oracle.truffle.object.basic.test.DynamicObjectLibraryTest this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/oracle/truffle/object/basic/test/DynamicObjectLibraryTest;
    RuntimeVisibleAnnotations: 
      org.junit.Test()

  public void testPropertyAndShapeFlags();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=5, args_size=1
        start local 0 // com.oracle.truffle.object.basic.test.DynamicObjectLibraryTest this
         0: .line 734
            aload 0 /* this */
            invokevirtual com.oracle.truffle.object.basic.test.DynamicObjectLibraryTest.createEmpty:()Lcom/oracle/truffle/api/object/DynamicObject;
            astore 1 /* o1 */
        start local 1 // com.oracle.truffle.api.object.DynamicObject o1
         1: .line 735
            aload 0 /* this */
            aload 1 /* o1 */
            iconst_0
            invokevirtual com.oracle.truffle.object.basic.test.DynamicObjectLibraryTest.fillObjectWithProperties:(Lcom/oracle/truffle/api/object/DynamicObject;Z)V
         2: .line 736
            aload 0 /* this */
            aload 1 /* o1 */
            iconst_3
            invokevirtual com.oracle.truffle.object.basic.test.DynamicObjectLibraryTest.updateAllFlags:(Lcom/oracle/truffle/api/object/DynamicObject;I)V
         3: .line 737
            aload 0 /* this */
            invokevirtual com.oracle.truffle.object.basic.test.DynamicObjectLibraryTest.createEmpty:()Lcom/oracle/truffle/api/object/DynamicObject;
            astore 2 /* o2 */
        start local 2 // com.oracle.truffle.api.object.DynamicObject o2
         4: .line 738
            aload 0 /* this */
            aload 2 /* o2 */
            iconst_1
            invokevirtual com.oracle.truffle.object.basic.test.DynamicObjectLibraryTest.fillObjectWithProperties:(Lcom/oracle/truffle/api/object/DynamicObject;Z)V
         5: .line 739
            aload 0 /* this */
            invokevirtual com.oracle.truffle.object.basic.test.DynamicObjectLibraryTest.createEmpty:()Lcom/oracle/truffle/api/object/DynamicObject;
            astore 3 /* o3 */
        start local 3 // com.oracle.truffle.api.object.DynamicObject o3
         6: .line 740
            aload 0 /* this */
            aload 3 /* o3 */
            iconst_0
            invokevirtual com.oracle.truffle.object.basic.test.DynamicObjectLibraryTest.fillObjectWithProperties:(Lcom/oracle/truffle/api/object/DynamicObject;Z)V
         7: .line 741
            invokestatic com.oracle.truffle.api.object.DynamicObjectLibrary.getUncached:()Lcom/oracle/truffle/api/object/DynamicObjectLibrary;
            aload 1 /* o1 */
            ldc "k13"
            iconst_0
            invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
            invokevirtual com.oracle.truffle.api.object.DynamicObjectLibrary.put:(Lcom/oracle/truffle/api/object/DynamicObject;Ljava/lang/Object;Ljava/lang/Object;)V
         8: .line 742
            aload 0 /* this */
            aload 2 /* o2 */
            iconst_3
            invokevirtual com.oracle.truffle.object.basic.test.DynamicObjectLibraryTest.updateAllFlags:(Lcom/oracle/truffle/api/object/DynamicObject;I)V
         9: .line 743
            aload 0 /* this */
            aload 3 /* o3 */
            iconst_3
            invokevirtual com.oracle.truffle.object.basic.test.DynamicObjectLibraryTest.updateAllFlags:(Lcom/oracle/truffle/api/object/DynamicObject;I)V
        10: .line 744
            aload 0 /* this */
            ldc Lcom/oracle/truffle/api/object/DynamicObjectLibrary;
            aload 1 /* o1 */
            invokevirtual com.oracle.truffle.object.basic.test.DynamicObjectLibraryTest.createLibrary:(Ljava/lang/Class;Ljava/lang/Object;)Lcom/oracle/truffle/api/library/Library;
            checkcast com.oracle.truffle.api.object.DynamicObjectLibrary
            astore 4 /* library */
        start local 4 // com.oracle.truffle.api.object.DynamicObjectLibrary library
        11: .line 745
            iconst_1
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aload 4 /* library */
            aload 3 /* o3 */
            ldc "k13"
            aconst_null
            invokevirtual com.oracle.truffle.api.object.DynamicObjectLibrary.getOrDefault:(Lcom/oracle/truffle/api/object/DynamicObject;Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
        12: .line 746
            return
        end local 4 // com.oracle.truffle.api.object.DynamicObjectLibrary library
        end local 3 // com.oracle.truffle.api.object.DynamicObject o3
        end local 2 // com.oracle.truffle.api.object.DynamicObject o2
        end local 1 // com.oracle.truffle.api.object.DynamicObject o1
        end local 0 // com.oracle.truffle.object.basic.test.DynamicObjectLibraryTest this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   13     0     this  Lcom/oracle/truffle/object/basic/test/DynamicObjectLibraryTest;
            1   13     1       o1  Lcom/oracle/truffle/api/object/DynamicObject;
            4   13     2       o2  Lcom/oracle/truffle/api/object/DynamicObject;
            6   13     3       o3  Lcom/oracle/truffle/api/object/DynamicObject;
           11   13     4  library  Lcom/oracle/truffle/api/object/DynamicObjectLibrary;
    RuntimeVisibleAnnotations: 
      org.junit.Test()

  private void fillObjectWithProperties(com.oracle.truffle.api.object.DynamicObject, boolean);
    descriptor: (Lcom/oracle/truffle/api/object/DynamicObject;Z)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=7, args_size=3
        start local 0 // com.oracle.truffle.object.basic.test.DynamicObjectLibraryTest this
        start local 1 // com.oracle.truffle.api.object.DynamicObject obj
        start local 2 // boolean b
         0: .line 749
            aload 0 /* this */
            ldc Lcom/oracle/truffle/api/object/DynamicObjectLibrary;
            aload 1 /* obj */
            invokevirtual com.oracle.truffle.object.basic.test.DynamicObjectLibraryTest.createLibrary:(Ljava/lang/Class;Ljava/lang/Object;)Lcom/oracle/truffle/api/library/Library;
            checkcast com.oracle.truffle.api.object.DynamicObjectLibrary
            astore 3 /* library */
        start local 3 // com.oracle.truffle.api.object.DynamicObjectLibrary library
         1: .line 751
            iconst_0
            istore 4 /* i */
        start local 4 // int i
         2: goto 19
         3: .line 753
      StackMap locals: com.oracle.truffle.api.object.DynamicObjectLibrary int
      StackMap stack:
            iload 4 /* i */
            iconst_2
            irem
            ifne 9
         4: .line 754
            iload 4 /* i */
            bipush 14
            if_icmpne 7
         5: .line 755
            ldc "string"
            astore 5 /* value */
        start local 5 // java.lang.Object value
         6: .line 756
            goto 13
        end local 5 // java.lang.Object value
         7: .line 757
      StackMap locals:
      StackMap stack:
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 5 /* value */
        start local 5 // java.lang.Object value
         8: .line 759
            goto 13
        end local 5 // java.lang.Object value
         9: .line 760
      StackMap locals:
      StackMap stack:
            iload 2 /* b */
            ifeq 12
            iload 4 /* i */
            bipush 13
            if_icmpne 12
        10: .line 761
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 5 /* value */
        start local 5 // java.lang.Object value
        11: .line 762
            goto 13
        end local 5 // java.lang.Object value
        12: .line 763
      StackMap locals:
      StackMap stack:
            iconst_1
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            astore 5 /* value */
        start local 5 // java.lang.Object value
        13: .line 766
      StackMap locals: java.lang.Object
      StackMap stack:
            iload 4 /* i */
            bipush 17
            if_icmpeq 14
            iload 4 /* i */
            bipush 13
            if_icmpne 15
      StackMap locals:
      StackMap stack:
        14: iconst_1
            goto 16
      StackMap locals:
      StackMap stack:
        15: iconst_3
      StackMap locals:
      StackMap stack: int
        16: istore 6 /* flags */
        start local 6 // int flags
        17: .line 767
            aload 3 /* library */
            aload 1 /* obj */
            new java.lang.StringBuilder
            dup
            ldc "k"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 4 /* i */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            aload 5 /* value */
            iload 6 /* flags */
            invokevirtual com.oracle.truffle.api.object.DynamicObjectLibrary.putWithFlags:(Lcom/oracle/truffle/api/object/DynamicObject;Ljava/lang/Object;Ljava/lang/Object;I)V
        end local 6 // int flags
        end local 5 // java.lang.Object value
        18: .line 751
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
        19: iload 4 /* i */
            bipush 20
            if_icmplt 3
        end local 4 // int i
        20: .line 769
            return
        end local 3 // com.oracle.truffle.api.object.DynamicObjectLibrary library
        end local 2 // boolean b
        end local 1 // com.oracle.truffle.api.object.DynamicObject obj
        end local 0 // com.oracle.truffle.object.basic.test.DynamicObjectLibraryTest this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   21     0     this  Lcom/oracle/truffle/object/basic/test/DynamicObjectLibraryTest;
            0   21     1      obj  Lcom/oracle/truffle/api/object/DynamicObject;
            0   21     2        b  Z
            1   21     3  library  Lcom/oracle/truffle/api/object/DynamicObjectLibrary;
            2   20     4        i  I
            6    7     5    value  Ljava/lang/Object;
            8    9     5    value  Ljava/lang/Object;
           11   12     5    value  Ljava/lang/Object;
           13   18     5    value  Ljava/lang/Object;
           17   18     6    flags  I
    MethodParameters:
      Name  Flags
      obj   
      b     

  private void updateAllFlags(com.oracle.truffle.api.object.DynamicObject, int);
    descriptor: (Lcom/oracle/truffle/api/object/DynamicObject;I)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=11, args_size=3
        start local 0 // com.oracle.truffle.object.basic.test.DynamicObjectLibraryTest this
        start local 1 // com.oracle.truffle.api.object.DynamicObject obj
        start local 2 // int flags
         0: .line 772
            aload 0 /* this */
            ldc Lcom/oracle/truffle/api/object/DynamicObjectLibrary;
            aload 1 /* obj */
            invokevirtual com.oracle.truffle.object.basic.test.DynamicObjectLibraryTest.createLibrary:(Ljava/lang/Class;Ljava/lang/Object;)Lcom/oracle/truffle/api/library/Library;
            checkcast com.oracle.truffle.api.object.DynamicObjectLibrary
            astore 3 /* propertyFlags */
        start local 3 // com.oracle.truffle.api.object.DynamicObjectLibrary propertyFlags
         1: .line 774
            aload 3 /* propertyFlags */
            aload 1 /* obj */
            invokevirtual com.oracle.truffle.api.object.DynamicObjectLibrary.getPropertyArray:(Lcom/oracle/truffle/api/object/DynamicObject;)[Lcom/oracle/truffle/api/object/Property;
            dup
            astore 7
            arraylength
            istore 6
            iconst_0
            istore 5
            goto 9
      StackMap locals: com.oracle.truffle.object.basic.test.DynamicObjectLibraryTest com.oracle.truffle.api.object.DynamicObject int com.oracle.truffle.api.object.DynamicObjectLibrary top int int com.oracle.truffle.api.object.Property[]
      StackMap stack:
         2: aload 7
            iload 5
            aaload
            astore 4 /* property */
        start local 4 // com.oracle.truffle.api.object.Property property
         3: .line 775
            aload 4 /* property */
            invokevirtual com.oracle.truffle.api.object.Property.getFlags:()I
            istore 8 /* oldFlags */
        start local 8 // int oldFlags
         4: .line 776
            iload 8 /* oldFlags */
            iload 2 /* flags */
            ior
            istore 9 /* newFlags */
        start local 9 // int newFlags
         5: .line 777
            iload 9 /* newFlags */
            iload 8 /* oldFlags */
            if_icmpeq 8
         6: .line 778
            aload 4 /* property */
            invokevirtual com.oracle.truffle.api.object.Property.getKey:()Ljava/lang/Object;
            astore 10 /* key */
        start local 10 // java.lang.Object key
         7: .line 779
            aload 3 /* propertyFlags */
            aload 1 /* obj */
            aload 10 /* key */
            iload 9 /* newFlags */
            invokevirtual com.oracle.truffle.api.object.DynamicObjectLibrary.setPropertyFlags:(Lcom/oracle/truffle/api/object/DynamicObject;Ljava/lang/Object;I)Z
            pop
        end local 10 // java.lang.Object key
        end local 9 // int newFlags
        end local 8 // int oldFlags
        end local 4 // com.oracle.truffle.api.object.Property property
         8: .line 774
      StackMap locals:
      StackMap stack:
            iinc 5 1
      StackMap locals:
      StackMap stack:
         9: iload 5
            iload 6
            if_icmplt 2
        10: .line 783
            aload 0 /* this */
            ldc Lcom/oracle/truffle/api/object/DynamicObjectLibrary;
            aload 1 /* obj */
            invokevirtual com.oracle.truffle.object.basic.test.DynamicObjectLibraryTest.createLibrary:(Ljava/lang/Class;Ljava/lang/Object;)Lcom/oracle/truffle/api/library/Library;
            checkcast com.oracle.truffle.api.object.DynamicObjectLibrary
            astore 4 /* shapeFlags */
        start local 4 // com.oracle.truffle.api.object.DynamicObjectLibrary shapeFlags
        11: .line 784
            aload 4 /* shapeFlags */
            aload 1 /* obj */
            iload 2 /* flags */
            invokevirtual com.oracle.truffle.api.object.DynamicObjectLibrary.setShapeFlags:(Lcom/oracle/truffle/api/object/DynamicObject;I)Z
            pop
        12: .line 785
            return
        end local 4 // com.oracle.truffle.api.object.DynamicObjectLibrary shapeFlags
        end local 3 // com.oracle.truffle.api.object.DynamicObjectLibrary propertyFlags
        end local 2 // int flags
        end local 1 // com.oracle.truffle.api.object.DynamicObject obj
        end local 0 // com.oracle.truffle.object.basic.test.DynamicObjectLibraryTest this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   13     0           this  Lcom/oracle/truffle/object/basic/test/DynamicObjectLibraryTest;
            0   13     1            obj  Lcom/oracle/truffle/api/object/DynamicObject;
            0   13     2          flags  I
            1   13     3  propertyFlags  Lcom/oracle/truffle/api/object/DynamicObjectLibrary;
            3    8     4       property  Lcom/oracle/truffle/api/object/Property;
            4    8     8       oldFlags  I
            5    8     9       newFlags  I
            7    8    10            key  Ljava/lang/Object;
           11   13     4     shapeFlags  Lcom/oracle/truffle/api/object/DynamicObjectLibrary;
    MethodParameters:
       Name  Flags
      obj    
      flags  

  private static void uncachedPut(com.oracle.truffle.api.object.DynamicObject, java.lang.Object, java.lang.Object);
    descriptor: (Lcom/oracle/truffle/api/object/DynamicObject;Ljava/lang/Object;Ljava/lang/Object;)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // com.oracle.truffle.api.object.DynamicObject obj
        start local 1 // java.lang.Object key
        start local 2 // java.lang.Object value
         0: .line 788
            invokestatic com.oracle.truffle.api.object.DynamicObjectLibrary.getUncached:()Lcom/oracle/truffle/api/object/DynamicObjectLibrary;
            aload 0 /* obj */
            aload 1 /* key */
            aload 2 /* value */
            invokevirtual com.oracle.truffle.api.object.DynamicObjectLibrary.put:(Lcom/oracle/truffle/api/object/DynamicObject;Ljava/lang/Object;Ljava/lang/Object;)V
         1: .line 789
            return
        end local 2 // java.lang.Object value
        end local 1 // java.lang.Object key
        end local 0 // com.oracle.truffle.api.object.DynamicObject obj
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    2     0    obj  Lcom/oracle/truffle/api/object/DynamicObject;
            0    2     1    key  Ljava/lang/Object;
            0    2     2  value  Ljava/lang/Object;
    MethodParameters:
       Name  Flags
      obj    
      key    
      value  

  private static void uncachedPut(com.oracle.truffle.api.object.DynamicObject, java.lang.Object, java.lang.Object, int);
    descriptor: (Lcom/oracle/truffle/api/object/DynamicObject;Ljava/lang/Object;Ljava/lang/Object;I)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=5, locals=4, args_size=4
        start local 0 // com.oracle.truffle.api.object.DynamicObject obj
        start local 1 // java.lang.Object key
        start local 2 // java.lang.Object value
        start local 3 // int flags
         0: .line 792
            invokestatic com.oracle.truffle.api.object.DynamicObjectLibrary.getUncached:()Lcom/oracle/truffle/api/object/DynamicObjectLibrary;
            aload 0 /* obj */
            aload 1 /* key */
            aload 2 /* value */
            iload 3 /* flags */
            invokevirtual com.oracle.truffle.api.object.DynamicObjectLibrary.putWithFlags:(Lcom/oracle/truffle/api/object/DynamicObject;Ljava/lang/Object;Ljava/lang/Object;I)V
         1: .line 793
            return
        end local 3 // int flags
        end local 2 // java.lang.Object value
        end local 1 // java.lang.Object key
        end local 0 // com.oracle.truffle.api.object.DynamicObject obj
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    2     0    obj  Lcom/oracle/truffle/api/object/DynamicObject;
            0    2     1    key  Ljava/lang/Object;
            0    2     2  value  Ljava/lang/Object;
            0    2     3  flags  I
    MethodParameters:
       Name  Flags
      obj    
      key    
      value  
      flags  

  private static void uncachedSet(com.oracle.truffle.api.object.DynamicObject, java.lang.Object, java.lang.Object);
    descriptor: (Lcom/oracle/truffle/api/object/DynamicObject;Ljava/lang/Object;Ljava/lang/Object;)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // com.oracle.truffle.api.object.DynamicObject obj
        start local 1 // java.lang.Object key
        start local 2 // java.lang.Object value
         0: .line 796
            invokestatic com.oracle.truffle.api.object.DynamicObjectLibrary.getUncached:()Lcom/oracle/truffle/api/object/DynamicObjectLibrary;
            aload 0 /* obj */
            aload 1 /* key */
            aload 2 /* value */
            invokevirtual com.oracle.truffle.api.object.DynamicObjectLibrary.putIfPresent:(Lcom/oracle/truffle/api/object/DynamicObject;Ljava/lang/Object;Ljava/lang/Object;)Z
            pop
         1: .line 797
            return
        end local 2 // java.lang.Object value
        end local 1 // java.lang.Object key
        end local 0 // com.oracle.truffle.api.object.DynamicObject obj
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    2     0    obj  Lcom/oracle/truffle/api/object/DynamicObject;
            0    2     1    key  Ljava/lang/Object;
            0    2     2  value  Ljava/lang/Object;
    MethodParameters:
       Name  Flags
      obj    
      key    
      value  

  private static java.lang.Object uncachedGet(com.oracle.truffle.api.object.DynamicObject, java.lang.Object);
    descriptor: (Lcom/oracle/truffle/api/object/DynamicObject;Ljava/lang/Object;)Ljava/lang/Object;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // com.oracle.truffle.api.object.DynamicObject obj
        start local 1 // java.lang.Object key
         0: .line 800
            invokestatic com.oracle.truffle.api.object.DynamicObjectLibrary.getUncached:()Lcom/oracle/truffle/api/object/DynamicObjectLibrary;
            aload 0 /* obj */
            aload 1 /* key */
            aconst_null
            invokevirtual com.oracle.truffle.api.object.DynamicObjectLibrary.getOrDefault:(Lcom/oracle/truffle/api/object/DynamicObject;Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            areturn
        end local 1 // java.lang.Object key
        end local 0 // com.oracle.truffle.api.object.DynamicObject obj
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0   obj  Lcom/oracle/truffle/api/object/DynamicObject;
            0    1     1   key  Ljava/lang/Object;
    MethodParameters:
      Name  Flags
      obj   
      key   

  private static com.oracle.truffle.api.object.Property uncachedGetProperty(com.oracle.truffle.api.object.DynamicObject, java.lang.Object);
    descriptor: (Lcom/oracle/truffle/api/object/DynamicObject;Ljava/lang/Object;)Lcom/oracle/truffle/api/object/Property;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // com.oracle.truffle.api.object.DynamicObject obj
        start local 1 // java.lang.Object key
         0: .line 804
            invokestatic com.oracle.truffle.api.object.DynamicObjectLibrary.getUncached:()Lcom/oracle/truffle/api/object/DynamicObjectLibrary;
            aload 0 /* obj */
            aload 1 /* key */
            invokevirtual com.oracle.truffle.api.object.DynamicObjectLibrary.getProperty:(Lcom/oracle/truffle/api/object/DynamicObject;Ljava/lang/Object;)Lcom/oracle/truffle/api/object/Property;
            areturn
        end local 1 // java.lang.Object key
        end local 0 // com.oracle.truffle.api.object.DynamicObject obj
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0   obj  Lcom/oracle/truffle/api/object/DynamicObject;
            0    1     1   key  Ljava/lang/Object;
    MethodParameters:
      Name  Flags
      obj   
      key   

  private static java.lang.Object newObjectType();
    descriptor: ()Ljava/lang/Object;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=0, args_size=0
         0: .line 808
            new com.oracle.truffle.api.object.ObjectType
            dup
            invokespecial com.oracle.truffle.api.object.ObjectType.<init>:()V
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  private java.util.List<java.lang.Object> getKeyList(com.oracle.truffle.api.object.DynamicObject);
    descriptor: (Lcom/oracle/truffle/api/object/DynamicObject;)Ljava/util/List;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // com.oracle.truffle.object.basic.test.DynamicObjectLibraryTest this
        start local 1 // com.oracle.truffle.api.object.DynamicObject obj
         0: .line 812
            aload 0 /* this */
            ldc Lcom/oracle/truffle/api/object/DynamicObjectLibrary;
            aload 1 /* obj */
            invokevirtual com.oracle.truffle.object.basic.test.DynamicObjectLibraryTest.createLibrary:(Ljava/lang/Class;Ljava/lang/Object;)Lcom/oracle/truffle/api/library/Library;
            checkcast com.oracle.truffle.api.object.DynamicObjectLibrary
            astore 2 /* objectLibrary */
        start local 2 // com.oracle.truffle.api.object.DynamicObjectLibrary objectLibrary
         1: .line 813
            aload 2 /* objectLibrary */
            aload 1 /* obj */
            invokevirtual com.oracle.truffle.api.object.DynamicObjectLibrary.getKeyArray:(Lcom/oracle/truffle/api/object/DynamicObject;)[Ljava/lang/Object;
            invokestatic java.util.Arrays.asList:([Ljava/lang/Object;)Ljava/util/List;
            areturn
        end local 2 // com.oracle.truffle.api.object.DynamicObjectLibrary objectLibrary
        end local 1 // com.oracle.truffle.api.object.DynamicObject obj
        end local 0 // com.oracle.truffle.object.basic.test.DynamicObjectLibraryTest this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    2     0           this  Lcom/oracle/truffle/object/basic/test/DynamicObjectLibraryTest;
            0    2     1            obj  Lcom/oracle/truffle/api/object/DynamicObject;
            1    2     2  objectLibrary  Lcom/oracle/truffle/api/object/DynamicObjectLibrary;
    Signature: (Lcom/oracle/truffle/api/object/DynamicObject;)Ljava/util/List<Ljava/lang/Object;>;
    MethodParameters:
      Name  Flags
      obj   

  private static boolean isNewLayout(com.oracle.truffle.api.object.DynamicObject);
    descriptor: (Lcom/oracle/truffle/api/object/DynamicObject;)Z
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.oracle.truffle.api.object.DynamicObject obj
         0: .line 817
            aload 0 /* obj */
            instanceof com.oracle.truffle.object.DynamicObjectImpl
            ifeq 1
            iconst_0
            goto 2
      StackMap locals:
      StackMap stack:
         1: iconst_1
      StackMap locals:
      StackMap stack: int
         2: ireturn
        end local 0 // com.oracle.truffle.api.object.DynamicObject obj
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0   obj  Lcom/oracle/truffle/api/object/DynamicObject;
    MethodParameters:
      Name  Flags
      obj   

  private static java.lang.Object lambda$0(com.oracle.truffle.api.object.Shape);
    descriptor: (Lcom/oracle/truffle/api/object/Shape;)Ljava/lang/Object;
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=1, locals=1, args_size=1
         0: .line 89
            aload 0
            invokevirtual com.oracle.truffle.api.object.Shape.newInstance:()Lcom/oracle/truffle/api/object/DynamicObject;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  private static com.oracle.truffle.api.object.DynamicObject lambda$1(com.oracle.truffle.api.object.Shape);
    descriptor: (Lcom/oracle/truffle/api/object/Shape;)Lcom/oracle/truffle/api/object/DynamicObject;
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=3, locals=1, args_size=1
         0: .line 93
            new com.oracle.truffle.object.basic.test.TestDynamicObjectMinimal
            dup
            aload 0
            invokespecial com.oracle.truffle.object.basic.test.TestDynamicObjectMinimal.<init>:(Lcom/oracle/truffle/api/object/Shape;)V
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  private static com.oracle.truffle.api.object.DynamicObject lambda$2(com.oracle.truffle.api.object.Shape);
    descriptor: (Lcom/oracle/truffle/api/object/Shape;)Lcom/oracle/truffle/api/object/DynamicObject;
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=3, locals=1, args_size=1
         0: .line 97
            new com.oracle.truffle.object.basic.test.TestDynamicObjectDefault
            dup
            aload 0
            invokespecial com.oracle.truffle.object.basic.test.TestDynamicObjectDefault.<init>:(Lcom/oracle/truffle/api/object/Shape;)V
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  private static int lambda$3(int, int);
    descriptor: (II)I
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=2, locals=2, args_size=2
        start local 1 // int f
         0: .line 449
            iload 1 /* f */
            iload 0
            ior
            ireturn
        end local 1 // int f
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     1     f  I

  private static int lambda$4(int, int);
    descriptor: (II)I
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=2, locals=2, args_size=2
        start local 1 // int f
         0: .line 491
            iload 1 /* f */
            iload 0
            ior
            ireturn
        end local 1 // int f
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     1     f  I

  private static int lambda$5(int, int);
    descriptor: (II)I
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=2, locals=2, args_size=2
        start local 1 // int f
         0: .line 497
            iload 1 /* f */
            iload 0
            ior
            ireturn
        end local 1 // int f
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     1     f  I

  private static int lambda$6(int, int);
    descriptor: (II)I
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=2, locals=2, args_size=2
        start local 1 // int f
         0: .line 506
            iload 1 /* f */
            iload 0
            ior
            ireturn
        end local 1 // int f
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     1     f  I

  private static boolean lambda$7(com.oracle.truffle.api.object.Property);
    descriptor: (Lcom/oracle/truffle/api/object/Property;)Z
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // com.oracle.truffle.api.object.Property p
         0: .line 635
            aload 0 /* p */
            invokevirtual com.oracle.truffle.api.object.Property.getFlags:()I
            bipush 42
            if_icmplt 1
            iconst_1
            goto 2
      StackMap locals:
      StackMap stack:
         1: iconst_0
      StackMap locals:
      StackMap stack: int
         2: ireturn
        end local 0 // com.oracle.truffle.api.object.Property p
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0     p  Lcom/oracle/truffle/api/object/Property;

  private static boolean lambda$8(com.oracle.truffle.api.object.Property);
    descriptor: (Lcom/oracle/truffle/api/object/Property;)Z
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // com.oracle.truffle.api.object.Property p
         0: .line 638
            aload 0 /* p */
            invokevirtual com.oracle.truffle.api.object.Property.getFlags:()I
            bipush 42
            if_icmplt 1
            iconst_1
            goto 2
      StackMap locals:
      StackMap stack:
         1: iconst_0
      StackMap locals:
      StackMap stack: int
         2: ireturn
        end local 0 // com.oracle.truffle.api.object.Property p
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0     p  Lcom/oracle/truffle/api/object/Property;
}
SourceFile: "DynamicObjectLibraryTest.java"
InnerClasses:
  public final Builder = com.oracle.truffle.api.object.Shape$Builder of com.oracle.truffle.api.object.Shape
  public final TestRun = com.oracle.truffle.api.test.AbstractParametrizedLibraryTest$TestRun of com.oracle.truffle.api.test.AbstractParametrizedLibraryTest
  public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles
  public abstract Parameter = org.junit.runners.Parameterized$Parameter of org.junit.runners.Parameterized
  public abstract Parameters = org.junit.runners.Parameterized$Parameters of org.junit.runners.Parameterized
    RuntimeVisibleAnnotations: 
      org.junit.runner.RunWith(value = Lorg/junit/runners/Parameterized;)