diff --git a/code/room.lisp b/code/room.lisp index f5a6896ec41baf68620bd78ad01146fdba131a1d..ee6abe9d9c546198428abbc7a511d698d2379759 100644 --- a/code/room.lisp +++ b/code/room.lisp @@ -7,7 +7,7 @@ ;;; Scott Fahlman or slisp-group@cs.cmu.edu. ;;; (ext:file-comment - "$Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/code/room.lisp,v 1.13 1992/01/02 22:45:25 ram Exp $") + "$Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/code/room.lisp,v 1.14 1992/02/09 18:29:20 ram Exp $") ;;; ;;; ********************************************************************** ;;; @@ -146,7 +146,7 @@ (proclaim '(inline vector-total-size)) (defun vector-total-size (obj info) (let ((shift (room-info-length info)) - (len (+ (length (the vector obj)) + (len (+ (length (the (simple-array * (*)) obj)) (ecase (room-info-kind info) (:vector 0) (:string 1))))) @@ -174,8 +174,10 @@ (without-gcing (multiple-value-bind (start end) (space-bounds space) + (declare (type system-area-pointer start end)) (declare (optimize (speed 3) (safety 0))) (let ((current start) + #+nil (prev nil)) (loop (let* ((header (sap-ref-32 current 0)) @@ -209,6 +211,7 @@ (assert (zerop (logand size lowtag-mask))) #+nil (when (> size 200000) (break "Implausible size, prev ~S" prev)) + #+nil (setq prev current) (setq current (sap+ current size)))) (t @@ -239,12 +242,14 @@ #+nil (when (> size 200000) (break "Implausible size, prev ~S" prev)) + #+nil (setq prev current) (setq current (sap+ current size)))))) (unless (pointer< current end) (assert (not (pointer> current end))) (return))) - + + #+nil prev)))) @@ -412,7 +417,7 @@ (type unsigned-byte total-bytes)) (map-allocated-objects #'(lambda (obj type size) - (declare (fixnum size) (optimize (speed 3) (safety 0))) + (declare (fixnum size) (optimize (safety 0))) (when (eql type code-header-type) (incf total-bytes size) (let ((words (truly-the fixnum (%primitive code-code-size obj))) @@ -443,7 +448,7 @@ (declare (inline map-allocated-objects)) (map-allocated-objects #'(lambda (obj type size) - (declare (fixnum size) (optimize (speed 3) (safety 0))) + (declare (fixnum size) (optimize (safety 0))) (case type (#.code-header-type (let ((inst-words @@ -602,7 +607,7 @@ (fixnum pages-so-far count-so-far pagesize)) (map-allocated-objects #'(lambda (obj obj-type size) - (declare (optimize (speed 3) (safety 0))) + (declare (optimize (safety 0))) (let ((addr (get-lisp-obj-address obj))) (when (>= addr start) (when (if count