# HG changeset patch # User Stefan Anzinger # Date 1431459417 -7200 # Node ID f85738837dae3e7392d91b6c9a617427f0b6a5ff # Parent 25bd9e2320de222e749e44a54818323d4c8eecad [SPARC] Use proper stackslot offset in SPARCHotSpotMove diff -r 25bd9e2320de -r f85738837dae graal/com.oracle.graal.hotspot.sparc/src/com/oracle/graal/hotspot/sparc/SPARCHotSpotMove.java --- a/graal/com.oracle.graal.hotspot.sparc/src/com/oracle/graal/hotspot/sparc/SPARCHotSpotMove.java Tue May 12 20:56:04 2015 +0200 +++ b/graal/com.oracle.graal.hotspot.sparc/src/com/oracle/graal/hotspot/sparc/SPARCHotSpotMove.java Tue May 12 21:36:57 2015 +0200 @@ -69,13 +69,16 @@ try (ScratchRegister s2 = masm.getScratchRegister()) { Register sr2 = s2.getRegister(); int stackBias = HotSpotGraalRuntime.runtime().getConfig().stackBias; - new SPARCMacroAssembler.Setx(ss.getOffset(crb.frameMap.currentFrameSize()) + stackBias, sr2).emit(masm); + int offset = crb.frameMap.offsetForStackSlot(ss); + new SPARCMacroAssembler.Setx(offset + stackBias, sr2).emit(masm); SPARCAddress addr = new SPARCAddress(SPARC.sp, sr2); - switch (((Kind) result.getPlatformKind()).getBitCount()) { - case 32: + Kind resultKind = (Kind) result.getPlatformKind(); + switch (resultKind) { + case Int: masm.stw(sr1, addr); break; - case 64: + case Long: + case Object: masm.stx(sr1, addr); break; default: