# HG changeset patch # User Roland Schatz # Date 1395058112 -3600 # Node ID 82e4fe6fa52594024a30f0f288cff16de6b13571 # Parent 45812e05cdb3ad1456c3df69374b18992bdf15a9 Remove all references to NarrowOop from VM independent code. diff -r 45812e05cdb3 -r 82e4fe6fa525 graal/com.oracle.graal.amd64/src/com/oracle/graal/amd64/AMD64.java --- 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; } diff -r 45812e05cdb3 -r 82e4fe6fa525 graal/com.oracle.graal.api.code/src/com/oracle/graal/api/code/Architecture.java --- 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; } diff -r 45812e05cdb3 -r 82e4fe6fa525 graal/com.oracle.graal.api.meta/src/com/oracle/graal/api/meta/Constant.java --- 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()); } diff -r 45812e05cdb3 -r 82e4fe6fa525 graal/com.oracle.graal.api.meta/src/com/oracle/graal/api/meta/Kind.java --- 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; } /** diff -r 45812e05cdb3 -r 82e4fe6fa525 graal/com.oracle.graal.asm.hsail/src/com/oracle/graal/asm/hsail/HSAILAssembler.java --- 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(); } diff -r 45812e05cdb3 -r 82e4fe6fa525 graal/com.oracle.graal.hotspot.amd64/src/com/oracle/graal/hotspot/amd64/AMD64HotSpotLIRGenerator.java --- 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. diff -r 45812e05cdb3 -r 82e4fe6fa525 graal/com.oracle.graal.hotspot.hsail/src/com/oracle/graal/hotspot/hsail/HSAILHotSpotLIRGenerator.java --- 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); } diff -r 45812e05cdb3 -r 82e4fe6fa525 graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/type/NarrowOopStamp.java --- 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 diff -r 45812e05cdb3 -r 82e4fe6fa525 graal/com.oracle.graal.hsail/src/com/oracle/graal/hsail/HSAIL.java --- 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) { diff -r 45812e05cdb3 -r 82e4fe6fa525 graal/com.oracle.graal.hsail/src/com/oracle/graal/hsail/HSAILRegisterConfig.java --- 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: diff -r 45812e05cdb3 -r 82e4fe6fa525 graal/com.oracle.graal.lir.hsail/src/com/oracle/graal/lir/hsail/HSAILMove.java --- 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(); } diff -r 45812e05cdb3 -r 82e4fe6fa525 graal/com.oracle.graal.sparc/src/com/oracle/graal/sparc/SPARC.java --- 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) {