# HG changeset patch # User Doug Simon # Date 1415281966 -3600 # Node ID 7acff34abbf7b797c756bcc6b8dc734a64a38dae # Parent feef9ed5fc56024124ffb6d2ea52c8766a93debd replaced HotSpotObjectConstantImpl.isCompressed() with HotSpotObjectConstant.isCompressed() diff -r feef9ed5fc56 -r 7acff34abbf7 graal/com.oracle.graal.hotspot.amd64/src/com/oracle/graal/hotspot/amd64/AMD64HotSpotCompare.java --- a/graal/com.oracle.graal.hotspot.amd64/src/com/oracle/graal/hotspot/amd64/AMD64HotSpotCompare.java Thu Nov 06 13:57:43 2014 +0100 +++ b/graal/com.oracle.graal.hotspot.amd64/src/com/oracle/graal/hotspot/amd64/AMD64HotSpotCompare.java Thu Nov 06 14:52:46 2014 +0100 @@ -55,7 +55,8 @@ // compressed null masm.testl(asRegister(x), asRegister(x)); } else if (y instanceof HotSpotObjectConstant) { - if (HotSpotObjectConstantImpl.isCompressed(y)) { + HotSpotObjectConstant yConst = (HotSpotObjectConstant) y; + if (yConst.isCompressed()) { // compressed oop crb.recordInlineDataInCode(y); masm.cmpl(asRegister(x), 0xDEADDEAD); @@ -96,7 +97,8 @@ // compressed null masm.cmpl(address.toAddress(), 0); } else if (y instanceof HotSpotObjectConstant) { - if (HotSpotObjectConstantImpl.isCompressed(y) && crb.target.inlineObjects) { + HotSpotObjectConstant yConst = (HotSpotObjectConstant) y; + if (yConst.isCompressed() && crb.target.inlineObjects) { // compressed oop crb.recordInlineDataInCode(y); masm.cmpl(address.toAddress(), 0xDEADDEAD); diff -r feef9ed5fc56 -r 7acff34abbf7 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 Thu Nov 06 13:57:43 2014 +0100 +++ b/graal/com.oracle.graal.hotspot.amd64/src/com/oracle/graal/hotspot/amd64/AMD64HotSpotLIRGenerator.java Thu Nov 06 14:52:46 2014 +0100 @@ -604,7 +604,7 @@ if (HotSpotCompressedNullConstant.COMPRESSED_NULL.equals(c)) { return true; } else if (c instanceof HotSpotObjectConstant) { - return HotSpotObjectConstantImpl.isCompressed(c); + return ((HotSpotObjectConstant) c).isCompressed(); } else { return super.canInlineConstant(c); } diff -r feef9ed5fc56 -r 7acff34abbf7 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 Thu Nov 06 13:57:43 2014 +0100 +++ b/graal/com.oracle.graal.hotspot.amd64/src/com/oracle/graal/hotspot/amd64/AMD64HotSpotMove.java Thu Nov 06 14:52:46 2014 +0100 @@ -62,7 +62,7 @@ masm.movl((AMD64Address) crb.asAddress(result), 0); } } else if (input instanceof HotSpotObjectConstant) { - boolean compressed = HotSpotObjectConstantImpl.isCompressed(input); + boolean compressed = ((HotSpotObjectConstant) input).isCompressed(); if (crb.target.inlineObjects) { crb.recordInlineDataInCode(input); if (isRegister(result)) { @@ -135,7 +135,8 @@ // compressed null masm.movl(address.toAddress(), 0); } else if (input instanceof HotSpotObjectConstant) { - if (HotSpotObjectConstantImpl.isCompressed(input) && crb.target.inlineObjects) { + HotSpotObjectConstant c = (HotSpotObjectConstant) input; + if (c.isCompressed() && crb.target.inlineObjects) { // compressed oop crb.recordInlineDataInCode(input); masm.movl(address.toAddress(), 0xDEADDEAD); diff -r feef9ed5fc56 -r 7acff34abbf7 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 Thu Nov 06 13:57:43 2014 +0100 +++ b/graal/com.oracle.graal.hotspot.hsail/src/com/oracle/graal/hotspot/hsail/HSAILHotSpotLIRGenerator.java Thu Nov 06 14:52:46 2014 +0100 @@ -235,7 +235,7 @@ protected HSAILLIRInstruction createMove(AllocatableValue dst, Value src) { if (HotSpotCompressedNullConstant.COMPRESSED_NULL.equals(src)) { return new MoveToRegOp(Kind.Int, dst, JavaConstant.INT_0); - } else if (src instanceof HotSpotObjectConstant && HotSpotObjectConstantImpl.isCompressed((JavaConstant) src)) { + } else if (src instanceof HotSpotObjectConstant && ((HotSpotObjectConstant) src).isCompressed()) { Variable uncompressed = newVariable(LIRKind.reference(Kind.Object)); append(new MoveToRegOp(Kind.Object, uncompressed, src)); CompressEncoding oopEncoding = config.getOopEncoding(); diff -r feef9ed5fc56 -r 7acff34abbf7 graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/meta/HotSpotCodeCacheProvider.java --- a/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/meta/HotSpotCodeCacheProvider.java Thu Nov 06 13:57:43 2014 +0100 +++ b/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/meta/HotSpotCodeCacheProvider.java Thu Nov 06 14:52:46 2014 +0100 @@ -22,6 +22,8 @@ */ package com.oracle.graal.hotspot.meta; +import static com.oracle.graal.hotspot.meta.HotSpotCompressedNullConstant.*; + import java.lang.reflect.*; import java.util.*; @@ -264,7 +266,8 @@ boolean compressed; long raw; if (constant instanceof HotSpotObjectConstant) { - compressed = HotSpotObjectConstantImpl.isCompressed(constant); + HotSpotObjectConstant c = (HotSpotObjectConstant) vmConstant; + compressed = c.isCompressed(); raw = 0xDEADDEADDEADDEADL; } else if (constant instanceof HotSpotMetaspaceConstant) { HotSpotMetaspaceConstantImpl meta = (HotSpotMetaspaceConstantImpl) constant; @@ -288,7 +291,7 @@ }; } } else if (JavaConstant.isNull(constant)) { - boolean compressed = HotSpotObjectConstantImpl.isCompressed(constant); + boolean compressed = COMPRESSED_NULL.equals(constant); size = target.getSizeInBytes(compressed ? Kind.Int : target.wordKind); builder = DataBuilder.zero(size); } else if (constant instanceof PrimitiveConstant) { diff -r feef9ed5fc56 -r 7acff34abbf7 graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/meta/HotSpotObjectConstant.java --- a/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/meta/HotSpotObjectConstant.java Thu Nov 06 13:57:43 2014 +0100 +++ b/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/meta/HotSpotObjectConstant.java Thu Nov 06 14:52:46 2014 +0100 @@ -39,6 +39,8 @@ JavaConstant uncompress(); + boolean isCompressed(); + /** * Gets the result of {@link Class#getClassLoader()} for the {@link Class} object represented by * this constant. diff -r feef9ed5fc56 -r 7acff34abbf7 graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/meta/HotSpotObjectConstantImpl.java --- a/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/meta/HotSpotObjectConstantImpl.java Thu Nov 06 13:57:43 2014 +0100 +++ b/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/meta/HotSpotObjectConstantImpl.java Thu Nov 06 14:52:46 2014 +0100 @@ -73,14 +73,6 @@ } } - public static boolean isCompressed(Constant constant) { - if (JavaConstant.isNull(constant)) { - return HotSpotCompressedNullConstant.NULL_OBJECT.equals(constant); - } else { - return ((HotSpotObjectConstantImpl) constant).compressed; - } - } - private final Object object; private final boolean compressed; @@ -91,6 +83,10 @@ assert object != null; } + public boolean isCompressed() { + return compressed; + } + public JavaConstant compress() { assert !compressed; return new HotSpotObjectConstantImpl(object, true); diff -r feef9ed5fc56 -r 7acff34abbf7 graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/phases/LoadJavaMirrorWithKlassPhase.java --- a/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/phases/LoadJavaMirrorWithKlassPhase.java Thu Nov 06 13:57:43 2014 +0100 +++ b/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/phases/LoadJavaMirrorWithKlassPhase.java Thu Nov 06 14:52:46 2014 +0100 @@ -94,7 +94,7 @@ Stamp stamp = StampFactory.exactNonNull(metaAccess.lookupJavaType(Class.class)); FloatingReadNode freadNode = graph.unique(FloatingReadNode.create(klassNode, location, null, stamp)); - if (HotSpotObjectConstantImpl.isCompressed(constant)) { + if (((HotSpotObjectConstant) constant).isCompressed()) { return CompressionNode.compress(freadNode, oopEncoding); } else { return freadNode;