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 0: aload 0
invokespecial com.oracle.truffle.api.test.AbstractParametrizedLibraryTest.<init>:()V
return
end local 0 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 0: aload 0
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 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: new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
astore 0
start local 0 1: invokestatic com.oracle.truffle.object.basic.test.DynamicObjectLibraryTest.newObjectType:()Ljava/lang/Object;
astore 1
start local 1 2: invokestatic com.oracle.truffle.api.object.Layout.createLayout:()Lcom/oracle/truffle/api/object/Layout;
astore 2
start local 2 3: aload 2
aload 1
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
start local 3 4: aload 3
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
start local 4 5: aload 0
aload 4
invokestatic com.oracle.truffle.object.basic.test.DynamicObjectLibraryTest.addParams:(Ljava/util/Collection;Ljava/util/function/Supplier;)V
6: 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
start local 5 7: aload 5
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
start local 6 8: aload 0
aload 6
invokestatic com.oracle.truffle.object.basic.test.DynamicObjectLibraryTest.addParams:(Ljava/util/Collection;Ljava/util/function/Supplier;)V
9: 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
start local 7 10: aload 7
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
start local 8 11: aload 0
aload 8
invokestatic com.oracle.truffle.object.basic.test.DynamicObjectLibraryTest.addParams:(Ljava/util/Collection;Ljava/util/function/Supplier;)V
12: aload 0
areturn
end local 8 end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 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 start local 1 0: 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
start local 2 2: aload 0
iconst_2
anewarray java.lang.Object
dup
iconst_0
aload 2
aastore
dup
iconst_1
aload 1
aastore
invokeinterface java.util.Collection.add:(Ljava/lang/Object;)Z
pop
end local 2 3: iinc 3 1
StackMap locals:
StackMap stack:
4: iload 3
iload 4
if_icmplt 1
5: return
end local 1 end local 0 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 0: aload 0
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
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: 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: StackMap locals:
StackMap stack:
invokestatic com.oracle.truffle.api.object.DynamicObjectLibrary.getUncached:()Lcom/oracle/truffle/api/object/DynamicObjectLibrary;
areturn
end local 0 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 start local 1 0: aload 0
ldc Lcom/oracle/truffle/api/object/DynamicObjectLibrary;
aload 1
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
start local 2 1: aload 2
aload 1
invokevirtual com.oracle.truffle.api.object.DynamicObjectLibrary.accepts:(Ljava/lang/Object;)Z
invokestatic org.junit.Assert.assertTrue:(Z)V
2: aload 2
areturn
end local 2 end local 1 end local 0 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 start local 1 start local 2 0: aload 2
instanceof com.oracle.truffle.api.object.DynamicObject
invokestatic org.junit.Assert.assertFalse:(Z)V
1: aload 0
ldc Lcom/oracle/truffle/api/object/DynamicObjectLibrary;
aload 1
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
start local 3 2: aload 3
aload 1
invokevirtual com.oracle.truffle.api.object.DynamicObjectLibrary.accepts:(Ljava/lang/Object;)Z
invokestatic org.junit.Assert.assertTrue:(Z)V
3: aload 3
areturn
end local 3 end local 2 end local 1 end local 0 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 start local 1 0: aload 1
instanceof com.oracle.truffle.api.object.DynamicObject
invokestatic org.junit.Assert.assertFalse:(Z)V
1: aload 0
invokevirtual com.oracle.truffle.object.basic.test.DynamicObjectLibraryTest.createDispatchedLibrary:()Lcom/oracle/truffle/api/object/DynamicObjectLibrary;
areturn
end local 1 end local 0 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 0: aload 0
invokevirtual com.oracle.truffle.object.basic.test.DynamicObjectLibraryTest.createEmpty:()Lcom/oracle/truffle/api/object/DynamicObject;
astore 1
start local 1 1: ldc "key1"
astore 2
start local 2 2: bipush 42
istore 3
start local 3 3: aload 1
aload 2
iload 3
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: aload 0
invokevirtual com.oracle.truffle.object.basic.test.DynamicObjectLibraryTest.createEmpty:()Lcom/oracle/truffle/api/object/DynamicObject;
astore 4
start local 4 5: aload 4
aload 2
iload 3
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: aload 1
invokevirtual com.oracle.truffle.api.object.DynamicObject.getShape:()Lcom/oracle/truffle/api/object/Shape;
aload 4
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: aload 0
aload 1
aload 2
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
start local 5 8: iload 3
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aload 5
aload 1
aload 2
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: iload 3
i2l
aload 5
aload 1
aload 2
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: iload 3
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aload 5
aload 4
aload 2
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: iload 3
i2l
aload 5
aload 4
aload 2
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: ldc "asdf"
astore 6
start local 6 13: aload 1
aload 2
aload 6
invokestatic com.oracle.truffle.object.basic.test.DynamicObjectLibraryTest.uncachedSet:(Lcom/oracle/truffle/api/object/DynamicObject;Ljava/lang/Object;Ljava/lang/Object;)V
14: aload 0
aload 2
invokevirtual com.oracle.truffle.object.basic.test.DynamicObjectLibraryTest.createLibraryForKey:(Ljava/lang/Object;)Lcom/oracle/truffle/api/object/DynamicObjectLibrary;
astore 5
15: aload 6
aload 5
aload 1
aload 2
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: aload 5
aload 1
aload 2
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: invokestatic org.junit.Assert.fail:()V
18: 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
start local 7 20: aload 6
aload 7
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 21: StackMap locals:
StackMap stack:
iload 3
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aload 5
aload 4
aload 2
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: iload 3
i2l
aload 5
aload 4
aload 2
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: ldc "missing"
astore 7
start local 7 24: aload 0
aload 1
aload 7
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
start local 8 25: aconst_null
aload 8
aload 1
aload 7
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: ldc 404
aload 8
aload 1
aload 7
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: aload 0
aload 1
invokevirtual com.oracle.truffle.object.basic.test.DynamicObjectLibraryTest.createLibraryForReceiver:(Lcom/oracle/truffle/api/object/DynamicObject;)Lcom/oracle/truffle/api/object/DynamicObjectLibrary;
astore 8
28: aconst_null
aload 8
aload 1
aload 7
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: ldc 404
aload 8
aload 1
aload 7
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: return
end local 8 end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 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 0: aload 0
invokevirtual com.oracle.truffle.object.basic.test.DynamicObjectLibraryTest.createEmpty:()Lcom/oracle/truffle/api/object/DynamicObject;
astore 1
start local 1 1: ldc "key1"
astore 2
start local 2 2: bipush 42
istore 3
start local 3 3: bipush 43
istore 4
start local 4 4: aload 1
aload 2
iload 3
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: aload 0
invokevirtual com.oracle.truffle.object.basic.test.DynamicObjectLibraryTest.createEmpty:()Lcom/oracle/truffle/api/object/DynamicObject;
astore 5
start local 5 6: aload 5
aload 2
iload 3
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: aload 1
invokevirtual com.oracle.truffle.api.object.DynamicObject.getShape:()Lcom/oracle/truffle/api/object/Shape;
aload 5
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: aload 0
aload 1
aload 2
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
start local 6 9: aload 6
aload 1
aload 2
iload 4
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: iload 4
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aload 1
aload 2
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: aload 6
aload 1
aload 2
iload 3
invokevirtual com.oracle.truffle.api.object.DynamicObjectLibrary.putInt:(Lcom/oracle/truffle/api/object/DynamicObject;Ljava/lang/Object;I)V
12: iload 3
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aload 1
aload 2
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: aload 6
aload 5
aload 2
iload 4
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: iload 4
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aload 5
aload 2
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: aload 6
aload 5
aload 2
iload 3
invokevirtual com.oracle.truffle.api.object.DynamicObjectLibrary.putInt:(Lcom/oracle/truffle/api/object/DynamicObject;Ljava/lang/Object;I)V
16: iload 3
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aload 5
aload 2
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: aload 1
invokevirtual com.oracle.truffle.api.object.DynamicObject.getShape:()Lcom/oracle/truffle/api/object/Shape;
aload 5
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: ldc "asdf"
astore 7
start local 7 19: aload 6
aload 1
aload 2
aload 7
invokevirtual com.oracle.truffle.api.object.DynamicObjectLibrary.put:(Lcom/oracle/truffle/api/object/DynamicObject;Ljava/lang/Object;Ljava/lang/Object;)V
20: aload 7
aload 1
aload 2
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: ldc "key2"
astore 8
start local 8 22: ldc "qwer"
astore 9
start local 9 23: aload 0
aload 1
aload 8
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
start local 10 24: aload 10
aload 1
aload 8
aload 9
invokevirtual com.oracle.truffle.api.object.DynamicObjectLibrary.put:(Lcom/oracle/truffle/api/object/DynamicObject;Ljava/lang/Object;Ljava/lang/Object;)V
25: aload 9
aload 1
aload 8
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: aload 10
aload 1
aload 8
iload 3
invokevirtual com.oracle.truffle.api.object.DynamicObjectLibrary.putInt:(Lcom/oracle/truffle/api/object/DynamicObject;Ljava/lang/Object;I)V
27: iload 3
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aload 1
aload 8
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: aload 0
aload 1
aload 8
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
start local 11 29: aload 11
aload 1
aload 8
aload 7
invokevirtual com.oracle.truffle.api.object.DynamicObjectLibrary.put:(Lcom/oracle/truffle/api/object/DynamicObject;Ljava/lang/Object;Ljava/lang/Object;)V
30: aload 7
aload 1
aload 8
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: aload 11
aload 1
invokevirtual com.oracle.truffle.api.object.DynamicObjectLibrary.accepts:(Ljava/lang/Object;)Z
invokestatic org.junit.Assert.assertTrue:(Z)V
32: aload 0
aload 1
aload 8
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
start local 12 33: aload 12
aload 1
aload 8
iload 4
invokevirtual com.oracle.truffle.api.object.DynamicObjectLibrary.putInt:(Lcom/oracle/truffle/api/object/DynamicObject;Ljava/lang/Object;I)V
34: iload 4
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aload 1
aload 8
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: aload 12
aload 1
invokevirtual com.oracle.truffle.api.object.DynamicObjectLibrary.accepts:(Ljava/lang/Object;)Z
invokestatic org.junit.Assert.assertTrue:(Z)V
36: return
end local 12 end local 11 end local 10 end local 9 end local 8 end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 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 0: aload 0
invokevirtual com.oracle.truffle.object.basic.test.DynamicObjectLibraryTest.createEmpty:()Lcom/oracle/truffle/api/object/DynamicObject;
astore 1
start local 1 1: ldc "key1"
astore 2
start local 2 2: bipush 42
istore 3
start local 3 3: bipush 43
istore 4
start local 4 4: aload 1
aload 2
iload 3
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: aload 0
invokevirtual com.oracle.truffle.object.basic.test.DynamicObjectLibraryTest.createEmpty:()Lcom/oracle/truffle/api/object/DynamicObject;
astore 5
start local 5 6: aload 5
aload 2
iload 3
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: aload 1
invokevirtual com.oracle.truffle.api.object.DynamicObject.getShape:()Lcom/oracle/truffle/api/object/Shape;
aload 5
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: aload 0
aload 2
invokevirtual com.oracle.truffle.object.basic.test.DynamicObjectLibraryTest.createLibraryForKey:(Ljava/lang/Object;)Lcom/oracle/truffle/api/object/DynamicObjectLibrary;
astore 6
start local 6 9: aload 6
aload 1
aload 2
iload 4
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: iload 4
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aload 1
aload 2
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: aload 6
aload 1
aload 2
iload 3
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: iload 3
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aload 1
aload 2
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: aload 6
aload 5
aload 2
iload 4
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: iload 4
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aload 5
aload 2
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: aload 6
aload 5
aload 2
iload 3
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: iload 3
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aload 5
aload 2
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: aload 1
invokevirtual com.oracle.truffle.api.object.DynamicObject.getShape:()Lcom/oracle/truffle/api/object/Shape;
aload 5
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: ldc "asdf"
astore 7
start local 7 19: aload 6
aload 1
aload 2
aload 7
invokevirtual com.oracle.truffle.api.object.DynamicObjectLibrary.put:(Lcom/oracle/truffle/api/object/DynamicObject;Ljava/lang/Object;Ljava/lang/Object;)V
20: aload 7
aload 1
aload 2
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: ldc "key2"
astore 8
start local 8 22: ldc "qwer"
astore 9
start local 9 23: aload 0
aload 1
aload 8
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
start local 10 24: invokestatic com.oracle.truffle.api.object.DynamicObjectLibrary.getUncached:()Lcom/oracle/truffle/api/object/DynamicObjectLibrary;
aload 1
aload 8
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: aload 10
aload 1
aload 8
aload 9
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: aload 10
aload 1
invokevirtual com.oracle.truffle.api.object.DynamicObjectLibrary.accepts:(Ljava/lang/Object;)Z
invokestatic org.junit.Assert.assertTrue:(Z)V
27: aload 10
aload 1
aload 8
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: aconst_null
aload 1
aload 8
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: aload 10
aload 1
aload 8
aload 9
invokevirtual com.oracle.truffle.api.object.DynamicObjectLibrary.put:(Lcom/oracle/truffle/api/object/DynamicObject;Ljava/lang/Object;Ljava/lang/Object;)V
30: aload 0
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
aload 1
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: invokestatic com.oracle.truffle.api.object.DynamicObjectLibrary.getUncached:()Lcom/oracle/truffle/api/object/DynamicObjectLibrary;
aload 1
aload 8
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: aload 9
aload 1
aload 8
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: aload 0
aload 1
aload 8
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
start local 11 36: aload 11
aload 1
aload 8
iload 3
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: iload 3
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aload 1
aload 8
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: return
end local 11 end local 10 end local 9 end local 8 end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 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 0: aload 0
invokevirtual com.oracle.truffle.object.basic.test.DynamicObjectLibraryTest.createEmpty:()Lcom/oracle/truffle/api/object/DynamicObject;
astore 1
start local 1 1: aload 0
invokevirtual com.oracle.truffle.object.basic.test.DynamicObjectLibraryTest.createEmpty:()Lcom/oracle/truffle/api/object/DynamicObject;
astore 2
start local 2 2: aload 0
invokevirtual com.oracle.truffle.object.basic.test.DynamicObjectLibraryTest.createEmpty:()Lcom/oracle/truffle/api/object/DynamicObject;
astore 3
start local 3 3: ldc "key1"
astore 4
start local 4 4: bipush 42
istore 5
start local 5 5: bipush 43
istore 6
start local 6 6: aload 3
aload 4
iload 5
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: aload 0
aload 4
invokevirtual com.oracle.truffle.object.basic.test.DynamicObjectLibraryTest.createLibraryForKey:(Ljava/lang/Object;)Lcom/oracle/truffle/api/object/DynamicObjectLibrary;
astore 7
start local 7 8: aload 7
aload 1
aload 4
iload 6
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: iload 6
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aload 1
aload 4
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: lconst_0
aload 1
aload 4
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: aload 7
aload 1
aload 4
iload 5
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: iload 5
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aload 1
aload 4
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: aload 7
aload 2
aload 4
iload 6
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: iload 6
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aload 2
aload 4
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: aload 7
aload 2
aload 4
iload 5
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: iload 5
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aload 2
aload 4
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: aload 1
invokevirtual com.oracle.truffle.api.object.DynamicObject.getShape:()Lcom/oracle/truffle/api/object/Shape;
aload 2
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: iload 5
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aload 3
aload 4
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: aload 1
invokevirtual com.oracle.truffle.api.object.DynamicObject.getShape:()Lcom/oracle/truffle/api/object/Shape;
aload 3
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: aload 3
aload 4
iload 5
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: iload 5
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aload 3
aload 4
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: lconst_0
aload 3
aload 4
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: aload 1
invokevirtual com.oracle.truffle.api.object.DynamicObject.getShape:()Lcom/oracle/truffle/api/object/Shape;
aload 3
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: ldc "asdf"
astore 8
start local 8 25: aload 7
aload 1
aload 4
aload 8
invokevirtual com.oracle.truffle.api.object.DynamicObjectLibrary.put:(Lcom/oracle/truffle/api/object/DynamicObject;Ljava/lang/Object;Ljava/lang/Object;)V
26: aload 8
aload 1
aload 4
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: ldc "key2"
astore 9
start local 9 28: ldc "qwer"
astore 10
start local 10 29: aload 0
aload 9
invokevirtual com.oracle.truffle.object.basic.test.DynamicObjectLibraryTest.createLibraryForKey:(Ljava/lang/Object;)Lcom/oracle/truffle/api/object/DynamicObjectLibrary;
astore 11
start local 11 30: aload 11
aload 1
aload 9
aload 10
invokevirtual com.oracle.truffle.api.object.DynamicObjectLibrary.put:(Lcom/oracle/truffle/api/object/DynamicObject;Ljava/lang/Object;Ljava/lang/Object;)V
31: aload 10
aload 1
aload 9
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: aload 11
aload 1
aload 9
iload 5
invokevirtual com.oracle.truffle.api.object.DynamicObjectLibrary.putInt:(Lcom/oracle/truffle/api/object/DynamicObject;Ljava/lang/Object;I)V
33: iload 5
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aload 1
aload 9
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: bipush 66
istore 12
start local 12 35: aload 0
aload 4
invokevirtual com.oracle.truffle.object.basic.test.DynamicObjectLibraryTest.createLibraryForKey:(Ljava/lang/Object;)Lcom/oracle/truffle/api/object/DynamicObjectLibrary;
astore 13
start local 13 36: aload 13
aload 3
aload 4
iload 5
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
iload 12
invokevirtual com.oracle.truffle.api.object.DynamicObjectLibrary.putWithFlags:(Lcom/oracle/truffle/api/object/DynamicObject;Ljava/lang/Object;Ljava/lang/Object;I)V
37: iload 5
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aload 3
aload 4
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: iload 12
i2l
aload 3
aload 4
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: return
end local 13 end local 12 end local 11 end local 10 end local 9 end local 8 end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 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 0: aload 0
invokevirtual com.oracle.truffle.object.basic.test.DynamicObjectLibraryTest.createEmpty:()Lcom/oracle/truffle/api/object/DynamicObject;
astore 1
start local 1 1: aload 0
invokevirtual com.oracle.truffle.object.basic.test.DynamicObjectLibraryTest.createEmpty:()Lcom/oracle/truffle/api/object/DynamicObject;
astore 2
start local 2 2: aload 0
invokevirtual com.oracle.truffle.object.basic.test.DynamicObjectLibraryTest.createEmpty:()Lcom/oracle/truffle/api/object/DynamicObject;
astore 3
start local 3 3: ldc "key1"
astore 4
start local 4 4: bipush 42
istore 5
start local 5 5: bipush 43
istore 6
start local 6 6: aload 3
aload 4
iload 5
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: bipush 15
istore 7
start local 7 8: aload 0
aload 4
invokevirtual com.oracle.truffle.object.basic.test.DynamicObjectLibraryTest.createLibraryForKey:(Ljava/lang/Object;)Lcom/oracle/truffle/api/object/DynamicObjectLibrary;
astore 8
start local 8 9: aload 8
aload 1
aload 4
iload 6
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
iload 7
invokevirtual com.oracle.truffle.api.object.DynamicObjectLibrary.putWithFlags:(Lcom/oracle/truffle/api/object/DynamicObject;Ljava/lang/Object;Ljava/lang/Object;I)V
10: iload 6
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aload 1
aload 4
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: iload 7
i2l
aload 1
aload 4
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: aload 8
aload 1
aload 4
iload 5
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
iload 7
invokevirtual com.oracle.truffle.api.object.DynamicObjectLibrary.putWithFlags:(Lcom/oracle/truffle/api/object/DynamicObject;Ljava/lang/Object;Ljava/lang/Object;I)V
13: iload 5
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aload 1
aload 4
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: aload 8
aload 2
aload 4
iload 6
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
iload 7
invokevirtual com.oracle.truffle.api.object.DynamicObjectLibrary.putWithFlags:(Lcom/oracle/truffle/api/object/DynamicObject;Ljava/lang/Object;Ljava/lang/Object;I)V
15: iload 6
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aload 2
aload 4
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: aload 8
aload 2
aload 4
iload 5
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
iload 7
invokevirtual com.oracle.truffle.api.object.DynamicObjectLibrary.putWithFlags:(Lcom/oracle/truffle/api/object/DynamicObject;Ljava/lang/Object;Ljava/lang/Object;I)V
17: iload 5
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aload 2
aload 4
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: aload 1
invokevirtual com.oracle.truffle.api.object.DynamicObject.getShape:()Lcom/oracle/truffle/api/object/Shape;
aload 2
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: iload 5
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aload 3
aload 4
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: aload 1
invokevirtual com.oracle.truffle.api.object.DynamicObject.getShape:()Lcom/oracle/truffle/api/object/Shape;
aload 3
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: aload 3
aload 4
iload 5
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
iload 7
invokestatic com.oracle.truffle.object.basic.test.DynamicObjectLibraryTest.uncachedPut:(Lcom/oracle/truffle/api/object/DynamicObject;Ljava/lang/Object;Ljava/lang/Object;I)V
22: iload 5
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aload 3
aload 4
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: iload 7
i2l
aload 3
aload 4
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: ldc "asdf"
astore 9
start local 9 25: aload 8
aload 1
aload 4
aload 9
iload 7
invokevirtual com.oracle.truffle.api.object.DynamicObjectLibrary.putWithFlags:(Lcom/oracle/truffle/api/object/DynamicObject;Ljava/lang/Object;Ljava/lang/Object;I)V
26: aload 9
aload 1
aload 4
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: ldc "key2"
astore 10
start local 10 28: ldc "qwer"
astore 11
start local 11 29: aload 0
aload 10
invokevirtual com.oracle.truffle.object.basic.test.DynamicObjectLibraryTest.createLibraryForKey:(Ljava/lang/Object;)Lcom/oracle/truffle/api/object/DynamicObjectLibrary;
astore 12
start local 12 30: aload 12
aload 1
aload 10
aload 11
invokevirtual com.oracle.truffle.api.object.DynamicObjectLibrary.put:(Lcom/oracle/truffle/api/object/DynamicObject;Ljava/lang/Object;Ljava/lang/Object;)V
31: aload 11
aload 1
aload 10
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: aload 12
aload 1
aload 10
iload 5
invokevirtual com.oracle.truffle.api.object.DynamicObjectLibrary.putInt:(Lcom/oracle/truffle/api/object/DynamicObject;Ljava/lang/Object;I)V
33: iload 5
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aload 1
aload 10
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: bipush 66
istore 13
start local 13 35: aload 0
aload 4
invokevirtual com.oracle.truffle.object.basic.test.DynamicObjectLibraryTest.createLibraryForKey:(Ljava/lang/Object;)Lcom/oracle/truffle/api/object/DynamicObjectLibrary;
astore 14
start local 14 36: aload 14
aload 3
aload 4
iload 5
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
iload 13
invokevirtual com.oracle.truffle.api.object.DynamicObjectLibrary.putWithFlags:(Lcom/oracle/truffle/api/object/DynamicObject;Ljava/lang/Object;Ljava/lang/Object;I)V
37: iload 5
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aload 3
aload 4
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: iload 13
i2l
aload 3
aload 4
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: return
end local 14 end local 13 end local 12 end local 11 end local 10 end local 9 end local 8 end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 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 0: aload 0
invokevirtual com.oracle.truffle.object.basic.test.DynamicObjectLibraryTest.createDispatchedLibrary:()Lcom/oracle/truffle/api/object/DynamicObjectLibrary;
astore 1
start local 1 1: invokestatic com.oracle.truffle.object.basic.test.DynamicObjectLibraryTest.newObjectType:()Ljava/lang/Object;
astore 2
start local 2 2: bipush 42
istore 3
start local 3 3: ldc "key1"
astore 4
start local 4 4: aload 0
invokevirtual com.oracle.truffle.object.basic.test.DynamicObjectLibraryTest.createEmpty:()Lcom/oracle/truffle/api/object/DynamicObject;
astore 5
start local 5 5: aload 1
aload 5
aload 2
invokevirtual com.oracle.truffle.api.object.DynamicObjectLibrary.setDynamicType:(Lcom/oracle/truffle/api/object/DynamicObject;Ljava/lang/Object;)Z
pop
6: aload 2
aload 1
aload 5
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: aload 0
invokevirtual com.oracle.truffle.object.basic.test.DynamicObjectLibraryTest.createEmpty:()Lcom/oracle/truffle/api/object/DynamicObject;
astore 6
start local 6 8: aload 1
aload 6
aload 2
invokevirtual com.oracle.truffle.api.object.DynamicObjectLibrary.setDynamicType:(Lcom/oracle/truffle/api/object/DynamicObject;Ljava/lang/Object;)Z
pop
9: aload 2
aload 1
aload 6
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: aload 5
invokevirtual com.oracle.truffle.api.object.DynamicObject.getShape:()Lcom/oracle/truffle/api/object/Shape;
aload 6
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: aload 0
invokevirtual com.oracle.truffle.object.basic.test.DynamicObjectLibraryTest.createEmpty:()Lcom/oracle/truffle/api/object/DynamicObject;
astore 7
start local 7 12: aload 1
aload 7
iload 3
invokevirtual com.oracle.truffle.api.object.DynamicObjectLibrary.setShapeFlags:(Lcom/oracle/truffle/api/object/DynamicObject;I)Z
pop
13: aload 1
aload 7
aload 2
invokevirtual com.oracle.truffle.api.object.DynamicObjectLibrary.setDynamicType:(Lcom/oracle/truffle/api/object/DynamicObject;Ljava/lang/Object;)Z
pop
14: aload 2
aload 1
aload 7
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: iload 3
i2l
aload 1
aload 7
invokevirtual com.oracle.truffle.api.object.DynamicObjectLibrary.getShapeFlags:(Lcom/oracle/truffle/api/object/DynamicObject;)I
i2l
invokestatic org.junit.Assert.assertEquals:(JJ)V
16: aload 0
invokevirtual com.oracle.truffle.object.basic.test.DynamicObjectLibraryTest.createEmpty:()Lcom/oracle/truffle/api/object/DynamicObject;
astore 8
start local 8 17: aload 1
aload 8
iload 3
invokevirtual com.oracle.truffle.api.object.DynamicObjectLibrary.setShapeFlags:(Lcom/oracle/truffle/api/object/DynamicObject;I)Z
pop
18: aload 1
aload 8
aload 4
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: aload 1
aload 8
aload 2
invokevirtual com.oracle.truffle.api.object.DynamicObjectLibrary.setDynamicType:(Lcom/oracle/truffle/api/object/DynamicObject;Ljava/lang/Object;)Z
pop
20: aload 1
aload 8
aload 4
ldc "value"
invokevirtual com.oracle.truffle.api.object.DynamicObjectLibrary.put:(Lcom/oracle/truffle/api/object/DynamicObject;Ljava/lang/Object;Ljava/lang/Object;)V
21: aload 2
aload 1
aload 8
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: aload 0
aload 8
invokevirtual com.oracle.truffle.object.basic.test.DynamicObjectLibraryTest.createLibraryForReceiver:(Lcom/oracle/truffle/api/object/DynamicObject;)Lcom/oracle/truffle/api/object/DynamicObjectLibrary;
astore 9
start local 9 23: aload 2
aload 9
aload 8
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: aload 2
aload 9
aload 8
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: invokestatic com.oracle.truffle.object.basic.test.DynamicObjectLibraryTest.newObjectType:()Ljava/lang/Object;
astore 10
start local 10 26: aload 9
aload 8
aload 10
invokevirtual com.oracle.truffle.api.object.DynamicObjectLibrary.setDynamicType:(Lcom/oracle/truffle/api/object/DynamicObject;Ljava/lang/Object;)Z
pop
27: aload 0
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
aload 8
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: aload 10
aload 1
aload 8
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: return
end local 10 end local 9 end local 8 end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 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 0: aload 0
invokevirtual com.oracle.truffle.object.basic.test.DynamicObjectLibraryTest.createDispatchedLibrary:()Lcom/oracle/truffle/api/object/DynamicObjectLibrary;
astore 1
start local 1 1: bipush 42
istore 2
start local 2 2: aload 0
invokevirtual com.oracle.truffle.object.basic.test.DynamicObjectLibraryTest.createEmpty:()Lcom/oracle/truffle/api/object/DynamicObject;
astore 3
start local 3 3: aload 1
aload 3
iload 2
invokevirtual com.oracle.truffle.api.object.DynamicObjectLibrary.setShapeFlags:(Lcom/oracle/truffle/api/object/DynamicObject;I)Z
pop
4: iload 2
i2l
aload 1
aload 3
invokevirtual com.oracle.truffle.api.object.DynamicObjectLibrary.getShapeFlags:(Lcom/oracle/truffle/api/object/DynamicObject;)I
i2l
invokestatic org.junit.Assert.assertEquals:(JJ)V
5: aload 0
invokevirtual com.oracle.truffle.object.basic.test.DynamicObjectLibraryTest.createEmpty:()Lcom/oracle/truffle/api/object/DynamicObject;
astore 4
start local 4 6: aload 1
aload 4
iload 2
invokevirtual com.oracle.truffle.api.object.DynamicObjectLibrary.setShapeFlags:(Lcom/oracle/truffle/api/object/DynamicObject;I)Z
pop
7: iload 2
i2l
aload 1
aload 4
invokevirtual com.oracle.truffle.api.object.DynamicObjectLibrary.getShapeFlags:(Lcom/oracle/truffle/api/object/DynamicObject;)I
i2l
invokestatic org.junit.Assert.assertEquals:(JJ)V
8: aload 3
invokevirtual com.oracle.truffle.api.object.DynamicObject.getShape:()Lcom/oracle/truffle/api/object/Shape;
aload 4
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: aload 0
invokevirtual com.oracle.truffle.object.basic.test.DynamicObjectLibraryTest.createEmpty:()Lcom/oracle/truffle/api/object/DynamicObject;
astore 5
start local 5 10: aload 1
aload 5
iconst_1
invokevirtual com.oracle.truffle.api.object.DynamicObjectLibrary.setShapeFlags:(Lcom/oracle/truffle/api/object/DynamicObject;I)Z
pop
11: aload 1
aload 5
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: aload 1
aload 5
iload 2
invokevirtual com.oracle.truffle.api.object.DynamicObjectLibrary.setShapeFlags:(Lcom/oracle/truffle/api/object/DynamicObject;I)Z
pop
13: aload 1
aload 5
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: iload 2
i2l
aload 1
aload 4
invokevirtual com.oracle.truffle.api.object.DynamicObjectLibrary.getShapeFlags:(Lcom/oracle/truffle/api/object/DynamicObject;)I
i2l
invokestatic org.junit.Assert.assertEquals:(JJ)V
15: aload 0
invokevirtual com.oracle.truffle.object.basic.test.DynamicObjectLibraryTest.createEmpty:()Lcom/oracle/truffle/api/object/DynamicObject;
astore 6
start local 6 16: aload 1
aload 6
iload 2
invokevirtual com.oracle.truffle.api.object.DynamicObjectLibrary.setShapeFlags:(Lcom/oracle/truffle/api/object/DynamicObject;I)Z
pop
17: aload 1
aload 6
invokevirtual com.oracle.truffle.api.object.DynamicObjectLibrary.markShared:(Lcom/oracle/truffle/api/object/DynamicObject;)V
18: iload 2
i2l
aload 1
aload 4
invokevirtual com.oracle.truffle.api.object.DynamicObjectLibrary.getShapeFlags:(Lcom/oracle/truffle/api/object/DynamicObject;)I
i2l
invokestatic org.junit.Assert.assertEquals:(JJ)V
19: aload 0
aload 6
invokevirtual com.oracle.truffle.object.basic.test.DynamicObjectLibraryTest.createLibraryForReceiver:(Lcom/oracle/truffle/api/object/DynamicObject;)Lcom/oracle/truffle/api/object/DynamicObjectLibrary;
astore 7
start local 7 20: iload 2
i2l
aload 7
aload 6
invokevirtual com.oracle.truffle.api.object.DynamicObjectLibrary.getShapeFlags:(Lcom/oracle/truffle/api/object/DynamicObject;)I
i2l
invokestatic org.junit.Assert.assertEquals:(JJ)V
21: iload 2
i2l
aload 7
aload 6
invokevirtual com.oracle.truffle.api.object.DynamicObjectLibrary.getShapeFlags:(Lcom/oracle/truffle/api/object/DynamicObject;)I
i2l
invokestatic org.junit.Assert.assertEquals:(JJ)V
22: bipush 43
istore 8
start local 8 23: aload 7
aload 6
iload 8
invokevirtual com.oracle.truffle.api.object.DynamicObjectLibrary.setShapeFlags:(Lcom/oracle/truffle/api/object/DynamicObject;I)Z
pop
24: aload 0
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
aload 6
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: iload 8
i2l
aload 1
aload 6
invokevirtual com.oracle.truffle.api.object.DynamicObjectLibrary.getShapeFlags:(Lcom/oracle/truffle/api/object/DynamicObject;)I
i2l
invokestatic org.junit.Assert.assertEquals:(JJ)V
28: return
end local 8 end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 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 0: bipush 15
istore 1
start local 1 1: bipush 16
istore 2
start local 2 2: bipush 31
istore 3
start local 3 3: aload 0
invokevirtual com.oracle.truffle.object.basic.test.DynamicObjectLibraryTest.createDispatchedLibrary:()Lcom/oracle/truffle/api/object/DynamicObjectLibrary;
astore 4
start local 4 4: aload 0
invokevirtual com.oracle.truffle.object.basic.test.DynamicObjectLibraryTest.createEmpty:()Lcom/oracle/truffle/api/object/DynamicObject;
astore 5
start local 5 5: aload 5
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: aload 4
aload 5
iload 1
invokevirtual com.oracle.truffle.api.object.DynamicObjectLibrary.setShapeFlags:(Lcom/oracle/truffle/api/object/DynamicObject;I)Z
invokestatic org.junit.Assert.assertTrue:(Z)V
7: iload 1
i2l
aload 4
aload 5
invokevirtual com.oracle.truffle.api.object.DynamicObjectLibrary.getShapeFlags:(Lcom/oracle/truffle/api/object/DynamicObject;)I
i2l
invokestatic org.junit.Assert.assertEquals:(JJ)V
8: iload 1
i2l
aload 5
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: aload 4
aload 5
iload 2
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: iload 3
i2l
aload 4
aload 5
invokevirtual com.oracle.truffle.api.object.DynamicObjectLibrary.getShapeFlags:(Lcom/oracle/truffle/api/object/DynamicObject;)I
i2l
invokestatic org.junit.Assert.assertEquals:(JJ)V
11: iload 3
i2l
aload 5
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: return
end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 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 start local 1 start local 2 0: aload 0
aload 1
invokevirtual com.oracle.truffle.api.object.DynamicObjectLibrary.getShapeFlags:(Lcom/oracle/truffle/api/object/DynamicObject;)I
istore 3
start local 3 1: aload 2
iload 3
invokeinterface java.util.function.IntUnaryOperator.applyAsInt:(I)I
istore 4
start local 4 2: iload 3
iload 4
if_icmpne 4
3: iconst_0
ireturn
4: StackMap locals: int int
StackMap stack:
aload 0
aload 1
iload 4
invokevirtual com.oracle.truffle.api.object.DynamicObjectLibrary.setShapeFlags:(Lcom/oracle/truffle/api/object/DynamicObject;I)Z
ireturn
end local 4 end local 3 end local 2 end local 1 end local 0 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 0: aload 0
invokevirtual com.oracle.truffle.object.basic.test.DynamicObjectLibraryTest.createDispatchedLibrary:()Lcom/oracle/truffle/api/object/DynamicObjectLibrary;
astore 1
start local 1 1: aload 0
invokevirtual com.oracle.truffle.object.basic.test.DynamicObjectLibraryTest.createEmpty:()Lcom/oracle/truffle/api/object/DynamicObject;
astore 2
start local 2 2: aload 1
aload 2
invokevirtual com.oracle.truffle.api.object.DynamicObjectLibrary.isShared:(Lcom/oracle/truffle/api/object/DynamicObject;)Z
invokestatic org.junit.Assert.assertFalse:(Z)V
3: aload 1
aload 2
invokevirtual com.oracle.truffle.api.object.DynamicObjectLibrary.markShared:(Lcom/oracle/truffle/api/object/DynamicObject;)V
4: aload 1
aload 2
invokevirtual com.oracle.truffle.api.object.DynamicObjectLibrary.isShared:(Lcom/oracle/truffle/api/object/DynamicObject;)Z
invokestatic org.junit.Assert.assertTrue:(Z)V
5: aload 1
aload 2
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: aload 1
aload 2
invokevirtual com.oracle.truffle.api.object.DynamicObjectLibrary.isShared:(Lcom/oracle/truffle/api/object/DynamicObject;)Z
invokestatic org.junit.Assert.assertTrue:(Z)V
7: aload 1
aload 2
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: return
end local 2 end local 1 end local 0 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 0: ldc "key1"
astore 1
start local 1 1: bipush 42
istore 2
start local 2 2: bipush 43
istore 3
start local 3 3: bipush 15
istore 4
start local 4 4: bipush 16
istore 5
start local 5 5: bipush 31
istore 6
start local 6 6: aload 0
aload 1
invokevirtual com.oracle.truffle.object.basic.test.DynamicObjectLibraryTest.createLibraryForKey:(Ljava/lang/Object;)Lcom/oracle/truffle/api/object/DynamicObjectLibrary;
astore 7
start local 7 7: aload 0
invokevirtual com.oracle.truffle.object.basic.test.DynamicObjectLibraryTest.createEmpty:()Lcom/oracle/truffle/api/object/DynamicObject;
astore 8
start local 8 8: aload 8
aload 1
iload 2
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: aload 7
aload 8
aload 1
iload 4
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: iload 4
i2l
aload 7
aload 8
aload 1
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: iload 4
i2l
aload 8
aload 1
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: aload 7
aload 8
aload 1
iload 5
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: iload 6
i2l
aload 7
aload 8
aload 1
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: iload 6
i2l
aload 8
aload 1
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: aload 8
invokevirtual com.oracle.truffle.api.object.DynamicObject.getShape:()Lcom/oracle/truffle/api/object/Shape;
astore 9
start local 9 16: aload 7
aload 8
aload 1
iload 6
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: aload 7
aload 8
aload 1
iload 5
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: iload 6
i2l
aload 7
aload 8
aload 1
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: iload 6
i2l
aload 8
aload 1
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: aload 9
aload 8
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: aload 0
invokevirtual com.oracle.truffle.object.basic.test.DynamicObjectLibraryTest.createEmpty:()Lcom/oracle/truffle/api/object/DynamicObject;
astore 10
start local 10 22: aload 10
aload 1
iload 3
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: aload 7
aload 10
aload 1
iload 4
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: iload 4
i2l
aload 7
aload 10
aload 1
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: aload 7
aload 10
aload 1
iload 5
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: iload 6
i2l
aload 7
aload 10
aload 1
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: aload 8
invokevirtual com.oracle.truffle.api.object.DynamicObject.getShape:()Lcom/oracle/truffle/api/object/Shape;
aload 10
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: aload 0
invokevirtual com.oracle.truffle.object.basic.test.DynamicObjectLibraryTest.createEmpty:()Lcom/oracle/truffle/api/object/DynamicObject;
astore 11
start local 11 29: aload 7
aload 11
aload 1
iload 4
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: return
end local 11 end local 10 end local 9 end local 8 end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 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 start local 1 start local 2 start local 3 0: aload 0
aload 1
aload 2
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
start local 4 1: aload 4
ifnonnull 3
2: iconst_0
ireturn
3: StackMap locals: com.oracle.truffle.api.object.Property
StackMap stack:
aload 4
invokevirtual com.oracle.truffle.api.object.Property.getFlags:()I
istore 5
start local 5 4: aload 3
iload 5
invokeinterface java.util.function.IntUnaryOperator.applyAsInt:(I)I
istore 6
start local 6 5: iload 5
iload 6
if_icmpne 7
6: iconst_0
ireturn
7: StackMap locals: int int
StackMap stack:
aload 0
aload 1
aload 2
iload 6
invokevirtual com.oracle.truffle.api.object.DynamicObjectLibrary.setPropertyFlags:(Lcom/oracle/truffle/api/object/DynamicObject;Ljava/lang/Object;I)Z
ireturn
end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 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 0: bipush 42
istore 1
start local 1 1: bipush 43
istore 2
start local 2 2: ldc "value"
astore 3
start local 3 3: aload 0
invokevirtual com.oracle.truffle.object.basic.test.DynamicObjectLibraryTest.createDispatchedLibrary:()Lcom/oracle/truffle/api/object/DynamicObjectLibrary;
astore 4
start local 4 4: aload 0
invokevirtual com.oracle.truffle.object.basic.test.DynamicObjectLibraryTest.createEmpty:()Lcom/oracle/truffle/api/object/DynamicObject;
astore 5
start local 5 5: aload 5
ldc "key1"
iload 1
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: aload 5
ldc "key2"
iload 2
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: aload 5
ldc "key3"
aload 3
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: aload 4
aload 5
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: aload 4
aload 5
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: ldc "key1"
aastore
dup
iconst_1
ldc "key2"
aastore
invokestatic java.util.Arrays.asList:([Ljava/lang/Object;)Ljava/util/List;
aload 0
aload 5
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: aload 5
ldc "key3"
aload 3
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: 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
aload 5
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: aload 4
aload 5
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: ldc "key1"
aastore
dup
iconst_1
ldc "key2"
aastore
invokestatic java.util.Arrays.asList:([Ljava/lang/Object;)Ljava/util/List;
aload 0
aload 5
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: aload 5
ldc "key3"
aload 3
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: aload 4
aload 5
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: ldc "key2"
aastore
dup
iconst_1
ldc "key3"
aastore
invokestatic java.util.Arrays.asList:([Ljava/lang/Object;)Ljava/util/List;
aload 0
aload 5
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: aload 5
ldc "key1"
iload 1
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: 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
aload 5
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: aload 4
aload 5
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: ldc "key2"
aastore
dup
iconst_1
ldc "key1"
aastore
invokestatic java.util.Arrays.asList:([Ljava/lang/Object;)Ljava/util/List;
aload 0
aload 5
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: iload 1
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aload 4
aload 5
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: iload 2
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aload 4
aload 5
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: return
end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 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 0: bipush 42
istore 1
start local 1 1: bipush 43
istore 2
start local 2 2: aload 0
invokevirtual com.oracle.truffle.object.basic.test.DynamicObjectLibraryTest.createDispatchedLibrary:()Lcom/oracle/truffle/api/object/DynamicObjectLibrary;
astore 3
start local 3 3: aload 0
invokevirtual com.oracle.truffle.object.basic.test.DynamicObjectLibraryTest.createEmpty:()Lcom/oracle/truffle/api/object/DynamicObject;
astore 4
start local 4 4: aload 4
invokevirtual com.oracle.truffle.api.object.DynamicObject.getShape:()Lcom/oracle/truffle/api/object/Shape;
astore 5
start local 5 5: aload 4
ldc "key1"
iload 1
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: aload 4
ldc "key2"
iload 2
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: aload 3
aload 4
aload 5
invokevirtual com.oracle.truffle.api.object.DynamicObjectLibrary.resetShape:(Lcom/oracle/truffle/api/object/DynamicObject;Lcom/oracle/truffle/api/object/Shape;)Z
pop
8: aload 5
aload 4
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: ldc "new layout only"
aload 4
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: bipush 15
istore 6
start local 6 11: aload 0
invokevirtual com.oracle.truffle.object.basic.test.DynamicObjectLibraryTest.createEmpty:()Lcom/oracle/truffle/api/object/DynamicObject;
astore 7
start local 7 12: invokestatic com.oracle.truffle.api.object.Shape.newBuilder:()Lcom/oracle/truffle/api/object/Shape$Builder;
iload 6
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
start local 8 13: aload 7
ldc "key1"
iload 1
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: aload 7
ldc "key2"
iload 2
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: aload 3
aload 7
aload 8
invokevirtual com.oracle.truffle.api.object.DynamicObjectLibrary.resetShape:(Lcom/oracle/truffle/api/object/DynamicObject;Lcom/oracle/truffle/api/object/Shape;)Z
pop
16: aload 8
aload 7
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: iload 6
i2l
aload 3
aload 7
invokevirtual com.oracle.truffle.api.object.DynamicObjectLibrary.getShapeFlags:(Lcom/oracle/truffle/api/object/DynamicObject;)I
i2l
invokestatic org.junit.Assert.assertEquals:(JJ)V
18: return
end local 8 end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 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 0: bipush 42
istore 1
start local 1 1: bipush 43
istore 2
start local 2 2: ldc "value"
astore 3
start local 3 3: aload 0
invokevirtual com.oracle.truffle.object.basic.test.DynamicObjectLibraryTest.createDispatchedLibrary:()Lcom/oracle/truffle/api/object/DynamicObjectLibrary;
astore 4
start local 4 4: aload 0
invokevirtual com.oracle.truffle.object.basic.test.DynamicObjectLibraryTest.createEmpty:()Lcom/oracle/truffle/api/object/DynamicObject;
astore 5
start local 5 5: aload 5
ldc "key1"
iload 1
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: aload 5
ldc "key2"
iload 2
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: aload 5
ldc "key3"
aload 3
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: aload 4
aload 5
invokevirtual com.oracle.truffle.api.object.DynamicObjectLibrary.getKeyArray:(Lcom/oracle/truffle/api/object/DynamicObject;)[Ljava/lang/Object;
astore 6
start local 6 9: aload 4
aload 5
invokevirtual com.oracle.truffle.api.object.DynamicObjectLibrary.getPropertyArray:(Lcom/oracle/truffle/api/object/DynamicObject;)[Lcom/oracle/truffle/api/object/Property;
astore 7
start local 7 10: iconst_3
anewarray java.lang.String
dup
iconst_0
11: 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
aload 5
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: ldc 3
aload 5
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: iconst_0
istore 8
start local 8 14: iconst_1
istore 9
start local 9 15: goto 19
16: 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
iload 8
aaload
aload 7
iload 8
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: iload 9
i2l
aload 7
iload 8
aaload
invokevirtual com.oracle.truffle.api.object.Property.getFlags:()I
i2l
invokestatic org.junit.Assert.assertEquals:(JJ)V
18: iinc 8 1
iinc 9 1
StackMap locals:
StackMap stack:
19: iload 8
iconst_3
if_icmplt 16
end local 9 end local 8 20: return
end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 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 0: bipush 42
istore 1
start local 1 1: bipush 43
istore 2
start local 2 2: ldc "value"
astore 3
start local 3 3: aload 0
invokevirtual com.oracle.truffle.object.basic.test.DynamicObjectLibraryTest.createEmpty:()Lcom/oracle/truffle/api/object/DynamicObject;
astore 4
start local 4 4: aload 4
ldc "key1"
iload 1
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: aload 4
ldc "key2"
iload 2
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: aload 4
ldc "key3"
aload 3
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: aload 0
aload 4
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
start local 5 8: aload 4
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
start local 6 9: iconst_3
anewarray java.lang.String
dup
iconst_0
10: 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
aload 4
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: ldc 3
aload 4
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: iconst_0
istore 7
start local 7 13: iconst_1
istore 8
start local 8 14: goto 18
15: 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
iload 7
aaload
aload 6
iload 7
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: iload 8
i2l
aload 6
iload 7
aaload
invokevirtual com.oracle.truffle.api.object.Property.getFlags:()I
i2l
invokestatic org.junit.Assert.assertEquals:(JJ)V
17: iinc 7 1
iinc 8 1
StackMap locals:
StackMap stack:
18: iload 7
iconst_3
if_icmplt 15
end local 8 end local 7 19: return
end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 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 0: bipush 42
istore 1
start local 1 1: bipush 43
istore 2
start local 2 2: ldc "value"
astore 3
start local 3 3: aload 0
invokevirtual com.oracle.truffle.object.basic.test.DynamicObjectLibraryTest.createEmpty:()Lcom/oracle/truffle/api/object/DynamicObject;
astore 4
start local 4 4: aload 4
ldc "key1"
iload 1
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: aload 4
ldc "key2"
iload 2
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: aload 4
ldc "key3"
aload 3
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: aload 4
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: aload 0
ldc "key1"
invokevirtual com.oracle.truffle.object.basic.test.DynamicObjectLibraryTest.createLibraryForKey:(Ljava/lang/Object;)Lcom/oracle/truffle/api/object/DynamicObjectLibrary;
astore 5
start local 5 9: aload 5
aload 4
ldc "key1"
invokevirtual com.oracle.truffle.api.object.DynamicObjectLibrary.removeKey:(Lcom/oracle/truffle/api/object/DynamicObject;Ljava/lang/Object;)Z
pop
10: aload 4
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: return
end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 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 0: bipush 42
istore 1
start local 1 1: bipush 43
istore 2
start local 2 2: ldc "value"
astore 3
start local 3 3: aload 0
invokevirtual com.oracle.truffle.object.basic.test.DynamicObjectLibraryTest.createEmpty:()Lcom/oracle/truffle/api/object/DynamicObject;
astore 4
start local 4 4: aload 4
ldc "key1"
iload 1
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: aload 4
ldc "key2"
iload 2
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: aload 4
ldc "key3"
aload 3
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: aload 0
aload 4
invokevirtual com.oracle.truffle.object.basic.test.DynamicObjectLibraryTest.createLibraryForReceiver:(Lcom/oracle/truffle/api/object/DynamicObject;)Lcom/oracle/truffle/api/object/DynamicObjectLibrary;
astore 5
start local 5 8: aload 5
aload 4
invokevirtual com.oracle.truffle.api.object.DynamicObjectLibrary.accepts:(Ljava/lang/Object;)Z
invokestatic org.junit.Assert.assertTrue:(Z)V
9: iconst_1
istore 6
start local 6 10: goto 16
11: 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
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 7
start local 7 12: aload 4
invokevirtual com.oracle.truffle.api.object.DynamicObject.getShape:()Lcom/oracle/truffle/api/object/Shape;
aload 7
invokevirtual com.oracle.truffle.api.object.Shape.getProperty:(Ljava/lang/Object;)Lcom/oracle/truffle/api/object/Property;
aload 5
aload 4
aload 7
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: iload 6
i2l
aload 4
invokevirtual com.oracle.truffle.api.object.DynamicObject.getShape:()Lcom/oracle/truffle/api/object/Shape;
aload 7
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: iload 6
i2l
aload 5
aload 4
aload 7
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 15: iinc 6 1
StackMap locals:
StackMap stack:
16: iload 6
iconst_3
if_icmple 11
end local 6 17: aload 5
aload 4
invokevirtual com.oracle.truffle.api.object.DynamicObjectLibrary.accepts:(Ljava/lang/Object;)Z
invokestatic org.junit.Assert.assertTrue:(Z)V
18: return
end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 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 0: aload 0
invokevirtual com.oracle.truffle.object.basic.test.DynamicObjectLibraryTest.createEmpty:()Lcom/oracle/truffle/api/object/DynamicObject;
astore 1
start local 1 1: ldc "key1"
astore 2
start local 2 2: bipush 42
istore 3
start local 3 3: bipush 43
istore 4
start local 4 4: bipush 15
istore 5
start local 5 5: aload 0
aload 2
invokevirtual com.oracle.truffle.object.basic.test.DynamicObjectLibraryTest.createLibraryForKey:(Ljava/lang/Object;)Lcom/oracle/truffle/api/object/DynamicObjectLibrary;
astore 6
start local 6 6: aload 6
aload 1
aload 2
iload 3
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: aload 1
invokevirtual com.oracle.truffle.api.object.DynamicObject.getShape:()Lcom/oracle/truffle/api/object/Shape;
aload 2
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: lconst_0
aload 1
invokevirtual com.oracle.truffle.api.object.DynamicObject.getShape:()Lcom/oracle/truffle/api/object/Shape;
aload 2
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: iload 3
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aload 1
aload 2
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: aload 6
aload 1
aload 2
iload 3
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
iload 5
invokevirtual com.oracle.truffle.api.object.DynamicObjectLibrary.putConstant:(Lcom/oracle/truffle/api/object/DynamicObject;Ljava/lang/Object;Ljava/lang/Object;I)V
11: aload 1
invokevirtual com.oracle.truffle.api.object.DynamicObject.getShape:()Lcom/oracle/truffle/api/object/Shape;
aload 2
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: iload 5
i2l
aload 1
invokevirtual com.oracle.truffle.api.object.DynamicObject.getShape:()Lcom/oracle/truffle/api/object/Shape;
aload 2
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: iload 3
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aload 1
aload 2
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: aload 6
aload 1
aload 2
iload 4
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: aload 1
invokevirtual com.oracle.truffle.api.object.DynamicObject.getShape:()Lcom/oracle/truffle/api/object/Shape;
aload 2
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: iload 5
i2l
aload 1
invokevirtual com.oracle.truffle.api.object.DynamicObject.getShape:()Lcom/oracle/truffle/api/object/Shape;
aload 2
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: iload 4
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aload 1
aload 2
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: return
end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 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 0: aload 0
invokevirtual com.oracle.truffle.object.basic.test.DynamicObjectLibraryTest.createEmpty:()Lcom/oracle/truffle/api/object/DynamicObject;
astore 1
start local 1 1: ldc "key1"
astore 2
start local 2 2: bipush 42
istore 3
start local 3 3: bipush 43
istore 4
start local 4 4: bipush 15
istore 5
start local 5 5: aload 0
aload 2
invokevirtual com.oracle.truffle.object.basic.test.DynamicObjectLibraryTest.createLibraryForKey:(Ljava/lang/Object;)Lcom/oracle/truffle/api/object/DynamicObjectLibrary;
astore 6
start local 6 6: aload 6
aload 1
aload 2
iload 3
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: aload 1
invokevirtual com.oracle.truffle.api.object.DynamicObject.getShape:()Lcom/oracle/truffle/api/object/Shape;
aload 2
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: lconst_0
aload 1
invokevirtual com.oracle.truffle.api.object.DynamicObject.getShape:()Lcom/oracle/truffle/api/object/Shape;
aload 2
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: iload 3
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aload 1
aload 2
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: aload 6
aload 1
aload 2
iload 4
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
iload 5
invokevirtual com.oracle.truffle.api.object.DynamicObjectLibrary.putWithFlags:(Lcom/oracle/truffle/api/object/DynamicObject;Ljava/lang/Object;Ljava/lang/Object;I)V
11: aload 1
invokestatic com.oracle.truffle.object.basic.test.DynamicObjectLibraryTest.isNewLayout:(Lcom/oracle/truffle/api/object/DynamicObject;)Z
ifeq 13
12: aload 1
invokevirtual com.oracle.truffle.api.object.DynamicObject.getShape:()Lcom/oracle/truffle/api/object/Shape;
aload 2
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: 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
i2l
aload 1
invokevirtual com.oracle.truffle.api.object.DynamicObject.getShape:()Lcom/oracle/truffle/api/object/Shape;
aload 2
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: iload 4
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aload 1
aload 2
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: return
end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 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 0: 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 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 0: aload 0
invokevirtual com.oracle.truffle.object.basic.test.DynamicObjectLibraryTest.createEmpty:()Lcom/oracle/truffle/api/object/DynamicObject;
astore 1
start local 1 1: aload 0
aload 1
iconst_0
invokevirtual com.oracle.truffle.object.basic.test.DynamicObjectLibraryTest.fillObjectWithProperties:(Lcom/oracle/truffle/api/object/DynamicObject;Z)V
2: aload 0
aload 1
iconst_3
invokevirtual com.oracle.truffle.object.basic.test.DynamicObjectLibraryTest.updateAllFlags:(Lcom/oracle/truffle/api/object/DynamicObject;I)V
3: aload 0
invokevirtual com.oracle.truffle.object.basic.test.DynamicObjectLibraryTest.createEmpty:()Lcom/oracle/truffle/api/object/DynamicObject;
astore 2
start local 2 4: aload 0
aload 2
iconst_1
invokevirtual com.oracle.truffle.object.basic.test.DynamicObjectLibraryTest.fillObjectWithProperties:(Lcom/oracle/truffle/api/object/DynamicObject;Z)V
5: aload 0
invokevirtual com.oracle.truffle.object.basic.test.DynamicObjectLibraryTest.createEmpty:()Lcom/oracle/truffle/api/object/DynamicObject;
astore 3
start local 3 6: aload 0
aload 3
iconst_0
invokevirtual com.oracle.truffle.object.basic.test.DynamicObjectLibraryTest.fillObjectWithProperties:(Lcom/oracle/truffle/api/object/DynamicObject;Z)V
7: invokestatic com.oracle.truffle.api.object.DynamicObjectLibrary.getUncached:()Lcom/oracle/truffle/api/object/DynamicObjectLibrary;
aload 1
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: aload 0
aload 2
iconst_3
invokevirtual com.oracle.truffle.object.basic.test.DynamicObjectLibraryTest.updateAllFlags:(Lcom/oracle/truffle/api/object/DynamicObject;I)V
9: aload 0
aload 3
iconst_3
invokevirtual com.oracle.truffle.object.basic.test.DynamicObjectLibraryTest.updateAllFlags:(Lcom/oracle/truffle/api/object/DynamicObject;I)V
10: aload 0
ldc Lcom/oracle/truffle/api/object/DynamicObjectLibrary;
aload 1
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
start local 4 11: iconst_1
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aload 4
aload 3
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: return
end local 4 end local 3 end local 2 end local 1 end local 0 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 start local 1 start local 2 0: aload 0
ldc Lcom/oracle/truffle/api/object/DynamicObjectLibrary;
aload 1
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
start local 3 1: iconst_0
istore 4
start local 4 2: goto 19
3: StackMap locals: com.oracle.truffle.api.object.DynamicObjectLibrary int
StackMap stack:
iload 4
iconst_2
irem
ifne 9
4: iload 4
bipush 14
if_icmpne 7
5: ldc "string"
astore 5
start local 5 6: goto 13
end local 5 7: StackMap locals:
StackMap stack:
new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
astore 5
start local 5 8: goto 13
end local 5 9: StackMap locals:
StackMap stack:
iload 2
ifeq 12
iload 4
bipush 13
if_icmpne 12
10: new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
astore 5
start local 5 11: goto 13
end local 5 12: StackMap locals:
StackMap stack:
iconst_1
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
astore 5
start local 5 13: StackMap locals: java.lang.Object
StackMap stack:
iload 4
bipush 17
if_icmpeq 14
iload 4
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
start local 6 17: aload 3
aload 1
new java.lang.StringBuilder
dup
ldc "k"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 4
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
aload 5
iload 6
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 end local 5 18: iinc 4 1
StackMap locals:
StackMap stack:
19: iload 4
bipush 20
if_icmplt 3
end local 4 20: return
end local 3 end local 2 end local 1 end local 0 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 start local 1 start local 2 0: aload 0
ldc Lcom/oracle/truffle/api/object/DynamicObjectLibrary;
aload 1
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
start local 3 1: aload 3
aload 1
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
start local 4 3: aload 4
invokevirtual com.oracle.truffle.api.object.Property.getFlags:()I
istore 8
start local 8 4: iload 8
iload 2
ior
istore 9
start local 9 5: iload 9
iload 8
if_icmpeq 8
6: aload 4
invokevirtual com.oracle.truffle.api.object.Property.getKey:()Ljava/lang/Object;
astore 10
start local 10 7: aload 3
aload 1
aload 10
iload 9
invokevirtual com.oracle.truffle.api.object.DynamicObjectLibrary.setPropertyFlags:(Lcom/oracle/truffle/api/object/DynamicObject;Ljava/lang/Object;I)Z
pop
end local 10 end local 9 end local 8 end local 4 8: StackMap locals:
StackMap stack:
iinc 5 1
StackMap locals:
StackMap stack:
9: iload 5
iload 6
if_icmplt 2
10: aload 0
ldc Lcom/oracle/truffle/api/object/DynamicObjectLibrary;
aload 1
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
start local 4 11: aload 4
aload 1
iload 2
invokevirtual com.oracle.truffle.api.object.DynamicObjectLibrary.setShapeFlags:(Lcom/oracle/truffle/api/object/DynamicObject;I)Z
pop
12: return
end local 4 end local 3 end local 2 end local 1 end local 0 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 start local 1 start local 2 0: invokestatic com.oracle.truffle.api.object.DynamicObjectLibrary.getUncached:()Lcom/oracle/truffle/api/object/DynamicObjectLibrary;
aload 0
aload 1
aload 2
invokevirtual com.oracle.truffle.api.object.DynamicObjectLibrary.put:(Lcom/oracle/truffle/api/object/DynamicObject;Ljava/lang/Object;Ljava/lang/Object;)V
1: return
end local 2 end local 1 end local 0 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 start local 1 start local 2 start local 3 0: invokestatic com.oracle.truffle.api.object.DynamicObjectLibrary.getUncached:()Lcom/oracle/truffle/api/object/DynamicObjectLibrary;
aload 0
aload 1
aload 2
iload 3
invokevirtual com.oracle.truffle.api.object.DynamicObjectLibrary.putWithFlags:(Lcom/oracle/truffle/api/object/DynamicObject;Ljava/lang/Object;Ljava/lang/Object;I)V
1: return
end local 3 end local 2 end local 1 end local 0 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 start local 1 start local 2 0: invokestatic com.oracle.truffle.api.object.DynamicObjectLibrary.getUncached:()Lcom/oracle/truffle/api/object/DynamicObjectLibrary;
aload 0
aload 1
aload 2
invokevirtual com.oracle.truffle.api.object.DynamicObjectLibrary.putIfPresent:(Lcom/oracle/truffle/api/object/DynamicObject;Ljava/lang/Object;Ljava/lang/Object;)Z
pop
1: return
end local 2 end local 1 end local 0 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 start local 1 0: invokestatic com.oracle.truffle.api.object.DynamicObjectLibrary.getUncached:()Lcom/oracle/truffle/api/object/DynamicObjectLibrary;
aload 0
aload 1
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 end local 0 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 start local 1 0: invokestatic com.oracle.truffle.api.object.DynamicObjectLibrary.getUncached:()Lcom/oracle/truffle/api/object/DynamicObjectLibrary;
aload 0
aload 1
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 end local 0 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: 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 start local 1 0: aload 0
ldc Lcom/oracle/truffle/api/object/DynamicObjectLibrary;
aload 1
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
start local 2 1: aload 2
aload 1
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 end local 1 end local 0 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 0: aload 0
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 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: 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: 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: 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 0: iload 1
iload 0
ior
ireturn
end local 1 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 0: iload 1
iload 0
ior
ireturn
end local 1 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 0: iload 1
iload 0
ior
ireturn
end local 1 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 0: iload 1
iload 0
ior
ireturn
end local 1 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 0: aload 0
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 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 0: aload 0
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 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;)