[Openmcl-cvs-notifications] r11194 - /trunk/source/lisp-kernel/x86-spentry32.s
gb at clozure.com
gb at clozure.com
Tue Oct 21 21:05:10 EDT 2008
Author: gb
Date: Tue Oct 21 21:05:10 2008
New Revision: 11194
Log:
Back out of r11172 (don't save lisp register values across ff-call),
since there are things (#'%ff-call, #'%do-ff-call) that expect them
to be preserved.
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 Tue Oct 21 21:05:10 2008
@@ -4088,6 +4088,11 @@
/* Save lisp registers. */
__(push %ebp)
__(mov %esp,%ebp)
+ __(push %temp0) =
+ __(push %temp1) =
+ __(push %arg_y) =
+ __(push %arg_z) =
+ __(push %fn) =
__ifdef([WIN32_ES_HACK])
__(movl rcontext(tcr.linear),%ebx)
__endif
@@ -4140,8 +4145,13 @@
__(movl rcontext(tcr.save_vsp),%esp)
__(movl rcontext(tcr.save_ebp),%ebp)
__(movl $TCR_STATE_LISP,rcontext(tcr.valence))
- __(ldmxcsr rcontext(tcr.lisp_mxcsr))
+ __(pop %fn) =
+ __(pop %arg_z) =
+ __(pop %arg_y) =
+ __(pop %temp1) =
+ __(ldmxcsr rcontext(tcr.lisp_mxcsr))
__(check_pending_interrupt(%temp0))
+ __(pop %temp0)
__(leave)
__(ret)
/* need to deal with NSExceptions and Objc-2.0 execptions */
More information about the Openmcl-cvs-notifications
mailing list