public class org.graalvm.compiler.replacements.test.InstanceOfTest extends org.graalvm.compiler.replacements.test.TypeCheckTest
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: org.graalvm.compiler.replacements.test.InstanceOfTest
super_class: org.graalvm.compiler.replacements.test.TypeCheckTest
{
public void <init>();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
invokespecial org.graalvm.compiler.replacements.test.TypeCheckTest.<init>:()V
1: aload 0
invokestatic org.graalvm.compiler.replacements.test.InstanceOfTest.getInitialOptions:()Lorg/graalvm/compiler/options/OptionValues;
invokevirtual org.graalvm.compiler.replacements.test.InstanceOfTest.createSuites:(Lorg/graalvm/compiler/options/OptionValues;)Lorg/graalvm/compiler/phases/tiers/Suites;
invokevirtual org.graalvm.compiler.phases.tiers.Suites.getHighTier:()Lorg/graalvm/compiler/phases/PhaseSuite;
ldc Lorg/graalvm/compiler/phases/common/AbstractInliningPhase;
invokevirtual org.graalvm.compiler.phases.PhaseSuite.findPhase:(Ljava/lang/Class;)Ljava/util/ListIterator;
invokeinterface java.util.ListIterator.remove:()V
2: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/graalvm/compiler/replacements/test/InstanceOfTest;
protected void replaceProfile(org.graalvm.compiler.nodes.StructuredGraph, jdk.vm.ci.meta.JavaTypeProfile);
descriptor: (Lorg/graalvm/compiler/nodes/StructuredGraph;Ljdk/vm/ci/meta/JavaTypeProfile;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=3, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 1
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.getNodes:()Lorg/graalvm/compiler/graph/iterators/NodeIterable;
ldc Lorg/graalvm/compiler/nodes/java/InstanceOfNode;
invokeinterface org.graalvm.compiler.graph.iterators.NodeIterable.filter:(Ljava/lang/Class;)Lorg/graalvm/compiler/graph/iterators/NodeIterable;
invokeinterface org.graalvm.compiler.graph.iterators.NodeIterable.first:()Lorg/graalvm/compiler/graph/Node;
checkcast org.graalvm.compiler.nodes.java.InstanceOfNode
astore 3
start local 3 1: aload 3
ifnull 3
2: aload 3
aload 2
aload 1
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.start:()Lorg/graalvm/compiler/nodes/StartNode;
invokevirtual org.graalvm.compiler.nodes.java.InstanceOfNode.setProfile:(Ljdk/vm/ci/meta/JavaTypeProfile;Lorg/graalvm/compiler/nodes/extended/AnchoringNode;)V
3: StackMap locals: org.graalvm.compiler.nodes.java.InstanceOfNode
StackMap stack:
return
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/replacements/test/InstanceOfTest;
0 4 1 graph Lorg/graalvm/compiler/nodes/StructuredGraph;
0 4 2 profile Ljdk/vm/ci/meta/JavaTypeProfile;
1 4 3 ion Lorg/graalvm/compiler/nodes/java/InstanceOfNode;
MethodParameters:
Name Flags
graph
profile
public void test1();
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\tTest cannot be resolved to a type\n"
invokespecial java.lang.Error.<init>:(Ljava/lang/String;)V
athrow
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/graalvm/compiler/replacements/test/InstanceOfTest;
RuntimeInvisibleAnnotations:
Test()
public void test2();
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\tTest cannot be resolved to a type\n"
invokespecial java.lang.Error.<init>:(Ljava/lang/String;)V
athrow
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/graalvm/compiler/replacements/test/InstanceOfTest;
RuntimeInvisibleAnnotations:
Test()
public void test201();
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\tTest cannot be resolved to a type\n"
invokespecial java.lang.Error.<init>:(Ljava/lang/String;)V
athrow
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/graalvm/compiler/replacements/test/InstanceOfTest;
RuntimeInvisibleAnnotations:
Test()
public void test3();
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\tTest cannot be resolved to a type\n"
invokespecial java.lang.Error.<init>:(Ljava/lang/String;)V
athrow
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/graalvm/compiler/replacements/test/InstanceOfTest;
RuntimeInvisibleAnnotations:
Test()
public void test301();
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\tTest cannot be resolved to a type\n"
invokespecial java.lang.Error.<init>:(Ljava/lang/String;)V
athrow
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/graalvm/compiler/replacements/test/InstanceOfTest;
RuntimeInvisibleAnnotations:
Test()
public void test4();
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\tTest cannot be resolved to a type\n"
invokespecial java.lang.Error.<init>:(Ljava/lang/String;)V
athrow
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/graalvm/compiler/replacements/test/InstanceOfTest;
RuntimeInvisibleAnnotations:
Test()
public void test5();
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\tTest cannot be resolved to a type\n"
invokespecial java.lang.Error.<init>:(Ljava/lang/String;)V
athrow
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/graalvm/compiler/replacements/test/InstanceOfTest;
RuntimeInvisibleAnnotations:
Test()
public void test6();
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\tTest cannot be resolved to a type\n"
invokespecial java.lang.Error.<init>:(Ljava/lang/String;)V
athrow
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/graalvm/compiler/replacements/test/InstanceOfTest;
RuntimeInvisibleAnnotations:
Test()
public void test7();
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\tTest cannot be resolved to a type\n"
invokespecial java.lang.Error.<init>:(Ljava/lang/String;)V
athrow
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/graalvm/compiler/replacements/test/InstanceOfTest;
RuntimeInvisibleAnnotations:
Test()
public void test8();
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\tTest cannot be resolved to a type\n"
invokespecial java.lang.Error.<init>:(Ljava/lang/String;)V
athrow
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/graalvm/compiler/replacements/test/InstanceOfTest;
RuntimeInvisibleAnnotations:
Test()
public static boolean isString(java.lang.Object);
descriptor: (Ljava/lang/Object;)Z
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
instanceof java.lang.String
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 o Ljava/lang/Object;
MethodParameters:
Name Flags
o
public static int isStringInt(java.lang.Object);
descriptor: (Ljava/lang/Object;)I
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
instanceof java.lang.String
ifeq 2
1: iconst_1
invokestatic org.graalvm.compiler.replacements.test.InstanceOfTest.id:(I)I
ireturn
2: StackMap locals:
StackMap stack:
iconst_0
invokestatic org.graalvm.compiler.replacements.test.InstanceOfTest.id:(I)I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 o Ljava/lang/Object;
MethodParameters:
Name Flags
o
public static int isStringIntComplex(java.lang.Object);
descriptor: (Ljava/lang/Object;)I
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
instanceof java.lang.String
ifne 1
aload 0
instanceof java.lang.Integer
ifeq 4
1: StackMap locals:
StackMap stack:
aload 0
instanceof java.lang.String
ifeq 2
iconst_1
goto 3
StackMap locals:
StackMap stack:
2: iconst_0
StackMap locals:
StackMap stack: int
3: invokestatic org.graalvm.compiler.replacements.test.InstanceOfTest.id:(I)I
ireturn
4: StackMap locals:
StackMap stack:
iconst_0
invokestatic org.graalvm.compiler.replacements.test.InstanceOfTest.id:(I)I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 o Ljava/lang/Object;
MethodParameters:
Name Flags
o
public static int id(int);
descriptor: (I)I
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: iload 0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 value I
MethodParameters:
Name Flags
value
public static boolean isThrowable(java.lang.Object);
descriptor: (Ljava/lang/Object;)Z
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
checkcast java.lang.Throwable
instanceof java.lang.Exception
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 o Ljava/lang/Object;
MethodParameters:
Name Flags
o
public static int onlyFirstIsException(java.lang.Throwable, java.lang.Throwable);
descriptor: (Ljava/lang/Throwable;Ljava/lang/Throwable;)I
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
instanceof java.lang.Exception
aload 1
instanceof java.lang.Exception
ixor
ifeq 4
1: aload 0
instanceof java.lang.Exception
ifeq 2
iconst_1
goto 3
StackMap locals:
StackMap stack:
2: iconst_m1
StackMap locals:
StackMap stack: int
3: ireturn
4: StackMap locals:
StackMap stack:
iconst_m1
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 t1 Ljava/lang/Throwable;
0 5 1 t2 Ljava/lang/Throwable;
MethodParameters:
Name Flags
t1
t2
public static int isThrowableInt(java.lang.Object);
descriptor: (Ljava/lang/Object;)I
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=1, locals=2, args_size=1
start local 0 0: aload 0
instanceof java.lang.Throwable
ifeq 1
iconst_4
goto 2
StackMap locals:
StackMap stack:
1: iconst_5
StackMap locals:
StackMap stack: int
2: istore 1
start local 1 3: aload 0
instanceof java.lang.Throwable
ifeq 5
4: iconst_4
invokestatic org.graalvm.compiler.replacements.test.InstanceOfTest.id:(I)I
ireturn
5: StackMap locals: int
StackMap stack:
iload 1
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 o Ljava/lang/Object;
3 6 1 result I
MethodParameters:
Name Flags
o
public static boolean isMap(java.lang.Object);
descriptor: (Ljava/lang/Object;)Z
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
instanceof java.util.Map
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 o Ljava/lang/Object;
MethodParameters:
Name Flags
o
public static int isMapInt(java.lang.Object);
descriptor: (Ljava/lang/Object;)I
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
instanceof java.util.Map
ifeq 2
1: iconst_1
invokestatic org.graalvm.compiler.replacements.test.InstanceOfTest.id:(I)I
ireturn
2: StackMap locals:
StackMap stack:
iconst_0
invokestatic org.graalvm.compiler.replacements.test.InstanceOfTest.id:(I)I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 o Ljava/lang/Object;
MethodParameters:
Name Flags
o
public static boolean isDepth12(java.lang.Object);
descriptor: (Ljava/lang/Object;)Z
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
instanceof org.graalvm.compiler.replacements.test.InstanceOfTest$Depth12
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 o Ljava/lang/Object;
MethodParameters:
Name Flags
o
public static int isDepth12Int(java.lang.Object);
descriptor: (Ljava/lang/Object;)I
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
instanceof org.graalvm.compiler.replacements.test.InstanceOfTest$Depth12
ifeq 2
1: iconst_0
invokestatic org.graalvm.compiler.replacements.test.InstanceOfTest.id:(I)I
ireturn
2: StackMap locals:
StackMap stack:
iconst_0
invokestatic org.graalvm.compiler.replacements.test.InstanceOfTest.id:(I)I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 o Ljava/lang/Object;
MethodParameters:
Name Flags
o
public void test9();
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\tTest cannot be resolved to a type\n"
invokespecial java.lang.Error.<init>:(Ljava/lang/String;)V
athrow
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/graalvm/compiler/replacements/test/InstanceOfTest;
RuntimeInvisibleAnnotations:
Test()
public static int compareMySites(org.graalvm.compiler.replacements.test.InstanceOfTest$MySite, org.graalvm.compiler.replacements.test.InstanceOfTest$MySite);
descriptor: (Lorg/graalvm/compiler/replacements/test/InstanceOfTest$MySite;Lorg/graalvm/compiler/replacements/test/InstanceOfTest$MySite;)I
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield org.graalvm.compiler.replacements.test.InstanceOfTest$MySite.offset:I
aload 1
getfield org.graalvm.compiler.replacements.test.InstanceOfTest$MySite.offset:I
if_icmpne 4
aload 0
instanceof org.graalvm.compiler.replacements.test.InstanceOfTest$MyMark
aload 1
instanceof org.graalvm.compiler.replacements.test.InstanceOfTest$MyMark
ixor
ifeq 4
1: aload 0
instanceof org.graalvm.compiler.replacements.test.InstanceOfTest$MyMark
ifeq 2
iconst_m1
goto 3
StackMap locals:
StackMap stack:
2: iconst_1
StackMap locals:
StackMap stack: int
3: ireturn
4: StackMap locals:
StackMap stack:
aload 0
getfield org.graalvm.compiler.replacements.test.InstanceOfTest$MySite.offset:I
aload 1
getfield org.graalvm.compiler.replacements.test.InstanceOfTest$MySite.offset:I
isub
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 s1 Lorg/graalvm/compiler/replacements/test/InstanceOfTest$MySite;
0 5 1 s2 Lorg/graalvm/compiler/replacements/test/InstanceOfTest$MySite;
MethodParameters:
Name Flags
s1
s2
public void test10();
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\tTest cannot be resolved to a type\n"
invokespecial java.lang.Error.<init>:(Ljava/lang/String;)V
athrow
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/graalvm/compiler/replacements/test/InstanceOfTest;
RuntimeInvisibleAnnotations:
Test()
public static int compareSites(jdk.vm.ci.code.site.Site, jdk.vm.ci.code.site.Site);
descriptor: (Ljdk/vm/ci/code/site/Site;Ljdk/vm/ci/code/site/Site;)I
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield jdk.vm.ci.code.site.Site.pcOffset:I
aload 1
getfield jdk.vm.ci.code.site.Site.pcOffset:I
if_icmpne 4
aload 0
instanceof jdk.vm.ci.code.site.Mark
aload 1
instanceof jdk.vm.ci.code.site.Mark
ixor
ifeq 4
1: aload 0
instanceof jdk.vm.ci.code.site.Mark
ifeq 2
iconst_m1
goto 3
StackMap locals:
StackMap stack:
2: iconst_1
StackMap locals:
StackMap stack: int
3: ireturn
4: StackMap locals:
StackMap stack:
aload 0
getfield jdk.vm.ci.code.site.Site.pcOffset:I
aload 1
getfield jdk.vm.ci.code.site.Site.pcOffset:I
isub
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 s1 Ljdk/vm/ci/code/site/Site;
0 5 1 s2 Ljdk/vm/ci/code/site/Site;
MethodParameters:
Name Flags
s1
s2
public void testRemoveIntermediateMaterialization();
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\tTest cannot be resolved to a type\n"
invokespecial java.lang.Error.<init>:(Ljava/lang/String;)V
athrow
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/graalvm/compiler/replacements/test/InstanceOfTest;
RuntimeInvisibleAnnotations:
Test()
public static java.lang.String removeIntermediateMaterialization(java.util.List<java.lang.Object>, , java.lang.String, java.lang.String);
descriptor: (Ljava/util/List;Ljava/lang/Object;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=7, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
ifnull 1
aload 1
ifnonnull 3
1: StackMap locals:
StackMap stack:
iconst_0
istore 4
start local 4 2: goto 10
end local 4 3: StackMap locals:
StackMap stack:
iconst_0
istore 4
start local 4 4: aload 0
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 6
goto 9
StackMap locals: java.util.List java.lang.Object java.lang.String java.lang.String int top java.util.Iterator
StackMap stack:
5: aload 6
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
astore 5
start local 5 6: aload 5
aload 1
invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
ifeq 9
7: iconst_1
istore 4
8: goto 10
end local 5 9: StackMap locals:
StackMap stack:
aload 6
invokeinterface java.util.Iterator.hasNext:()Z
ifne 5
10: StackMap locals: java.util.List java.lang.Object java.lang.String java.lang.String int
StackMap stack:
iload 4
ifeq 12
11: aload 2
areturn
12: StackMap locals:
StackMap stack:
aload 3
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 13 0 list Ljava/util/List<Ljava/lang/Object;>;
0 13 1 e Ljava/lang/Object;
0 13 2 a Ljava/lang/String;
0 13 3 b Ljava/lang/String;
2 3 4 test Z
4 13 4 test Z
6 9 5 i Ljava/lang/Object;
Signature: (Ljava/util/List<Ljava/lang/Object;>;Ljava/lang/Object;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
MethodParameters:
Name Flags
list
e
a
b
public static boolean isArrayOfA(java.lang.Object);
descriptor: (Ljava/lang/Object;)Z
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
instanceof org.graalvm.compiler.replacements.test.InstanceOfTest$A[]
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 o Ljava/lang/Object;
MethodParameters:
Name Flags
o
public static boolean isArrayOfB(java.lang.Object);
descriptor: (Ljava/lang/Object;)Z
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
instanceof org.graalvm.compiler.replacements.test.InstanceOfTest$B[]
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 o Ljava/lang/Object;
MethodParameters:
Name Flags
o
public static boolean isArrayOfC(java.lang.Object);
descriptor: (Ljava/lang/Object;)Z
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
instanceof org.graalvm.compiler.replacements.test.InstanceOfTest$C[]
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 o Ljava/lang/Object;
MethodParameters:
Name Flags
o
public static boolean isArrayOfD(java.lang.Object);
descriptor: (Ljava/lang/Object;)Z
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
instanceof org.graalvm.compiler.replacements.test.InstanceOfTest$D[]
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 o Ljava/lang/Object;
MethodParameters:
Name Flags
o
public void testArray();
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\tTest cannot be resolved to a type\n"
invokespecial java.lang.Error.<init>:(Ljava/lang/String;)V
athrow
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/graalvm/compiler/replacements/test/InstanceOfTest;
RuntimeInvisibleAnnotations:
Test()
public static <T> java.lang.String arrayCopyTypeName(T[]);
descriptor: ([Ljava/lang/Object;)Ljava/lang/String;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=2, args_size=1
start local 0 0: aload 0
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
astore 1
start local 1 1: aload 1
ldc [Ljava/lang/Object;
if_acmpne 3
2: ldc [Ljava/lang/Object;
invokevirtual java.lang.Class.getName:()Ljava/lang/String;
areturn
3: StackMap locals: java.lang.Class
StackMap stack:
aload 1
invokevirtual java.lang.Class.getName:()Ljava/lang/String;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 original [Ljava/lang/Object;
1 4 1 newType Ljava/lang/Class<+[TT;>;
Signature: <T:Ljava/lang/Object;>([TT;)Ljava/lang/String;
MethodParameters:
Name Flags
original
public void testArrayCopy();
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\tTest cannot be resolved to a type\n"
invokespecial java.lang.Error.<init>:(Ljava/lang/String;)V
athrow
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/graalvm/compiler/replacements/test/InstanceOfTest;
RuntimeInvisibleAnnotations:
Test()
public int conditionalInstantiation(java.lang.Object);
descriptor: (Ljava/lang/Object;)I
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: iconst_0
istore 2
start local 2 1: aload 1
instanceof java.lang.CharSequence
ifeq 7
2: aload 1
instanceof java.lang.StringBuilder
ifne 3
aload 1
instanceof java.lang.String
ifeq 4
3: StackMap locals: int
StackMap stack:
bipush 9
istore 2
4: StackMap locals:
StackMap stack:
iload 2
aload 1
instanceof java.lang.String
ifeq 5
iconst_2
goto 6
StackMap locals:
StackMap stack: int
5: iconst_1
StackMap locals: org.graalvm.compiler.replacements.test.InstanceOfTest java.lang.Object int
StackMap stack: int int
6: iadd
istore 2
7: StackMap locals:
StackMap stack:
iload 2
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lorg/graalvm/compiler/replacements/test/InstanceOfTest;
0 8 1 o Ljava/lang/Object;
1 8 2 total I
MethodParameters:
Name Flags
o
public void testInstantiation();
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\tTest cannot be resolved to a type\n"
invokespecial java.lang.Error.<init>:(Ljava/lang/String;)V
athrow
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/graalvm/compiler/replacements/test/InstanceOfTest;
RuntimeInvisibleAnnotations:
Test()
public boolean exactlyObject(java.lang.Thread);
descriptor: (Ljava/lang/Thread;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 1
ifnull 1
aload 1
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
ldc Ljava/lang/Object;
if_acmpne 1
iconst_1
ireturn
StackMap locals:
StackMap stack:
1: iconst_0
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/graalvm/compiler/replacements/test/InstanceOfTest;
0 2 1 thread Ljava/lang/Thread;
MethodParameters:
Name Flags
thread
public boolean exactlyObjectArray(java.lang.Thread[]);
descriptor: ([Ljava/lang/Thread;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 1
ifnull 1
aload 1
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
ldc [Ljava/lang/Object;
if_acmpne 1
iconst_1
ireturn
StackMap locals:
StackMap stack:
1: iconst_0
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/graalvm/compiler/replacements/test/InstanceOfTest;
0 2 1 threads [Ljava/lang/Thread;
MethodParameters:
Name Flags
threads
public boolean exactlyString(java.lang.Thread);
descriptor: (Ljava/lang/Thread;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 1
ifnull 1
aload 1
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
ldc Ljava/lang/String;
if_acmpne 1
iconst_1
ireturn
StackMap locals:
StackMap stack:
1: iconst_0
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/graalvm/compiler/replacements/test/InstanceOfTest;
0 2 1 thread Ljava/lang/Thread;
MethodParameters:
Name Flags
thread
public boolean exactlyStringArray(java.lang.Thread[]);
descriptor: ([Ljava/lang/Thread;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 1
ifnull 1
aload 1
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
ldc [Ljava/lang/String;
if_acmpne 1
iconst_1
ireturn
StackMap locals:
StackMap stack:
1: iconst_0
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/graalvm/compiler/replacements/test/InstanceOfTest;
0 2 1 threads [Ljava/lang/Thread;
MethodParameters:
Name Flags
threads
public boolean instanceofStringArray(java.lang.Thread[]);
descriptor: ([Ljava/lang/Thread;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=2, args_size=2
start local 0 start local 1 0: aload 1
ifnull 1
aload 1
instanceof java.lang.String[]
ifeq 1
iconst_1
ireturn
StackMap locals:
StackMap stack:
1: iconst_0
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/graalvm/compiler/replacements/test/InstanceOfTest;
0 2 1 threads [Ljava/lang/Thread;
MethodParameters:
Name Flags
threads
public boolean instanceofString(java.lang.Thread);
descriptor: (Ljava/lang/Thread;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=2, args_size=2
start local 0 start local 1 0: aload 1
ifnull 1
aload 1
instanceof java.lang.String
ifeq 1
iconst_1
ireturn
StackMap locals:
StackMap stack:
1: iconst_0
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/graalvm/compiler/replacements/test/InstanceOfTest;
0 2 1 thread Ljava/lang/Thread;
MethodParameters:
Name Flags
thread
public void testTypeCheck();
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\tTest cannot be resolved to a type\n"
invokespecial java.lang.Error.<init>:(Ljava/lang/String;)V
athrow
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/graalvm/compiler/replacements/test/InstanceOfTest;
RuntimeInvisibleAnnotations:
Test()
private void testConstantReturn(java.lang.String, java.lang.Object);
descriptor: (Ljava/lang/String;Ljava/lang/Object;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=5, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
invokevirtual org.graalvm.compiler.replacements.test.InstanceOfTest.buildGraph:(Ljava/lang/String;)Lorg/graalvm/compiler/nodes/StructuredGraph;
astore 3
start local 3 1: aload 3
getstatic org.graalvm.compiler.nodes.ReturnNode.TYPE:Lorg/graalvm/compiler/graph/NodeClass;
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.getNodes:(Lorg/graalvm/compiler/graph/NodeClass;)Lorg/graalvm/compiler/graph/iterators/NodeIterable;
invokeinterface org.graalvm.compiler.graph.iterators.NodeIterable.first:()Lorg/graalvm/compiler/graph/Node;
checkcast org.graalvm.compiler.nodes.ReturnNode
astore 4
start local 4 2: aload 0
iconst_1
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aload 3
getstatic org.graalvm.compiler.nodes.ReturnNode.TYPE:Lorg/graalvm/compiler/graph/NodeClass;
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.getNodes:(Lorg/graalvm/compiler/graph/NodeClass;)Lorg/graalvm/compiler/graph/iterators/NodeIterable;
invokeinterface org.graalvm.compiler.graph.iterators.NodeIterable.count:()I
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
invokevirtual org.graalvm.compiler.replacements.test.InstanceOfTest.assertDeepEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
3: aload 0
iconst_1
invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
aload 4
invokevirtual org.graalvm.compiler.nodes.ReturnNode.result:()Lorg/graalvm/compiler/nodes/ValueNode;
invokevirtual org.graalvm.compiler.nodes.ValueNode.isConstant:()Z
invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
invokevirtual org.graalvm.compiler.replacements.test.InstanceOfTest.assertDeepEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
4: aload 0
aload 2
aload 4
invokevirtual org.graalvm.compiler.nodes.ReturnNode.result:()Lorg/graalvm/compiler/nodes/ValueNode;
invokevirtual org.graalvm.compiler.nodes.ValueNode.asJavaConstant:()Ljdk/vm/ci/meta/JavaConstant;
invokeinterface jdk.vm.ci.meta.JavaConstant.asBoxedPrimitive:()Ljava/lang/Object;
invokevirtual org.graalvm.compiler.replacements.test.InstanceOfTest.assertDeepEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
5: return
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/replacements/test/InstanceOfTest;
0 6 1 name Ljava/lang/String;
0 6 2 value Ljava/lang/Object;
1 6 3 result Lorg/graalvm/compiler/nodes/StructuredGraph;
2 6 4 ret Lorg/graalvm/compiler/nodes/ReturnNode;
MethodParameters:
Name Flags
name
value
protected org.graalvm.compiler.nodes.StructuredGraph buildGraph(java.lang.String);
descriptor: (Ljava/lang/String;)Lorg/graalvm/compiler/nodes/StructuredGraph;
flags: (0x0004) ACC_PROTECTED
Code:
stack=5, locals=7, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual org.graalvm.compiler.replacements.test.InstanceOfTest.getDebugContext:()Lorg/graalvm/compiler/debug/DebugContext;
astore 2
start local 2 1: aconst_null
astore 3
aconst_null
astore 4
2: aload 2
ldc "InstanceOfTest"
aload 0
invokevirtual org.graalvm.compiler.replacements.test.InstanceOfTest.getMetaAccess:()Ljdk/vm/ci/meta/MetaAccessProvider;
aload 0
aload 1
invokevirtual org.graalvm.compiler.replacements.test.InstanceOfTest.getMethod:(Ljava/lang/String;)Ljava/lang/reflect/Method;
invokeinterface jdk.vm.ci.meta.MetaAccessProvider.lookupJavaMethod:(Ljava/lang/reflect/Executable;)Ljdk/vm/ci/meta/ResolvedJavaMethod;
invokevirtual org.graalvm.compiler.debug.DebugContext.scope:(Ljava/lang/Object;Ljava/lang/Object;)Lorg/graalvm/compiler/debug/DebugContext$Scope;
astore 5
start local 5 3: aload 0
aload 1
getstatic org.graalvm.compiler.nodes.StructuredGraph$AllowAssumptions.YES:Lorg/graalvm/compiler/nodes/StructuredGraph$AllowAssumptions;
aload 2
invokevirtual org.graalvm.compiler.replacements.test.InstanceOfTest.parseEager:(Ljava/lang/String;Lorg/graalvm/compiler/nodes/StructuredGraph$AllowAssumptions;Lorg/graalvm/compiler/debug/DebugContext;)Lorg/graalvm/compiler/nodes/StructuredGraph;
astore 6
start local 6 4: aload 0
aload 6
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.method:()Ljdk/vm/ci/meta/ResolvedJavaMethod;
aload 6
invokevirtual org.graalvm.compiler.replacements.test.InstanceOfTest.compile:(Ljdk/vm/ci/meta/ResolvedJavaMethod;Lorg/graalvm/compiler/nodes/StructuredGraph;)Lorg/graalvm/compiler/code/CompilationResult;
pop
5: aload 2
iconst_1
aload 6
aload 1
invokevirtual org.graalvm.compiler.debug.DebugContext.dump:(ILjava/lang/Object;Ljava/lang/String;)V
6: aload 6
7: aload 5
ifnull 8
aload 5
invokeinterface org.graalvm.compiler.debug.DebugContext$Scope.close:()V
8: StackMap locals: org.graalvm.compiler.replacements.test.InstanceOfTest java.lang.String org.graalvm.compiler.debug.DebugContext java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.DebugContext$Scope org.graalvm.compiler.nodes.StructuredGraph
StackMap stack: org.graalvm.compiler.nodes.StructuredGraph
areturn
end local 6 StackMap locals: org.graalvm.compiler.replacements.test.InstanceOfTest java.lang.String org.graalvm.compiler.debug.DebugContext java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.DebugContext$Scope
StackMap stack: java.lang.Throwable
9: astore 3
10: aload 5
ifnull 11
aload 5
invokeinterface org.graalvm.compiler.debug.DebugContext$Scope.close:()V
end local 5 StackMap locals:
StackMap stack:
11: aload 3
athrow
StackMap locals:
StackMap stack: java.lang.Throwable
12: astore 4
aload 3
ifnonnull 13
aload 4
astore 3
goto 14
StackMap locals:
StackMap stack:
13: aload 3
aload 4
if_acmpeq 14
aload 3
aload 4
invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
StackMap locals:
StackMap stack:
14: aload 3
athrow
StackMap locals: org.graalvm.compiler.replacements.test.InstanceOfTest java.lang.String org.graalvm.compiler.debug.DebugContext
StackMap stack: java.lang.Throwable
15: astore 3
start local 3 16: aload 2
aload 3
invokevirtual org.graalvm.compiler.debug.DebugContext.handle:(Ljava/lang/Throwable;)Ljava/lang/RuntimeException;
athrow
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 17 0 this Lorg/graalvm/compiler/replacements/test/InstanceOfTest;
0 17 1 snippet Ljava/lang/String;
1 17 2 debug Lorg/graalvm/compiler/debug/DebugContext;
3 11 5 s Lorg/graalvm/compiler/debug/DebugContext$Scope;
4 9 6 graph Lorg/graalvm/compiler/nodes/StructuredGraph;
16 17 3 e Ljava/lang/Throwable;
Exception table:
from to target type
3 7 9 any
2 8 12 any
9 12 12 any
1 8 15 Class java.lang.Throwable
9 15 15 Class java.lang.Throwable
MethodParameters:
Name Flags
snippet final
}
SourceFile: "InstanceOfTest.java"
NestMembers:
org.graalvm.compiler.replacements.test.InstanceOfTest$A org.graalvm.compiler.replacements.test.InstanceOfTest$B org.graalvm.compiler.replacements.test.InstanceOfTest$C org.graalvm.compiler.replacements.test.InstanceOfTest$D org.graalvm.compiler.replacements.test.InstanceOfTest$Depth1 org.graalvm.compiler.replacements.test.InstanceOfTest$Depth10 org.graalvm.compiler.replacements.test.InstanceOfTest$Depth11 org.graalvm.compiler.replacements.test.InstanceOfTest$Depth12 org.graalvm.compiler.replacements.test.InstanceOfTest$Depth13 org.graalvm.compiler.replacements.test.InstanceOfTest$Depth14 org.graalvm.compiler.replacements.test.InstanceOfTest$Depth2 org.graalvm.compiler.replacements.test.InstanceOfTest$Depth3 org.graalvm.compiler.replacements.test.InstanceOfTest$Depth4 org.graalvm.compiler.replacements.test.InstanceOfTest$Depth5 org.graalvm.compiler.replacements.test.InstanceOfTest$Depth6 org.graalvm.compiler.replacements.test.InstanceOfTest$Depth7 org.graalvm.compiler.replacements.test.InstanceOfTest$Depth8 org.graalvm.compiler.replacements.test.InstanceOfTest$Depth9 org.graalvm.compiler.replacements.test.InstanceOfTest$MyCall org.graalvm.compiler.replacements.test.InstanceOfTest$MyMark org.graalvm.compiler.replacements.test.InstanceOfTest$MySafepoint org.graalvm.compiler.replacements.test.InstanceOfTest$MySite
InnerClasses:
public abstract Scope = org.graalvm.compiler.debug.DebugContext$Scope of org.graalvm.compiler.debug.DebugContext
public final AllowAssumptions = org.graalvm.compiler.nodes.StructuredGraph$AllowAssumptions of org.graalvm.compiler.nodes.StructuredGraph
abstract A = org.graalvm.compiler.replacements.test.InstanceOfTest$A of org.graalvm.compiler.replacements.test.InstanceOfTest
B = org.graalvm.compiler.replacements.test.InstanceOfTest$B of org.graalvm.compiler.replacements.test.InstanceOfTest
C = org.graalvm.compiler.replacements.test.InstanceOfTest$C of org.graalvm.compiler.replacements.test.InstanceOfTest
abstract D = org.graalvm.compiler.replacements.test.InstanceOfTest$D of org.graalvm.compiler.replacements.test.InstanceOfTest
Depth1 = org.graalvm.compiler.replacements.test.InstanceOfTest$Depth1 of org.graalvm.compiler.replacements.test.InstanceOfTest
Depth10 = org.graalvm.compiler.replacements.test.InstanceOfTest$Depth10 of org.graalvm.compiler.replacements.test.InstanceOfTest
Depth11 = org.graalvm.compiler.replacements.test.InstanceOfTest$Depth11 of org.graalvm.compiler.replacements.test.InstanceOfTest
Depth12 = org.graalvm.compiler.replacements.test.InstanceOfTest$Depth12 of org.graalvm.compiler.replacements.test.InstanceOfTest
Depth13 = org.graalvm.compiler.replacements.test.InstanceOfTest$Depth13 of org.graalvm.compiler.replacements.test.InstanceOfTest
Depth14 = org.graalvm.compiler.replacements.test.InstanceOfTest$Depth14 of org.graalvm.compiler.replacements.test.InstanceOfTest
Depth2 = org.graalvm.compiler.replacements.test.InstanceOfTest$Depth2 of org.graalvm.compiler.replacements.test.InstanceOfTest
Depth3 = org.graalvm.compiler.replacements.test.InstanceOfTest$Depth3 of org.graalvm.compiler.replacements.test.InstanceOfTest
Depth4 = org.graalvm.compiler.replacements.test.InstanceOfTest$Depth4 of org.graalvm.compiler.replacements.test.InstanceOfTest
Depth5 = org.graalvm.compiler.replacements.test.InstanceOfTest$Depth5 of org.graalvm.compiler.replacements.test.InstanceOfTest
Depth6 = org.graalvm.compiler.replacements.test.InstanceOfTest$Depth6 of org.graalvm.compiler.replacements.test.InstanceOfTest
Depth7 = org.graalvm.compiler.replacements.test.InstanceOfTest$Depth7 of org.graalvm.compiler.replacements.test.InstanceOfTest
Depth8 = org.graalvm.compiler.replacements.test.InstanceOfTest$Depth8 of org.graalvm.compiler.replacements.test.InstanceOfTest
Depth9 = org.graalvm.compiler.replacements.test.InstanceOfTest$Depth9 of org.graalvm.compiler.replacements.test.InstanceOfTest
MyCall = org.graalvm.compiler.replacements.test.InstanceOfTest$MyCall of org.graalvm.compiler.replacements.test.InstanceOfTest
MyMark = org.graalvm.compiler.replacements.test.InstanceOfTest$MyMark of org.graalvm.compiler.replacements.test.InstanceOfTest
abstract MySafepoint = org.graalvm.compiler.replacements.test.InstanceOfTest$MySafepoint of org.graalvm.compiler.replacements.test.InstanceOfTest
abstract MySite = org.graalvm.compiler.replacements.test.InstanceOfTest$MySite of org.graalvm.compiler.replacements.test.InstanceOfTest