[Openmcl-cvs-notifications] r10796 - /trunk/source/lisp-kernel/x86-subprims32.s
gb at clozure.com
gb at clozure.com
Wed Sep 17 18:15:58 EDT 2008
Author: gb
Date: Wed Sep 17 18:15:57 2008
New Revision: 10796
Log:
In start_lisp, don't assume 16-byte stack alignment (depending on
what the constant says.)
Modified:
trunk/source/lisp-kernel/x86-subprims32.s
Modified: trunk/source/lisp-kernel/x86-subprims32.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-subprims32.s (original)
+++ trunk/source/lisp-kernel/x86-subprims32.s Wed Sep 17 18:15:57 2008
@@ -67,7 +67,11 @@
__(push %ebx)
__(mov 8(%ebp), %ebx) /* get tcr */
__(movw tcr.ldt_selector(%ebx), %rcontext_reg)
+ .if c_stack_16_byte_aligned
__(sub $12, %esp) /* stack now 16-byte aligned */
+ .else
+ __(andl $~15,%esp)
+ .endif
__(clr %arg_z)
__(clr %arg_y) =
__(clr %temp0)
@@ -86,7 +90,7 @@
__(call toplevel_loop)
__(movl $TCR_STATE_FOREIGN, rcontext(tcr.valence))
__(emms)
- __(add $12, %esp) /* discard alignment space */
+ __(leal -3*node_size(%ebp),%esp)
__(pop %ebx)
__(pop %esi)
__(pop %edi)
More information about the Openmcl-cvs-notifications
mailing list