[commit] r2130 - pop when storing float return value from ffi call

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view
|

[commit] r2130 - pop when storing float return value from ffi call

commits-3
 
Author: piumarta
Date: 2009-09-10 13:04:16 -0700 (Thu, 10 Sep 2009)
New Revision: 2130

Modified:
   trunk/platforms/unix/ChangeLog
   trunk/platforms/unix/plugins/SqueakFFIPrims/x86-sysv-asm.S
Log:
pop when storing float return value from ffi call

Modified: trunk/platforms/unix/ChangeLog
===================================================================
--- trunk/platforms/unix/ChangeLog 2009-09-08 23:42:09 UTC (rev 2129)
+++ trunk/platforms/unix/ChangeLog 2009-09-10 20:04:16 UTC (rev 2130)
@@ -1,3 +1,9 @@
+2009-09-10    <[hidden email]>
+
+ * plugins/SqueakFFIPrims/x86-sysv-asm.S (ffiCallAddressOf): Pop a
+ float return value off the FPU stack, even though we don't know
+ there's anything there to pop nor whether we own it if there is.
+
 2009-09-08  <[hidden email]>
 
  * plugins/ClipboardExtendedPlugin/config.cmake: Added: disable

Modified: trunk/platforms/unix/plugins/SqueakFFIPrims/x86-sysv-asm.S
===================================================================
--- trunk/platforms/unix/plugins/SqueakFFIPrims/x86-sysv-asm.S 2009-09-08 23:42:09 UTC (rev 2129)
+++ trunk/platforms/unix/plugins/SqueakFFIPrims/x86-sysv-asm.S 2009-09-10 20:04:16 UTC (rev 2130)
@@ -2,9 +2,9 @@
  *
  * Author: [hidden email]
  *
- * Last edited: 2006-10-18 10:07:25 by piumarta on emilia.local
+ * Last edited: 2009-09-10 12:55:54 by piumarta on emilia-2.local
  *
- *   Copyright (C) 1996-2004 by Ian Piumarta and other authors/contributors
+ *   Copyright (C) 1996-2009 by Ian Piumarta and other authors/contributors
  *                              listed elsewhere in this file.
  *   All rights reserved.
  *  
@@ -48,7 +48,7 @@
 2: call *8(%ebp)
  movl %eax, ffiIntReturnValue
  movl %edx, ffiLongReturnValue
- fstl ffiFloatReturnValue
+ fstpl ffiFloatReturnValue
  movl %ebp, %esp
  popl %ebp
  ret