changeset 22666:dc332a2c41d0

Update jvmci import: Remove rawValue from HotSpotMetaspaceConstantImpl.
author Roland Schatz <roland.schatz@oracle.com>
date Mon, 21 Sep 2015 15:11:40 +0200
parents f3fd15b9c703
children 500e3cecfbff
files graal/com.oracle.graal.hotspot.amd64/src/com/oracle/graal/hotspot/amd64/AMD64HotSpotBinaryConsumer.java graal/com.oracle.graal.hotspot.amd64/src/com/oracle/graal/hotspot/amd64/AMD64HotSpotMove.java graal/com.oracle.graal.hotspot.amd64/src/com/oracle/graal/hotspot/amd64/AMD64HotSpotStrategySwitchOp.java graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/CompressionNode.java graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/replacements/HotSpotReplacementsUtil.java mx.graal/suite.py
diffstat 6 files changed, 26 insertions(+), 48 deletions(-) [+]
line wrap: on
line diff
--- a/graal/com.oracle.graal.hotspot.amd64/src/com/oracle/graal/hotspot/amd64/AMD64HotSpotBinaryConsumer.java	Mon Sep 21 12:07:52 2015 +0200
+++ b/graal/com.oracle.graal.hotspot.amd64/src/com/oracle/graal/hotspot/amd64/AMD64HotSpotBinaryConsumer.java	Mon Sep 21 15:11:40 2015 +0200
@@ -24,7 +24,6 @@
 
 import static com.oracle.graal.asm.amd64.AMD64Assembler.OperandSize.DWORD;
 import jdk.internal.jvmci.hotspot.HotSpotConstant;
-import jdk.internal.jvmci.hotspot.HotSpotMetaspaceConstant;
 import jdk.internal.jvmci.hotspot.HotSpotObjectConstant;
 import jdk.internal.jvmci.meta.AllocatableValue;
 
@@ -48,8 +47,9 @@
         protected final HotSpotConstant c;
 
         public ConstOp(AMD64MIOp opcode, AllocatableValue x, HotSpotConstant c) {
-            super(TYPE, opcode, DWORD, x, asImm32(c));
+            super(TYPE, opcode, DWORD, x, 0xDEADDEAD);
             this.c = c;
+            assert c.isCompressed();
         }
 
         @Override
@@ -70,9 +70,9 @@
         protected final HotSpotConstant c;
 
         public MemoryConstOp(AMD64MIOp opcode, AMD64AddressValue x, HotSpotConstant c, LIRFrameState state) {
-            super(TYPE, opcode, DWORD, x, asImm32(c), state);
+            super(TYPE, opcode, DWORD, x, 0xDEADDEAD, state);
             this.c = c;
-
+            assert c.isCompressed();
         }
 
         @Override
@@ -82,14 +82,4 @@
             super.emitCode(crb, masm);
         }
     }
-
-    private static int asImm32(HotSpotConstant c) {
-        assert c.isCompressed();
-        if (c instanceof HotSpotMetaspaceConstant) {
-            return (int) ((HotSpotMetaspaceConstant) c).rawValue();
-        } else {
-            assert c instanceof HotSpotObjectConstant;
-            return 0xDEADDEAD;
-        }
-    }
 }
--- a/graal/com.oracle.graal.hotspot.amd64/src/com/oracle/graal/hotspot/amd64/AMD64HotSpotMove.java	Mon Sep 21 12:07:52 2015 +0200
+++ b/graal/com.oracle.graal.hotspot.amd64/src/com/oracle/graal/hotspot/amd64/AMD64HotSpotMove.java	Mon Sep 21 15:11:40 2015 +0200
@@ -38,11 +38,9 @@
 import jdk.internal.jvmci.hotspot.HotSpotVMConfig.CompressEncoding;
 import jdk.internal.jvmci.meta.AllocatableValue;
 import jdk.internal.jvmci.meta.Constant;
-import jdk.internal.jvmci.meta.JavaConstant;
 import jdk.internal.jvmci.meta.Value;
 
 import com.oracle.graal.asm.Label;
-import com.oracle.graal.asm.NumUtil;
 import com.oracle.graal.asm.amd64.AMD64Address;
 import com.oracle.graal.asm.amd64.AMD64Assembler.ConditionFlag;
 import com.oracle.graal.asm.amd64.AMD64MacroAssembler;
@@ -127,24 +125,24 @@
             boolean compressed = input.isCompressed();
             boolean isImmutable = GraalOptions.ImmutableCode.getValue();
             boolean generatePIC = GraalOptions.GeneratePIC.getValue();
-            crb.recordInlineDataInCode(input);
             if (isRegister(result)) {
                 if (compressed) {
                     if (isImmutable && generatePIC) {
                         int alignment = crb.target.wordSize;
                         // recordDataReferenceInCode forces the mov to be rip-relative
-                        masm.movl(asRegister(result), (AMD64Address) crb.recordDataReferenceInCode(JavaConstant.INT_0, alignment));
+                        masm.movl(asRegister(result), (AMD64Address) crb.recordDataReferenceInCode(input, alignment));
                     } else {
-                        assert NumUtil.isInt(input.rawValue());
-                        masm.movl(asRegister(result), (int) input.rawValue());
+                        crb.recordInlineDataInCode(input);
+                        masm.movl(asRegister(result), 0xDEADDEAD);
                     }
                 } else {
                     if (isImmutable && generatePIC) {
                         int alignment = crb.target.wordSize;
                         // recordDataReferenceInCode forces the mov to be rip-relative
-                        masm.movq(asRegister(result), (AMD64Address) crb.recordDataReferenceInCode(JavaConstant.LONG_0, alignment));
+                        masm.movq(asRegister(result), (AMD64Address) crb.recordDataReferenceInCode(input, alignment));
                     } else {
-                        masm.movq(asRegister(result), input.rawValue());
+                        crb.recordInlineDataInCode(input);
+                        masm.movq(asRegister(result), 0xDEADDEADDEADDEADL);
                     }
                 }
             } else {
@@ -153,8 +151,8 @@
                     if (isImmutable && generatePIC) {
                         throw JVMCIError.shouldNotReachHere("Unsupported operation offset(%rip) -> mem (mem -> mem)");
                     } else {
-                        assert NumUtil.isInt(input.rawValue());
-                        masm.movl((AMD64Address) crb.asAddress(result), (int) input.rawValue());
+                        crb.recordInlineDataInCode(input);
+                        masm.movl((AMD64Address) crb.asAddress(result), 0xDEADDEAD);
                     }
                 } else {
                     throw JVMCIError.shouldNotReachHere("Cannot store 64-bit constants to memory");
--- a/graal/com.oracle.graal.hotspot.amd64/src/com/oracle/graal/hotspot/amd64/AMD64HotSpotStrategySwitchOp.java	Mon Sep 21 12:07:52 2015 +0200
+++ b/graal/com.oracle.graal.hotspot.amd64/src/com/oracle/graal/hotspot/amd64/AMD64HotSpotStrategySwitchOp.java	Mon Sep 21 15:11:40 2015 +0200
@@ -28,7 +28,6 @@
 import jdk.internal.jvmci.meta.Constant;
 import jdk.internal.jvmci.meta.Value;
 
-import com.oracle.graal.asm.NumUtil;
 import com.oracle.graal.asm.amd64.AMD64Address;
 import com.oracle.graal.asm.amd64.AMD64MacroAssembler;
 import com.oracle.graal.lir.LIRInstructionClass;
@@ -61,9 +60,7 @@
                 HotSpotMetaspaceConstant meta = (HotSpotMetaspaceConstant) c;
                 if (meta.isCompressed()) {
                     crb.recordInlineDataInCode(meta);
-
-                    assert NumUtil.isInt(meta.rawValue());
-                    masm.cmpl(keyRegister, (int) meta.rawValue());
+                    masm.cmpl(keyRegister, 0xDEADDEAD);
                 } else {
                     AMD64Address addr = (AMD64Address) crb.recordDataReferenceInCode(meta, 8);
                     masm.cmpq(keyRegister, addr);
--- a/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/CompressionNode.java	Mon Sep 21 12:07:52 2015 +0200
+++ b/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/CompressionNode.java	Mon Sep 21 15:11:40 2015 +0200
@@ -24,8 +24,7 @@
 
 import jdk.internal.jvmci.common.JVMCIError;
 import jdk.internal.jvmci.hotspot.HotSpotCompressedNullConstant;
-import jdk.internal.jvmci.hotspot.HotSpotMetaspaceConstant;
-import jdk.internal.jvmci.hotspot.HotSpotObjectConstant;
+import jdk.internal.jvmci.hotspot.HotSpotConstant;
 import jdk.internal.jvmci.hotspot.HotSpotVMConfig.CompressEncoding;
 import jdk.internal.jvmci.meta.Constant;
 import jdk.internal.jvmci.meta.ConstantReflectionProvider;
@@ -88,25 +87,19 @@
         return input.graph().unique(new CompressionNode(CompressionOp.Uncompress, input, encoding));
     }
 
-    private static Constant compress(Constant c, CompressEncoding encoding) {
+    private static Constant compress(Constant c) {
         if (JavaConstant.NULL_POINTER.equals(c)) {
             return HotSpotCompressedNullConstant.COMPRESSED_NULL;
-        } else if (c instanceof HotSpotObjectConstant) {
-            return ((HotSpotObjectConstant) c).compress();
-        } else if (c instanceof HotSpotMetaspaceConstant) {
-            return ((HotSpotMetaspaceConstant) c).compress(encoding);
+        } else if (c instanceof HotSpotConstant) {
+            return ((HotSpotConstant) c).compress();
         } else {
             throw JVMCIError.shouldNotReachHere("invalid constant input for compress op: " + c);
         }
     }
 
-    private static Constant uncompress(Constant c, CompressEncoding encoding) {
-        if (HotSpotCompressedNullConstant.COMPRESSED_NULL.equals(c)) {
-            return JavaConstant.NULL_POINTER;
-        } else if (c instanceof HotSpotObjectConstant) {
-            return ((HotSpotObjectConstant) c).uncompress();
-        } else if (c instanceof HotSpotMetaspaceConstant) {
-            return ((HotSpotMetaspaceConstant) c).uncompress(encoding);
+    private static Constant uncompress(Constant c) {
+        if (c instanceof HotSpotConstant) {
+            return ((HotSpotConstant) c).uncompress();
         } else {
             throw JVMCIError.shouldNotReachHere("invalid constant input for uncompress op: " + c);
         }
@@ -116,9 +109,9 @@
     public Constant convert(Constant c, ConstantReflectionProvider constantReflection) {
         switch (op) {
             case Compress:
-                return compress(c, encoding);
+                return compress(c);
             case Uncompress:
-                return uncompress(c, encoding);
+                return uncompress(c);
             default:
                 throw JVMCIError.shouldNotReachHere();
         }
@@ -128,9 +121,9 @@
     public Constant reverse(Constant c, ConstantReflectionProvider constantReflection) {
         switch (op) {
             case Compress:
-                return uncompress(c, encoding);
+                return uncompress(c);
             case Uncompress:
-                return compress(c, encoding);
+                return compress(c);
             default:
                 throw JVMCIError.shouldNotReachHere();
         }
--- a/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/replacements/HotSpotReplacementsUtil.java	Mon Sep 21 12:07:52 2015 +0200
+++ b/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/replacements/HotSpotReplacementsUtil.java	Mon Sep 21 15:11:40 2015 +0200
@@ -466,7 +466,7 @@
             ResolvedJavaType constantType = LoadHubNode.findSynonymType(read.graph(), tool.getMetaAccess(), object);
             if (constantType != null) {
                 if (config().useCompressedClassPointers) {
-                    return ConstantNode.forConstant(read.stamp(), ((HotSpotMetaspaceConstant) constantType.getObjectHub()).compress(config().getKlassEncoding()), tool.getMetaAccess());
+                    return ConstantNode.forConstant(read.stamp(), ((HotSpotMetaspaceConstant) constantType.getObjectHub()).compress(), tool.getMetaAccess());
                 } else {
                     return ConstantNode.forConstant(read.stamp(), constantType.getObjectHub(), tool.getMetaAccess());
                 }
--- a/mx.graal/suite.py	Mon Sep 21 12:07:52 2015 +0200
+++ b/mx.graal/suite.py	Mon Sep 21 15:11:40 2015 +0200
@@ -6,7 +6,7 @@
     "suites": [
             {
                "name" : "jvmci",
-               "version" : "3e3d5678a6bf3be431e7c0eba3fc6787fdeef3da",
+               "version" : "3f6488b29c1ae49f0f695ddc00822a16e8c418f7",
                "urls" : [
                     {"url" : "http://lafo.ssw.uni-linz.ac.at/hg/graal-jvmci-8", "kind" : "hg"},
                     {"url" : "https://curio.ssw.jku.at/nexus/content/repositories/snapshots", "kind" : "binary"},