public class org.graalvm.compiler.nodes.test.ObjectStampJoinTest extends org.graalvm.compiler.nodes.test.AbstractObjectStampTest
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: org.graalvm.compiler.nodes.test.ObjectStampJoinTest
super_class: org.graalvm.compiler.nodes.test.AbstractObjectStampTest
{
public void <init>();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokespecial org.graalvm.compiler.nodes.test.AbstractObjectStampTest.<init>:()V
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/graalvm/compiler/nodes/test/ObjectStampJoinTest;
public void testJoin0();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=1
start local 0 0: aload 0
ldc Lorg/graalvm/compiler/nodes/test/AbstractObjectStampTest$A;
invokevirtual org.graalvm.compiler.nodes.test.ObjectStampJoinTest.getType:(Ljava/lang/Class;)Lorg/graalvm/compiler/core/common/type/TypeReference;
invokestatic org.graalvm.compiler.core.common.type.StampFactory.object:(Lorg/graalvm/compiler/core/common/type/TypeReference;)Lorg/graalvm/compiler/core/common/type/ObjectStamp;
astore 1
start local 1 1: aload 0
ldc Lorg/graalvm/compiler/nodes/test/AbstractObjectStampTest$B;
invokevirtual org.graalvm.compiler.nodes.test.ObjectStampJoinTest.getType:(Ljava/lang/Class;)Lorg/graalvm/compiler/core/common/type/TypeReference;
invokestatic org.graalvm.compiler.core.common.type.StampFactory.object:(Lorg/graalvm/compiler/core/common/type/TypeReference;)Lorg/graalvm/compiler/core/common/type/ObjectStamp;
astore 2
start local 2 2: aload 2
aload 1
aload 2
invokestatic org.graalvm.compiler.nodes.test.ObjectStampJoinTest.join:(Lorg/graalvm/compiler/core/common/type/Stamp;Lorg/graalvm/compiler/core/common/type/Stamp;)Lorg/graalvm/compiler/core/common/type/Stamp;
invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
3: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lorg/graalvm/compiler/nodes/test/ObjectStampJoinTest;
1 4 1 a Lorg/graalvm/compiler/core/common/type/Stamp;
2 4 2 b Lorg/graalvm/compiler/core/common/type/Stamp;
RuntimeVisibleAnnotations:
org.junit.Test()
public void testJoin1();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=4, args_size=1
start local 0 0: aload 0
ldc Lorg/graalvm/compiler/nodes/test/AbstractObjectStampTest$A;
invokevirtual org.graalvm.compiler.nodes.test.ObjectStampJoinTest.getType:(Ljava/lang/Class;)Lorg/graalvm/compiler/core/common/type/TypeReference;
invokestatic org.graalvm.compiler.core.common.type.StampFactory.objectNonNull:(Lorg/graalvm/compiler/core/common/type/TypeReference;)Lorg/graalvm/compiler/core/common/type/ObjectStamp;
astore 1
start local 1 1: aload 0
ldc Lorg/graalvm/compiler/nodes/test/AbstractObjectStampTest$B;
invokevirtual org.graalvm.compiler.nodes.test.ObjectStampJoinTest.getType:(Ljava/lang/Class;)Lorg/graalvm/compiler/core/common/type/TypeReference;
invokestatic org.graalvm.compiler.core.common.type.StampFactory.object:(Lorg/graalvm/compiler/core/common/type/TypeReference;)Lorg/graalvm/compiler/core/common/type/ObjectStamp;
astore 2
start local 2 2: aload 0
ldc Lorg/graalvm/compiler/nodes/test/AbstractObjectStampTest$B;
invokevirtual org.graalvm.compiler.nodes.test.ObjectStampJoinTest.getType:(Ljava/lang/Class;)Lorg/graalvm/compiler/core/common/type/TypeReference;
invokestatic org.graalvm.compiler.core.common.type.StampFactory.objectNonNull:(Lorg/graalvm/compiler/core/common/type/TypeReference;)Lorg/graalvm/compiler/core/common/type/ObjectStamp;
astore 3
start local 3 3: aload 3
aload 1
aload 2
invokestatic org.graalvm.compiler.nodes.test.ObjectStampJoinTest.join:(Lorg/graalvm/compiler/core/common/type/Stamp;Lorg/graalvm/compiler/core/common/type/Stamp;)Lorg/graalvm/compiler/core/common/type/Stamp;
invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
4: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lorg/graalvm/compiler/nodes/test/ObjectStampJoinTest;
1 5 1 aNonNull Lorg/graalvm/compiler/core/common/type/Stamp;
2 5 2 b Lorg/graalvm/compiler/core/common/type/Stamp;
3 5 3 bNonNull Lorg/graalvm/compiler/core/common/type/Stamp;
RuntimeVisibleAnnotations:
org.junit.Test()
public void testJoin2();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=1
start local 0 0: aload 0
ldc Lorg/graalvm/compiler/nodes/test/AbstractObjectStampTest$A;
invokevirtual org.graalvm.compiler.nodes.test.ObjectStampJoinTest.getType:(Ljava/lang/Class;)Lorg/graalvm/compiler/core/common/type/TypeReference;
invokevirtual org.graalvm.compiler.core.common.type.TypeReference.asExactReference:()Lorg/graalvm/compiler/core/common/type/TypeReference;
invokestatic org.graalvm.compiler.core.common.type.StampFactory.objectNonNull:(Lorg/graalvm/compiler/core/common/type/TypeReference;)Lorg/graalvm/compiler/core/common/type/ObjectStamp;
astore 1
start local 1 1: aload 0
ldc Lorg/graalvm/compiler/nodes/test/AbstractObjectStampTest$B;
invokevirtual org.graalvm.compiler.nodes.test.ObjectStampJoinTest.getType:(Ljava/lang/Class;)Lorg/graalvm/compiler/core/common/type/TypeReference;
invokestatic org.graalvm.compiler.core.common.type.StampFactory.object:(Lorg/graalvm/compiler/core/common/type/TypeReference;)Lorg/graalvm/compiler/core/common/type/ObjectStamp;
astore 2
start local 2 2: getstatic jdk.vm.ci.meta.JavaKind.Object:Ljdk/vm/ci/meta/JavaKind;
invokestatic org.graalvm.compiler.core.common.type.StampFactory.empty:(Ljdk/vm/ci/meta/JavaKind;)Lorg/graalvm/compiler/core/common/type/Stamp;
aload 1
aload 2
invokestatic org.graalvm.compiler.nodes.test.ObjectStampJoinTest.join:(Lorg/graalvm/compiler/core/common/type/Stamp;Lorg/graalvm/compiler/core/common/type/Stamp;)Lorg/graalvm/compiler/core/common/type/Stamp;
invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
3: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lorg/graalvm/compiler/nodes/test/ObjectStampJoinTest;
1 4 1 aExact Lorg/graalvm/compiler/core/common/type/Stamp;
2 4 2 b Lorg/graalvm/compiler/core/common/type/Stamp;
RuntimeVisibleAnnotations:
org.junit.Test()
public void testJoin3();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=3, args_size=1
start local 0 0: aload 0
ldc Lorg/graalvm/compiler/nodes/test/AbstractObjectStampTest$D;
invokevirtual org.graalvm.compiler.nodes.test.ObjectStampJoinTest.getType:(Ljava/lang/Class;)Lorg/graalvm/compiler/core/common/type/TypeReference;
invokestatic org.graalvm.compiler.core.common.type.StampFactory.object:(Lorg/graalvm/compiler/core/common/type/TypeReference;)Lorg/graalvm/compiler/core/common/type/ObjectStamp;
astore 1
start local 1 1: aload 0
ldc Lorg/graalvm/compiler/nodes/test/AbstractObjectStampTest$C;
invokevirtual org.graalvm.compiler.nodes.test.ObjectStampJoinTest.getType:(Ljava/lang/Class;)Lorg/graalvm/compiler/core/common/type/TypeReference;
invokestatic org.graalvm.compiler.core.common.type.StampFactory.object:(Lorg/graalvm/compiler/core/common/type/TypeReference;)Lorg/graalvm/compiler/core/common/type/ObjectStamp;
astore 2
start local 2 2: aload 2
aload 1
invokestatic org.graalvm.compiler.nodes.test.ObjectStampJoinTest.join:(Lorg/graalvm/compiler/core/common/type/Stamp;Lorg/graalvm/compiler/core/common/type/Stamp;)Lorg/graalvm/compiler/core/common/type/Stamp;
invokestatic org.graalvm.compiler.nodes.type.StampTool.isPointerAlwaysNull:(Lorg/graalvm/compiler/core/common/type/Stamp;)Z
invokestatic org.junit.Assert.assertTrue:(Z)V
3: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lorg/graalvm/compiler/nodes/test/ObjectStampJoinTest;
1 4 1 d Lorg/graalvm/compiler/core/common/type/Stamp;
2 4 2 c Lorg/graalvm/compiler/core/common/type/Stamp;
RuntimeVisibleAnnotations:
org.junit.Test()
public void testJoin4();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=1
start local 0 0: aload 0
ldc Lorg/graalvm/compiler/nodes/test/AbstractObjectStampTest$D;
invokevirtual org.graalvm.compiler.nodes.test.ObjectStampJoinTest.getType:(Ljava/lang/Class;)Lorg/graalvm/compiler/core/common/type/TypeReference;
invokestatic org.graalvm.compiler.core.common.type.StampFactory.objectNonNull:(Lorg/graalvm/compiler/core/common/type/TypeReference;)Lorg/graalvm/compiler/core/common/type/ObjectStamp;
astore 1
start local 1 1: aload 0
ldc Lorg/graalvm/compiler/nodes/test/AbstractObjectStampTest$C;
invokevirtual org.graalvm.compiler.nodes.test.ObjectStampJoinTest.getType:(Ljava/lang/Class;)Lorg/graalvm/compiler/core/common/type/TypeReference;
invokestatic org.graalvm.compiler.core.common.type.StampFactory.object:(Lorg/graalvm/compiler/core/common/type/TypeReference;)Lorg/graalvm/compiler/core/common/type/ObjectStamp;
astore 2
start local 2 2: getstatic jdk.vm.ci.meta.JavaKind.Object:Ljdk/vm/ci/meta/JavaKind;
invokestatic org.graalvm.compiler.core.common.type.StampFactory.empty:(Ljdk/vm/ci/meta/JavaKind;)Lorg/graalvm/compiler/core/common/type/Stamp;
aload 2
aload 1
invokestatic org.graalvm.compiler.nodes.test.ObjectStampJoinTest.join:(Lorg/graalvm/compiler/core/common/type/Stamp;Lorg/graalvm/compiler/core/common/type/Stamp;)Lorg/graalvm/compiler/core/common/type/Stamp;
invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
3: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lorg/graalvm/compiler/nodes/test/ObjectStampJoinTest;
1 4 1 dExactNonNull Lorg/graalvm/compiler/core/common/type/Stamp;
2 4 2 c Lorg/graalvm/compiler/core/common/type/Stamp;
RuntimeVisibleAnnotations:
org.junit.Test()
public void testJoin5();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=4, args_size=1
start local 0 0: aload 0
ldc Lorg/graalvm/compiler/nodes/test/AbstractObjectStampTest$D;
invokevirtual org.graalvm.compiler.nodes.test.ObjectStampJoinTest.getType:(Ljava/lang/Class;)Lorg/graalvm/compiler/core/common/type/TypeReference;
invokevirtual org.graalvm.compiler.core.common.type.TypeReference.asExactReference:()Lorg/graalvm/compiler/core/common/type/TypeReference;
invokestatic org.graalvm.compiler.core.common.type.StampFactory.object:(Lorg/graalvm/compiler/core/common/type/TypeReference;)Lorg/graalvm/compiler/core/common/type/ObjectStamp;
astore 1
start local 1 1: aload 0
ldc Lorg/graalvm/compiler/nodes/test/AbstractObjectStampTest$C;
invokevirtual org.graalvm.compiler.nodes.test.ObjectStampJoinTest.getType:(Ljava/lang/Class;)Lorg/graalvm/compiler/core/common/type/TypeReference;
invokestatic org.graalvm.compiler.core.common.type.StampFactory.object:(Lorg/graalvm/compiler/core/common/type/TypeReference;)Lorg/graalvm/compiler/core/common/type/ObjectStamp;
astore 2
start local 2 2: aload 2
aload 1
invokestatic org.graalvm.compiler.nodes.test.ObjectStampJoinTest.join:(Lorg/graalvm/compiler/core/common/type/Stamp;Lorg/graalvm/compiler/core/common/type/Stamp;)Lorg/graalvm/compiler/core/common/type/Stamp;
astore 3
start local 3 3: aload 3
invokestatic org.graalvm.compiler.nodes.type.StampTool.isPointerAlwaysNull:(Lorg/graalvm/compiler/core/common/type/Stamp;)Z
invokestatic org.junit.Assert.assertTrue:(Z)V
4: aload 3
invokestatic org.graalvm.compiler.nodes.type.StampTool.typeReferenceOrNull:(Lorg/graalvm/compiler/core/common/type/Stamp;)Lorg/graalvm/compiler/core/common/type/TypeReference;
invokestatic org.junit.Assert.assertNull:(Ljava/lang/Object;)V
5: aload 3
invokestatic org.graalvm.compiler.nodes.type.StampTool.isExactType:(Lorg/graalvm/compiler/core/common/type/Stamp;)Z
invokestatic org.junit.Assert.assertFalse:(Z)V
6: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lorg/graalvm/compiler/nodes/test/ObjectStampJoinTest;
1 7 1 dExact Lorg/graalvm/compiler/core/common/type/Stamp;
2 7 2 c Lorg/graalvm/compiler/core/common/type/Stamp;
3 7 3 join Lorg/graalvm/compiler/core/common/type/Stamp;
RuntimeVisibleAnnotations:
org.junit.Test()
public void testJoin6();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=4, args_size=1
start local 0 0: aload 0
ldc Lorg/graalvm/compiler/nodes/test/AbstractObjectStampTest$D;
invokevirtual org.graalvm.compiler.nodes.test.ObjectStampJoinTest.getType:(Ljava/lang/Class;)Lorg/graalvm/compiler/core/common/type/TypeReference;
invokevirtual org.graalvm.compiler.core.common.type.TypeReference.asExactReference:()Lorg/graalvm/compiler/core/common/type/TypeReference;
invokestatic org.graalvm.compiler.core.common.type.StampFactory.objectNonNull:(Lorg/graalvm/compiler/core/common/type/TypeReference;)Lorg/graalvm/compiler/core/common/type/ObjectStamp;
astore 1
start local 1 1: invokestatic org.graalvm.compiler.core.common.type.StampFactory.alwaysNull:()Lorg/graalvm/compiler/core/common/type/Stamp;
astore 2
start local 2 2: aload 2
aload 1
invokestatic org.graalvm.compiler.nodes.test.ObjectStampJoinTest.join:(Lorg/graalvm/compiler/core/common/type/Stamp;Lorg/graalvm/compiler/core/common/type/Stamp;)Lorg/graalvm/compiler/core/common/type/Stamp;
astore 3
start local 3 3: aload 3
invokevirtual org.graalvm.compiler.core.common.type.Stamp.hasValues:()Z
invokestatic org.junit.Assert.assertFalse:(Z)V
4: aload 3
invokestatic org.graalvm.compiler.nodes.type.StampTool.isPointerAlwaysNull:(Lorg/graalvm/compiler/core/common/type/Stamp;)Z
invokestatic org.junit.Assert.assertFalse:(Z)V
5: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lorg/graalvm/compiler/nodes/test/ObjectStampJoinTest;
1 6 1 dExactNonNull Lorg/graalvm/compiler/core/common/type/Stamp;
2 6 2 alwaysNull Lorg/graalvm/compiler/core/common/type/Stamp;
3 6 3 join Lorg/graalvm/compiler/core/common/type/Stamp;
RuntimeVisibleAnnotations:
org.junit.Test()
public void testJoin7();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=4, args_size=1
start local 0 0: aload 0
ldc Lorg/graalvm/compiler/nodes/test/AbstractObjectStampTest$A;
invokevirtual org.graalvm.compiler.nodes.test.ObjectStampJoinTest.getType:(Ljava/lang/Class;)Lorg/graalvm/compiler/core/common/type/TypeReference;
invokevirtual org.graalvm.compiler.core.common.type.TypeReference.asExactReference:()Lorg/graalvm/compiler/core/common/type/TypeReference;
invokestatic org.graalvm.compiler.core.common.type.StampFactory.object:(Lorg/graalvm/compiler/core/common/type/TypeReference;)Lorg/graalvm/compiler/core/common/type/ObjectStamp;
astore 1
start local 1 1: aload 0
ldc Lorg/graalvm/compiler/nodes/test/AbstractObjectStampTest$E;
invokevirtual org.graalvm.compiler.nodes.test.ObjectStampJoinTest.getType:(Ljava/lang/Class;)Lorg/graalvm/compiler/core/common/type/TypeReference;
invokestatic org.graalvm.compiler.core.common.type.StampFactory.object:(Lorg/graalvm/compiler/core/common/type/TypeReference;)Lorg/graalvm/compiler/core/common/type/ObjectStamp;
astore 2
start local 2 2: aload 1
aload 2
invokestatic org.graalvm.compiler.nodes.test.ObjectStampJoinTest.join:(Lorg/graalvm/compiler/core/common/type/Stamp;Lorg/graalvm/compiler/core/common/type/Stamp;)Lorg/graalvm/compiler/core/common/type/Stamp;
astore 3
start local 3 3: aload 3
invokestatic org.graalvm.compiler.nodes.type.StampTool.isPointerAlwaysNull:(Lorg/graalvm/compiler/core/common/type/Stamp;)Z
invokestatic org.junit.Assert.assertTrue:(Z)V
4: aload 3
invokestatic org.graalvm.compiler.nodes.type.StampTool.typeReferenceOrNull:(Lorg/graalvm/compiler/core/common/type/Stamp;)Lorg/graalvm/compiler/core/common/type/TypeReference;
invokestatic org.junit.Assert.assertNull:(Ljava/lang/Object;)V
5: aload 3
invokestatic org.graalvm.compiler.nodes.type.StampTool.isExactType:(Lorg/graalvm/compiler/core/common/type/Stamp;)Z
invokestatic org.junit.Assert.assertFalse:(Z)V
6: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lorg/graalvm/compiler/nodes/test/ObjectStampJoinTest;
1 7 1 aExact Lorg/graalvm/compiler/core/common/type/Stamp;
2 7 2 e Lorg/graalvm/compiler/core/common/type/Stamp;
3 7 3 join Lorg/graalvm/compiler/core/common/type/Stamp;
RuntimeVisibleAnnotations:
org.junit.Test()
public void testJoin8();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=4, args_size=1
start local 0 0: aload 0
ldc Lorg/graalvm/compiler/nodes/test/AbstractObjectStampTest$B;
invokevirtual org.graalvm.compiler.nodes.test.ObjectStampJoinTest.getType:(Ljava/lang/Class;)Lorg/graalvm/compiler/core/common/type/TypeReference;
invokevirtual org.graalvm.compiler.core.common.type.TypeReference.asExactReference:()Lorg/graalvm/compiler/core/common/type/TypeReference;
invokestatic org.graalvm.compiler.core.common.type.StampFactory.objectNonNull:(Lorg/graalvm/compiler/core/common/type/TypeReference;)Lorg/graalvm/compiler/core/common/type/ObjectStamp;
astore 1
start local 1 1: aload 0
ldc Lorg/graalvm/compiler/nodes/test/AbstractObjectStampTest$D;
invokevirtual org.graalvm.compiler.nodes.test.ObjectStampJoinTest.getType:(Ljava/lang/Class;)Lorg/graalvm/compiler/core/common/type/TypeReference;
invokevirtual org.graalvm.compiler.core.common.type.TypeReference.asExactReference:()Lorg/graalvm/compiler/core/common/type/TypeReference;
invokestatic org.graalvm.compiler.core.common.type.StampFactory.object:(Lorg/graalvm/compiler/core/common/type/TypeReference;)Lorg/graalvm/compiler/core/common/type/ObjectStamp;
astore 2
start local 2 2: aload 1
aload 2
invokestatic org.graalvm.compiler.nodes.test.ObjectStampJoinTest.join:(Lorg/graalvm/compiler/core/common/type/Stamp;Lorg/graalvm/compiler/core/common/type/Stamp;)Lorg/graalvm/compiler/core/common/type/Stamp;
astore 3
start local 3 3: aload 3
invokevirtual org.graalvm.compiler.core.common.type.Stamp.hasValues:()Z
invokestatic org.junit.Assert.assertFalse:(Z)V
4: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lorg/graalvm/compiler/nodes/test/ObjectStampJoinTest;
1 5 1 bExact Lorg/graalvm/compiler/core/common/type/Stamp;
2 5 2 dExact Lorg/graalvm/compiler/core/common/type/Stamp;
3 5 3 join Lorg/graalvm/compiler/core/common/type/Stamp;
RuntimeVisibleAnnotations:
org.junit.Test()
public void testJoin9();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=4, args_size=1
start local 0 0: aload 0
ldc Lorg/graalvm/compiler/nodes/test/AbstractObjectStampTest$B;
invokevirtual org.graalvm.compiler.nodes.test.ObjectStampJoinTest.getType:(Ljava/lang/Class;)Lorg/graalvm/compiler/core/common/type/TypeReference;
invokevirtual org.graalvm.compiler.core.common.type.TypeReference.asExactReference:()Lorg/graalvm/compiler/core/common/type/TypeReference;
invokestatic org.graalvm.compiler.core.common.type.StampFactory.object:(Lorg/graalvm/compiler/core/common/type/TypeReference;)Lorg/graalvm/compiler/core/common/type/ObjectStamp;
astore 1
start local 1 1: aload 0
ldc Lorg/graalvm/compiler/nodes/test/AbstractObjectStampTest$D;
invokevirtual org.graalvm.compiler.nodes.test.ObjectStampJoinTest.getType:(Ljava/lang/Class;)Lorg/graalvm/compiler/core/common/type/TypeReference;
invokevirtual org.graalvm.compiler.core.common.type.TypeReference.asExactReference:()Lorg/graalvm/compiler/core/common/type/TypeReference;
invokestatic org.graalvm.compiler.core.common.type.StampFactory.object:(Lorg/graalvm/compiler/core/common/type/TypeReference;)Lorg/graalvm/compiler/core/common/type/ObjectStamp;
astore 2
start local 2 2: aload 1
aload 2
invokestatic org.graalvm.compiler.nodes.test.ObjectStampJoinTest.join:(Lorg/graalvm/compiler/core/common/type/Stamp;Lorg/graalvm/compiler/core/common/type/Stamp;)Lorg/graalvm/compiler/core/common/type/Stamp;
astore 3
start local 3 3: aload 3
invokestatic org.graalvm.compiler.nodes.type.StampTool.isPointerAlwaysNull:(Lorg/graalvm/compiler/core/common/type/Stamp;)Z
invokestatic org.junit.Assert.assertTrue:(Z)V
4: aload 3
invokestatic org.graalvm.compiler.nodes.type.StampTool.typeReferenceOrNull:(Lorg/graalvm/compiler/core/common/type/Stamp;)Lorg/graalvm/compiler/core/common/type/TypeReference;
invokestatic org.junit.Assert.assertNull:(Ljava/lang/Object;)V
5: aload 3
invokestatic org.graalvm.compiler.nodes.type.StampTool.typeReferenceOrNull:(Lorg/graalvm/compiler/core/common/type/Stamp;)Lorg/graalvm/compiler/core/common/type/TypeReference;
invokestatic org.junit.Assert.assertNull:(Ljava/lang/Object;)V
6: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lorg/graalvm/compiler/nodes/test/ObjectStampJoinTest;
1 7 1 bExact Lorg/graalvm/compiler/core/common/type/Stamp;
2 7 2 dExact Lorg/graalvm/compiler/core/common/type/Stamp;
3 7 3 join Lorg/graalvm/compiler/core/common/type/Stamp;
RuntimeVisibleAnnotations:
org.junit.Test()
public void testJoinInterfaceSimple();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=1, args_size=1
start local 0 0: aload 0
ldc Lorg/graalvm/compiler/nodes/test/AbstractObjectStampTest$A;
ldc Lorg/graalvm/compiler/nodes/test/AbstractObjectStampTest$B;
ldc Lorg/graalvm/compiler/nodes/test/AbstractObjectStampTest$I;
invokevirtual org.graalvm.compiler.nodes.test.ObjectStampJoinTest.testJoinInterface:(Ljava/lang/Class;Ljava/lang/Class;Ljava/lang/Class;)V
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/graalvm/compiler/nodes/test/ObjectStampJoinTest;
RuntimeVisibleAnnotations:
org.junit.Test()
public void testJoinInterfaceArray();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=1, args_size=1
start local 0 0: aload 0
ldc [Lorg/graalvm/compiler/nodes/test/AbstractObjectStampTest$A;
ldc [Lorg/graalvm/compiler/nodes/test/AbstractObjectStampTest$B;
ldc [Lorg/graalvm/compiler/nodes/test/AbstractObjectStampTest$I;
invokevirtual org.graalvm.compiler.nodes.test.ObjectStampJoinTest.testJoinInterface:(Ljava/lang/Class;Ljava/lang/Class;Ljava/lang/Class;)V
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/graalvm/compiler/nodes/test/ObjectStampJoinTest;
RuntimeVisibleAnnotations:
org.junit.Test()
public void testJoinInterfaceMultiArray();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=1, args_size=1
start local 0 0: aload 0
ldc [[Lorg/graalvm/compiler/nodes/test/AbstractObjectStampTest$A;
ldc [[Lorg/graalvm/compiler/nodes/test/AbstractObjectStampTest$B;
ldc [[Lorg/graalvm/compiler/nodes/test/AbstractObjectStampTest$I;
invokevirtual org.graalvm.compiler.nodes.test.ObjectStampJoinTest.testJoinInterface:(Ljava/lang/Class;Ljava/lang/Class;Ljava/lang/Class;)V
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/graalvm/compiler/nodes/test/ObjectStampJoinTest;
RuntimeVisibleAnnotations:
org.junit.Test()
private void testJoinInterface(java.lang.Class<?>, java.lang.Class<?>, java.lang.Class<?>);
descriptor: (Ljava/lang/Class;Ljava/lang/Class;Ljava/lang/Class;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
aload 1
aload 3
invokevirtual org.graalvm.compiler.nodes.test.ObjectStampJoinTest.testJoinInterface0:(Ljava/lang/Class;Ljava/lang/Class;)V
1: aload 0
aload 1
aload 3
invokevirtual org.graalvm.compiler.nodes.test.ObjectStampJoinTest.testJoinInterface1:(Ljava/lang/Class;Ljava/lang/Class;)V
2: aload 0
aload 2
aload 3
invokevirtual org.graalvm.compiler.nodes.test.ObjectStampJoinTest.testJoinInterface2:(Ljava/lang/Class;Ljava/lang/Class;)V
3: aload 0
aload 2
aload 3
invokevirtual org.graalvm.compiler.nodes.test.ObjectStampJoinTest.testJoinInterface3:(Ljava/lang/Class;Ljava/lang/Class;)V
4: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lorg/graalvm/compiler/nodes/test/ObjectStampJoinTest;
0 5 1 typeA Ljava/lang/Class<*>;
0 5 2 typeB Ljava/lang/Class<*>;
0 5 3 typeI Ljava/lang/Class<*>;
Signature: (Ljava/lang/Class<*>;Ljava/lang/Class<*>;Ljava/lang/Class<*>;)V
MethodParameters:
Name Flags
typeA
typeB
typeI
private void testJoinInterface0(java.lang.Class<?>, java.lang.Class<?>);
descriptor: (Ljava/lang/Class;Ljava/lang/Class;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=5, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
invokevirtual org.graalvm.compiler.nodes.test.ObjectStampJoinTest.getType:(Ljava/lang/Class;)Lorg/graalvm/compiler/core/common/type/TypeReference;
invokestatic org.graalvm.compiler.core.common.type.StampFactory.object:(Lorg/graalvm/compiler/core/common/type/TypeReference;)Lorg/graalvm/compiler/core/common/type/ObjectStamp;
astore 3
start local 3 1: aload 0
aload 2
invokevirtual org.graalvm.compiler.nodes.test.ObjectStampJoinTest.getType:(Ljava/lang/Class;)Lorg/graalvm/compiler/core/common/type/TypeReference;
invokestatic org.graalvm.compiler.core.common.type.StampFactory.object:(Lorg/graalvm/compiler/core/common/type/TypeReference;)Lorg/graalvm/compiler/core/common/type/ObjectStamp;
astore 4
start local 4 2: getstatic jdk.vm.ci.meta.JavaKind.Object:Ljdk/vm/ci/meta/JavaKind;
invokestatic org.graalvm.compiler.core.common.type.StampFactory.empty:(Ljdk/vm/ci/meta/JavaKind;)Lorg/graalvm/compiler/core/common/type/Stamp;
aload 3
aload 4
invokestatic org.graalvm.compiler.nodes.test.ObjectStampJoinTest.join:(Lorg/graalvm/compiler/core/common/type/Stamp;Lorg/graalvm/compiler/core/common/type/Stamp;)Lorg/graalvm/compiler/core/common/type/Stamp;
invokestatic org.junit.Assert.assertNotSame:(Ljava/lang/Object;Ljava/lang/Object;)V
3: return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lorg/graalvm/compiler/nodes/test/ObjectStampJoinTest;
0 4 1 typeA Ljava/lang/Class<*>;
0 4 2 typeI Ljava/lang/Class<*>;
1 4 3 a Lorg/graalvm/compiler/core/common/type/Stamp;
2 4 4 i Lorg/graalvm/compiler/core/common/type/Stamp;
Signature: (Ljava/lang/Class<*>;Ljava/lang/Class<*>;)V
MethodParameters:
Name Flags
typeA
typeI
private void testJoinInterface1(java.lang.Class<?>, java.lang.Class<?>);
descriptor: (Ljava/lang/Class;Ljava/lang/Class;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=6, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
invokevirtual org.graalvm.compiler.nodes.test.ObjectStampJoinTest.getType:(Ljava/lang/Class;)Lorg/graalvm/compiler/core/common/type/TypeReference;
invokestatic org.graalvm.compiler.core.common.type.StampFactory.objectNonNull:(Lorg/graalvm/compiler/core/common/type/TypeReference;)Lorg/graalvm/compiler/core/common/type/ObjectStamp;
astore 3
start local 3 1: aload 0
aload 2
invokevirtual org.graalvm.compiler.nodes.test.ObjectStampJoinTest.getType:(Ljava/lang/Class;)Lorg/graalvm/compiler/core/common/type/TypeReference;
invokestatic org.graalvm.compiler.core.common.type.StampFactory.object:(Lorg/graalvm/compiler/core/common/type/TypeReference;)Lorg/graalvm/compiler/core/common/type/ObjectStamp;
astore 4
start local 4 2: aload 3
aload 4
invokestatic org.graalvm.compiler.nodes.test.ObjectStampJoinTest.join:(Lorg/graalvm/compiler/core/common/type/Stamp;Lorg/graalvm/compiler/core/common/type/Stamp;)Lorg/graalvm/compiler/core/common/type/Stamp;
astore 5
start local 5 3: aload 5
instanceof org.graalvm.compiler.core.common.type.ObjectStamp
invokestatic org.junit.Assert.assertTrue:(Z)V
4: aload 5
checkcast org.graalvm.compiler.core.common.type.ObjectStamp
invokevirtual org.graalvm.compiler.core.common.type.ObjectStamp.nonNull:()Z
invokestatic org.junit.Assert.assertTrue:(Z)V
5: 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 6 0 this Lorg/graalvm/compiler/nodes/test/ObjectStampJoinTest;
0 6 1 typeA Ljava/lang/Class<*>;
0 6 2 typeI Ljava/lang/Class<*>;
1 6 3 aNonNull Lorg/graalvm/compiler/core/common/type/Stamp;
2 6 4 i Lorg/graalvm/compiler/core/common/type/Stamp;
3 6 5 join Lorg/graalvm/compiler/core/common/type/Stamp;
Signature: (Ljava/lang/Class<*>;Ljava/lang/Class<*>;)V
MethodParameters:
Name Flags
typeA
typeI
private void testJoinInterface2(java.lang.Class<?>, java.lang.Class<?>);
descriptor: (Ljava/lang/Class;Ljava/lang/Class;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=6, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
invokevirtual org.graalvm.compiler.nodes.test.ObjectStampJoinTest.getType:(Ljava/lang/Class;)Lorg/graalvm/compiler/core/common/type/TypeReference;
invokevirtual org.graalvm.compiler.core.common.type.TypeReference.asExactReference:()Lorg/graalvm/compiler/core/common/type/TypeReference;
invokestatic org.graalvm.compiler.core.common.type.StampFactory.objectNonNull:(Lorg/graalvm/compiler/core/common/type/TypeReference;)Lorg/graalvm/compiler/core/common/type/ObjectStamp;
astore 3
start local 3 1: aload 0
aload 2
invokevirtual org.graalvm.compiler.nodes.test.ObjectStampJoinTest.getType:(Ljava/lang/Class;)Lorg/graalvm/compiler/core/common/type/TypeReference;
invokestatic org.graalvm.compiler.core.common.type.StampFactory.object:(Lorg/graalvm/compiler/core/common/type/TypeReference;)Lorg/graalvm/compiler/core/common/type/ObjectStamp;
astore 4
start local 4 2: aload 4
aload 3
invokestatic org.graalvm.compiler.nodes.test.ObjectStampJoinTest.join:(Lorg/graalvm/compiler/core/common/type/Stamp;Lorg/graalvm/compiler/core/common/type/Stamp;)Lorg/graalvm/compiler/core/common/type/Stamp;
astore 5
start local 5 3: getstatic jdk.vm.ci.meta.JavaKind.Object:Ljdk/vm/ci/meta/JavaKind;
invokestatic org.graalvm.compiler.core.common.type.StampFactory.empty:(Ljdk/vm/ci/meta/JavaKind;)Lorg/graalvm/compiler/core/common/type/Stamp;
aload 5
invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
4: 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 5 0 this Lorg/graalvm/compiler/nodes/test/ObjectStampJoinTest;
0 5 1 typeB Ljava/lang/Class<*>;
0 5 2 typeI Ljava/lang/Class<*>;
1 5 3 bExact Lorg/graalvm/compiler/core/common/type/Stamp;
2 5 4 i Lorg/graalvm/compiler/core/common/type/Stamp;
3 5 5 join Lorg/graalvm/compiler/core/common/type/Stamp;
Signature: (Ljava/lang/Class<*>;Ljava/lang/Class<*>;)V
MethodParameters:
Name Flags
typeB
typeI
private void testJoinInterface3(java.lang.Class<?>, java.lang.Class<?>);
descriptor: (Ljava/lang/Class;Ljava/lang/Class;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=6, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
invokevirtual org.graalvm.compiler.nodes.test.ObjectStampJoinTest.getType:(Ljava/lang/Class;)Lorg/graalvm/compiler/core/common/type/TypeReference;
invokevirtual org.graalvm.compiler.core.common.type.TypeReference.asExactReference:()Lorg/graalvm/compiler/core/common/type/TypeReference;
invokestatic org.graalvm.compiler.core.common.type.StampFactory.objectNonNull:(Lorg/graalvm/compiler/core/common/type/TypeReference;)Lorg/graalvm/compiler/core/common/type/ObjectStamp;
astore 3
start local 3 1: aload 0
aload 2
invokevirtual org.graalvm.compiler.nodes.test.ObjectStampJoinTest.getType:(Ljava/lang/Class;)Lorg/graalvm/compiler/core/common/type/TypeReference;
invokevirtual org.graalvm.compiler.core.common.type.TypeReference.getType:()Ljdk/vm/ci/meta/ResolvedJavaType;
invokestatic org.graalvm.compiler.core.common.type.TypeReference.createWithoutAssumptions:(Ljdk/vm/ci/meta/ResolvedJavaType;)Lorg/graalvm/compiler/core/common/type/TypeReference;
invokestatic org.graalvm.compiler.core.common.type.StampFactory.object:(Lorg/graalvm/compiler/core/common/type/TypeReference;)Lorg/graalvm/compiler/core/common/type/ObjectStamp;
astore 4
start local 4 2: aload 4
aload 3
invokestatic org.graalvm.compiler.nodes.test.ObjectStampJoinTest.join:(Lorg/graalvm/compiler/core/common/type/Stamp;Lorg/graalvm/compiler/core/common/type/Stamp;)Lorg/graalvm/compiler/core/common/type/Stamp;
astore 5
start local 5 3: aload 3
aload 5
invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
4: 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 5 0 this Lorg/graalvm/compiler/nodes/test/ObjectStampJoinTest;
0 5 1 typeB Ljava/lang/Class<*>;
0 5 2 typeI Ljava/lang/Class<*>;
1 5 3 bExact Lorg/graalvm/compiler/core/common/type/Stamp;
2 5 4 i Lorg/graalvm/compiler/core/common/type/Stamp;
3 5 5 join Lorg/graalvm/compiler/core/common/type/Stamp;
Signature: (Ljava/lang/Class<*>;Ljava/lang/Class<*>;)V
MethodParameters:
Name Flags
typeB
typeI
public void testAlwaysArray();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=7, args_size=1
start local 0 0: aload 0
ldc Ljava/lang/Object;
invokevirtual org.graalvm.compiler.nodes.test.ObjectStampJoinTest.getType:(Ljava/lang/Class;)Lorg/graalvm/compiler/core/common/type/TypeReference;
invokestatic org.graalvm.compiler.core.common.type.StampFactory.object:(Lorg/graalvm/compiler/core/common/type/TypeReference;)Lorg/graalvm/compiler/core/common/type/ObjectStamp;
astore 1
start local 1 1: aload 0
ldc Ljava/lang/Object;
invokevirtual org.graalvm.compiler.nodes.test.ObjectStampJoinTest.getType:(Ljava/lang/Class;)Lorg/graalvm/compiler/core/common/type/TypeReference;
invokevirtual org.graalvm.compiler.core.common.type.TypeReference.asExactReference:()Lorg/graalvm/compiler/core/common/type/TypeReference;
invokestatic org.graalvm.compiler.core.common.type.StampFactory.object:(Lorg/graalvm/compiler/core/common/type/TypeReference;)Lorg/graalvm/compiler/core/common/type/ObjectStamp;
astore 2
start local 2 2: aload 0
ldc [Ljava/lang/Object;
invokevirtual org.graalvm.compiler.nodes.test.ObjectStampJoinTest.getType:(Ljava/lang/Class;)Lorg/graalvm/compiler/core/common/type/TypeReference;
invokestatic org.graalvm.compiler.core.common.type.StampFactory.object:(Lorg/graalvm/compiler/core/common/type/TypeReference;)Lorg/graalvm/compiler/core/common/type/ObjectStamp;
astore 3
start local 3 3: aload 0
ldc Lorg/graalvm/compiler/nodes/test/AbstractObjectStampTest$A;
invokevirtual org.graalvm.compiler.nodes.test.ObjectStampJoinTest.getType:(Ljava/lang/Class;)Lorg/graalvm/compiler/core/common/type/TypeReference;
invokestatic org.graalvm.compiler.core.common.type.StampFactory.object:(Lorg/graalvm/compiler/core/common/type/TypeReference;)Lorg/graalvm/compiler/core/common/type/ObjectStamp;
astore 4
start local 4 4: aload 0
ldc [Lorg/graalvm/compiler/nodes/test/AbstractObjectStampTest$A;
invokevirtual org.graalvm.compiler.nodes.test.ObjectStampJoinTest.getType:(Ljava/lang/Class;)Lorg/graalvm/compiler/core/common/type/TypeReference;
invokestatic org.graalvm.compiler.core.common.type.StampFactory.object:(Lorg/graalvm/compiler/core/common/type/TypeReference;)Lorg/graalvm/compiler/core/common/type/ObjectStamp;
astore 5
start local 5 5: invokestatic org.graalvm.compiler.core.common.type.StampFactory.object:()Lorg/graalvm/compiler/core/common/type/Stamp;
checkcast org.graalvm.compiler.core.common.type.ObjectStamp
invokevirtual org.graalvm.compiler.core.common.type.ObjectStamp.asAlwaysArray:()Lorg/graalvm/compiler/core/common/type/AbstractObjectStamp;
astore 6
start local 6 6: aload 1
checkcast org.graalvm.compiler.core.common.type.ObjectStamp
invokevirtual org.graalvm.compiler.core.common.type.ObjectStamp.isAlwaysArray:()Z
invokestatic org.junit.Assert.assertFalse:(Z)V
7: aload 2
checkcast org.graalvm.compiler.core.common.type.ObjectStamp
invokevirtual org.graalvm.compiler.core.common.type.ObjectStamp.isAlwaysArray:()Z
invokestatic org.junit.Assert.assertFalse:(Z)V
8: aload 3
checkcast org.graalvm.compiler.core.common.type.ObjectStamp
invokevirtual org.graalvm.compiler.core.common.type.ObjectStamp.isAlwaysArray:()Z
invokestatic org.junit.Assert.assertTrue:(Z)V
9: aload 4
checkcast org.graalvm.compiler.core.common.type.ObjectStamp
invokevirtual org.graalvm.compiler.core.common.type.ObjectStamp.isAlwaysArray:()Z
invokestatic org.junit.Assert.assertFalse:(Z)V
10: aload 5
checkcast org.graalvm.compiler.core.common.type.ObjectStamp
invokevirtual org.graalvm.compiler.core.common.type.ObjectStamp.isAlwaysArray:()Z
invokestatic org.junit.Assert.assertTrue:(Z)V
11: aload 6
checkcast org.graalvm.compiler.core.common.type.ObjectStamp
invokevirtual org.graalvm.compiler.core.common.type.ObjectStamp.isAlwaysArray:()Z
invokestatic org.junit.Assert.assertTrue:(Z)V
12: aload 1
aload 6
invokevirtual org.graalvm.compiler.core.common.type.Stamp.join:(Lorg/graalvm/compiler/core/common/type/Stamp;)Lorg/graalvm/compiler/core/common/type/Stamp;
checkcast org.graalvm.compiler.core.common.type.ObjectStamp
invokevirtual org.graalvm.compiler.core.common.type.ObjectStamp.isAlwaysArray:()Z
invokestatic org.junit.Assert.assertTrue:(Z)V
13: aload 2
aload 6
invokevirtual org.graalvm.compiler.core.common.type.Stamp.join:(Lorg/graalvm/compiler/core/common/type/Stamp;)Lorg/graalvm/compiler/core/common/type/Stamp;
checkcast org.graalvm.compiler.core.common.type.ObjectStamp
invokevirtual org.graalvm.compiler.core.common.type.ObjectStamp.alwaysNull:()Z
invokestatic org.junit.Assert.assertTrue:(Z)V
14: aload 3
aload 6
invokevirtual org.graalvm.compiler.core.common.type.Stamp.join:(Lorg/graalvm/compiler/core/common/type/Stamp;)Lorg/graalvm/compiler/core/common/type/Stamp;
aload 3
if_acmpne 15
iconst_1
goto 16
StackMap locals: org.graalvm.compiler.nodes.test.ObjectStampJoinTest org.graalvm.compiler.core.common.type.Stamp org.graalvm.compiler.core.common.type.Stamp org.graalvm.compiler.core.common.type.Stamp org.graalvm.compiler.core.common.type.Stamp org.graalvm.compiler.core.common.type.Stamp org.graalvm.compiler.core.common.type.Stamp
StackMap stack:
15: iconst_0
StackMap locals:
StackMap stack: int
16: invokestatic org.junit.Assert.assertTrue:(Z)V
17: aload 4
aload 6
invokevirtual org.graalvm.compiler.core.common.type.Stamp.join:(Lorg/graalvm/compiler/core/common/type/Stamp;)Lorg/graalvm/compiler/core/common/type/Stamp;
checkcast org.graalvm.compiler.core.common.type.ObjectStamp
invokevirtual org.graalvm.compiler.core.common.type.ObjectStamp.alwaysNull:()Z
invokestatic org.junit.Assert.assertTrue:(Z)V
18: aload 5
aload 6
invokevirtual org.graalvm.compiler.core.common.type.Stamp.join:(Lorg/graalvm/compiler/core/common/type/Stamp;)Lorg/graalvm/compiler/core/common/type/Stamp;
aload 5
if_acmpne 19
iconst_1
goto 20
StackMap locals:
StackMap stack:
19: iconst_0
StackMap locals:
StackMap stack: int
20: invokestatic org.junit.Assert.assertTrue:(Z)V
21: aload 6
aload 6
invokevirtual org.graalvm.compiler.core.common.type.Stamp.join:(Lorg/graalvm/compiler/core/common/type/Stamp;)Lorg/graalvm/compiler/core/common/type/Stamp;
aload 6
if_acmpne 22
iconst_1
goto 23
StackMap locals:
StackMap stack:
22: iconst_0
StackMap locals:
StackMap stack: int
23: invokestatic org.junit.Assert.assertTrue:(Z)V
24: aload 1
aload 3
invokevirtual org.graalvm.compiler.core.common.type.Stamp.join:(Lorg/graalvm/compiler/core/common/type/Stamp;)Lorg/graalvm/compiler/core/common/type/Stamp;
aload 3
if_acmpne 25
iconst_1
goto 26
StackMap locals:
StackMap stack:
25: iconst_0
StackMap locals:
StackMap stack: int
26: invokestatic org.junit.Assert.assertTrue:(Z)V
27: aload 2
aload 3
invokevirtual org.graalvm.compiler.core.common.type.Stamp.join:(Lorg/graalvm/compiler/core/common/type/Stamp;)Lorg/graalvm/compiler/core/common/type/Stamp;
checkcast org.graalvm.compiler.core.common.type.ObjectStamp
invokevirtual org.graalvm.compiler.core.common.type.ObjectStamp.alwaysNull:()Z
invokestatic org.junit.Assert.assertTrue:(Z)V
28: aload 3
aload 3
invokevirtual org.graalvm.compiler.core.common.type.Stamp.join:(Lorg/graalvm/compiler/core/common/type/Stamp;)Lorg/graalvm/compiler/core/common/type/Stamp;
aload 3
if_acmpne 29
iconst_1
goto 30
StackMap locals:
StackMap stack:
29: iconst_0
StackMap locals:
StackMap stack: int
30: invokestatic org.junit.Assert.assertTrue:(Z)V
31: aload 4
aload 3
invokevirtual org.graalvm.compiler.core.common.type.Stamp.join:(Lorg/graalvm/compiler/core/common/type/Stamp;)Lorg/graalvm/compiler/core/common/type/Stamp;
checkcast org.graalvm.compiler.core.common.type.ObjectStamp
invokevirtual org.graalvm.compiler.core.common.type.ObjectStamp.alwaysNull:()Z
invokestatic org.junit.Assert.assertTrue:(Z)V
32: aload 5
aload 3
invokevirtual org.graalvm.compiler.core.common.type.Stamp.join:(Lorg/graalvm/compiler/core/common/type/Stamp;)Lorg/graalvm/compiler/core/common/type/Stamp;
aload 5
if_acmpne 33
iconst_1
goto 34
StackMap locals:
StackMap stack:
33: iconst_0
StackMap locals:
StackMap stack: int
34: invokestatic org.junit.Assert.assertTrue:(Z)V
35: aload 6
aload 3
invokevirtual org.graalvm.compiler.core.common.type.Stamp.join:(Lorg/graalvm/compiler/core/common/type/Stamp;)Lorg/graalvm/compiler/core/common/type/Stamp;
aload 3
if_acmpne 36
iconst_1
goto 37
StackMap locals:
StackMap stack:
36: iconst_0
StackMap locals:
StackMap stack: int
37: invokestatic org.junit.Assert.assertTrue:(Z)V
38: aload 1
aload 4
invokevirtual org.graalvm.compiler.core.common.type.Stamp.join:(Lorg/graalvm/compiler/core/common/type/Stamp;)Lorg/graalvm/compiler/core/common/type/Stamp;
aload 4
if_acmpne 39
iconst_1
goto 40
StackMap locals:
StackMap stack:
39: iconst_0
StackMap locals:
StackMap stack: int
40: invokestatic org.junit.Assert.assertTrue:(Z)V
41: aload 2
aload 4
invokevirtual org.graalvm.compiler.core.common.type.Stamp.join:(Lorg/graalvm/compiler/core/common/type/Stamp;)Lorg/graalvm/compiler/core/common/type/Stamp;
checkcast org.graalvm.compiler.core.common.type.ObjectStamp
invokevirtual org.graalvm.compiler.core.common.type.ObjectStamp.alwaysNull:()Z
invokestatic org.junit.Assert.assertTrue:(Z)V
42: aload 3
aload 4
invokevirtual org.graalvm.compiler.core.common.type.Stamp.join:(Lorg/graalvm/compiler/core/common/type/Stamp;)Lorg/graalvm/compiler/core/common/type/Stamp;
checkcast org.graalvm.compiler.core.common.type.ObjectStamp
invokevirtual org.graalvm.compiler.core.common.type.ObjectStamp.alwaysNull:()Z
invokestatic org.junit.Assert.assertTrue:(Z)V
43: aload 4
aload 4
invokevirtual org.graalvm.compiler.core.common.type.Stamp.join:(Lorg/graalvm/compiler/core/common/type/Stamp;)Lorg/graalvm/compiler/core/common/type/Stamp;
aload 4
if_acmpne 44
iconst_1
goto 45
StackMap locals:
StackMap stack:
44: iconst_0
StackMap locals:
StackMap stack: int
45: invokestatic org.junit.Assert.assertTrue:(Z)V
46: aload 5
aload 4
invokevirtual org.graalvm.compiler.core.common.type.Stamp.join:(Lorg/graalvm/compiler/core/common/type/Stamp;)Lorg/graalvm/compiler/core/common/type/Stamp;
checkcast org.graalvm.compiler.core.common.type.ObjectStamp
invokevirtual org.graalvm.compiler.core.common.type.ObjectStamp.alwaysNull:()Z
invokestatic org.junit.Assert.assertTrue:(Z)V
47: aload 6
aload 4
invokevirtual org.graalvm.compiler.core.common.type.Stamp.join:(Lorg/graalvm/compiler/core/common/type/Stamp;)Lorg/graalvm/compiler/core/common/type/Stamp;
checkcast org.graalvm.compiler.core.common.type.ObjectStamp
invokevirtual org.graalvm.compiler.core.common.type.ObjectStamp.alwaysNull:()Z
invokestatic org.junit.Assert.assertTrue:(Z)V
48: aload 1
checkcast org.graalvm.compiler.core.common.type.ObjectStamp
invokevirtual org.graalvm.compiler.core.common.type.ObjectStamp.asNonNull:()Lorg/graalvm/compiler/core/common/type/AbstractPointerStamp;
astore 1
49: aload 2
checkcast org.graalvm.compiler.core.common.type.ObjectStamp
invokevirtual org.graalvm.compiler.core.common.type.ObjectStamp.asNonNull:()Lorg/graalvm/compiler/core/common/type/AbstractPointerStamp;
astore 2
50: aload 3
checkcast org.graalvm.compiler.core.common.type.ObjectStamp
invokevirtual org.graalvm.compiler.core.common.type.ObjectStamp.asNonNull:()Lorg/graalvm/compiler/core/common/type/AbstractPointerStamp;
astore 3
51: aload 4
checkcast org.graalvm.compiler.core.common.type.ObjectStamp
invokevirtual org.graalvm.compiler.core.common.type.ObjectStamp.asNonNull:()Lorg/graalvm/compiler/core/common/type/AbstractPointerStamp;
astore 4
52: aload 5
checkcast org.graalvm.compiler.core.common.type.ObjectStamp
invokevirtual org.graalvm.compiler.core.common.type.ObjectStamp.asNonNull:()Lorg/graalvm/compiler/core/common/type/AbstractPointerStamp;
astore 5
53: aload 1
aload 6
invokevirtual org.graalvm.compiler.core.common.type.Stamp.join:(Lorg/graalvm/compiler/core/common/type/Stamp;)Lorg/graalvm/compiler/core/common/type/Stamp;
checkcast org.graalvm.compiler.core.common.type.ObjectStamp
invokevirtual org.graalvm.compiler.core.common.type.ObjectStamp.isAlwaysArray:()Z
invokestatic org.junit.Assert.assertTrue:(Z)V
54: aload 2
aload 6
invokevirtual org.graalvm.compiler.core.common.type.Stamp.join:(Lorg/graalvm/compiler/core/common/type/Stamp;)Lorg/graalvm/compiler/core/common/type/Stamp;
invokevirtual org.graalvm.compiler.core.common.type.Stamp.isEmpty:()Z
invokestatic org.junit.Assert.assertTrue:(Z)V
55: aload 3
aload 6
invokevirtual org.graalvm.compiler.core.common.type.Stamp.join:(Lorg/graalvm/compiler/core/common/type/Stamp;)Lorg/graalvm/compiler/core/common/type/Stamp;
aload 3
if_acmpne 56
iconst_1
goto 57
StackMap locals:
StackMap stack:
56: iconst_0
StackMap locals:
StackMap stack: int
57: invokestatic org.junit.Assert.assertTrue:(Z)V
58: aload 4
aload 6
invokevirtual org.graalvm.compiler.core.common.type.Stamp.join:(Lorg/graalvm/compiler/core/common/type/Stamp;)Lorg/graalvm/compiler/core/common/type/Stamp;
invokevirtual org.graalvm.compiler.core.common.type.Stamp.isEmpty:()Z
invokestatic org.junit.Assert.assertTrue:(Z)V
59: aload 5
aload 6
invokevirtual org.graalvm.compiler.core.common.type.Stamp.join:(Lorg/graalvm/compiler/core/common/type/Stamp;)Lorg/graalvm/compiler/core/common/type/Stamp;
aload 5
if_acmpne 60
iconst_1
goto 61
StackMap locals:
StackMap stack:
60: iconst_0
StackMap locals:
StackMap stack: int
61: invokestatic org.junit.Assert.assertTrue:(Z)V
62: aload 6
aload 6
invokevirtual org.graalvm.compiler.core.common.type.Stamp.join:(Lorg/graalvm/compiler/core/common/type/Stamp;)Lorg/graalvm/compiler/core/common/type/Stamp;
aload 6
if_acmpne 63
iconst_1
goto 64
StackMap locals:
StackMap stack:
63: iconst_0
StackMap locals:
StackMap stack: int
64: invokestatic org.junit.Assert.assertTrue:(Z)V
65: aload 1
aload 3
invokevirtual org.graalvm.compiler.core.common.type.Stamp.join:(Lorg/graalvm/compiler/core/common/type/Stamp;)Lorg/graalvm/compiler/core/common/type/Stamp;
aload 3
if_acmpne 66
iconst_1
goto 67
StackMap locals:
StackMap stack:
66: iconst_0
StackMap locals:
StackMap stack: int
67: invokestatic org.junit.Assert.assertTrue:(Z)V
68: aload 2
aload 3
invokevirtual org.graalvm.compiler.core.common.type.Stamp.join:(Lorg/graalvm/compiler/core/common/type/Stamp;)Lorg/graalvm/compiler/core/common/type/Stamp;
invokevirtual org.graalvm.compiler.core.common.type.Stamp.isEmpty:()Z
invokestatic org.junit.Assert.assertTrue:(Z)V
69: aload 3
aload 3
invokevirtual org.graalvm.compiler.core.common.type.Stamp.join:(Lorg/graalvm/compiler/core/common/type/Stamp;)Lorg/graalvm/compiler/core/common/type/Stamp;
aload 3
if_acmpne 70
iconst_1
goto 71
StackMap locals:
StackMap stack:
70: iconst_0
StackMap locals:
StackMap stack: int
71: invokestatic org.junit.Assert.assertTrue:(Z)V
72: aload 4
aload 3
invokevirtual org.graalvm.compiler.core.common.type.Stamp.join:(Lorg/graalvm/compiler/core/common/type/Stamp;)Lorg/graalvm/compiler/core/common/type/Stamp;
invokevirtual org.graalvm.compiler.core.common.type.Stamp.isEmpty:()Z
invokestatic org.junit.Assert.assertTrue:(Z)V
73: aload 5
aload 3
invokevirtual org.graalvm.compiler.core.common.type.Stamp.join:(Lorg/graalvm/compiler/core/common/type/Stamp;)Lorg/graalvm/compiler/core/common/type/Stamp;
aload 5
if_acmpne 74
iconst_1
goto 75
StackMap locals:
StackMap stack:
74: iconst_0
StackMap locals:
StackMap stack: int
75: invokestatic org.junit.Assert.assertTrue:(Z)V
76: aload 6
aload 3
invokevirtual org.graalvm.compiler.core.common.type.Stamp.join:(Lorg/graalvm/compiler/core/common/type/Stamp;)Lorg/graalvm/compiler/core/common/type/Stamp;
aload 3
if_acmpne 77
iconst_1
goto 78
StackMap locals:
StackMap stack:
77: iconst_0
StackMap locals:
StackMap stack: int
78: invokestatic org.junit.Assert.assertTrue:(Z)V
79: aload 1
aload 4
invokevirtual org.graalvm.compiler.core.common.type.Stamp.join:(Lorg/graalvm/compiler/core/common/type/Stamp;)Lorg/graalvm/compiler/core/common/type/Stamp;
aload 4
if_acmpne 80
iconst_1
goto 81
StackMap locals:
StackMap stack:
80: iconst_0
StackMap locals:
StackMap stack: int
81: invokestatic org.junit.Assert.assertTrue:(Z)V
82: aload 2
aload 4
invokevirtual org.graalvm.compiler.core.common.type.Stamp.join:(Lorg/graalvm/compiler/core/common/type/Stamp;)Lorg/graalvm/compiler/core/common/type/Stamp;
invokevirtual org.graalvm.compiler.core.common.type.Stamp.isEmpty:()Z
invokestatic org.junit.Assert.assertTrue:(Z)V
83: aload 3
aload 4
invokevirtual org.graalvm.compiler.core.common.type.Stamp.join:(Lorg/graalvm/compiler/core/common/type/Stamp;)Lorg/graalvm/compiler/core/common/type/Stamp;
invokevirtual org.graalvm.compiler.core.common.type.Stamp.isEmpty:()Z
invokestatic org.junit.Assert.assertTrue:(Z)V
84: aload 4
aload 4
invokevirtual org.graalvm.compiler.core.common.type.Stamp.join:(Lorg/graalvm/compiler/core/common/type/Stamp;)Lorg/graalvm/compiler/core/common/type/Stamp;
aload 4
if_acmpne 85
iconst_1
goto 86
StackMap locals:
StackMap stack:
85: iconst_0
StackMap locals:
StackMap stack: int
86: invokestatic org.junit.Assert.assertTrue:(Z)V
87: aload 5
aload 4
invokevirtual org.graalvm.compiler.core.common.type.Stamp.join:(Lorg/graalvm/compiler/core/common/type/Stamp;)Lorg/graalvm/compiler/core/common/type/Stamp;
invokevirtual org.graalvm.compiler.core.common.type.Stamp.isEmpty:()Z
invokestatic org.junit.Assert.assertTrue:(Z)V
88: aload 6
aload 4
invokevirtual org.graalvm.compiler.core.common.type.Stamp.join:(Lorg/graalvm/compiler/core/common/type/Stamp;)Lorg/graalvm/compiler/core/common/type/Stamp;
invokevirtual org.graalvm.compiler.core.common.type.Stamp.isEmpty:()Z
invokestatic org.junit.Assert.assertTrue:(Z)V
89: 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 90 0 this Lorg/graalvm/compiler/nodes/test/ObjectStampJoinTest;
1 90 1 object Lorg/graalvm/compiler/core/common/type/Stamp;
2 90 2 objectExact Lorg/graalvm/compiler/core/common/type/Stamp;
3 90 3 objectArray Lorg/graalvm/compiler/core/common/type/Stamp;
4 90 4 a Lorg/graalvm/compiler/core/common/type/Stamp;
5 90 5 aArray Lorg/graalvm/compiler/core/common/type/Stamp;
6 90 6 alwaysArray Lorg/graalvm/compiler/core/common/type/Stamp;
RuntimeVisibleAnnotations:
org.junit.Test()
}
SourceFile: "ObjectStampJoinTest.java"
InnerClasses:
protected A = org.graalvm.compiler.nodes.test.AbstractObjectStampTest$A of org.graalvm.compiler.nodes.test.AbstractObjectStampTest
protected B = org.graalvm.compiler.nodes.test.AbstractObjectStampTest$B of org.graalvm.compiler.nodes.test.AbstractObjectStampTest
protected C = org.graalvm.compiler.nodes.test.AbstractObjectStampTest$C of org.graalvm.compiler.nodes.test.AbstractObjectStampTest
protected D = org.graalvm.compiler.nodes.test.AbstractObjectStampTest$D of org.graalvm.compiler.nodes.test.AbstractObjectStampTest
protected abstract E = org.graalvm.compiler.nodes.test.AbstractObjectStampTest$E of org.graalvm.compiler.nodes.test.AbstractObjectStampTest
protected abstract I = org.graalvm.compiler.nodes.test.AbstractObjectStampTest$I of org.graalvm.compiler.nodes.test.AbstractObjectStampTest