X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=src%2Fcompiler%2Fppc%2Fstatic-fn.lisp;h=d0479a27064c1bed85dad175259697e366c77e45;hb=2253ebaef8a0a1527d2282a1c10f48c62e0d4a83;hp=820b676d0daed879545215495a86354f80a51690;hpb=581e3d62de8cb37e13ad9db63e5537c0f962be28;p=sbcl.git diff --git a/src/compiler/ppc/static-fn.lisp b/src/compiler/ppc/static-fn.lisp index 820b676..d0479a2 100644 --- a/src/compiler/ppc/static-fn.lisp +++ b/src/compiler/ppc/static-fn.lisp @@ -1,8 +1,15 @@ -;;; Written by William Lott. -;;; -(in-package "SB!VM") +;;;; VOPs and macro magic for calling static functions +;;;; This software is part of the SBCL system. See the README file for +;;;; more information. +;;;; +;;;; This software is derived from the CMU CL system, which was +;;;; written at Carnegie Mellon University and released into the +;;;; public domain. The software is in the public domain and is +;;;; provided with absolutely no warranty. See the COPYING and CREDITS +;;;; files for more information. +(in-package "SB!VM") (define-vop (static-fun-template) (:save-p t) @@ -13,7 +20,6 @@ (:temporary (:scs (descriptor-reg)) move-temp) (:temporary (:sc descriptor-reg :offset lra-offset) lra) (:temporary (:sc interior-reg :offset lip-offset) entry-point) - (:temporary (:scs (descriptor-reg)) func) (:temporary (:sc any-reg :offset nargs-offset) nargs) (:temporary (:sc any-reg :offset ocfp-offset) old-fp) (:temporary (:sc control-stack :offset nfp-save-offset) nfp-save)) @@ -36,11 +42,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 (~W) or too many results (~W). Max = ~W" - 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)