# HG changeset patch # User Roland Schatz # Date 1442841100 -7200 # Node ID dc332a2c41d0e734980ade13dcac85828dcecf8f # Parent f3fd15b9c703a96a4d6d527f1bad58e3a7e4a509 Update jvmci import: Remove rawValue from HotSpotMetaspaceConstantImpl. diff -r f3fd15b9c703 -r dc332a2c41d0 graal/com.oracle.graal.hotspot.amd64/src/com/oracle/graal/hotspot/amd64/AMD64HotSpotBinaryConsumer.java --- 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; - } - } } diff -r f3fd15b9c703 -r dc332a2c41d0 graal/com.oracle.graal.hotspot.amd64/src/com/oracle/graal/hotspot/amd64/AMD64HotSpotMove.java --- 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"); diff -r f3fd15b9c703 -r dc332a2c41d0 graal/com.oracle.graal.hotspot.amd64/src/com/oracle/graal/hotspot/amd64/AMD64HotSpotStrategySwitchOp.java --- 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); diff -r f3fd15b9c703 -r dc332a2c41d0 graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/CompressionNode.java --- 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(); } diff -r f3fd15b9c703 -r dc332a2c41d0 graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/replacements/HotSpotReplacementsUtil.java --- 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()); } diff -r f3fd15b9c703 -r dc332a2c41d0 mx.graal/suite.py --- 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"},