From 49e7bacf2e750c3447ed1bcbb4c70b9964edac03 Mon Sep 17 00:00:00 2001 From: wlott <wlott> Date: Sat, 19 May 1990 09:42:50 +0000 Subject: [PATCH] Changed unknown-values-receiver to look for the values in old-fp instead of args, 'cause that's where they are now. Changed tail-call-variable so that the args pointer is no longer restricted to the ARGS register, 'cause the new call convention makes no such requirement. --- compiler/mips/call.lisp | 12 +++++------- 1 file changed, 5 insertions(+), 7 deletions(-) diff --git a/compiler/mips/call.lisp b/compiler/mips/call.lisp index c66241f32..9ee524057 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.10 1990/05/13 19:16:41 wlott Exp $ +;;; $Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/compiler/mips/call.lisp,v 1.11 1990/05/19 09:42:50 wlott Exp $ ;;; ;;; This file contains the VM definition of function call for the MIPS. ;;; @@ -359,7 +359,7 @@ default-value-5 (:results (start :scs (descriptor-reg)) (count :scs (descriptor-reg))) - (:temporary (:sc descriptor-reg :offset args-offset + (:temporary (:sc descriptor-reg :offset old-fp-offset :from :eval :to (:result 0)) values-start) (:temporary (:sc any-reg :offset nargs-offset @@ -713,15 +713,13 @@ default-value-5 (function-arg :scs (descriptor-reg) :target lexenv) (old-fp-arg :scs (descriptor-reg) :target old-fp) (return-pc-arg :scs (descriptor-reg) :target return-pc) - (args-arg :scs (descriptor-reg) :target args)) + (args :scs (descriptor-reg))) (:temporary (:sc any-reg :offset lexenv-offset :from (:argument 0)) lexenv) (:temporary (:sc any-reg :offset old-fp-offset :from (:argument 1)) old-fp) (:temporary (:sc any-reg :offset lra-offset :from (:argument 2)) return-pc) - (:temporary (:sc any-reg :offset args-offset :from (:argument 3)) - args) (:temporary (:sc any-reg :offset nargs-offset) nargs) (:temporary (:scs (descriptor-reg)) function) ,@(mapcar #'(lambda (offset name) @@ -734,11 +732,11 @@ default-value-5 (:generator 75 (let ((loop (gen-label)) (test (gen-label))) + ;; Move these into the passing locations if they are not already there. (move lexenv function-arg) (move old-fp old-fp-arg) (move return-pc return-pc-arg) - (move args args-arg) - + ;; Calculate NARGS (as a fixnum) (inst subu nargs csp-tn args) -- GitLab