[movitz-cvs] CVS movitz/losp

ffjeld ffjeld at common-lisp.net
Thu Apr 17 19:37:01 UTC 2008


Update of /project/movitz/cvsroot/movitz/losp
In directory clnet:/tmp/cvs-serv15613

Modified Files:
	los0-gc.lisp 
Log Message:
Break if GC doesn't free anything. It usually means we're dead.


--- /project/movitz/cvsroot/movitz/losp/los0-gc.lisp	2007/04/09 17:30:09	1.62
+++ /project/movitz/cvsroot/movitz/losp/los0-gc.lisp	2008/04/17 19:37:01	1.63
@@ -10,7 +10,7 @@
 ;;;; Author:        Frode Vatvedt Fjeld <frodef at acm.org>
 ;;;; Created at:    Sat Feb 21 17:48:32 2004
 ;;;;                
-;;;; $Id: los0-gc.lisp,v 1.62 2007/04/09 17:30:09 ffjeld Exp $
+;;;; $Id: los0-gc.lisp,v 1.63 2008/04/17 19:37:01 ffjeld Exp $
 ;;;;                
 ;;;;------------------------------------------------------------------
 
@@ -429,8 +429,6 @@
                                           new)))))
 		  ((not (object-in-space-p oldspace x))
 		   x)
-		  #+ignore ((when (typep x 'run-time-context)
-                              (warn "Scavenging ~S" x)))
 		  (t (or (and (eq (object-tag x)
 				  (ldb (byte 3 0)
 				       (memref (object-location x) 0 :type :unsigned-byte8)))
@@ -438,6 +436,8 @@
 				(and (object-in-space-p newspace forwarded-x)
 				     forwarded-x)))
 			 (let ((forward-x (shallow-copy x)))
+			   (when (typep x 'run-time-context)
+			     (break "Evac RTC ~Z -> ~Z" x forward-x))
 			   (when (and *gc-consistency-check*
 				      (typep x 'muerte::pointer))
 			     (let ((a *x*))
@@ -533,6 +533,8 @@
       (unless *gc-quiet*
 	(let ((old-size (truncate (- (space-fresh-pointer oldspace) 2) 2))
 	      (new-size (truncate (- (space-fresh-pointer newspace) 2) 2)))
+	  (when (= old-size new-size)
+	    (break "No memory freed by GC."))
 	  (format t "Old space: ~/muerte:pprint-clumps/, new space: ~
 ~/muerte:pprint-clumps/, freed: ~/muerte:pprint-clumps/.~%"
 		  old-size new-size (- old-size new-size))))




More information about the Movitz-cvs mailing list