Mercurial > hg > graal-jvmci-8
changeset 21350:f85738837dae
[SPARC] Use proper stackslot offset in SPARCHotSpotMove
author | Stefan Anzinger <stefan.anzinger@oracle.com> |
---|---|
date | Tue, 12 May 2015 21:36:57 +0200 |
parents | 25bd9e2320de |
children | 1b3270c6d87c 427f3b505656 |
files | graal/com.oracle.graal.hotspot.sparc/src/com/oracle/graal/hotspot/sparc/SPARCHotSpotMove.java |
diffstat | 1 files changed, 7 insertions(+), 4 deletions(-) [+] |
line wrap: on
line diff
--- 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: