X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=src%2Fcompiler%2Fmips%2Fstatic-fn.lisp;h=d905ca004f90513a44eee072a2c06a2f0d45eaac;hb=3fe0010d2777b41e01ea9b4a0f894cfa40f7df1b;hp=3cc774d2180a27c968eb9aad03846c41046a3e26;hpb=4ae1b794a5d6a90794468cf8017f5307f2c30dfe;p=sbcl.git diff --git a/src/compiler/mips/static-fn.lisp b/src/compiler/mips/static-fn.lisp index 3cc774d..d905ca0 100644 --- a/src/compiler/mips/static-fn.lisp +++ b/src/compiler/mips/static-fn.lisp @@ -31,11 +31,10 @@ (moves))) (defun static-fun-template-vop (num-args num-results) - (assert (and (<= num-args register-arg-count) + (unless (and (<= num-args register-arg-count) (<= num-results register-arg-count)) - (num-args num-results) - "Either too many args (~D) or too many results (~D). Max = ~D" - num-args num-results register-arg-count) + (error "either too many args (~W) or too many results (~W); max = ~W" + num-args num-results register-arg-count)) (let ((num-temps (max num-args num-results))) (collect ((temp-names) (temps) (arg-names) (args) (result-names) (results)) (dotimes (i num-results) @@ -72,11 +71,11 @@ (inst lw entry-point null-tn (static-fun-offset symbol)) (when cur-nfp (store-stack-tn nfp-save cur-nfp)) - (inst move ocfp cfp-tn) + (move ocfp cfp-tn) (inst compute-lra-from-code lra code-tn lra-label temp) (note-this-location vop :call-site) (inst j entry-point) - (inst move cfp-tn csp-tn) + (move cfp-tn csp-tn t) (emit-return-pc lra-label) ,(collect ((bindings) (links)) (do ((temp (temp-names) (cdr temp)) @@ -98,7 +97,7 @@ ,@(moves (result-names) (temp-names)))))))) -) ; eval-when (compile load eval) +) ; EVAL-WHEN (expand