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