diff --git a/code/extensions.lisp b/code/extensions.lisp index 126b07505b1e7e1ec178e48d916d1a753ff1fc8c..857414ebdcb0397aff1469b297339d5beb00be11 100644 --- a/code/extensions.lisp +++ b/code/extensions.lisp @@ -450,6 +450,7 @@ (- ,n-index ,entry-size)) (,n-cache ,var-name)) ((minusp ,n-index)) + (declare (type fixnum ,n-index)) (when (,test (svref ,n-cache ,n-index) ,arg-name) (let ((,n-index (- ,n-index ,n))) ,@(mapcar #'(lambda (i val) @@ -465,6 +466,7 @@ `(defun ,fun-name ,(arg-vars) (let ((,n-index (* (,hash-function ,@(arg-vars)) ,entry-size)) (,n-cache ,var-name)) + (declare (type fixnum ,n-index)) (if (and ,@(tests)) (values ,@(mapcar #'(lambda (x) `(svref ,n-cache ,x)) (values-indices))) @@ -476,6 +478,7 @@ `(defun ,fun-name (,@(arg-vars) ,@(values-names)) (let ((,n-index (* (,hash-function ,@(arg-vars)) ,entry-size)) (,n-cache ,var-name)) + (declare (type fixnum ,n-index)) ,@(sets) ,@(mapcar #'(lambda (i val) `(setf (svref ,n-cache ,i) ,val)) @@ -489,6 +492,7 @@ (do ((,n-index ,(- total-size entry-size) (- ,n-index ,entry-size)) (,n-cache ,var-name)) ((minusp ,n-index)) + (declare (type fixnum ,n-index)) ,@(collect ((arg-sets)) (dotimes (i nargs) (arg-sets `(setf (svref ,n-cache (+ ,n-index ,i)) nil)))