X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=src%2Fcompiler%2Fx86%2Fstatic-fn.lisp;h=111701b0184a6f38d700c1e1d4fa4b9eec3d6633;hb=dfa55a883f94470267b626dae77ce7e7dfac3df6;hp=58742242c99123f07509cbb5cc8cada9e104760a;hpb=adf0d51d2bde8b723276bacf94641df9aa5ae561;p=sbcl.git diff --git a/src/compiler/x86/static-fn.lisp b/src/compiler/x86/static-fn.lisp index 5874224..111701b 100644 --- a/src/compiler/x86/static-fn.lisp +++ b/src/compiler/x86/static-fn.lisp @@ -11,9 +11,6 @@ (in-package "SB!VM") -(file-comment - "$Header$") - (define-vop (static-function-template) (:save-p t) (:policy :safe) @@ -40,11 +37,10 @@ (moves))) (defun static-function-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 (~D) or too many results (~D); max = ~D" + 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) @@ -55,7 +51,7 @@ (let ((temp-name (intern (format nil "TEMP-~D" i)))) (temp-names temp-name) (temps `(:temporary (:sc descriptor-reg - :offset ,(nth i register-arg-offsets) + :offset ,(nth i *register-arg-offsets*) :from ,(if (< i num-args) `(:argument ,i) '(:eval 1))