X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=src%2Fcompiler%2Fmips%2Fcall.lisp;h=97057d8c2293ddd5d9c1ab3797fb25a5bfed151f;hb=2f492b2a39b1361e1dd97d5243bc47238b98ca8f;hp=af2d65dd73519382d663f3a86b66200e4f677aea;hpb=ca2d58fc8ab92eb5ab50ed4428af4b39866bd5f4;p=sbcl.git diff --git a/src/compiler/mips/call.lisp b/src/compiler/mips/call.lisp index af2d65d..97057d8 100644 --- a/src/compiler/mips/call.lisp +++ b/src/compiler/mips/call.lisp @@ -367,9 +367,9 @@ default-value-8 (when lra-label (inst compute-code-from-lra code-tn code-tn lra-label temp)) - (inst addu csp-tn csp-tn 4) + (inst addu csp-tn csp-tn n-word-bytes) (storew (first *register-arg-tns*) csp-tn -1) - (inst addu start csp-tn -4) + (inst addu start csp-tn (- n-word-bytes)) (inst li count (fixnumize 1)) (emit-label done) @@ -703,7 +703,7 @@ default-value-8 '((:temporary (:scs (non-descriptor-reg)) temp) (:temporary (:sc control-stack :offset nfp-save-offset) nfp-save))) - (:temporary (:sc interior-reg :offset lip-offset) entry-point) + (:temporary (:sc interior-reg) entry-point) (:generator ,(+ (if named 5 0) (if variable 19 1) @@ -1171,7 +1171,7 @@ default-value-8 (move context context-arg) (move count count-arg) ;; Check to see if there are any arguments. - (inst beq count zero-tn done) + (inst beq count done) (move result null-tn t) ;; We need to do this atomically. @@ -1199,7 +1199,7 @@ default-value-8 ;; Dec count, and if != zero, go back for more. (inst addu count count (fixnumize -1)) - (inst bne count zero-tn loop) + (inst bne count loop) ;; Store the value in the car (in delay slot) (storew temp dst 0 list-pointer-lowtag) @@ -1248,7 +1248,7 @@ default-value-8 (let ((err-lab (generate-error-code vop invalid-arg-count-error nargs))) (cond ((zerop count) - (inst bne nargs zero-tn err-lab) + (inst bne nargs err-lab) (inst nop)) (t (inst li temp (fixnumize count))