diff graal/com.oracle.max.cri/src/com/sun/cri/ci/CiRegisterValue.java @ 4169:f5328dda9714

Initial commit of SSA-based spill-all register assignment
author Christian Wimmer <Christian.Wimmer@Oracle.com>
date Wed, 28 Dec 2011 18:13:25 -0800
parents bc8527f3071c
children de7b3e7ae528
line wrap: on
line diff
--- a/graal/com.oracle.max.cri/src/com/sun/cri/ci/CiRegisterValue.java	Wed Dec 28 18:12:08 2011 -0800
+++ b/graal/com.oracle.max.cri/src/com/sun/cri/ci/CiRegisterValue.java	Wed Dec 28 18:13:25 2011 -0800
@@ -28,12 +28,9 @@
  * retrieve the canonical {@link CiRegisterValue} instance for a given (register,kind) pair.
  */
 public final class CiRegisterValue extends CiValue {
+    private static final long serialVersionUID = 7999341472196897163L;
 
     /**
-     * 
-     */
-    private static final long serialVersionUID = 7999341472196897163L;
-    /**
      * The register.
      */
     public final CiRegister reg;
@@ -41,14 +38,14 @@
     /**
      * Should only be called from {@link CiRegister#CiRegister} to ensure canonicalization.
      */
-    CiRegisterValue(CiKind kind, CiRegister register) {
+    protected CiRegisterValue(CiKind kind, CiRegister register) {
         super(kind);
         this.reg = register;
     }
 
     @Override
     public int hashCode() {
-        return kind.ordinal() ^ reg.number;
+        return (reg.number << 4) ^ kind.ordinal();
     }
 
     @Override
@@ -65,8 +62,8 @@
     }
 
     @Override
-    public String name() {
-        return reg.name;
+    public String toString() {
+        return reg.name + kindSuffix();
     }
 
     @Override