src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot.sparc/src/org/graalvm/compiler/hotspot/sparc/SPARCHotSpotLIRGenerator.java
Index Unified diffs Context diffs Sdiffs Patch New Old Previous File Next File open Sdiff src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot.sparc/src/org/graalvm/compiler/hotspot/sparc

src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot.sparc/src/org/graalvm/compiler/hotspot/sparc/SPARCHotSpotLIRGenerator.java

Print this page




 290                 localA = load(localA);
 291             }
 292         }
 293         if (isConstantValue(b)) {
 294             Constant c = asConstant(b);
 295             if (HotSpotCompressedNullConstant.COMPRESSED_NULL.equals(c)) {
 296                 localB = SPARC.g0.asValue(LIRKind.value(WORD));
 297             } else if (c instanceof HotSpotObjectConstant) {
 298                 localB = load(localB);
 299             }
 300         }
 301         return super.emitCompare(cmpKind, localA, localB);
 302     }
 303 
 304     @Override
 305     public Value emitCompress(Value pointer, CompressEncoding encoding, boolean nonNull) {
 306         LIRKind inputKind = pointer.getValueKind(LIRKind.class);
 307         assert inputKind.getPlatformKind() == XWORD : inputKind;
 308         if (inputKind.isReference(0)) {
 309             // oop
 310             Variable result = newVariable(LIRKind.reference(WORD));
 311             append(new SPARCHotSpotMove.CompressPointer(result, asAllocatable(pointer), getProviders().getRegisters().getHeapBaseRegister().asValue(), encoding, nonNull));
 312             return result;
 313         } else {
 314             // metaspace pointer
 315             Variable result = newVariable(LIRKind.value(WORD));
 316             AllocatableValue base = Value.ILLEGAL;
 317             if (encoding.hasBase()) {
 318                 base = emitLoadConstant(LIRKind.value(XWORD), JavaConstant.forLong(encoding.getBase()));
 319             }
 320             append(new SPARCHotSpotMove.CompressPointer(result, asAllocatable(pointer), base, encoding, nonNull));
 321             return result;
 322         }
 323     }
 324 
 325     @Override
 326     public Value emitUncompress(Value pointer, CompressEncoding encoding, boolean nonNull) {
 327         LIRKind inputKind = pointer.getValueKind(LIRKind.class);
 328         assert inputKind.getPlatformKind() == WORD;
 329         if (inputKind.isReference(0)) {
 330             // oop




 290                 localA = load(localA);
 291             }
 292         }
 293         if (isConstantValue(b)) {
 294             Constant c = asConstant(b);
 295             if (HotSpotCompressedNullConstant.COMPRESSED_NULL.equals(c)) {
 296                 localB = SPARC.g0.asValue(LIRKind.value(WORD));
 297             } else if (c instanceof HotSpotObjectConstant) {
 298                 localB = load(localB);
 299             }
 300         }
 301         return super.emitCompare(cmpKind, localA, localB);
 302     }
 303 
 304     @Override
 305     public Value emitCompress(Value pointer, CompressEncoding encoding, boolean nonNull) {
 306         LIRKind inputKind = pointer.getValueKind(LIRKind.class);
 307         assert inputKind.getPlatformKind() == XWORD : inputKind;
 308         if (inputKind.isReference(0)) {
 309             // oop
 310             Variable result = newVariable(LIRKind.compressedReference(WORD));
 311             append(new SPARCHotSpotMove.CompressPointer(result, asAllocatable(pointer), getProviders().getRegisters().getHeapBaseRegister().asValue(), encoding, nonNull));
 312             return result;
 313         } else {
 314             // metaspace pointer
 315             Variable result = newVariable(LIRKind.value(WORD));
 316             AllocatableValue base = Value.ILLEGAL;
 317             if (encoding.hasBase()) {
 318                 base = emitLoadConstant(LIRKind.value(XWORD), JavaConstant.forLong(encoding.getBase()));
 319             }
 320             append(new SPARCHotSpotMove.CompressPointer(result, asAllocatable(pointer), base, encoding, nonNull));
 321             return result;
 322         }
 323     }
 324 
 325     @Override
 326     public Value emitUncompress(Value pointer, CompressEncoding encoding, boolean nonNull) {
 327         LIRKind inputKind = pointer.getValueKind(LIRKind.class);
 328         assert inputKind.getPlatformKind() == WORD;
 329         if (inputKind.isReference(0)) {
 330             // oop


src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot.sparc/src/org/graalvm/compiler/hotspot/sparc/SPARCHotSpotLIRGenerator.java
Index Unified diffs Context diffs Sdiffs Patch New Old Previous File Next File