changeset 14563:82e4fe6fa525

Remove all references to NarrowOop from VM independent code.
author Roland Schatz <roland.schatz@oracle.com>
date Mon, 17 Mar 2014 13:08:32 +0100
parents 45812e05cdb3
children b1dded9c748a
files graal/com.oracle.graal.amd64/src/com/oracle/graal/amd64/AMD64.java graal/com.oracle.graal.api.code/src/com/oracle/graal/api/code/Architecture.java graal/com.oracle.graal.api.meta/src/com/oracle/graal/api/meta/Constant.java graal/com.oracle.graal.api.meta/src/com/oracle/graal/api/meta/Kind.java graal/com.oracle.graal.asm.hsail/src/com/oracle/graal/asm/hsail/HSAILAssembler.java graal/com.oracle.graal.hotspot.amd64/src/com/oracle/graal/hotspot/amd64/AMD64HotSpotLIRGenerator.java graal/com.oracle.graal.hotspot.hsail/src/com/oracle/graal/hotspot/hsail/HSAILHotSpotLIRGenerator.java graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/type/NarrowOopStamp.java graal/com.oracle.graal.hsail/src/com/oracle/graal/hsail/HSAIL.java graal/com.oracle.graal.hsail/src/com/oracle/graal/hsail/HSAILRegisterConfig.java graal/com.oracle.graal.lir.hsail/src/com/oracle/graal/lir/hsail/HSAILMove.java graal/com.oracle.graal.sparc/src/com/oracle/graal/sparc/SPARC.java
diffstat 12 files changed, 11 insertions(+), 48 deletions(-) [+]
line wrap: on
line diff
--- a/graal/com.oracle.graal.amd64/src/com/oracle/graal/amd64/AMD64.java	Mon Mar 17 12:07:49 2014 +0100
+++ b/graal/com.oracle.graal.amd64/src/com/oracle/graal/amd64/AMD64.java	Mon Mar 17 13:08:32 2014 +0100
@@ -146,7 +146,6 @@
                 case Short:
                 case Int:
                 case Long:
-                case NarrowOop:
                 case Object:
                     return true;
             }
--- a/graal/com.oracle.graal.api.code/src/com/oracle/graal/api/code/Architecture.java	Mon Mar 17 12:07:49 2014 +0100
+++ b/graal/com.oracle.graal.api.code/src/com/oracle/graal/api/code/Architecture.java	Mon Mar 17 13:08:32 2014 +0100
@@ -198,8 +198,6 @@
                 return 8;
             case Object:
                 return wordSize;
-            case NarrowOop:
-                return wordSize / 2;
             default:
                 return 0;
         }
--- a/graal/com.oracle.graal.api.meta/src/com/oracle/graal/api/meta/Constant.java	Mon Mar 17 12:07:49 2014 +0100
+++ b/graal/com.oracle.graal.api.meta/src/com/oracle/graal/api/meta/Constant.java	Mon Mar 17 13:08:32 2014 +0100
@@ -159,7 +159,6 @@
             case Double:
                 return asDouble();
             case Object:
-            case NarrowOop:
                 return object;
             case Illegal:
                 return this;
@@ -172,7 +171,7 @@
         if (!ignoreKind && getKind() != other.getKind()) {
             return false;
         }
-        if (getKind() == Kind.Object || getKind() == Kind.NarrowOop) {
+        if (getKind() == Kind.Object) {
             return object == other.object;
         }
         return primitive == other.primitive && getPrimitiveAnnotation() == other.getPrimitiveAnnotation();
@@ -235,12 +234,12 @@
 
     /**
      * Returns the object reference this constant represents. The constant must have kind
-     * {@link Kind#Object} or {@link Kind#NarrowOop}.
+     * {@link Kind#Object}.
      * 
      * @return the constant value
      */
     public Object asObject() {
-        assert getKind() == Kind.Object || getKind() == Kind.NarrowOop;
+        assert getKind() == Kind.Object;
         return object;
     }
 
@@ -250,7 +249,7 @@
      * @return null if this constant is not primitive or has no annotation
      */
     public Object getPrimitiveAnnotation() {
-        return getKind() == Kind.Object || getKind() == Kind.NarrowOop ? null : object;
+        return getKind() == Kind.Object ? null : object;
     }
 
     /**
@@ -260,7 +259,7 @@
      */
     @Override
     public int hashCode() {
-        if (getKind() == Kind.Object || getKind() == Kind.NarrowOop) {
+        if (getKind() == Kind.Object) {
             return System.identityHashCode(object);
         }
         return (int) primitive * getKind().ordinal();
@@ -394,16 +393,6 @@
     }
 
     /**
-     * Creates a boxed narrow oop constant.
-     * 
-     * @param o the object value to box
-     * @return a boxed copy of {@code value}
-     */
-    public static Constant forNarrowOop(Object o) {
-        return new Constant(Kind.NarrowOop, o, 0L);
-    }
-
-    /**
      * Creates an annotated int or long constant. An annotation enables a client to associate some
      * extra semantic or debugging information with a primitive. An annotated primitive constant is
      * never {@linkplain #equals(Object) equal} to a non-annotated constant.
@@ -463,8 +452,6 @@
                 return forDouble((Double) value);
             case Object:
                 return forObject(value);
-            case NarrowOop:
-                return forNarrowOop(value);
             default:
                 throw new RuntimeException("cannot create Constant for boxed " + kind + " value");
         }
@@ -497,8 +484,6 @@
                 return LONG_0;
             case Object:
                 return NULL_OBJECT;
-            case NarrowOop:
-                return forNarrowOop(null);
             default:
                 throw new IllegalArgumentException(kind.toString());
         }
--- a/graal/com.oracle.graal.api.meta/src/com/oracle/graal/api/meta/Kind.java	Mon Mar 17 12:07:49 2014 +0100
+++ b/graal/com.oracle.graal.api.meta/src/com/oracle/graal/api/meta/Kind.java	Mon Mar 17 13:08:32 2014 +0100
@@ -57,9 +57,6 @@
     /** The Object kind, also used for arrays. */
     Object('a', "Object", false, null, null),
 
-    /** The narrow oop kind. */
-    NarrowOop('n', "NarrowOop", false, null, null),
-
     /** The void float kind. */
     Void('v', "void", false, java.lang.Void.TYPE, java.lang.Void.class),
 
@@ -149,10 +146,10 @@
     /**
      * Checks whether this represent an Object of some sort.
      * 
-     * @return {@code true} if this is {@link #Object} or {@link #NarrowOop}.
+     * @return {@code true} if this is {@link #Object}.
      */
     public boolean isObject() {
-        return this == Kind.Object || this == Kind.NarrowOop;
+        return this == Kind.Object;
     }
 
     /**
--- a/graal/com.oracle.graal.asm.hsail/src/com/oracle/graal/asm/hsail/HSAILAssembler.java	Mon Mar 17 12:07:49 2014 +0100
+++ b/graal/com.oracle.graal.asm.hsail/src/com/oracle/graal/asm/hsail/HSAILAssembler.java	Mon Mar 17 13:08:32 2014 +0100
@@ -264,9 +264,6 @@
             case Byte:
                 prefix = "s8";
                 break;
-            case NarrowOop:
-                prefix = "u32";
-                break;
             default:
                 throw GraalInternalError.shouldNotReachHere();
         }
--- a/graal/com.oracle.graal.hotspot.amd64/src/com/oracle/graal/hotspot/amd64/AMD64HotSpotLIRGenerator.java	Mon Mar 17 12:07:49 2014 +0100
+++ b/graal/com.oracle.graal.hotspot.amd64/src/com/oracle/graal/hotspot/amd64/AMD64HotSpotLIRGenerator.java	Mon Mar 17 13:08:32 2014 +0100
@@ -473,8 +473,6 @@
     protected static Constant compress(Constant c, CompressEncoding encoding) {
         if (c.getKind() == Kind.Long) {
             return Constant.forIntegerKind(Kind.Int, (int) (((c.asLong() - encoding.base) >> encoding.shift) & 0xffffffffL), c.getPrimitiveAnnotation());
-        } else if (c.getKind() == Kind.Object) {
-            return Constant.forNarrowOop(c.asObject());
         } else {
             throw GraalInternalError.shouldNotReachHere();
         }
@@ -523,8 +521,7 @@
             if (canStoreConstant(c, isCompressed)) {
                 if (isCompressed) {
                     if (c.getKind() == Kind.Object) {
-                        Constant value = c.isNull() ? c : compress(c, config.getOopEncoding());
-                        append(new StoreCompressedConstantOp(kind, storeAddress, value, state));
+                        append(new StoreCompressedConstantOp(kind, storeAddress, c, state));
                     } else if (c.getKind() == Kind.Long) {
                         // It's always a good idea to directly store compressed constants since they
                         // have to be materialized as 64 bits encoded otherwise.
--- a/graal/com.oracle.graal.hotspot.hsail/src/com/oracle/graal/hotspot/hsail/HSAILHotSpotLIRGenerator.java	Mon Mar 17 12:07:49 2014 +0100
+++ b/graal/com.oracle.graal.hotspot.hsail/src/com/oracle/graal/hotspot/hsail/HSAILHotSpotLIRGenerator.java	Mon Mar 17 13:08:32 2014 +0100
@@ -162,7 +162,7 @@
             if (canStoreConstant(c, isCompressed)) {
                 if (isCompressed) {
                     if ((c.getKind() == Kind.Object) && c.isNull()) {
-                        append(new StoreConstantOp(Kind.NarrowOop, storeAddress, c, state));
+                        append(new StoreConstantOp(Kind.Int, storeAddress, Constant.forInt(0), state));
                     } else {
                         throw GraalInternalError.shouldNotReachHere("can't handle: " + access);
                     }
--- a/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/type/NarrowOopStamp.java	Mon Mar 17 12:07:49 2014 +0100
+++ b/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/type/NarrowOopStamp.java	Mon Mar 17 13:08:32 2014 +0100
@@ -67,7 +67,7 @@
 
     @Override
     public Kind getStackKind() {
-        return Kind.NarrowOop;
+        return Kind.Object;
     }
 
     @Override
--- a/graal/com.oracle.graal.hsail/src/com/oracle/graal/hsail/HSAIL.java	Mon Mar 17 12:07:49 2014 +0100
+++ b/graal/com.oracle.graal.hsail/src/com/oracle/graal/hsail/HSAIL.java	Mon Mar 17 13:08:32 2014 +0100
@@ -168,7 +168,7 @@
         Kind kind = arg.getKind();
         if (kind == Kind.Double || kind == Kind.Long) {
             regPrefix = "$d";
-        } else if (kind == Kind.Int || kind == Kind.Float || kind == Kind.NarrowOop) {
+        } else if (kind == Kind.Int || kind == Kind.Float) {
             regPrefix = "$s";
         } else {
             regPrefix = "$d";
@@ -193,7 +193,6 @@
                 case Int:
                 case Long:
                 case Object:
-                case NarrowOop:
                     return true;
             }
         } else if (category == FPU) {
--- a/graal/com.oracle.graal.hsail/src/com/oracle/graal/hsail/HSAILRegisterConfig.java	Mon Mar 17 12:07:49 2014 +0100
+++ b/graal/com.oracle.graal.hsail/src/com/oracle/graal/hsail/HSAILRegisterConfig.java	Mon Mar 17 13:08:32 2014 +0100
@@ -150,7 +150,6 @@
             case Short:
             case Byte:
             case Float:
-            case NarrowOop:
                 return regBitness32.clone();
             case Long:
             case Double:
--- a/graal/com.oracle.graal.lir.hsail/src/com/oracle/graal/lir/hsail/HSAILMove.java	Mon Mar 17 12:07:49 2014 +0100
+++ b/graal/com.oracle.graal.lir.hsail/src/com/oracle/graal/lir/hsail/HSAILMove.java	Mon Mar 17 13:08:32 2014 +0100
@@ -237,13 +237,6 @@
                         throw GraalInternalError.shouldNotReachHere("Cannot store 64-bit constants to object ref");
                     }
                     break;
-                case NarrowOop:
-                    if (input.isNull()) {
-                        masm.emitStoreImmediate(kind, 0L, address.toAddress());
-                    } else {
-                        throw GraalInternalError.shouldNotReachHere("Cannot store 64-bit constants to object ref");
-                    }
-                    break;
                 default:
                     throw GraalInternalError.shouldNotReachHere();
             }
--- a/graal/com.oracle.graal.sparc/src/com/oracle/graal/sparc/SPARC.java	Mon Mar 17 12:07:49 2014 +0100
+++ b/graal/com.oracle.graal.sparc/src/com/oracle/graal/sparc/SPARC.java	Mon Mar 17 13:08:32 2014 +0100
@@ -162,7 +162,6 @@
                 case Int:
                 case Long:
                 case Object:
-                case NarrowOop:
                     return true;
             }
         } else if (category == FPU) {