Mercurial > hg > truffle
changeset 5836:27ae0d45fd8a
Disable read canoncialization until we have a viable solution for non-object oops
author | Gilles Duboscq <duboscq@ssw.jku.at> |
---|---|
date | Fri, 13 Jul 2012 17:43:11 +0200 |
parents | 717de5468bf3 |
children | 5fcd8ae3e64a |
files | graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/extended/FloatingReadNode.java graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/extended/ReadNode.java |
diffstat | 2 files changed, 9 insertions(+), 6 deletions(-) [+] |
line wrap: on
line diff
--- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/extended/FloatingReadNode.java Fri Jul 13 15:51:38 2012 +0200 +++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/extended/FloatingReadNode.java Fri Jul 13 17:43:11 2012 +0200 @@ -33,7 +33,7 @@ * A floating read of a value from memory specified in terms of an object base and an object relative location. * This node does not null check the object. */ -public final class FloatingReadNode extends FloatingAccessNode implements Node.IterableNodeType, LIRLowerable, Canonicalizable { +public final class FloatingReadNode extends FloatingAccessNode implements Node.IterableNodeType, LIRLowerable/*, Canonicalizable*/ { @Input private Node lastLocationAccess; @@ -56,8 +56,9 @@ gen.setResult(this, gen.emitLoad(gen.makeAddress(location(), object()), getNullCheck())); } - @Override + // Canonicalization disabled untill we have a solution for non-Object oops in Hotspot + /*@Override public ValueNode canonical(CanonicalizerTool tool) { return ReadNode.canonicalizeRead(this, tool); - } + }*/ }
--- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/extended/ReadNode.java Fri Jul 13 15:51:38 2012 +0200 +++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/extended/ReadNode.java Fri Jul 13 17:43:11 2012 +0200 @@ -29,7 +29,7 @@ import com.oracle.graal.nodes.type.*; -public final class ReadNode extends AccessNode implements Node.IterableNodeType, LIRLowerable, Canonicalizable { +public final class ReadNode extends AccessNode implements Node.IterableNodeType, LIRLowerable/*, Canonicalizable*/ { public ReadNode(ValueNode object, LocationNode location, Stamp stamp) { super(object, location, stamp); @@ -40,10 +40,11 @@ gen.setResult(this, gen.emitLoad(gen.makeAddress(location(), object()), getNullCheck())); } - @Override + // Canonicalization disabled untill we have a solution for non-Object oops in Hotspot + /*@Override public ValueNode canonical(CanonicalizerTool tool) { return canonicalizeRead(this, tool); - } + }*/ public static ValueNode canonicalizeRead(Access read, CanonicalizerTool tool) { MetaAccessProvider runtime = tool.runtime(); @@ -54,6 +55,7 @@ Kind kind = read.location().getValueKind(); Constant constant = kind.readUnsafeConstant(value, displacement); if (constant != null) { + System.out.println("Canon read to " + constant); return ConstantNode.forConstant(constant, runtime, read.node().graph()); } }