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