[movitz-cvs] CVS update: movitz/losp/muerte/scavenge.lisp
Frode Vatvedt Fjeld
ffjeld at common-lisp.net
Tue Jul 13 02:37:37 UTC 2004
Update of /project/movitz/cvsroot/movitz/losp/muerte
In directory common-lisp.net:/tmp/cvs-serv31488
Modified Files:
scavenge.lisp
Log Message:
Some debugging tweaks to map-heap-words.
Date: Mon Jul 12 19:37:36 2004
Author: ffjeld
Index: movitz/losp/muerte/scavenge.lisp
diff -u movitz/losp/muerte/scavenge.lisp:1.15 movitz/losp/muerte/scavenge.lisp:1.16
--- movitz/losp/muerte/scavenge.lisp:1.15 Mon Jul 12 04:09:34 2004
+++ movitz/losp/muerte/scavenge.lisp Mon Jul 12 19:37:36 2004
@@ -10,7 +10,7 @@
;;;; Author: Frode Vatvedt Fjeld <frodef at acm.org>
;;;; Created at: Mon Mar 29 14:54:08 2004
;;;;
-;;;; $Id: scavenge.lisp,v 1.15 2004/07/12 11:09:34 ffjeld Exp $
+;;;; $Id: scavenge.lisp,v 1.16 2004/07/13 02:37:36 ffjeld Exp $
;;;;
;;;;------------------------------------------------------------------
@@ -63,7 +63,7 @@
(error "Illegal word ~Z at ~S." x scan))
((scavenge-typep x :bignum)
(assert (evenp scan) ()
- "Scanned #x~Z at odd address #x~X." x scan)
+ "Scanned ~Z at odd address #x~X." x scan)
;; Just skip the bigits
(let* ((bigits (word-bigits x))
(delta (1+ (logand bigits -2))))
@@ -71,9 +71,9 @@
(incf scan delta)))
((scavenge-typep x :funobj)
(assert (evenp scan) ()
- "Scanned #x~Z at odd address #x~X." x scan)
+ "Scanned ~Z at odd address #x~X." x scan)
(setf *scan-last* (%word-offset scan #.(movitz:tag :other)))
- ;; Process code-vector pointer specially..
+ ;; Process code-vector pointers specially..
(let* ((funobj (%word-offset scan #.(movitz:tag :other)))
(code-vector (funobj-code-vector funobj))
(num-jumpers (funobj-num-jumpers funobj)))
@@ -98,21 +98,21 @@
(scavenge-wide-typep x :basic-vector
#.(bt:enum-value 'movitz:movitz-vector-element-type :code)))
(assert (evenp scan) ()
- "Scanned #x~Z at odd address #x~X." x scan)
+ "Scanned ~Z at odd address #x~X." x scan)
(let ((len (memref scan 0 1 :lisp)))
(check-type len positive-fixnum)
(setf *scan-last* (%word-offset scan #.(movitz:tag :other)))
(incf scan (1+ (* 2 (truncate (+ 7 len) 8))))))
((scavenge-wide-typep x :basic-vector #.(bt:enum-value 'movitz:movitz-vector-element-type :u16))
(assert (evenp scan) ()
- "Scanned #x~Z at odd address #x~X." x scan)
+ "Scanned ~Z at odd address #x~X." x scan)
(let ((len (memref scan 0 1 :lisp)))
(check-type len positive-fixnum)
(setf *scan-last* (%word-offset scan #.(movitz:tag :other)))
(incf scan (1+ (* 2 (truncate (+ 3 len) 4))))))
((scavenge-wide-typep x :basic-vector #.(bt:enum-value 'movitz:movitz-vector-element-type :u32))
(assert (evenp scan) ()
- "Scanned #x~Z at odd address #x~X." x scan)
+ "Scanned ~Z at odd address #x~X." x scan)
(let ((len (memref scan 0 1 :lisp)))
(check-type len positive-fixnum)
(setf *scan-last* (%word-offset scan #.(movitz:tag :other)))
@@ -125,7 +125,9 @@
(error "Scanned old-vector #x~Z at address #x~X." x scan))
((eq x (fixnum-word 3))
(incf scan)
- (incf scan (memref scan 0 0 :lisp)))
+ (let ((delta (memref scan 0 0 :lisp)))
+ (check-type delta positive-fixnum)
+ (incf scan delta)))
((typep x 'pointer)
(let ((new (funcall function x scan)))
(unless (eq new x)
More information about the Movitz-cvs
mailing list