# HG changeset patch # User Gilles Duboscq # Date 1342194191 -7200 # Node ID 27ae0d45fd8a5c4943fe62226d9f3f240b9376e2 # Parent 717de5468bf33c9ba88a0f803f9a39e7bc1d0f01 Disable read canoncialization until we have a viable solution for non-object oops diff -r 717de5468bf3 -r 27ae0d45fd8a graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/extended/FloatingReadNode.java --- 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); - } + }*/ } diff -r 717de5468bf3 -r 27ae0d45fd8a graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/extended/ReadNode.java --- 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()); } }