Update of /cvsroot/sbcl/sbcl
In directory usw-pr-cvs1:/tmp/cvs-serv17979
Modified Files:
BUGS NEWS version.lisp-expr
Log Message:
0.7.6.3:
tweaked bsd-os.h to make the new sigaltstack(2) stuff build on
OpenBSD/x86
fixed bug 189: Now FLET and LABELS inlining respects NOTINLINE
declarations as required by ANSI.
While I'm at it, suppress FLET/LABELS inlining when (> DEBUG SPEED)
too.
Index: BUGS
===================================================================
RCS file: /cvsroot/sbcl/sbcl/BUGS,v
retrieving revision 1.164
retrieving revision 1.165
diff -u -d -r1.164 -r1.165
--- BUGS 22 Jul 2002 20:22:41 -0000 1.164
+++ BUGS 23 Jul 2002 23:52:16 -0000 1.165
@@ -1456,17 +1456,8 @@
(INTEGER 1296 1296)
...)>)[:EXTERNAL]
-189: "ignored NOTINLINE for functions defined by FLET or LABELS"
- According to the ANSI definition of the NOTINLINE declaration,
- NOTINLINE specifies that it is undesirable to compile the functions
- named by FUNCTION-NAMES in-line. A compiler is not free to ignore
- this declaration; calls to the specified functions must be implemented
- as out-of-line subroutine calls.
- However, as of sbcl-0.7.5.22, Python ignores this declaration for
- functions defined by LABELS and FLET, and merrily optimizes away the
- LAMBDAs. (This is an annoyance not just for language lawyers, but for
- people who want a useful BACKTRACE for functions which, for whatever
- reason, are constrained to be implemented as LABELS or LET.)
+(189: "ignored NOTINLINE for functions defined by FLET or LABELS")
+ (fixed in sbcl-0.7.6.3)
DEFUNCT CATEGORIES OF BUGS
IR1-#:
Index: NEWS
===================================================================
RCS file: /cvsroot/sbcl/sbcl/NEWS,v
retrieving revision 1.142
retrieving revision 1.143
diff -u -d -r1.142 -r1.143
--- NEWS 23 Jul 2002 14:43:14 -0000 1.142
+++ NEWS 23 Jul 2002 23:52:16 -0000 1.143
@@ -1190,6 +1190,13 @@
(user-invisible) bitrotted stuff. (E.g. *!INITIAL-FDEFN-OBJECTS*
is no longer a static symbol.)
+changes in sbcl-0.7.7 relative to sbcl-0.7.6:
+ * fixed bug 189: The compiler now respects NOTINLINE declarations for
+ functions declared in FLET and LABELS. (I.e. "LET conversion" is
+ suppressed.) Also now that the compiler is looking at declarations
+ in the environment, it checks optimization declarations as well,
+ and suppresses inlining when (> DEBUG SPEED).
+
planned incompatible changes in 0.7.x:
* When the profiling interface settles down, maybe in 0.7.x, maybe
later, it might impact TRACE. They both encapsulate functions, and
Index: version.lisp-expr
===================================================================
RCS file: /cvsroot/sbcl/sbcl/version.lisp-expr,v
retrieving revision 1.484
retrieving revision 1.485
diff -u -d -r1.484 -r1.485
--- version.lisp-expr 23 Jul 2002 18:20:10 -0000 1.484
+++ version.lisp-expr 23 Jul 2002 23:52:16 -0000 1.485
@@ -18,4 +18,4 @@
;;; for internal versions, especially for internal versions off the
;;; main CVS branch, it gets hairier, e.g. "0.pre7.14.flaky4.13".)
-"0.7.6.2"
+"0.7.6.3"
|