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 org.graalvm.compiler.nodes.Invoke invoke();
descriptor: ()Lorg/graalvm/compiler/nodes/Invoke;
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.usages:()Lorg/graalvm/compiler/graph/iterators/NodeIterable;
invokeinterface org.graalvm.compiler.graph.iterators.NodeIterable.first:()Lorg/graalvm/compiler/graph/Node;
checkcast org.graalvm.compiler.nodes.Invoke
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=4, locals=10, 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
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;
astore 4
start local 4 13: aload 0
invokevirtual org.graalvm.compiler.nodes.java.MethodCallTargetNode.invokeKind:()Lorg/graalvm/compiler/nodes/CallTargetNode$InvokeKind;
invokevirtual org.graalvm.compiler.nodes.CallTargetNode$InvokeKind.isIndirect:()Z
ifeq 29
aload 0
invokevirtual org.graalvm.compiler.nodes.java.MethodCallTargetNode.invokeKind:()Lorg/graalvm/compiler/nodes/CallTargetNode$InvokeKind;
invokevirtual org.graalvm.compiler.nodes.CallTargetNode$InvokeKind.isInterface:()Z
ifeq 29
aload 4
ifnull 29
14: aload 0
invokevirtual org.graalvm.compiler.nodes.java.MethodCallTargetNode.receiver:()Lorg/graalvm/compiler/nodes/ValueNode;
astore 5
start local 5 15: aload 0
invokevirtual org.graalvm.compiler.nodes.java.MethodCallTargetNode.targetMethod:()Ljdk/vm/ci/meta/ResolvedJavaMethod;
invokeinterface jdk.vm.ci.meta.ResolvedJavaMethod.getDeclaringClass:()Ljdk/vm/ci/meta/ResolvedJavaType;
astore 6
start local 6 16: aload 6
invokeinterface jdk.vm.ci.meta.ResolvedJavaType.isInterface:()Z
ifeq 22
17: aload 6
invokeinterface jdk.vm.ci.meta.ResolvedJavaType.getSingleImplementor:()Ljdk/vm/ci/meta/ResolvedJavaType;
astore 7
start local 7 18: aload 7
ifnull 22
aload 7
aload 6
invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
ifne 22
19: aload 4
aload 7
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 8
start local 8 20: aload 0
aload 5
aload 8
invokevirtual org.graalvm.compiler.nodes.java.MethodCallTargetNode.tryCheckCastSingleImplementor:(Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/core/common/type/TypeReference;)Z
ifeq 22
21: return
end local 8 end local 7 22: StackMap locals: jdk.vm.ci.meta.Assumptions org.graalvm.compiler.nodes.ValueNode jdk.vm.ci.meta.ResolvedJavaType
StackMap stack:
aload 5
instanceof org.graalvm.compiler.nodes.spi.UncheckedInterfaceProvider
ifeq 29
23: aload 5
checkcast org.graalvm.compiler.nodes.spi.UncheckedInterfaceProvider
astore 7
start local 7 24: aload 7
invokeinterface org.graalvm.compiler.nodes.spi.UncheckedInterfaceProvider.uncheckedStamp:()Lorg/graalvm/compiler/core/common/type/Stamp;
astore 8
start local 8 25: aload 8
ifnull 29
26: aload 8
invokestatic org.graalvm.compiler.nodes.type.StampTool.typeReferenceOrNull:(Lorg/graalvm/compiler/core/common/type/Stamp;)Lorg/graalvm/compiler/core/common/type/TypeReference;
astore 9
start local 9 27: aload 9
ifnull 29
28: aload 0
aload 5
aload 9
invokevirtual org.graalvm.compiler.nodes.java.MethodCallTargetNode.tryCheckCastSingleImplementor:(Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/core/common/type/TypeReference;)Z
pop
end local 9 end local 8 end local 7 end local 6 end local 5 29: StackMap locals:
StackMap stack:
return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 30 0 this Lorg/graalvm/compiler/nodes/java/MethodCallTargetNode;
0 30 1 tool Lorg/graalvm/compiler/graph/spi/SimplifierTool;
7 30 2 contextType Ljdk/vm/ci/meta/ResolvedJavaType;
8 30 3 specialCallTarget Ljdk/vm/ci/meta/ResolvedJavaMethod;
13 30 4 assumptions Ljdk/vm/ci/meta/Assumptions;
15 29 5 receiver Lorg/graalvm/compiler/nodes/ValueNode;
16 29 6 declaredReceiverType Ljdk/vm/ci/meta/ResolvedJavaType;
18 22 7 singleImplementor Ljdk/vm/ci/meta/ResolvedJavaType;
20 22 8 speculatedType Lorg/graalvm/compiler/core/common/type/TypeReference;
24 29 7 uncheckedInterfaceProvider Lorg/graalvm/compiler/nodes/spi/UncheckedInterfaceProvider;
25 29 8 uncheckedStamp Lorg/graalvm/compiler/core/common/type/Stamp;
27 29 9 speculatedType Lorg/graalvm/compiler/core/common/type/TypeReference;
MethodParameters:
Name Flags
tool
private boolean tryCheckCastSingleImplementor(org.graalvm.compiler.nodes.ValueNode, org.graalvm.compiler.core.common.type.TypeReference);
descriptor: (Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/core/common/type/TypeReference;)Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=7, locals=9, args_size=3
start local 0 start local 1 start local 2 0: aload 2
invokevirtual org.graalvm.compiler.core.common.type.TypeReference.getType:()Ljdk/vm/ci/meta/ResolvedJavaType;
astore 3
start local 3 1: aload 3
ifnull 19
2: aload 3
aload 0
invokevirtual org.graalvm.compiler.nodes.java.MethodCallTargetNode.targetMethod:()Ljdk/vm/ci/meta/ResolvedJavaMethod;
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;
invokeinterface jdk.vm.ci.meta.ResolvedJavaType.resolveConcreteMethod:(Ljdk/vm/ci/meta/ResolvedJavaMethod;Ljdk/vm/ci/meta/ResolvedJavaType;)Ljdk/vm/ci/meta/ResolvedJavaMethod;
astore 4
start local 4 3: aload 4
ifnull 19
4: new org.graalvm.compiler.nodes.extended.ValueAnchorNode
dup
aconst_null
invokespecial org.graalvm.compiler.nodes.extended.ValueAnchorNode.<init>:(Lorg/graalvm/compiler/nodes/ValueNode;)V
astore 5
start local 5 5: aload 5
ifnull 8
6: aload 0
invokevirtual org.graalvm.compiler.nodes.java.MethodCallTargetNode.graph:()Lorg/graalvm/compiler/nodes/StructuredGraph;
aload 5
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.add:(Lorg/graalvm/compiler/graph/Node;)Lorg/graalvm/compiler/graph/Node;
pop
7: aload 0
invokevirtual org.graalvm.compiler.nodes.java.MethodCallTargetNode.graph:()Lorg/graalvm/compiler/nodes/StructuredGraph;
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;
aload 5
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.addBeforeFixed:(Lorg/graalvm/compiler/nodes/FixedNode;Lorg/graalvm/compiler/nodes/FixedWithNextNode;)V
8: StackMap locals: jdk.vm.ci.meta.ResolvedJavaType jdk.vm.ci.meta.ResolvedJavaMethod org.graalvm.compiler.nodes.extended.ValueAnchorNode
StackMap stack:
aload 0
invokevirtual org.graalvm.compiler.nodes.java.MethodCallTargetNode.graph:()Lorg/graalvm/compiler/nodes/StructuredGraph;
aload 2
aload 1
aload 0
invokevirtual org.graalvm.compiler.nodes.java.MethodCallTargetNode.getProfile:()Ljdk/vm/ci/meta/JavaTypeProfile;
aload 5
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 6
start local 6 9: aload 0
invokevirtual org.graalvm.compiler.nodes.java.MethodCallTargetNode.graph:()Lorg/graalvm/compiler/nodes/StructuredGraph;
new org.graalvm.compiler.nodes.FixedGuardNode
dup
aload 6
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 7
start local 7 10: aload 0
invokevirtual org.graalvm.compiler.nodes.java.MethodCallTargetNode.graph:()Lorg/graalvm/compiler/nodes/StructuredGraph;
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;
aload 7
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.addBeforeFixed:(Lorg/graalvm/compiler/nodes/FixedNode;Lorg/graalvm/compiler/nodes/FixedWithNextNode;)V
11: aload 0
invokevirtual org.graalvm.compiler.nodes.java.MethodCallTargetNode.graph:()Lorg/graalvm/compiler/nodes/StructuredGraph;
new org.graalvm.compiler.nodes.PiNode
dup
aload 1
aload 2
invokestatic org.graalvm.compiler.core.common.type.StampFactory.objectNonNull:(Lorg/graalvm/compiler/core/common/type/TypeReference;)Lorg/graalvm/compiler/core/common/type/ObjectStamp;
aload 7
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 8
start local 8 12: aload 0
invokevirtual org.graalvm.compiler.nodes.java.MethodCallTargetNode.arguments:()Lorg/graalvm/compiler/graph/NodeInputList;
iconst_0
aload 8
invokevirtual org.graalvm.compiler.graph.NodeInputList.set:(ILorg/graalvm/compiler/graph/Node;)Lorg/graalvm/compiler/graph/Node;
pop
13: aload 2
invokevirtual org.graalvm.compiler.core.common.type.TypeReference.isExact:()Z
ifeq 16
14: 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
15: goto 17
16: StackMap locals: org.graalvm.compiler.nodes.LogicNode org.graalvm.compiler.nodes.FixedGuardNode org.graalvm.compiler.nodes.ValueNode
StackMap stack:
aload 0
getstatic org.graalvm.compiler.nodes.CallTargetNode$InvokeKind.Virtual:Lorg/graalvm/compiler/nodes/CallTargetNode$InvokeKind;
invokevirtual org.graalvm.compiler.nodes.java.MethodCallTargetNode.setInvokeKind:(Lorg/graalvm/compiler/nodes/CallTargetNode$InvokeKind;)V
17: StackMap locals:
StackMap stack:
aload 0
aload 4
invokevirtual org.graalvm.compiler.nodes.java.MethodCallTargetNode.setTargetMethod:(Ljdk/vm/ci/meta/ResolvedJavaMethod;)V
18: iconst_1
ireturn
end local 8 end local 7 end local 6 end local 5 end local 4 19: StackMap locals: org.graalvm.compiler.nodes.java.MethodCallTargetNode org.graalvm.compiler.nodes.ValueNode org.graalvm.compiler.core.common.type.TypeReference jdk.vm.ci.meta.ResolvedJavaType
StackMap stack:
iconst_0
ireturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 20 0 this Lorg/graalvm/compiler/nodes/java/MethodCallTargetNode;
0 20 1 receiver Lorg/graalvm/compiler/nodes/ValueNode;
0 20 2 speculatedType Lorg/graalvm/compiler/core/common/type/TypeReference;
1 20 3 singleImplementor Ljdk/vm/ci/meta/ResolvedJavaType;
3 19 4 singleImplementorMethod Ljdk/vm/ci/meta/ResolvedJavaMethod;
5 19 5 anchor Lorg/graalvm/compiler/nodes/extended/ValueAnchorNode;
9 19 6 condition Lorg/graalvm/compiler/nodes/LogicNode;
10 19 7 guard Lorg/graalvm/compiler/nodes/FixedGuardNode;
12 19 8 valueNode Lorg/graalvm/compiler/nodes/ValueNode;
MethodParameters:
Name Flags
receiver
speculatedType
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
}
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()