Mercurial > hg > graal-compiler
diff graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/java/MethodCallTargetNode.java @ 22037:0571d4a8d7cc
Remove type profile proxy node.
author | Thomas Wuerthinger <thomas.wuerthinger@oracle.com> |
---|---|
date | Sat, 20 Jun 2015 01:29:17 +0200 |
parents | a7a1b9b65bce |
children | 0e095e2c24e2 |
line wrap: on
line diff
--- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/java/MethodCallTargetNode.java Fri Jun 19 15:18:18 2015 +0200 +++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/java/MethodCallTargetNode.java Sat Jun 20 01:29:17 2015 +0200 @@ -37,14 +37,17 @@ public class MethodCallTargetNode extends CallTargetNode implements IterableNodeType, Simplifiable { public static final NodeClass<MethodCallTargetNode> TYPE = NodeClass.create(MethodCallTargetNode.class); protected final JavaType returnType; + protected JavaTypeProfile profile; - public MethodCallTargetNode(InvokeKind invokeKind, ResolvedJavaMethod targetMethod, ValueNode[] arguments, JavaType returnType) { - this(TYPE, invokeKind, targetMethod, arguments, returnType); + public MethodCallTargetNode(InvokeKind invokeKind, ResolvedJavaMethod targetMethod, ValueNode[] arguments, JavaType returnType, JavaTypeProfile profile) { + this(TYPE, invokeKind, targetMethod, arguments, returnType, profile); } - protected MethodCallTargetNode(NodeClass<? extends MethodCallTargetNode> c, InvokeKind invokeKind, ResolvedJavaMethod targetMethod, ValueNode[] arguments, JavaType returnType) { + protected MethodCallTargetNode(NodeClass<? extends MethodCallTargetNode> c, InvokeKind invokeKind, ResolvedJavaMethod targetMethod, ValueNode[] arguments, JavaType returnType, + JavaTypeProfile profile) { super(c, arguments, targetMethod, invokeKind); this.returnType = returnType; + this.profile = profile; } /** @@ -226,15 +229,8 @@ } } - private JavaTypeProfile getProfile() { - assert !isStatic(); - if (receiver() instanceof TypeProfileProxyNode) { - // get profile from TypeProfileProxy - return ((TypeProfileProxyNode) receiver()).getProfile(); - } - // get profile from invoke() - ProfilingInfo profilingInfo = invoke().getContextMethod().getProfilingInfo(); - return profilingInfo.getTypeProfile(invoke().bci()); + public JavaTypeProfile getProfile() { + return profile; } @Override