[movitz-cvs] CVS update: movitz/losp/muerte/scavenge.lisp

Frode Vatvedt Fjeld ffjeld at common-lisp.net
Fri Sep 17 11:13:06 UTC 2004


Update of /project/movitz/cvsroot/movitz/losp/muerte
In directory common-lisp.net:/tmp/cvs-serv6357

Modified Files:
	scavenge.lisp 
Log Message:
Re-working of non-local control transfer so as to comply with the
stack discipline.

Date: Fri Sep 17 13:13:05 2004
Author: ffjeld

Index: movitz/losp/muerte/scavenge.lisp
diff -u movitz/losp/muerte/scavenge.lisp:1.29 movitz/losp/muerte/scavenge.lisp:1.30
--- movitz/losp/muerte/scavenge.lisp:1.29	Wed Sep 15 12:22:59 2004
+++ movitz/losp/muerte/scavenge.lisp	Fri Sep 17 13:13:05 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.29 2004/09/15 10:22:59 ffjeld Exp $
+;;;; $Id: scavenge.lisp,v 1.30 2004/09/17 11:13:05 ffjeld Exp $
 ;;;;                
 ;;;;------------------------------------------------------------------
 
@@ -130,6 +130,7 @@
 	   ((scavenge-typep x :old-vector)
 	    (error "Scanned old-vector ~Z at address #x~X." x scan))
 	   ((eq x 3)
+	    (setf *scan-last* scan)
 	    (incf scan)
 	    (let ((delta (memref scan 0 0 :lisp)))
 	      (check-type delta positive-fixnum)
@@ -206,16 +207,14 @@
 			(cond
 			 ((location-in-object-p casf-code-vector
 						(dit-frame-ref stack dit-frame :eip :location))
-			  #+ignore
-			  (break "DIT at throw situation, in target EIP=~S"
-				 (dit-frame-ref stack dit-frame :eip :unsigned-byte32))
+			  (warn "DIT at throw situation, in target EIP=~S"
+				(dit-frame-ref stack dit-frame :eip :unsigned-byte32))
 			  (map-heap-words function interrupted-esp frame))
 			 ((location-in-object-p (funobj-code-vector (dit-frame-ref stack dit-frame
 										   :scratch1))
 						(dit-frame-ref stack dit-frame :eip :location))
-			  #+ignore
-			  (break "DIT at throw situation, in thrower EIP=~S"
-				 (dit-frame-ref stack dit-frame :eip :unsigned-byte32))
+			  (warn "DIT at throw situation, in thrower EIP=~S"
+				(dit-frame-ref stack dit-frame :eip :unsigned-byte32))
 			  (map-heap-words function interrupted-esp frame))
 			 (t (error "DIT with EBP<ESP, EBP=~S, ESP=~S"
 				   interrupted-ebp





More information about the Movitz-cvs mailing list