Mercurial > hg > graal-compiler
changeset 22627:971804fb95ec
[SPARC] Fix problems introduced on refactoring Kind.Object and Value.getKind()
author | Stefan Anzinger <stefan.anzinger@oracle.com> |
---|---|
date | Mon, 14 Sep 2015 18:13:50 +0200 |
parents | 8b198b0e6ef9 |
children | 5a410e01cd5f |
files | graal/com.oracle.graal.compiler.amd64/src/com/oracle/graal/compiler/amd64/AMD64AddressNode.java graal/com.oracle.graal.compiler.amd64/src/com/oracle/graal/compiler/amd64/AMD64LIRGenerator.java graal/com.oracle.graal.hotspot.sparc/src/com/oracle/graal/hotspot/sparc/SPARCHotSpotLIRGenerator.java graal/com.oracle.graal.lir.sparc/src/com/oracle/graal/lir/sparc/SPARCArithmetic.java graal/com.oracle.graal.lir/src/com/oracle/graal/lir/gen/LIRGenerator.java |
diffstat | 5 files changed, 17 insertions(+), 16 deletions(-) [+] |
line wrap: on
line diff
--- a/graal/com.oracle.graal.compiler.amd64/src/com/oracle/graal/compiler/amd64/AMD64AddressNode.java Mon Sep 14 18:13:28 2015 +0200 +++ b/graal/com.oracle.graal.compiler.amd64/src/com/oracle/graal/compiler/amd64/AMD64AddressNode.java Mon Sep 14 18:13:50 2015 +0200 @@ -28,6 +28,7 @@ import com.oracle.graal.asm.amd64.AMD64Address.Scale; import com.oracle.graal.graph.*; import com.oracle.graal.lir.amd64.*; +import com.oracle.graal.lir.gen.LIRGeneratorTool; import com.oracle.graal.nodeinfo.*; import com.oracle.graal.nodes.*; import com.oracle.graal.nodes.memory.address.*; @@ -61,7 +62,7 @@ } public void generate(NodeLIRBuilderTool gen) { - AMD64LIRGenerator tool = (AMD64LIRGenerator) gen.getLIRGeneratorTool(); + LIRGeneratorTool tool = gen.getLIRGeneratorTool(); AllocatableValue baseValue = base == null ? Value.ILLEGAL : tool.asAllocatable(gen.operand(base)); AllocatableValue indexValue = index == null ? Value.ILLEGAL : tool.asAllocatable(gen.operand(index));
--- a/graal/com.oracle.graal.compiler.amd64/src/com/oracle/graal/compiler/amd64/AMD64LIRGenerator.java Mon Sep 14 18:13:28 2015 +0200 +++ b/graal/com.oracle.graal.compiler.amd64/src/com/oracle/graal/compiler/amd64/AMD64LIRGenerator.java Mon Sep 14 18:13:50 2015 +0200 @@ -264,15 +264,6 @@ return result; } - private static LIRKind toStackKind(LIRKind kind) { - if (kind.getPlatformKind() instanceof JavaKind) { - JavaKind stackKind = ((JavaKind) kind.getPlatformKind()).getStackKind(); - return kind.changeType(stackKind); - } else { - return kind; - } - } - @Override public Variable emitLoad(LIRKind kind, Value address, LIRFrameState state) { AMD64AddressValue loadAddress = asAddressValue(address);
--- a/graal/com.oracle.graal.hotspot.sparc/src/com/oracle/graal/hotspot/sparc/SPARCHotSpotLIRGenerator.java Mon Sep 14 18:13:28 2015 +0200 +++ b/graal/com.oracle.graal.hotspot.sparc/src/com/oracle/graal/hotspot/sparc/SPARCHotSpotLIRGenerator.java Mon Sep 14 18:13:50 2015 +0200 @@ -208,7 +208,7 @@ @Override public Variable emitLoad(LIRKind kind, Value address, LIRFrameState state) { SPARCAddressValue loadAddress = asAddressValue(address); - Variable result = newVariable(kind); + Variable result = newVariable(toStackKind(kind)); append(new LoadOp(kind.getPlatformKind(), result, loadAddress, state)); return result; } @@ -331,7 +331,7 @@ assert inputKind.getPlatformKind() == JavaKind.Int; if (inputKind.isReference(0)) { // oop - Variable result = newVariable(LIRKind.reference(JavaKind.Object)); + Variable result = newVariable(LIRKind.reference(JavaKind.Long)); append(new SPARCHotSpotMove.UncompressPointer(result, asAllocatable(pointer), getProviders().getRegisters().getHeapBaseRegister().asValue(), encoding, nonNull)); return result; } else {
--- a/graal/com.oracle.graal.lir.sparc/src/com/oracle/graal/lir/sparc/SPARCArithmetic.java Mon Sep 14 18:13:28 2015 +0200 +++ b/graal/com.oracle.graal.lir.sparc/src/com/oracle/graal/lir/sparc/SPARCArithmetic.java Mon Sep 14 18:13:50 2015 +0200 @@ -721,22 +721,22 @@ masm.signx(asRegister(src, JavaKind.Long), asRegister(dst, JavaKind.Int)); break; case B2L: - masm.sll(asRegister(src, JavaKind.Int), 24, asRegister(dst, JavaKind.Long)); + masm.sll(asRegister(src), 24, asRegister(dst, JavaKind.Long)); delaySlotLir.emitControlTransfer(crb, masm); masm.sra(asRegister(dst, JavaKind.Long), 24, asRegister(dst, JavaKind.Long)); break; case B2I: - masm.sll(asRegister(src, JavaKind.Int), 24, asRegister(dst, JavaKind.Int)); + masm.sll(asRegister(src), 24, asRegister(dst, JavaKind.Int)); delaySlotLir.emitControlTransfer(crb, masm); masm.sra(asRegister(dst, JavaKind.Int), 24, asRegister(dst, JavaKind.Int)); break; case S2L: - masm.sll(asRegister(src, JavaKind.Int), 16, asRegister(dst, JavaKind.Long)); + masm.sll(asRegister(src), 16, asRegister(dst, JavaKind.Long)); delaySlotLir.emitControlTransfer(crb, masm); masm.sra(asRegister(dst, JavaKind.Long), 16, asRegister(dst, JavaKind.Long)); break; case S2I: - masm.sll(asRegister(src, JavaKind.Int), 16, asRegister(dst, JavaKind.Int)); + masm.sll(asRegister(src), 16, asRegister(dst, JavaKind.Int)); delaySlotLir.emitControlTransfer(crb, masm); masm.sra(asRegister(dst, JavaKind.Int), 16, asRegister(dst, JavaKind.Int)); break;
--- a/graal/com.oracle.graal.lir/src/com/oracle/graal/lir/gen/LIRGenerator.java Mon Sep 14 18:13:28 2015 +0200 +++ b/graal/com.oracle.graal.lir/src/com/oracle/graal/lir/gen/LIRGenerator.java Mon Sep 14 18:13:50 2015 +0200 @@ -56,6 +56,15 @@ // @formatter:on } + protected static LIRKind toStackKind(LIRKind kind) { + if (kind.getPlatformKind() instanceof JavaKind) { + JavaKind stackKind = ((JavaKind) kind.getPlatformKind()).getStackKind(); + return kind.changeType(stackKind); + } else { + return kind; + } + } + private final LIRKindTool lirKindTool; private final CodeGenProviders providers;