[Openmcl-cvs-notifications] r10738 - /trunk/source/lisp-kernel/x86-spentry32.s
gb at clozure.com
gb at clozure.com
Mon Sep 15 03:50:48 EDT 2008
Author: gb
Date: Mon Sep 15 03:50:48 2008
New Revision: 10738
Log:
On return from an ff-call, stick %edx in tcr.unboxed1, just in case
it happens to be the high 32 bits of a 64-bit result.
Modified:
trunk/source/lisp-kernel/x86-spentry32.s
Modified: trunk/source/lisp-kernel/x86-spentry32.s
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D
--- trunk/source/lisp-kernel/x86-spentry32.s (original)
+++ trunk/source/lisp-kernel/x86-spentry32.s Mon Sep 15 03:50:48 2008
@@ -4108,6 +4108,10 @@
LocalLabelPrefix[]ffcall_call_end:
__(movl %ebp,%esp)
__(movl %esp,rcontext(tcr.foreign_sp))
+ /* The high word of a 64-bit result would be in %edx right now.
+ There doesn't seem to be any other good place to put this,
+ though %edx is often undefined at this point. */
+ __(mov %edx,rcontext(tcr.unboxed1))
__(clr %arg_z)
__(clr %arg_y)
__(clr %temp1)
More information about the Openmcl-cvs-notifications
mailing list