Mercurial > hg > graal-jvmci-8
changeset 16931:71ec66af2e12
[SPARC] Unwinding get the correct return address when unwinding
author | Stefan Anzinger <stefan.anzinger@gmail.com> |
---|---|
date | Tue, 12 Aug 2014 08:58:38 -0700 |
parents | 62ae5c2c241d |
children | 4d77f938aa02 |
files | graal/com.oracle.graal.hotspot.sparc/src/com/oracle/graal/hotspot/sparc/SPARCHotSpotUnwindOp.java |
diffstat | 1 files changed, 2 insertions(+), 1 deletions(-) [+] |
line wrap: on
line diff
--- a/graal/com.oracle.graal.hotspot.sparc/src/com/oracle/graal/hotspot/sparc/SPARCHotSpotUnwindOp.java Tue Aug 12 08:52:53 2014 -0700 +++ b/graal/com.oracle.graal.hotspot.sparc/src/com/oracle/graal/hotspot/sparc/SPARCHotSpotUnwindOp.java Tue Aug 12 08:58:38 2014 -0700 @@ -28,6 +28,7 @@ import static com.oracle.graal.sparc.SPARC.*; import com.oracle.graal.api.code.*; +import com.oracle.graal.asm.sparc.SPARCAssembler.*; import com.oracle.graal.asm.sparc.*; import com.oracle.graal.asm.sparc.SPARCMacroAssembler.Mov; import com.oracle.graal.hotspot.stubs.*; @@ -61,7 +62,7 @@ // Get return address (is in o7 after leave). Register returnAddress = asRegister(cc.getArgument(1)); - new Mov(o7, returnAddress).emit(masm); + new Add(o7, Return.PC_RETURN_OFFSET, returnAddress).emit(masm); Register scratch = g5; SPARCCall.indirectJmp(crb, masm, scratch, linkage); }