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

Frode Vatvedt Fjeld ffjeld at common-lisp.net
Thu Feb 3 09:13:20 UTC 2005


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

Modified Files:
	scavenge.lisp 
Log Message:
Tweaking of scavenge-find-code-vector: match ret-trampoline, and don't
break upon EDX match.

Date: Thu Feb  3 10:13:20 2005
Author: ffjeld

Index: movitz/losp/muerte/scavenge.lisp
diff -u movitz/losp/muerte/scavenge.lisp:1.46 movitz/losp/muerte/scavenge.lisp:1.47
--- movitz/losp/muerte/scavenge.lisp:1.46	Wed Feb  2 08:50:57 2005
+++ movitz/losp/muerte/scavenge.lisp	Thu Feb  3 10:13:20 2005
@@ -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.46 2005/02/02 07:50:57 ffjeld Exp $
+;;;; $Id: scavenge.lisp,v 1.47 2005/02/03 09:13:20 ffjeld Exp $
 ;;;;                
 ;;;;------------------------------------------------------------------
 
@@ -201,13 +201,16 @@
 	 ((location-in-object-p dit-code-vector location)
 	  dit-code-vector)
 	 ((match-funobj esi location))
+	 ((location-in-object-p (symbol-value 'ret-trampoline) location)
+	  (symbol-value 'ret-trampoline))
 	 (t (break "DIT returns outside DIT??")))))
      ((match-funobj casf-funobj location))
      ((match-funobj esi location))      
-     ((match-funobj edx location)
-      (break "Trampoline/EDX situation?"))
+     ((match-funobj edx location))
      ((not (typep casf-funobj 'function))
       (break "Unknown funobj/frame-type: ~S" casf-funobj))
+     ((location-in-object-p (symbol-value 'ret-trampoline) location)
+      (symbol-value 'ret-trampoline))
      ((location-in-object-p (%run-time-context-slot 'dynamic-jump-next) location)
       (%run-time-context-slot 'dynamic-jump-next))
      ((when primitive-function-p




More information about the Movitz-cvs mailing list