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

commits at squeakvm.org commits at squeakvm.org
Thu Sep 10 20:04:16 UTC 2009


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    <piumarta at ubuntu.piumarta.com>
+
+	* 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  <piumarta at ubuntu.piumarta.com>
 
 	* 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: Ian.Piumarta at INRIA.Fr
  *
- * 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



More information about the Vm-dev mailing list