Mercurial > hg > graal-compiler
changeset 16566:c82000597867
Add getInvokeKind on Invoke, add hasReceiver on InvokeKind
author | Gilles Duboscq <duboscq@ssw.jku.at> |
---|---|
date | Mon, 14 Jul 2014 14:49:00 +0200 |
parents | 2b63e51e7789 |
children | 164b644daa83 |
files | graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/CallTargetNode.java graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/Invoke.java |
diffstat | 2 files changed, 11 insertions(+), 1 deletions(-) [+] |
line wrap: on
line diff
--- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/CallTargetNode.java Mon Jul 14 14:17:33 2014 +0200 +++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/CallTargetNode.java Mon Jul 14 14:49:00 2014 +0200 @@ -35,7 +35,11 @@ Interface, Special, Static, - Virtual + Virtual; + + public boolean hasReceiver() { + return this != Static; + } } @Input private final NodeInputList<ValueNode> arguments;
--- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/Invoke.java Mon Jul 14 14:17:33 2014 +0200 +++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/Invoke.java Mon Jul 14 14:49:00 2014 +0200 @@ -24,6 +24,7 @@ import com.oracle.graal.api.meta.*; import com.oracle.graal.graph.*; +import com.oracle.graal.nodes.CallTargetNode.*; import com.oracle.graal.nodes.extended.*; import com.oracle.graal.nodes.java.*; import com.oracle.graal.nodes.spi.*; @@ -89,6 +90,7 @@ } default ValueNode getReceiver() { + assert getInvokeKind().hasReceiver(); return callTarget().arguments().get(0); } @@ -99,4 +101,8 @@ } return receiverType; } + + default InvokeKind getInvokeKind() { + return callTarget().invokeKind(); + } }