Mercurial > hg > graal-compiler
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)}; } }