Mercurial > hg > truffle
changeset 4595:82fc1c96f705
Merge
author | Christian Haeubl <christian.haeubl@oracle.com> |
---|---|
date | Tue, 14 Feb 2012 14:00:23 -0800 |
parents | eb6df44a1374 (current diff) 1827e00c87b9 (diff) |
children | 6845b56f7ce0 |
files | graal/com.oracle.max.graal.nodes/src/com/oracle/max/graal/nodes/java/MethodCallTargetNode.java |
diffstat | 1 files changed, 2 insertions(+), 8 deletions(-) [+] |
line wrap: on
line diff
--- a/graal/com.oracle.max.graal.nodes/src/com/oracle/max/graal/nodes/java/MethodCallTargetNode.java Tue Feb 14 13:53:25 2012 -0800 +++ b/graal/com.oracle.max.graal.nodes/src/com/oracle/max/graal/nodes/java/MethodCallTargetNode.java Tue Feb 14 14:00:23 2012 -0800 @@ -133,16 +133,10 @@ if (!isStatic()) { ValueNode receiver = receiver(); if (receiver != null && receiver.exactType() != null) { - if (invokeKind == InvokeKind.Interface) { + if (invokeKind == InvokeKind.Interface || invokeKind == InvokeKind.Virtual) { RiResolvedMethod method = receiver.exactType().resolveMethodImpl(targetMethod); if (method != null) { - invokeKind = InvokeKind.Virtual; - targetMethod = method; - } - } - if (receiver.isConstant() && invokeKind == InvokeKind.Virtual) { - RiResolvedMethod method = receiver.exactType().resolveMethodImpl(targetMethod); - if (method != null) { + invokeKind = InvokeKind.Special; targetMethod = method; }