Mercurial > hg > graal-compiler
changeset 15976:1dcc7ae72723
InvokeNode: getAnnotation is dangerous
author | Gilles Duboscq <duboscq@ssw.jku.at> |
---|---|
date | Mon, 26 May 2014 13:43:26 +0200 |
parents | 0ad889977080 |
children | eff84c561a95 |
files | graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/InvokeNode.java |
diffstat | 1 files changed, 7 insertions(+), 4 deletions(-) [+] |
line wrap: on
line diff
--- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/InvokeNode.java Thu May 29 14:44:43 2014 +0200 +++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/InvokeNode.java Mon May 26 13:43:26 2014 +0200 @@ -96,12 +96,15 @@ @Override public boolean isAllowedUsageType(InputType type) { - if (getKind() != Kind.Void) { - if (callTarget instanceof MethodCallTargetNode && ((MethodCallTargetNode) callTarget).targetMethod().getAnnotation(NodeIntrinsic.class) != null) { - return true; + if (!super.isAllowedUsageType(type)) { + if (getKind() != Kind.Void) { + if (callTarget instanceof MethodCallTargetNode && ((MethodCallTargetNode) callTarget).targetMethod().getAnnotation(NodeIntrinsic.class) != null) { + return true; + } } + return false; } - return super.isAllowedUsageType(type); + return true; } @Override