Update of /project/movitz/cvsroot/movitz In directory common-lisp.net:/tmp/cvs-serv13793
Modified Files: image.lisp Log Message: Correct the calculation of protect-non-pointer-count in run-time-context. This bug broke GC severely.
Date: Tue Jul 13 05:59:33 2004 Author: ffjeld
Index: movitz/image.lisp diff -u movitz/image.lisp:1.45 movitz/image.lisp:1.46 --- movitz/image.lisp:1.45 Mon Jul 12 19:24:36 2004 +++ movitz/image.lisp Tue Jul 13 05:59:33 2004 @@ -9,7 +9,7 @@ ;;;; Created at: Sun Oct 22 00:22:43 2000 ;;;; Distribution: See the accompanying file COPYING. ;;;; -;;;; $Id: image.lisp,v 1.45 2004/07/13 02:24:36 ffjeld Exp $ +;;;; $Id: image.lisp,v 1.46 2004/07/13 12:59:33 ffjeld Exp $ ;;;; ;;;;------------------------------------------------------------------
@@ -398,8 +398,11 @@ :initform 3) (protect-non-pointer-count :binary-type lu32 - :initform (* 4 (- (bt:slot-offset 'movitz-constant-block 'non-pointers-end) - (bt:slot-offset 'movitz-constant-block 'non-pointers-start)))) + :initform nil + :map-binary-write (lambda (x type) + (declare (ignore x type)) + (- (bt:slot-offset 'movitz-constant-block 'non-pointers-end) + (bt:slot-offset 'movitz-constant-block 'non-pointers-start)))) (non-pointers-start :binary-type :label) ; ========= NON-POINTER-START ======= ;; (align-segment-descriptors :binary-type 4) (segment-descriptor-table :binary-type :label)