0.9.1.63:
[sbcl.git] / src / compiler / ppc / static-fn.lisp
index 820b676..d0479a2 100644 (file)
@@ -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))
     (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)