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;
                     }