diff --git a/compiler/rt/call.lisp b/compiler/rt/call.lisp index 301e38ad7d488977d9bd12cc285d63dfbd840e29..349d1a9d478ecb6474afd658e2b08daa64c7264b 100644 --- a/compiler/rt/call.lisp +++ b/compiler/rt/call.lisp @@ -163,7 +163,8 @@ ;;; on the nstack. ;;; (define-vop (compute-old-nfp) - (:results (val :scs (word-pointer-reg))) + (:results (val :scs (word-pointer-reg) + :load-if (current-nfp-tn vop))) (:vop-var vop) (:generator 1 (let ((nfp (current-nfp-tn vop))) @@ -214,7 +215,8 @@ ;;; (define-vop (allocate-frame) (:results (res :scs (word-pointer-reg)) - (nfp :scs (word-pointer-reg))) + (nfp :scs (word-pointer-reg) + :load-if (ir2-environment-number-stack-p callee))) (:info callee) (:generator 2 (move res csp-tn) @@ -529,7 +531,6 @@ default-value-5 (when cur-nfp (load-stack-tn cur-nfp nfp-save))))) - ;;;; Local call with known values return: