* treat x86-64/darwin stack like x86-64/linux rather than x86/darwin
* remove stack-pointer saving vops as we don't need to save and
restore the stack in order to preserve 16-byte alignment as the
stack should already be 16-byte aligned
(error "Something is broken.")))
(lvar (node-lvar call))
(args args)
(error "Something is broken.")))
(lvar (node-lvar call))
(args args)
- #!+(or (and (or x86 x86-64) darwin) win32) (stack-pointer (make-stack-pointer-tn)))
+ #!+(or (and x86 darwin) win32) (stack-pointer (make-stack-pointer-tn)))
(multiple-value-bind (nsp stack-frame-size arg-tns result-tns)
(make-call-out-tns type)
#!+x86 (vop set-fpu-word-for-c call block)
(multiple-value-bind (nsp stack-frame-size arg-tns result-tns)
(make-call-out-tns type)
#!+x86 (vop set-fpu-word-for-c call block)
- #!+(or (and (or x86 x86-64) darwin) win32) (vop current-stack-pointer call block stack-pointer)
+ #!+(or (and x86 darwin) win32) (vop current-stack-pointer call block stack-pointer)
(vop alloc-number-stack-space call block stack-frame-size nsp)
(dolist (tn arg-tns)
;; On PPC, TN might be a list. This is used to indicate
(vop alloc-number-stack-space call block stack-frame-size nsp)
(dolist (tn arg-tns)
;; On PPC, TN might be a list. This is used to indicate
((lvar-tn call block function)
(reference-tn-list arg-tns nil))
((reference-tn-list result-tns t))))
((lvar-tn call block function)
(reference-tn-list arg-tns nil))
((reference-tn-list result-tns t))))
- #!-(or (and darwin (or x86 x86-64)) win32) (vop dealloc-number-stack-space call block stack-frame-size)
- #!+(or (and darwin (or x86 x86-64)) win32) (vop reset-stack-pointer call block stack-pointer)
+ #!-(or (and darwin x86) win32) (vop dealloc-number-stack-space call block stack-frame-size)
+ #!+(or (and darwin x86) win32) (vop reset-stack-pointer call block stack-pointer)
#!+x86 (vop set-fpu-word-for-lisp call block)
(move-lvar-result call block result-tns lvar))))
#!+x86 (vop set-fpu-word-for-lisp call block)
(move-lvar-result call block result-tns lvar))))
;;; checkins which aren't released. (And occasionally for internal
;;; versions, especially for internal versions off the main CVS
;;; branch, it gets hairier, e.g. "0.pre7.14.flaky4.13".)
;;; checkins which aren't released. (And occasionally for internal
;;; versions, especially for internal versions off the main CVS
;;; branch, it gets hairier, e.g. "0.pre7.14.flaky4.13".)