;; will be a short. On platforms with larger ones, it'll
;; be an int.
(bytes-used (unsigned
- #.(if (typep sb!vm:gencgc-page-bytes
+ #.(if (typep sb!vm:gencgc-card-bytes
'(unsigned-byte 16))
16
32)))
(maybe-skip-page ()
#!+gencgc
(when (eq space :dynamic)
- (loop with page-mask = #.(1- sb!vm:gencgc-page-bytes)
+ (loop with page-mask = #.(1- sb!vm:gencgc-card-bytes)
for addr of-type sb!vm:word = (sap-int current)
while (>= addr skip-tests-until-addr)
do
(return-from maybe-skip-page))
;; Move CURRENT to start of next page.
(setf current (int-sap (+ (logandc2 addr page-mask)
- sb!vm:gencgc-page-bytes)))
+ sb!vm:gencgc-card-bytes)))
(maybe-finish-mapping))))))
(maybe-map (obj obj-tag n-obj-bytes &optional (ok t))
(let ((next (typecase n-obj-bytes