changeset 17090:2e7b0bb73f2f

[SPARC] get rid of VIS3
author Stefan Anzinger <stefan.anzinger@oracle.com>
date Tue, 09 Sep 2014 17:02:24 -0700
parents 245c1ceb8221
children bd26b71aa5fc
files graal/com.oracle.graal.hotspot.sparc/src/com/oracle/graal/hotspot/sparc/SPARCHotSpotLeaveUnpackFramesStackFrameOp.java
diffstat 1 files changed, 7 insertions(+), 3 deletions(-) [+]
line wrap: on
line diff
--- a/graal/com.oracle.graal.hotspot.sparc/src/com/oracle/graal/hotspot/sparc/SPARCHotSpotLeaveUnpackFramesStackFrameOp.java	Tue Sep 09 15:50:47 2014 -0700
+++ b/graal/com.oracle.graal.hotspot.sparc/src/com/oracle/graal/hotspot/sparc/SPARCHotSpotLeaveUnpackFramesStackFrameOp.java	Tue Sep 09 17:02:24 2014 -0700
@@ -59,11 +59,15 @@
          */
         new Mov(l7, thread).emit(masm);
 
+        SPARCAddress lastJavaPc = new SPARCAddress(thread, threadLastJavaPcOffset);
+
+        // We borrow the threads lastJavaPC to transfer the value from float to i0
+        new Stdf(SPARCSaveRegistersOp.RETURN_REGISTER_STORAGE, lastJavaPc).emit(masm);
+        new Ldx(lastJavaPc, i0).emit(masm);
+
         // Clear last Java frame values.
+        new Stx(g0, lastJavaPc).emit(masm);
         new Stx(g0, new SPARCAddress(thread, threadLastJavaSpOffset)).emit(masm);
-        new Stx(g0, new SPARCAddress(thread, threadLastJavaPcOffset)).emit(masm);
         new Stw(g0, new SPARCAddress(thread, threadJavaFrameAnchorFlagsOffset)).emit(masm);
-
-        new Movdtox(SPARCSaveRegistersOp.RETURN_REGISTER_STORAGE, i0).emit(masm);
     }
 }