public class org.graalvm.compiler.nodes.java.MethodCallTargetNode extends org.graalvm.compiler.nodes.CallTargetNode implements org.graalvm.compiler.graph.IterableNodeType, org.graalvm.compiler.graph.spi.Simplifiable
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: org.graalvm.compiler.nodes.java.MethodCallTargetNode
super_class: org.graalvm.compiler.nodes.CallTargetNode
{
public static final org.graalvm.compiler.graph.NodeClass<org.graalvm.compiler.nodes.java.MethodCallTargetNode> TYPE;
descriptor: Lorg/graalvm/compiler/graph/NodeClass;
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
Signature: Lorg/graalvm/compiler/graph/NodeClass<Lorg/graalvm/compiler/nodes/java/MethodCallTargetNode;>;
protected jdk.vm.ci.meta.JavaTypeProfile profile;
descriptor: Ljdk/vm/ci/meta/JavaTypeProfile;
flags: (0x0004) ACC_PROTECTED
static final boolean $assertionsDisabled;
descriptor: Z
flags: (0x1018) ACC_STATIC, ACC_FINAL, ACC_SYNTHETIC
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=1, locals=0, args_size=0
0: ldc Lorg/graalvm/compiler/nodes/java/MethodCallTargetNode;
invokevirtual java.lang.Class.desiredAssertionStatus:()Z
ifne 1
iconst_1
goto 2
StackMap locals:
StackMap stack:
1: iconst_0
StackMap locals:
StackMap stack: int
2: putstatic org.graalvm.compiler.nodes.java.MethodCallTargetNode.$assertionsDisabled:Z
3: ldc Lorg/graalvm/compiler/nodes/java/MethodCallTargetNode;
invokestatic org.graalvm.compiler.graph.NodeClass.create:(Ljava/lang/Class;)Lorg/graalvm/compiler/graph/NodeClass;
putstatic org.graalvm.compiler.nodes.java.MethodCallTargetNode.TYPE:Lorg/graalvm/compiler/graph/NodeClass;
return
LocalVariableTable:
Start End Slot Name Signature
public void <init>(org.graalvm.compiler.nodes.CallTargetNode$InvokeKind, jdk.vm.ci.meta.ResolvedJavaMethod, org.graalvm.compiler.nodes.ValueNode[], org.graalvm.compiler.core.common.type.StampPair, jdk.vm.ci.meta.JavaTypeProfile);
descriptor: (Lorg/graalvm/compiler/nodes/CallTargetNode$InvokeKind;Ljdk/vm/ci/meta/ResolvedJavaMethod;[Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/core/common/type/StampPair;Ljdk/vm/ci/meta/JavaTypeProfile;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=7, locals=6, args_size=6
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 0: aload 0
getstatic org.graalvm.compiler.nodes.java.MethodCallTargetNode.TYPE:Lorg/graalvm/compiler/graph/NodeClass;
aload 1
aload 2
aload 3
aload 4
aload 5
invokespecial org.graalvm.compiler.nodes.java.MethodCallTargetNode.<init>:(Lorg/graalvm/compiler/graph/NodeClass;Lorg/graalvm/compiler/nodes/CallTargetNode$InvokeKind;Ljdk/vm/ci/meta/ResolvedJavaMethod;[Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/core/common/type/StampPair;Ljdk/vm/ci/meta/JavaTypeProfile;)V
1: 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 2 0 this Lorg/graalvm/compiler/nodes/java/MethodCallTargetNode;
0 2 1 invokeKind Lorg/graalvm/compiler/nodes/CallTargetNode$InvokeKind;
0 2 2 targetMethod Ljdk/vm/ci/meta/ResolvedJavaMethod;
0 2 3 arguments [Lorg/graalvm/compiler/nodes/ValueNode;
0 2 4 returnStamp Lorg/graalvm/compiler/core/common/type/StampPair;
0 2 5 profile Ljdk/vm/ci/meta/JavaTypeProfile;
MethodParameters:
Name Flags
invokeKind
targetMethod
arguments
returnStamp
profile
protected void <init>(org.graalvm.compiler.graph.NodeClass<? extends org.graalvm.compiler.nodes.java.MethodCallTargetNode>, org.graalvm.compiler.nodes.CallTargetNode$InvokeKind, jdk.vm.ci.meta.ResolvedJavaMethod, org.graalvm.compiler.nodes.ValueNode[], org.graalvm.compiler.core.common.type.StampPair, jdk.vm.ci.meta.JavaTypeProfile);
descriptor: (Lorg/graalvm/compiler/graph/NodeClass;Lorg/graalvm/compiler/nodes/CallTargetNode$InvokeKind;Ljdk/vm/ci/meta/ResolvedJavaMethod;[Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/core/common/type/StampPair;Ljdk/vm/ci/meta/JavaTypeProfile;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=6, locals=7, args_size=7
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 start local 6 0: aload 0
aload 1
aload 4
aload 3
aload 2
aload 5
invokespecial org.graalvm.compiler.nodes.CallTargetNode.<init>:(Lorg/graalvm/compiler/graph/NodeClass;[Lorg/graalvm/compiler/nodes/ValueNode;Ljdk/vm/ci/meta/ResolvedJavaMethod;Lorg/graalvm/compiler/nodes/CallTargetNode$InvokeKind;Lorg/graalvm/compiler/core/common/type/StampPair;)V
1: aload 0
aload 6
putfield org.graalvm.compiler.nodes.java.MethodCallTargetNode.profile:Ljdk/vm/ci/meta/JavaTypeProfile;
2: 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 3 0 this Lorg/graalvm/compiler/nodes/java/MethodCallTargetNode;
0 3 1 c Lorg/graalvm/compiler/graph/NodeClass<+Lorg/graalvm/compiler/nodes/java/MethodCallTargetNode;>;
0 3 2 invokeKind Lorg/graalvm/compiler/nodes/CallTargetNode$InvokeKind;
0 3 3 targetMethod Ljdk/vm/ci/meta/ResolvedJavaMethod;
0 3 4 arguments [Lorg/graalvm/compiler/nodes/ValueNode;
0 3 5 returnStamp Lorg/graalvm/compiler/core/common/type/StampPair;
0 3 6 profile Ljdk/vm/ci/meta/JavaTypeProfile;
Signature: (Lorg/graalvm/compiler/graph/NodeClass<+Lorg/graalvm/compiler/nodes/java/MethodCallTargetNode;>;Lorg/graalvm/compiler/nodes/CallTargetNode$InvokeKind;Ljdk/vm/ci/meta/ResolvedJavaMethod;[Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/core/common/type/StampPair;Ljdk/vm/ci/meta/JavaTypeProfile;)V
MethodParameters:
Name Flags
c
invokeKind
targetMethod
arguments
returnStamp
profile
public org.graalvm.compiler.nodes.ValueNode receiver();
descriptor: ()Lorg/graalvm/compiler/nodes/ValueNode;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual org.graalvm.compiler.nodes.java.MethodCallTargetNode.isStatic:()Z
ifeq 1
aconst_null
goto 2
StackMap locals:
StackMap stack:
1: aload 0
invokevirtual org.graalvm.compiler.nodes.java.MethodCallTargetNode.arguments:()Lorg/graalvm/compiler/graph/NodeInputList;
iconst_0
invokevirtual org.graalvm.compiler.graph.NodeInputList.get:(I)Lorg/graalvm/compiler/graph/Node;
checkcast org.graalvm.compiler.nodes.ValueNode
StackMap locals:
StackMap stack: org.graalvm.compiler.nodes.ValueNode
2: areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/graalvm/compiler/nodes/java/MethodCallTargetNode;
public boolean isStatic();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual org.graalvm.compiler.nodes.java.MethodCallTargetNode.invokeKind:()Lorg/graalvm/compiler/nodes/CallTargetNode$InvokeKind;
getstatic org.graalvm.compiler.nodes.CallTargetNode$InvokeKind.Static:Lorg/graalvm/compiler/nodes/CallTargetNode$InvokeKind;
if_acmpne 1
iconst_1
ireturn
StackMap locals:
StackMap stack:
1: iconst_0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/graalvm/compiler/nodes/java/MethodCallTargetNode;
public jdk.vm.ci.meta.JavaKind returnKind();
descriptor: ()Ljdk/vm/ci/meta/JavaKind;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual org.graalvm.compiler.nodes.java.MethodCallTargetNode.targetMethod:()Ljdk/vm/ci/meta/ResolvedJavaMethod;
invokeinterface jdk.vm.ci.meta.ResolvedJavaMethod.getSignature:()Ljdk/vm/ci/meta/Signature;
invokeinterface jdk.vm.ci.meta.Signature.getReturnKind:()Ljdk/vm/ci/meta/JavaKind;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/graalvm/compiler/nodes/java/MethodCallTargetNode;
public boolean verify();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=7, locals=3, args_size=1
start local 0 0: getstatic org.graalvm.compiler.nodes.java.MethodCallTargetNode.$assertionsDisabled:Z
ifne 1
aload 0
invokevirtual org.graalvm.compiler.nodes.java.MethodCallTargetNode.getUsageCount:()I
iconst_1
if_icmple 1
new java.lang.AssertionError
dup
ldc "call target may only be used by a single invoke"
invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
athrow
1: StackMap locals:
StackMap stack:
aload 0
invokevirtual org.graalvm.compiler.nodes.java.MethodCallTargetNode.usages:()Lorg/graalvm/compiler/graph/iterators/NodeIterable;
invokeinterface org.graalvm.compiler.graph.iterators.NodeIterable.iterator:()Ljava/util/Iterator;
astore 2
goto 4
StackMap locals: org.graalvm.compiler.nodes.java.MethodCallTargetNode top java.util.Iterator
StackMap stack:
2: aload 2
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.graalvm.compiler.graph.Node
astore 1
start local 1 3: aload 0
aload 1
instanceof org.graalvm.compiler.nodes.Invoke
ldc "call target can only be used from an invoke (%s)"
iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 1
aastore
invokevirtual org.graalvm.compiler.nodes.java.MethodCallTargetNode.assertTrue:(ZLjava/lang/String;[Ljava/lang/Object;)Z
pop
end local 1 4: StackMap locals:
StackMap stack:
aload 2
invokeinterface java.util.Iterator.hasNext:()Z
ifne 2
5: aload 0
invokevirtual org.graalvm.compiler.nodes.java.MethodCallTargetNode.invokeKind:()Lorg/graalvm/compiler/nodes/CallTargetNode$InvokeKind;
invokevirtual org.graalvm.compiler.nodes.CallTargetNode$InvokeKind.isDirect:()Z
ifeq 7
6: aload 0
aload 0
invokevirtual org.graalvm.compiler.nodes.java.MethodCallTargetNode.targetMethod:()Ljdk/vm/ci/meta/ResolvedJavaMethod;
invokeinterface jdk.vm.ci.meta.ResolvedJavaMethod.isConcrete:()Z
ldc "special calls or static calls are only allowed for concrete methods (%s)"
iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 0
invokevirtual org.graalvm.compiler.nodes.java.MethodCallTargetNode.targetMethod:()Ljdk/vm/ci/meta/ResolvedJavaMethod;
aastore
invokevirtual org.graalvm.compiler.nodes.java.MethodCallTargetNode.assertTrue:(ZLjava/lang/String;[Ljava/lang/Object;)Z
pop
7: StackMap locals: org.graalvm.compiler.nodes.java.MethodCallTargetNode
StackMap stack:
aload 0
invokevirtual org.graalvm.compiler.nodes.java.MethodCallTargetNode.invokeKind:()Lorg/graalvm/compiler/nodes/CallTargetNode$InvokeKind;
getstatic org.graalvm.compiler.nodes.CallTargetNode$InvokeKind.Static:Lorg/graalvm/compiler/nodes/CallTargetNode$InvokeKind;
if_acmpne 10
8: aload 0
aload 0
invokevirtual org.graalvm.compiler.nodes.java.MethodCallTargetNode.targetMethod:()Ljdk/vm/ci/meta/ResolvedJavaMethod;
invokeinterface jdk.vm.ci.meta.ResolvedJavaMethod.isStatic:()Z
ldc "static calls are only allowed for static methods (%s)"
iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 0
invokevirtual org.graalvm.compiler.nodes.java.MethodCallTargetNode.targetMethod:()Ljdk/vm/ci/meta/ResolvedJavaMethod;
aastore
invokevirtual org.graalvm.compiler.nodes.java.MethodCallTargetNode.assertTrue:(ZLjava/lang/String;[Ljava/lang/Object;)Z
pop
9: goto 11
10: StackMap locals:
StackMap stack:
aload 0
aload 0
invokevirtual org.graalvm.compiler.nodes.java.MethodCallTargetNode.targetMethod:()Ljdk/vm/ci/meta/ResolvedJavaMethod;
invokeinterface jdk.vm.ci.meta.ResolvedJavaMethod.isStatic:()Z
ldc "static calls are only allowed for non-static methods (%s)"
iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 0
invokevirtual org.graalvm.compiler.nodes.java.MethodCallTargetNode.targetMethod:()Ljdk/vm/ci/meta/ResolvedJavaMethod;
aastore
invokevirtual org.graalvm.compiler.nodes.java.MethodCallTargetNode.assertFalse:(ZLjava/lang/String;[Ljava/lang/Object;)Z
pop
11: StackMap locals:
StackMap stack:
aload 0
invokespecial org.graalvm.compiler.nodes.CallTargetNode.verify:()Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 this Lorg/graalvm/compiler/nodes/java/MethodCallTargetNode;
3 4 1 n Lorg/graalvm/compiler/graph/Node;
public java.lang.String toString(org.graalvm.compiler.nodeinfo.Verbosity);
descriptor: (Lorg/graalvm/compiler/nodeinfo/Verbosity;)Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: aload 1
getstatic org.graalvm.compiler.nodeinfo.Verbosity.Long:Lorg/graalvm/compiler/nodeinfo/Verbosity;
if_acmpne 2
1: new java.lang.StringBuilder
dup
aload 0
getstatic org.graalvm.compiler.nodeinfo.Verbosity.Short:Lorg/graalvm/compiler/nodeinfo/Verbosity;
invokespecial org.graalvm.compiler.nodes.CallTargetNode.toString:(Lorg/graalvm/compiler/nodeinfo/Verbosity;)Ljava/lang/String;
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc "("
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
invokevirtual org.graalvm.compiler.nodes.java.MethodCallTargetNode.targetMethod:()Ljdk/vm/ci/meta/ResolvedJavaMethod;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc ")"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
areturn
2: StackMap locals:
StackMap stack:
aload 0
aload 1
invokespecial org.graalvm.compiler.nodes.CallTargetNode.toString:(Lorg/graalvm/compiler/nodeinfo/Verbosity;)Ljava/lang/String;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/graalvm/compiler/nodes/java/MethodCallTargetNode;
0 3 1 verbosity Lorg/graalvm/compiler/nodeinfo/Verbosity;
MethodParameters:
Name Flags
verbosity
public static jdk.vm.ci.meta.ResolvedJavaMethod findSpecialCallTarget(org.graalvm.compiler.nodes.CallTargetNode$InvokeKind, org.graalvm.compiler.nodes.ValueNode, jdk.vm.ci.meta.ResolvedJavaMethod, jdk.vm.ci.meta.ResolvedJavaType);
descriptor: (Lorg/graalvm/compiler/nodes/CallTargetNode$InvokeKind;Lorg/graalvm/compiler/nodes/ValueNode;Ljdk/vm/ci/meta/ResolvedJavaMethod;Ljdk/vm/ci/meta/ResolvedJavaType;)Ljdk/vm/ci/meta/ResolvedJavaMethod;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=6, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
invokevirtual org.graalvm.compiler.nodes.CallTargetNode$InvokeKind.isDirect:()Z
ifeq 2
1: aconst_null
areturn
2: StackMap locals:
StackMap stack:
aload 2
invokeinterface jdk.vm.ci.meta.ResolvedJavaMethod.canBeStaticallyBound:()Z
ifeq 4
3: aload 2
areturn
4: StackMap locals:
StackMap stack:
aload 0
aload 2
aload 3
aload 1
invokevirtual org.graalvm.compiler.nodes.ValueNode.graph:()Lorg/graalvm/compiler/nodes/StructuredGraph;
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.getAssumptions:()Ljdk/vm/ci/meta/Assumptions;
aload 1
getstatic org.graalvm.compiler.nodes.NodeView.DEFAULT:Lorg/graalvm/compiler/nodes/NodeView;
invokevirtual org.graalvm.compiler.nodes.ValueNode.stamp:(Lorg/graalvm/compiler/nodes/NodeView;)Lorg/graalvm/compiler/core/common/type/Stamp;
invokestatic org.graalvm.compiler.nodes.java.MethodCallTargetNode.devirtualizeCall:(Lorg/graalvm/compiler/nodes/CallTargetNode$InvokeKind;Ljdk/vm/ci/meta/ResolvedJavaMethod;Ljdk/vm/ci/meta/ResolvedJavaType;Ljdk/vm/ci/meta/Assumptions;Lorg/graalvm/compiler/core/common/type/Stamp;)Ljdk/vm/ci/meta/ResolvedJavaMethod;
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 invokeKind Lorg/graalvm/compiler/nodes/CallTargetNode$InvokeKind;
0 5 1 receiver Lorg/graalvm/compiler/nodes/ValueNode;
0 5 2 targetMethod Ljdk/vm/ci/meta/ResolvedJavaMethod;
0 5 3 contextType Ljdk/vm/ci/meta/ResolvedJavaType;
MethodParameters:
Name Flags
invokeKind
receiver
targetMethod
contextType
public static jdk.vm.ci.meta.ResolvedJavaMethod devirtualizeCall(org.graalvm.compiler.nodes.CallTargetNode$InvokeKind, jdk.vm.ci.meta.ResolvedJavaMethod, jdk.vm.ci.meta.ResolvedJavaType, jdk.vm.ci.meta.Assumptions, org.graalvm.compiler.core.common.type.Stamp);
descriptor: (Lorg/graalvm/compiler/nodes/CallTargetNode$InvokeKind;Ljdk/vm/ci/meta/ResolvedJavaMethod;Ljdk/vm/ci/meta/ResolvedJavaType;Ljdk/vm/ci/meta/Assumptions;Lorg/graalvm/compiler/core/common/type/Stamp;)Ljdk/vm/ci/meta/ResolvedJavaMethod;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=8, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 4
invokestatic org.graalvm.compiler.nodes.type.StampTool.typeReferenceOrNull:(Lorg/graalvm/compiler/core/common/type/Stamp;)Lorg/graalvm/compiler/core/common/type/TypeReference;
astore 5
start local 5 1: aload 5
ifnonnull 3
aload 0
getstatic org.graalvm.compiler.nodes.CallTargetNode$InvokeKind.Virtual:Lorg/graalvm/compiler/nodes/CallTargetNode$InvokeKind;
if_acmpne 3
2: aload 3
aload 1
invokeinterface jdk.vm.ci.meta.ResolvedJavaMethod.getDeclaringClass:()Ljdk/vm/ci/meta/ResolvedJavaType;
invokestatic org.graalvm.compiler.core.common.type.TypeReference.createTrusted:(Ljdk/vm/ci/meta/Assumptions;Ljdk/vm/ci/meta/ResolvedJavaType;)Lorg/graalvm/compiler/core/common/type/TypeReference;
astore 5
3: StackMap locals: org.graalvm.compiler.core.common.type.TypeReference
StackMap stack:
aload 5
ifnull 11
4: aload 5
invokevirtual org.graalvm.compiler.core.common.type.TypeReference.getType:()Ljdk/vm/ci/meta/ResolvedJavaType;
aload 1
aload 2
invokeinterface jdk.vm.ci.meta.ResolvedJavaType.resolveConcreteMethod:(Ljdk/vm/ci/meta/ResolvedJavaMethod;Ljdk/vm/ci/meta/ResolvedJavaType;)Ljdk/vm/ci/meta/ResolvedJavaMethod;
astore 6
start local 6 5: aload 6
ifnull 7
aload 6
invokeinterface jdk.vm.ci.meta.ResolvedJavaMethod.canBeStaticallyBound:()Z
ifne 6
aload 5
invokevirtual org.graalvm.compiler.core.common.type.TypeReference.isExact:()Z
ifne 6
aload 5
invokevirtual org.graalvm.compiler.core.common.type.TypeReference.getType:()Ljdk/vm/ci/meta/ResolvedJavaType;
invokeinterface jdk.vm.ci.meta.ResolvedJavaType.isArray:()Z
ifeq 7
6: StackMap locals: jdk.vm.ci.meta.ResolvedJavaMethod
StackMap stack:
aload 6
areturn
7: StackMap locals:
StackMap stack:
aload 5
invokevirtual org.graalvm.compiler.core.common.type.TypeReference.getType:()Ljdk/vm/ci/meta/ResolvedJavaType;
aload 1
invokeinterface jdk.vm.ci.meta.ResolvedJavaType.findUniqueConcreteMethod:(Ljdk/vm/ci/meta/ResolvedJavaMethod;)Ljdk/vm/ci/meta/Assumptions$AssumptionResult;
astore 7
start local 7 8: aload 7
ifnull 11
aload 7
aload 3
invokevirtual jdk.vm.ci.meta.Assumptions$AssumptionResult.canRecordTo:(Ljdk/vm/ci/meta/Assumptions;)Z
ifeq 11
9: aload 7
aload 3
invokevirtual jdk.vm.ci.meta.Assumptions$AssumptionResult.recordTo:(Ljdk/vm/ci/meta/Assumptions;)V
10: aload 7
invokevirtual jdk.vm.ci.meta.Assumptions$AssumptionResult.getResult:()Ljava/lang/Object;
checkcast jdk.vm.ci.meta.ResolvedJavaMethod
areturn
end local 7 end local 6 11: StackMap locals:
StackMap stack:
aconst_null
areturn
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 invokeKind Lorg/graalvm/compiler/nodes/CallTargetNode$InvokeKind;
0 12 1 targetMethod Ljdk/vm/ci/meta/ResolvedJavaMethod;
0 12 2 contextType Ljdk/vm/ci/meta/ResolvedJavaType;
0 12 3 assumptions Ljdk/vm/ci/meta/Assumptions;
0 12 4 receiverStamp Lorg/graalvm/compiler/core/common/type/Stamp;
1 12 5 type Lorg/graalvm/compiler/core/common/type/TypeReference;
5 11 6 resolvedMethod Ljdk/vm/ci/meta/ResolvedJavaMethod;
8 11 7 uniqueConcreteMethod Ljdk/vm/ci/meta/Assumptions$AssumptionResult<Ljdk/vm/ci/meta/ResolvedJavaMethod;>;
MethodParameters:
Name Flags
invokeKind
targetMethod
contextType
assumptions
receiverStamp
public void simplify(org.graalvm.compiler.graph.spi.SimplifierTool);
descriptor: (Lorg/graalvm/compiler/graph/spi/SimplifierTool;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=7, locals=5, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual org.graalvm.compiler.nodes.java.MethodCallTargetNode.invoke:()Lorg/graalvm/compiler/nodes/Invoke;
invokeinterface org.graalvm.compiler.nodes.Invoke.getContextMethod:()Ljdk/vm/ci/meta/ResolvedJavaMethod;
ifnonnull 4
1: getstatic org.graalvm.compiler.nodes.java.MethodCallTargetNode.$assertionsDisabled:Z
ifne 3
aload 0
invokevirtual org.graalvm.compiler.nodes.java.MethodCallTargetNode.invoke:()Lorg/graalvm/compiler/nodes/Invoke;
invokeinterface org.graalvm.compiler.nodes.Invoke.stateAfter:()Lorg/graalvm/compiler/nodes/FrameState;
ifnull 2
aload 0
invokevirtual org.graalvm.compiler.nodes.java.MethodCallTargetNode.invoke:()Lorg/graalvm/compiler/nodes/Invoke;
invokeinterface org.graalvm.compiler.nodes.Invoke.stateAfter:()Lorg/graalvm/compiler/nodes/FrameState;
getfield org.graalvm.compiler.nodes.FrameState.bci:I
invokestatic jdk.vm.ci.code.BytecodeFrame.isPlaceholderBci:(I)Z
ifne 3
StackMap locals:
StackMap stack:
2: aload 0
invokevirtual org.graalvm.compiler.nodes.java.MethodCallTargetNode.invoke:()Lorg/graalvm/compiler/nodes/Invoke;
invokeinterface org.graalvm.compiler.nodes.Invoke.stateDuring:()Lorg/graalvm/compiler/nodes/FrameState;
getfield org.graalvm.compiler.nodes.FrameState.bci:I
invokestatic jdk.vm.ci.code.BytecodeFrame.isPlaceholderBci:(I)Z
ifne 3
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
3: StackMap locals:
StackMap stack:
return
4: StackMap locals:
StackMap stack:
aload 0
invokevirtual org.graalvm.compiler.nodes.java.MethodCallTargetNode.invoke:()Lorg/graalvm/compiler/nodes/Invoke;
invokeinterface org.graalvm.compiler.nodes.Invoke.stateAfter:()Lorg/graalvm/compiler/nodes/FrameState;
ifnonnull 5
aload 0
invokevirtual org.graalvm.compiler.nodes.java.MethodCallTargetNode.invoke:()Lorg/graalvm/compiler/nodes/Invoke;
invokeinterface org.graalvm.compiler.nodes.Invoke.stateDuring:()Lorg/graalvm/compiler/nodes/FrameState;
ifnonnull 5
aconst_null
goto 6
StackMap locals:
StackMap stack:
5: aload 0
invokevirtual org.graalvm.compiler.nodes.java.MethodCallTargetNode.invoke:()Lorg/graalvm/compiler/nodes/Invoke;
invokeinterface org.graalvm.compiler.nodes.Invoke.getContextType:()Ljdk/vm/ci/meta/ResolvedJavaType;
StackMap locals:
StackMap stack: jdk.vm.ci.meta.ResolvedJavaType
6: astore 2
start local 2 7: aload 0
getfield org.graalvm.compiler.nodes.java.MethodCallTargetNode.invokeKind:Lorg/graalvm/compiler/nodes/CallTargetNode$InvokeKind;
aload 0
invokevirtual org.graalvm.compiler.nodes.java.MethodCallTargetNode.receiver:()Lorg/graalvm/compiler/nodes/ValueNode;
aload 0
getfield org.graalvm.compiler.nodes.java.MethodCallTargetNode.targetMethod:Ljdk/vm/ci/meta/ResolvedJavaMethod;
aload 2
invokestatic org.graalvm.compiler.nodes.java.MethodCallTargetNode.findSpecialCallTarget:(Lorg/graalvm/compiler/nodes/CallTargetNode$InvokeKind;Lorg/graalvm/compiler/nodes/ValueNode;Ljdk/vm/ci/meta/ResolvedJavaMethod;Ljdk/vm/ci/meta/ResolvedJavaType;)Ljdk/vm/ci/meta/ResolvedJavaMethod;
astore 3
start local 3 8: aload 3
ifnull 12
9: aload 0
aload 3
invokevirtual org.graalvm.compiler.nodes.java.MethodCallTargetNode.setTargetMethod:(Ljdk/vm/ci/meta/ResolvedJavaMethod;)V
10: aload 0
getstatic org.graalvm.compiler.nodes.CallTargetNode$InvokeKind.Special:Lorg/graalvm/compiler/nodes/CallTargetNode$InvokeKind;
invokevirtual org.graalvm.compiler.nodes.java.MethodCallTargetNode.setInvokeKind:(Lorg/graalvm/compiler/nodes/CallTargetNode$InvokeKind;)V
11: return
12: StackMap locals: jdk.vm.ci.meta.ResolvedJavaType jdk.vm.ci.meta.ResolvedJavaMethod
StackMap stack:
aload 0
getfield org.graalvm.compiler.nodes.java.MethodCallTargetNode.invokeKind:Lorg/graalvm/compiler/nodes/CallTargetNode$InvokeKind;
invokevirtual org.graalvm.compiler.nodes.CallTargetNode$InvokeKind.isInterface:()Z
ifeq 15
13: aload 0
invokevirtual org.graalvm.compiler.nodes.java.MethodCallTargetNode.receiver:()Lorg/graalvm/compiler/nodes/ValueNode;
aload 0
getfield org.graalvm.compiler.nodes.java.MethodCallTargetNode.targetMethod:Ljdk/vm/ci/meta/ResolvedJavaMethod;
aload 0
getfield org.graalvm.compiler.nodes.java.MethodCallTargetNode.profile:Ljdk/vm/ci/meta/JavaTypeProfile;
aload 0
invokevirtual org.graalvm.compiler.nodes.java.MethodCallTargetNode.graph:()Lorg/graalvm/compiler/nodes/StructuredGraph;
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.getAssumptions:()Ljdk/vm/ci/meta/Assumptions;
aload 2
aload 0
aload 0
invokevirtual org.graalvm.compiler.nodes.java.MethodCallTargetNode.invoke:()Lorg/graalvm/compiler/nodes/Invoke;
invokeinterface org.graalvm.compiler.nodes.Invoke.asNode:()Lorg/graalvm/compiler/nodes/FixedNode;
invokestatic org.graalvm.compiler.nodes.java.MethodCallTargetNode.tryDevirtualizeInterfaceCall:(Lorg/graalvm/compiler/nodes/ValueNode;Ljdk/vm/ci/meta/ResolvedJavaMethod;Ljdk/vm/ci/meta/JavaTypeProfile;Ljdk/vm/ci/meta/Assumptions;Ljdk/vm/ci/meta/ResolvedJavaType;Lorg/graalvm/compiler/nodes/java/MethodCallTargetNode;Lorg/graalvm/compiler/nodes/FixedNode;)Lorg/graalvm/compiler/nodes/java/MethodCallTargetNode;
astore 4
start local 4 14: getstatic org.graalvm.compiler.nodes.java.MethodCallTargetNode.$assertionsDisabled:Z
ifne 15
aload 4
aload 0
if_acmpeq 15
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
end local 4 15: StackMap locals:
StackMap stack:
return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 16 0 this Lorg/graalvm/compiler/nodes/java/MethodCallTargetNode;
0 16 1 tool Lorg/graalvm/compiler/graph/spi/SimplifierTool;
7 16 2 contextType Ljdk/vm/ci/meta/ResolvedJavaType;
8 16 3 specialCallTarget Ljdk/vm/ci/meta/ResolvedJavaMethod;
14 15 4 result Lorg/graalvm/compiler/nodes/java/MethodCallTargetNode;
MethodParameters:
Name Flags
tool
public static org.graalvm.compiler.nodes.java.MethodCallTargetNode tryDevirtualizeInterfaceCall(org.graalvm.compiler.nodes.ValueNode, jdk.vm.ci.meta.ResolvedJavaMethod, jdk.vm.ci.meta.JavaTypeProfile, jdk.vm.ci.meta.Assumptions, jdk.vm.ci.meta.ResolvedJavaType, org.graalvm.compiler.nodes.java.MethodCallTargetNode, org.graalvm.compiler.nodes.FixedNode);
descriptor: (Lorg/graalvm/compiler/nodes/ValueNode;Ljdk/vm/ci/meta/ResolvedJavaMethod;Ljdk/vm/ci/meta/JavaTypeProfile;Ljdk/vm/ci/meta/Assumptions;Ljdk/vm/ci/meta/ResolvedJavaType;Lorg/graalvm/compiler/nodes/java/MethodCallTargetNode;Lorg/graalvm/compiler/nodes/FixedNode;)Lorg/graalvm/compiler/nodes/java/MethodCallTargetNode;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=7, locals=13, args_size=7
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 start local 6 0: aload 3
ifnonnull 2
1: aload 5
areturn
2: StackMap locals:
StackMap stack:
aload 5
invokevirtual org.graalvm.compiler.nodes.java.MethodCallTargetNode.referencedType:()Ljdk/vm/ci/meta/ResolvedJavaType;
astore 7
start local 7 3: aload 7
ifnonnull 5
4: aload 5
areturn
5: StackMap locals: jdk.vm.ci.meta.ResolvedJavaType
StackMap stack:
aload 1
invokeinterface jdk.vm.ci.meta.ResolvedJavaMethod.getDeclaringClass:()Ljdk/vm/ci/meta/ResolvedJavaType;
astore 8
start local 8 6: aload 8
invokeinterface jdk.vm.ci.meta.ResolvedJavaType.isInterface:()Z
ifeq 13
7: aload 7
invokeinterface jdk.vm.ci.meta.ResolvedJavaType.getSingleImplementor:()Ljdk/vm/ci/meta/ResolvedJavaType;
astore 9
start local 9 8: aload 9
ifnull 13
aload 9
aload 8
invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
ifne 13
9: aload 3
aload 9
invokestatic org.graalvm.compiler.core.common.type.TypeReference.createTrusted:(Ljdk/vm/ci/meta/Assumptions;Ljdk/vm/ci/meta/ResolvedJavaType;)Lorg/graalvm/compiler/core/common/type/TypeReference;
astore 10
start local 10 10: aload 0
aload 1
aload 2
aload 4
aload 10
aload 6
aload 5
invokestatic org.graalvm.compiler.nodes.java.MethodCallTargetNode.tryCheckCastSingleImplementor:(Lorg/graalvm/compiler/nodes/ValueNode;Ljdk/vm/ci/meta/ResolvedJavaMethod;Ljdk/vm/ci/meta/JavaTypeProfile;Ljdk/vm/ci/meta/ResolvedJavaType;Lorg/graalvm/compiler/core/common/type/TypeReference;Lorg/graalvm/compiler/nodes/FixedNode;Lorg/graalvm/compiler/nodes/java/MethodCallTargetNode;)Lorg/graalvm/compiler/nodes/java/MethodCallTargetNode;
astore 11
start local 11 11: aload 11
ifnull 13
12: aload 11
areturn
end local 11 end local 10 end local 9 13: StackMap locals: jdk.vm.ci.meta.ResolvedJavaType
StackMap stack:
aload 0
instanceof org.graalvm.compiler.nodes.spi.UncheckedInterfaceProvider
ifeq 22
14: aload 0
checkcast org.graalvm.compiler.nodes.spi.UncheckedInterfaceProvider
astore 9
start local 9 15: aload 9
invokeinterface org.graalvm.compiler.nodes.spi.UncheckedInterfaceProvider.uncheckedStamp:()Lorg/graalvm/compiler/core/common/type/Stamp;
astore 10
start local 10 16: aload 10
ifnull 22
17: aload 10
invokestatic org.graalvm.compiler.nodes.type.StampTool.typeReferenceOrNull:(Lorg/graalvm/compiler/core/common/type/Stamp;)Lorg/graalvm/compiler/core/common/type/TypeReference;
astore 11
start local 11 18: aload 11
ifnull 22
aload 7
aload 11
invokevirtual org.graalvm.compiler.core.common.type.TypeReference.getType:()Ljdk/vm/ci/meta/ResolvedJavaType;
invokeinterface jdk.vm.ci.meta.ResolvedJavaType.isAssignableFrom:(Ljdk/vm/ci/meta/ResolvedJavaType;)Z
ifeq 22
19: aload 0
aload 1
aload 2
aload 4
aload 11
aload 6
aload 5
invokestatic org.graalvm.compiler.nodes.java.MethodCallTargetNode.tryCheckCastSingleImplementor:(Lorg/graalvm/compiler/nodes/ValueNode;Ljdk/vm/ci/meta/ResolvedJavaMethod;Ljdk/vm/ci/meta/JavaTypeProfile;Ljdk/vm/ci/meta/ResolvedJavaType;Lorg/graalvm/compiler/core/common/type/TypeReference;Lorg/graalvm/compiler/nodes/FixedNode;Lorg/graalvm/compiler/nodes/java/MethodCallTargetNode;)Lorg/graalvm/compiler/nodes/java/MethodCallTargetNode;
astore 12
start local 12 20: aload 12
ifnull 22
21: aload 12
areturn
end local 12 end local 11 end local 10 end local 9 22: StackMap locals:
StackMap stack:
aload 5
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
0 23 0 receiver Lorg/graalvm/compiler/nodes/ValueNode;
0 23 1 targetMethod Ljdk/vm/ci/meta/ResolvedJavaMethod;
0 23 2 profile Ljdk/vm/ci/meta/JavaTypeProfile;
0 23 3 assumptions Ljdk/vm/ci/meta/Assumptions;
0 23 4 contextType Ljdk/vm/ci/meta/ResolvedJavaType;
0 23 5 callTarget Lorg/graalvm/compiler/nodes/java/MethodCallTargetNode;
0 23 6 insertionPoint Lorg/graalvm/compiler/nodes/FixedNode;
3 23 7 referencedReceiverType Ljdk/vm/ci/meta/ResolvedJavaType;
6 23 8 declaredReceiverType Ljdk/vm/ci/meta/ResolvedJavaType;
8 13 9 singleImplementor Ljdk/vm/ci/meta/ResolvedJavaType;
10 13 10 speculatedType Lorg/graalvm/compiler/core/common/type/TypeReference;
11 13 11 callTargetResult Lorg/graalvm/compiler/nodes/java/MethodCallTargetNode;
15 22 9 uncheckedInterfaceProvider Lorg/graalvm/compiler/nodes/spi/UncheckedInterfaceProvider;
16 22 10 uncheckedStamp Lorg/graalvm/compiler/core/common/type/Stamp;
18 22 11 speculatedType Lorg/graalvm/compiler/core/common/type/TypeReference;
20 22 12 callTargetResult Lorg/graalvm/compiler/nodes/java/MethodCallTargetNode;
MethodParameters:
Name Flags
receiver
targetMethod
profile
assumptions
contextType
callTarget
insertionPoint
private static org.graalvm.compiler.nodes.java.MethodCallTargetNode tryCheckCastSingleImplementor(org.graalvm.compiler.nodes.ValueNode, jdk.vm.ci.meta.ResolvedJavaMethod, jdk.vm.ci.meta.JavaTypeProfile, jdk.vm.ci.meta.ResolvedJavaType, org.graalvm.compiler.core.common.type.TypeReference, org.graalvm.compiler.nodes.FixedNode, org.graalvm.compiler.nodes.java.MethodCallTargetNode);
descriptor: (Lorg/graalvm/compiler/nodes/ValueNode;Ljdk/vm/ci/meta/ResolvedJavaMethod;Ljdk/vm/ci/meta/JavaTypeProfile;Ljdk/vm/ci/meta/ResolvedJavaType;Lorg/graalvm/compiler/core/common/type/TypeReference;Lorg/graalvm/compiler/nodes/FixedNode;Lorg/graalvm/compiler/nodes/java/MethodCallTargetNode;)Lorg/graalvm/compiler/nodes/java/MethodCallTargetNode;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=7, locals=17, args_size=7
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 start local 6 0: aload 4
invokevirtual org.graalvm.compiler.core.common.type.TypeReference.getType:()Ljdk/vm/ci/meta/ResolvedJavaType;
astore 7
start local 7 1: aload 7
ifnull 24
2: aload 7
aload 1
aload 3
invokeinterface jdk.vm.ci.meta.ResolvedJavaType.resolveConcreteMethod:(Ljdk/vm/ci/meta/ResolvedJavaMethod;Ljdk/vm/ci/meta/ResolvedJavaType;)Ljdk/vm/ci/meta/ResolvedJavaMethod;
astore 8
start local 8 3: aload 8
ifnull 24
4: aload 5
invokevirtual org.graalvm.compiler.nodes.FixedNode.graph:()Lorg/graalvm/compiler/nodes/StructuredGraph;
astore 9
start local 9 5: aload 5
invokestatic org.graalvm.compiler.nodes.BeginNode.prevBegin:(Lorg/graalvm/compiler/nodes/FixedNode;)Lorg/graalvm/compiler/nodes/AbstractBeginNode;
astore 10
start local 10 6: aload 9
aload 4
aload 0
aload 2
aload 10
invokestatic org.graalvm.compiler.nodes.java.InstanceOfNode.create:(Lorg/graalvm/compiler/core/common/type/TypeReference;Lorg/graalvm/compiler/nodes/ValueNode;Ljdk/vm/ci/meta/JavaTypeProfile;Lorg/graalvm/compiler/nodes/extended/AnchoringNode;)Lorg/graalvm/compiler/nodes/LogicNode;
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.addOrUniqueWithInputs:(Lorg/graalvm/compiler/graph/Node;)Lorg/graalvm/compiler/graph/Node;
checkcast org.graalvm.compiler.nodes.LogicNode
astore 11
start local 11 7: aload 9
new org.graalvm.compiler.nodes.FixedGuardNode
dup
aload 11
getstatic jdk.vm.ci.meta.DeoptimizationReason.OptimizedTypeCheckViolated:Ljdk/vm/ci/meta/DeoptimizationReason;
getstatic jdk.vm.ci.meta.DeoptimizationAction.InvalidateRecompile:Ljdk/vm/ci/meta/DeoptimizationAction;
iconst_0
invokespecial org.graalvm.compiler.nodes.FixedGuardNode.<init>:(Lorg/graalvm/compiler/nodes/LogicNode;Ljdk/vm/ci/meta/DeoptimizationReason;Ljdk/vm/ci/meta/DeoptimizationAction;Z)V
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.add:(Lorg/graalvm/compiler/graph/Node;)Lorg/graalvm/compiler/graph/Node;
checkcast org.graalvm.compiler.nodes.FixedGuardNode
astore 12
start local 12 8: aload 9
aload 5
aload 12
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.addBeforeFixed:(Lorg/graalvm/compiler/nodes/FixedNode;Lorg/graalvm/compiler/nodes/FixedWithNextNode;)V
9: aload 4
invokevirtual org.graalvm.compiler.core.common.type.TypeReference.isExact:()Z
ifeq 12
10: getstatic org.graalvm.compiler.nodes.CallTargetNode$InvokeKind.Special:Lorg/graalvm/compiler/nodes/CallTargetNode$InvokeKind;
astore 13
start local 13 11: goto 13
end local 13 12: StackMap locals: org.graalvm.compiler.nodes.ValueNode jdk.vm.ci.meta.ResolvedJavaMethod jdk.vm.ci.meta.JavaTypeProfile jdk.vm.ci.meta.ResolvedJavaType org.graalvm.compiler.core.common.type.TypeReference org.graalvm.compiler.nodes.FixedNode org.graalvm.compiler.nodes.java.MethodCallTargetNode jdk.vm.ci.meta.ResolvedJavaType jdk.vm.ci.meta.ResolvedJavaMethod org.graalvm.compiler.nodes.StructuredGraph org.graalvm.compiler.nodes.extended.AnchoringNode org.graalvm.compiler.nodes.LogicNode org.graalvm.compiler.nodes.FixedGuardNode
StackMap stack:
getstatic org.graalvm.compiler.nodes.CallTargetNode$InvokeKind.Virtual:Lorg/graalvm/compiler/nodes/CallTargetNode$InvokeKind;
astore 13
start local 13 13: StackMap locals: org.graalvm.compiler.nodes.CallTargetNode$InvokeKind
StackMap stack:
aload 6
astore 14
start local 14 14: aload 9
new org.graalvm.compiler.nodes.PiNode
dup
aload 0
aload 4
invokestatic org.graalvm.compiler.core.common.type.StampFactory.objectNonNull:(Lorg/graalvm/compiler/core/common/type/TypeReference;)Lorg/graalvm/compiler/core/common/type/ObjectStamp;
aload 12
invokespecial org.graalvm.compiler.nodes.PiNode.<init>:(Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/core/common/type/Stamp;Lorg/graalvm/compiler/nodes/ValueNode;)V
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.addOrUnique:(Lorg/graalvm/compiler/graph/Node;)Lorg/graalvm/compiler/graph/Node;
checkcast org.graalvm.compiler.nodes.ValueNode
astore 15
start local 15 15: aload 6
invokevirtual org.graalvm.compiler.nodes.java.MethodCallTargetNode.isAlive:()Z
ifeq 20
16: aload 6
invokevirtual org.graalvm.compiler.nodes.java.MethodCallTargetNode.arguments:()Lorg/graalvm/compiler/graph/NodeInputList;
iconst_0
aload 15
invokevirtual org.graalvm.compiler.graph.NodeInputList.set:(ILorg/graalvm/compiler/graph/Node;)Lorg/graalvm/compiler/graph/Node;
pop
17: aload 14
aload 13
invokevirtual org.graalvm.compiler.nodes.java.MethodCallTargetNode.setInvokeKind:(Lorg/graalvm/compiler/nodes/CallTargetNode$InvokeKind;)V
18: aload 14
aload 8
invokevirtual org.graalvm.compiler.nodes.java.MethodCallTargetNode.setTargetMethod:(Ljdk/vm/ci/meta/ResolvedJavaMethod;)V
19: goto 23
20: StackMap locals: org.graalvm.compiler.nodes.java.MethodCallTargetNode org.graalvm.compiler.nodes.ValueNode
StackMap stack:
aload 6
invokevirtual org.graalvm.compiler.nodes.java.MethodCallTargetNode.arguments:()Lorg/graalvm/compiler/graph/NodeInputList;
aload 6
invokevirtual org.graalvm.compiler.nodes.java.MethodCallTargetNode.arguments:()Lorg/graalvm/compiler/graph/NodeInputList;
invokevirtual org.graalvm.compiler.graph.NodeInputList.size:()I
anewarray org.graalvm.compiler.nodes.ValueNode
invokevirtual org.graalvm.compiler.graph.NodeInputList.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
checkcast org.graalvm.compiler.nodes.ValueNode[]
astore 16
start local 16 21: aload 16
iconst_0
aload 15
aastore
22: new org.graalvm.compiler.nodes.java.MethodCallTargetNode
dup
aload 13
aload 8
aload 16
aload 6
getfield org.graalvm.compiler.nodes.java.MethodCallTargetNode.returnStamp:Lorg/graalvm/compiler/core/common/type/StampPair;
aload 2
invokespecial org.graalvm.compiler.nodes.java.MethodCallTargetNode.<init>:(Lorg/graalvm/compiler/nodes/CallTargetNode$InvokeKind;Ljdk/vm/ci/meta/ResolvedJavaMethod;[Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/core/common/type/StampPair;Ljdk/vm/ci/meta/JavaTypeProfile;)V
astore 14
end local 16 23: StackMap locals:
StackMap stack:
aload 14
areturn
end local 15 end local 14 end local 13 end local 12 end local 11 end local 10 end local 9 end local 8 24: StackMap locals: org.graalvm.compiler.nodes.ValueNode jdk.vm.ci.meta.ResolvedJavaMethod jdk.vm.ci.meta.JavaTypeProfile jdk.vm.ci.meta.ResolvedJavaType org.graalvm.compiler.core.common.type.TypeReference org.graalvm.compiler.nodes.FixedNode org.graalvm.compiler.nodes.java.MethodCallTargetNode jdk.vm.ci.meta.ResolvedJavaType
StackMap stack:
aconst_null
areturn
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 25 0 receiver Lorg/graalvm/compiler/nodes/ValueNode;
0 25 1 targetMethod Ljdk/vm/ci/meta/ResolvedJavaMethod;
0 25 2 profile Ljdk/vm/ci/meta/JavaTypeProfile;
0 25 3 contextType Ljdk/vm/ci/meta/ResolvedJavaType;
0 25 4 speculatedType Lorg/graalvm/compiler/core/common/type/TypeReference;
0 25 5 insertionPoint Lorg/graalvm/compiler/nodes/FixedNode;
0 25 6 callTarget Lorg/graalvm/compiler/nodes/java/MethodCallTargetNode;
1 25 7 singleImplementor Ljdk/vm/ci/meta/ResolvedJavaType;
3 24 8 singleImplementorMethod Ljdk/vm/ci/meta/ResolvedJavaMethod;
5 24 9 graph Lorg/graalvm/compiler/nodes/StructuredGraph;
6 24 10 anchor Lorg/graalvm/compiler/nodes/extended/AnchoringNode;
7 24 11 condition Lorg/graalvm/compiler/nodes/LogicNode;
8 24 12 guard Lorg/graalvm/compiler/nodes/FixedGuardNode;
11 12 13 invokeKind Lorg/graalvm/compiler/nodes/CallTargetNode$InvokeKind;
13 24 13 invokeKind Lorg/graalvm/compiler/nodes/CallTargetNode$InvokeKind;
14 24 14 callTargetResult Lorg/graalvm/compiler/nodes/java/MethodCallTargetNode;
15 24 15 valueNode Lorg/graalvm/compiler/nodes/ValueNode;
21 23 16 arguments [Lorg/graalvm/compiler/nodes/ValueNode;
MethodParameters:
Name Flags
receiver
targetMethod
profile
contextType
speculatedType
insertionPoint
callTarget
public jdk.vm.ci.meta.JavaTypeProfile getProfile();
descriptor: ()Ljdk/vm/ci/meta/JavaTypeProfile;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.graalvm.compiler.nodes.java.MethodCallTargetNode.profile:Ljdk/vm/ci/meta/JavaTypeProfile;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/graalvm/compiler/nodes/java/MethodCallTargetNode;
public java.lang.String targetName();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual org.graalvm.compiler.nodes.java.MethodCallTargetNode.targetMethod:()Ljdk/vm/ci/meta/ResolvedJavaMethod;
ifnonnull 2
1: ldc "??Invalid!"
areturn
2: StackMap locals:
StackMap stack:
aload 0
invokevirtual org.graalvm.compiler.nodes.java.MethodCallTargetNode.targetMethod:()Ljdk/vm/ci/meta/ResolvedJavaMethod;
ldc "%h.%n"
invokeinterface jdk.vm.ci.meta.ResolvedJavaMethod.format:(Ljava/lang/String;)Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/graalvm/compiler/nodes/java/MethodCallTargetNode;
public static org.graalvm.compiler.nodes.java.MethodCallTargetNode find(org.graalvm.compiler.nodes.StructuredGraph, jdk.vm.ci.meta.ResolvedJavaMethod);
descriptor: (Lorg/graalvm/compiler/nodes/StructuredGraph;Ljdk/vm/ci/meta/ResolvedJavaMethod;)Lorg/graalvm/compiler/nodes/java/MethodCallTargetNode;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=4, args_size=2
start local 0 start local 1 0: aload 0
getstatic org.graalvm.compiler.nodes.java.MethodCallTargetNode.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.iterator:()Ljava/util/Iterator;
astore 3
goto 4
StackMap locals: org.graalvm.compiler.nodes.StructuredGraph jdk.vm.ci.meta.ResolvedJavaMethod top java.util.Iterator
StackMap stack:
1: aload 3
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.graalvm.compiler.nodes.java.MethodCallTargetNode
astore 2
start local 2 2: aload 2
invokevirtual org.graalvm.compiler.nodes.java.MethodCallTargetNode.targetMethod:()Ljdk/vm/ci/meta/ResolvedJavaMethod;
aload 1
invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
ifeq 4
3: aload 2
areturn
end local 2 4: StackMap locals:
StackMap stack:
aload 3
invokeinterface java.util.Iterator.hasNext:()Z
ifne 1
5: aconst_null
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 graph Lorg/graalvm/compiler/nodes/StructuredGraph;
0 6 1 method Ljdk/vm/ci/meta/ResolvedJavaMethod;
2 4 2 target Lorg/graalvm/compiler/nodes/java/MethodCallTargetNode;
MethodParameters:
Name Flags
graph
method
public void setJavaTypeProfile(jdk.vm.ci.meta.JavaTypeProfile);
descriptor: (Ljdk/vm/ci/meta/JavaTypeProfile;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
putfield org.graalvm.compiler.nodes.java.MethodCallTargetNode.profile:Ljdk/vm/ci/meta/JavaTypeProfile;
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/graalvm/compiler/nodes/java/MethodCallTargetNode;
0 2 1 profile Ljdk/vm/ci/meta/JavaTypeProfile;
MethodParameters:
Name Flags
profile
}
SourceFile: "MethodCallTargetNode.java"
InnerClasses:
public AssumptionResult = jdk.vm.ci.meta.Assumptions$AssumptionResult of jdk.vm.ci.meta.Assumptions
public final InvokeKind = org.graalvm.compiler.nodes.CallTargetNode$InvokeKind of org.graalvm.compiler.nodes.CallTargetNode
RuntimeVisibleAnnotations:
org.graalvm.compiler.nodeinfo.NodeInfo()