changeset 7038:742ec0f04559

PEA: remove shouldRevirtualize logic
author Lukas Stadler <lukas.stadler@jku.at>
date Tue, 27 Nov 2012 11:51:13 +0100
parents 52c88c405d07
children adf5c101bc4b
files graal/com.oracle.graal.virtual/src/com/oracle/graal/virtual/nodes/MaterializeObjectNode.java
diffstat 1 files changed, 1 insertions(+), 41 deletions(-) [+]
line wrap: on
line diff
--- a/graal/com.oracle.graal.virtual/src/com/oracle/graal/virtual/nodes/MaterializeObjectNode.java	Mon Nov 26 19:30:54 2012 -0800
+++ b/graal/com.oracle.graal.virtual/src/com/oracle/graal/virtual/nodes/MaterializeObjectNode.java	Tue Nov 27 11:51:13 2012 +0100
@@ -102,46 +102,6 @@
 
     @Override
     public ObjectDesc[] getAllocations(long nextVirtualId, MetaAccessProvider metaAccess) {
-        if (shouldRevirtualize(this)) {
-            return new ObjectDesc[] {new ObjectDesc(virtualObject, values.toArray(new ValueNode[values.size()]), lockCount)};
-        }
-        return null;
-    }
-
-    private boolean shouldRevirtualize(MaterializeObjectNode materializeObjectNode) {
-        FixedWithNextNode end = materializeObjectNode;
-        do {
-            Node next = end.next();
-            if (next instanceof MaterializeObjectNode) {
-                if (!shouldRevirtualize((MaterializeObjectNode) next)) {
-                    return false;
-                }
-                end = (FixedWithNextNode) next;
-            } else if (next instanceof CyclicMaterializeStoreNode) {
-                end = (FixedWithNextNode) next;
-            } else {
-                break;
-            }
-        } while (true);
-        FixedNode suffix = end.next();
-        if (suffix instanceof EndNode) {
-            for (PhiNode phi : ((EndNode) suffix).merge().phis()) {
-                int materialized = 0;
-                boolean used = false;
-                for (Node input : phi.inputs()) {
-                    if (input instanceof MaterializeObjectNode) {
-                        materialized++;
-                    }
-                    if (input == materializeObjectNode) {
-                        used = true;
-                    }
-                }
-                if (used && materialized != phi.valueCount()) {
-                    return false;
-                }
-            }
-        }
-
-        return true;
+        return new ObjectDesc[] {new ObjectDesc(virtualObject, values.toArray(new ValueNode[values.size()]), lockCount)};
     }
 }