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

copy-more-arg didn't make sure that there were enough args to cover the

fixed args.  If there weren't, it would calc the difference as being
negative, and *shorten* the stack, instead of growing it.
parent 1ec02609
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.12 1990/05/25 12:25:27 wlott Exp $ ;;; $Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/compiler/mips/call.lisp,v 1.13 1990/05/26 22:48:08 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.
;;; ;;;
...@@ -1002,9 +1002,13 @@ default-value-5 ...@@ -1002,9 +1002,13 @@ default-value-5
(move result csp-tn)) (move result csp-tn))
;; Allocate the space on the stack. ;; Allocate the space on the stack.
(cond ((zerop fixed) (cond ((zerop fixed)
(inst addu csp-tn csp-tn nargs-tn)) (inst addu csp-tn csp-tn nargs-tn)
(inst beq nargs-tn done)
(inst nop))
(t (t
(inst addu count nargs-tn (fixnum (- fixed))) (inst addu count nargs-tn (fixnum (- fixed)))
(inst blez count done)
(inst nop)
(inst addu csp-tn csp-tn count))) (inst addu csp-tn csp-tn count)))
(when (< fixed register-arg-count) (when (< fixed register-arg-count)
;; We must stop when we run out of stack args, not when we run out of ;; We must stop when we run out of stack args, not when we run out of
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment