Skip to content
Snippets Groups Projects
Commit 49e7bacf authored by wlott's avatar wlott
Browse files

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.
parent f8286da1
No related branches found
No related tags found
No related merge requests found
...@@ -7,7 +7,7 @@ ...@@ -7,7 +7,7 @@
;;; Scott Fahlman (FAHLMAN@CMUC). ;;; 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. ;;; This file contains the VM definition of function call for the MIPS.
;;; ;;;
...@@ -359,7 +359,7 @@ default-value-5 ...@@ -359,7 +359,7 @@ default-value-5
(:results (:results
(start :scs (descriptor-reg)) (start :scs (descriptor-reg))
(count :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)) :from :eval :to (:result 0))
values-start) values-start)
(:temporary (:sc any-reg :offset nargs-offset (:temporary (:sc any-reg :offset nargs-offset
...@@ -713,15 +713,13 @@ default-value-5 ...@@ -713,15 +713,13 @@ default-value-5
(function-arg :scs (descriptor-reg) :target lexenv) (function-arg :scs (descriptor-reg) :target lexenv)
(old-fp-arg :scs (descriptor-reg) :target old-fp) (old-fp-arg :scs (descriptor-reg) :target old-fp)
(return-pc-arg :scs (descriptor-reg) :target return-pc) (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)) (:temporary (:sc any-reg :offset lexenv-offset :from (:argument 0))
lexenv) lexenv)
(:temporary (:sc any-reg :offset old-fp-offset :from (:argument 1)) (:temporary (:sc any-reg :offset old-fp-offset :from (:argument 1))
old-fp) old-fp)
(:temporary (:sc any-reg :offset lra-offset :from (:argument 2)) (:temporary (:sc any-reg :offset lra-offset :from (:argument 2))
return-pc) return-pc)
(:temporary (:sc any-reg :offset args-offset :from (:argument 3))
args)
(:temporary (:sc any-reg :offset nargs-offset) nargs) (:temporary (:sc any-reg :offset nargs-offset) nargs)
(:temporary (:scs (descriptor-reg)) function) (:temporary (:scs (descriptor-reg)) function)
,@(mapcar #'(lambda (offset name) ,@(mapcar #'(lambda (offset name)
...@@ -734,11 +732,11 @@ default-value-5 ...@@ -734,11 +732,11 @@ default-value-5
(:generator 75 (:generator 75
(let ((loop (gen-label)) (let ((loop (gen-label))
(test (gen-label))) (test (gen-label)))
;; Move these into the passing locations if they are not already there.
(move lexenv function-arg) (move lexenv function-arg)
(move old-fp old-fp-arg) (move old-fp old-fp-arg)
(move return-pc return-pc-arg) (move return-pc return-pc-arg)
(move args args-arg)
;; Calculate NARGS (as a fixnum) ;; Calculate NARGS (as a fixnum)
(inst subu nargs csp-tn args) (inst subu nargs csp-tn args)
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment