diff --git a/compiler/mips/call.lisp b/compiler/mips/call.lisp index 0b0ffca4e1e72a598f5c4eabcf92f93d04989347..4d3f3cc9caed5593fd62ba322e4a3bac8cc623f8 100644 --- a/compiler/mips/call.lisp +++ b/compiler/mips/call.lisp @@ -7,7 +7,7 @@ ;;; Scott Fahlman (FAHLMAN@CMUC). ;;; ********************************************************************** ;;; -;;; $Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/compiler/mips/call.lisp,v 1.34 1990/11/14 17:33:51 ram Exp $ +;;; $Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/compiler/mips/call.lisp,v 1.35 1990/11/21 12:39:03 wlott Exp $ ;;; ;;; This file contains the VM definition of function call for the MIPS. ;;; @@ -442,11 +442,12 @@ default-value-8 (:save-p t) (:move-args :local-call) (:info arg-locs callee target nvals) - (:ignore arg-locs args) (:vop-var vop) - (:temporary (:scs (descriptor-reg)) move-temp) + (:temporary (:scs (descriptor-reg) :from :eval) move-temp) (:temporary (:scs (non-descriptor-reg)) temp) (:temporary (:sc control-stack :offset nfp-save-offset) nfp-save) + (:temporary (:sc any-reg :offset old-fp-offset :from :eval) ocfp) + (:ignore arg-locs args ocfp) (:generator 5 (let ((label (gen-label)) (cur-nfp (current-nfp-tn vop))) @@ -657,7 +658,8 @@ default-value-8 (:temporary (:sc descriptor-reg :offset old-fp-offset :from (:argument 1) - :to :eval) + ,@(unless (eq return :fixed) + '(:to :eval))) old-fp-pass) (:temporary (:sc descriptor-reg