From: Juho S. <js...@us...> - 2006-09-13 15:59:41
|
Update of /cvsroot/sbcl/sbcl/contrib/sb-introspect In directory sc8-pr-cvs8.sourceforge.net:/tmp/cvs-serv10189/contrib/sb-introspect Modified Files: sb-introspect.lisp Log Message: 0.9.16.27: Add an interpreting EVAL, for cases where the compiler is unsuitable due to e.g. compilation overhead. * The old EVAL is still the default. To use the new one, (SETF SB-EXT:*EVALUATOR-MODE* :INTERPRET). Making the interpreter the default might be the purer choice, since there's a standard way of ensuring that code is compiled, and no standard way of ensuring that it's not. On the other hand, there are practical reasons for keeping the compiler as the default. The interpreter is very slow, doesn't have proper debugger support (either for backtraces or inspecting frames), and it doesn't have stepper support. * The interpreter doesn't treat THE or type declarations for lexical variables as assertions. The regression tests that assume otherwise have been disabled when running in interpreted mode. The intepreter will however type-check the proclaimed types of specials. Index: sb-introspect.lisp =================================================================== RCS file: /cvsroot/sbcl/sbcl/contrib/sb-introspect/sb-introspect.lisp,v retrieving revision 1.19 retrieving revision 1.20 diff -u -d -r1.19 -r1.20 --- sb-introspect.lisp 10 Aug 2006 11:17:28 -0000 1.19 +++ sb-introspect.lisp 13 Sep 2006 15:59:32 -0000 1.20 @@ -318,6 +318,11 @@ (sb-pcl::unparse-specializers (sb-mop:method-specializers object))))) source)) + #+sb-eval + (sb-eval:interpreted-function + (let ((source (translate-source-location + (sb-eval:interpreted-function-source-location object)))) + source)) (function (cond ((struct-accessor-p object) (find-definition-source |