1.0.5.35: stack alignment on x86/Darwin, once more
commita6c61ba848e9ed11118b6fb579fe237d0b1cf9c6
authorNikodemus Siivola <nikodemus@random-state.net>
Sun, 6 May 2007 17:56:27 +0000 (6 17:56 +0000)
committerNikodemus Siivola <nikodemus@random-state.net>
Sun, 6 May 2007 17:56:27 +0000 (6 17:56 +0000)
tree7e4f8854228f4e68e28f0c0d57785307ce4b8295
parent7effaab5d43dd5423938b00854848e01eb3a67c8
1.0.5.35: stack alignment on x86/Darwin, once more

 * Stack alignment cannot be changed after arguments have been pushed
   on stack: ALLOCATE-NUMBER-STACK-SPACE is the place to do this, and
   nowhere else.

 * Use the RESET-STACK-POINTER logic on all x86 platforms for
   simplicity.

 * Factor out the alignment logic to ALIGN-STACK-POINTER.

 * Clear DF unconditionally when calling out, which means that Solaris
   doesn't need to switch it back and forth. (Darwin, Solaris, and Win32
   all need DF cleared for call-out.)
package-data-list.lisp-expr
src/compiler/aliencomp.lisp
src/compiler/x86/c-call.lisp
src/compiler/x86/call.lisp
src/compiler/x86/macros.lisp
src/compiler/x86/nlx.lisp
src/compiler/x86/show.lisp
src/compiler/x86/values.lisp
src/runtime/x86-assem.S
tests/foreign-stack-alignment.impure.lisp
version.lisp-expr