Update of /project/movitz/cvsroot/movitz/losp/muerte In directory common-lisp.net:/tmp/cvs-serv13258
Modified Files: scavenge.lisp Log Message: In map-heap-words, only write back the new word if the function changes it. Seems like an obvious way to reduce pressure on the memory subsystem, and increased speed by about 5% on my test HW.
Date: Tue Mar 30 03:50:12 2004 Author: ffjeld
Index: movitz/losp/muerte/scavenge.lisp diff -u movitz/losp/muerte/scavenge.lisp:1.1 movitz/losp/muerte/scavenge.lisp:1.2 --- movitz/losp/muerte/scavenge.lisp:1.1 Mon Mar 29 09:30:22 2004 +++ movitz/losp/muerte/scavenge.lisp Tue Mar 30 03:50:12 2004 @@ -10,7 +10,7 @@ ;;;; Author: Frode Vatvedt Fjeld frodef@acm.org ;;;; Created at: Mon Mar 29 14:54:08 2004 ;;;; -;;;; $Id: scavenge.lisp,v 1.1 2004/03/29 14:30:22 ffjeld Exp $ +;;;; $Id: scavenge.lisp,v 1.2 2004/03/30 08:50:12 ffjeld Exp $ ;;;; ;;;;------------------------------------------------------------------
@@ -87,7 +87,8 @@ ((typep x 'pointer) (let ((new (funcall function x))) (check-type new pointer) - (setf (memref i 0 0 :lisp) new))))))) + (unless (eq x new) + (setf (memref i 0 0 :lisp) new)))))))) (values))
(defun map-stack-words (function start-stack-frame)