X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;ds=sidebyside;f=src%2Fcode%2Froom.lisp;h=21bbfb96404bfbe525fe4b5411a87a3f4895ae0d;hb=7e24349c17298e2959e853ea411b5f65d9f7f332;hp=6e0ed5aa98975c77663b32cc5e39b0905620d3db;hpb=4e5668af19abcf84587bf3f7a1c4294cd92c94a7;p=sbcl.git diff --git a/src/code/room.lisp b/src/code/room.lisp index 6e0ed5a..21bbfb9 100644 --- a/src/code/room.lisp +++ b/src/code/room.lisp @@ -88,8 +88,10 @@ (make-room-info :name 'closure :kind :closure)) +;; FIXME: This looks rather brittle. Can we get more of these numbers +;; from somewhere sensible? (dolist (stuff '((simple-bit-vector-widetag . -3) - (simple-vector-widetag . 2) + (simple-vector-widetag . #.sb!vm:word-shift) (simple-array-unsigned-byte-2-widetag . -2) (simple-array-unsigned-byte-4-widetag . -1) (simple-array-unsigned-byte-7-widetag . 0) @@ -179,7 +181,9 @@ (multiple-value-bind (start end) (space-bounds space) (- (sap-int end) (sap-int start)))) -;;; Round SIZE (in bytes) up to the next dualword (eight byte) boundary. +;;; Round SIZE (in bytes) up to the next dualword boundary. A dualword +;;; is eight bytes on platforms with 32-bit word size and 16 bytes on +;;; platforms with 64-bit word size. #!-sb-fluid (declaim (inline round-to-dualword)) (defun round-to-dualword (size) (declare (fixnum size))