Update of /cvsroot/sbcl/sbcl/src/code
In directory sfp-cvsdas-3.v30.ch3.sourceforge.com:/tmp/cvs-serv27442/src/code
Modified Files:
signal.lisp sysmacs.lisp
Log Message:
1.0.44.35: Use DX-FLET instead of FLET in WITHOUT-{INTERRUPTS,GCING}.
* With the local functions declared to be DYNAMIC-EXTENT, the
new d-x closure analysis can elide the value cells involved
entirely.
* This fixes lp#674458 (introduced in 1.0.44.16).
Index: signal.lisp
===================================================================
RCS file: /cvsroot/sbcl/sbcl/src/code/signal.lisp,v
retrieving revision 1.25
retrieving revision 1.26
diff -u -d -r1.25 -r1.26
--- signal.lisp 16 Feb 2009 22:16:20 -0000 1.25
+++ signal.lisp 27 Nov 2010 03:02:03 -0000 1.26
@@ -102,7 +102,7 @@
(lambda () (with-local-interrupts ...)))
"
(with-unique-names (outer-allow-with-interrupts without-interrupts-body)
- `(flet ((,without-interrupts-body ()
+ `(dx-flet ((,without-interrupts-body ()
(declare (disable-package-locks allow-with-interrupts
with-local-interrupts))
(macrolet
Index: sysmacs.lisp
===================================================================
RCS file: /cvsroot/sbcl/sbcl/src/code/sysmacs.lisp,v
retrieving revision 1.34
retrieving revision 1.35
diff -u -d -r1.34 -r1.35
--- sysmacs.lisp 6 Aug 2010 18:49:42 -0000 1.34
+++ sysmacs.lisp 27 Nov 2010 03:02:03 -0000 1.35
@@ -51,7 +51,7 @@
locks, application code can never be certain that this invariant is
maintained."
(with-unique-names (without-gcing-body)
- `(flet ((,without-gcing-body ()
+ `(dx-flet ((,without-gcing-body ()
,@body))
(if *gc-inhibit*
(,without-gcing-body)
|