0.9.5.53:
authorJuho Snellman <jsnell@iki.fi>
Thu, 13 Oct 2005 00:01:36 +0000 (00:01 +0000)
committerJuho Snellman <jsnell@iki.fi>
Thu, 13 Oct 2005 00:01:36 +0000 (00:01 +0000)
        More merging. SAVE-LISP-AND-DIE defaults to not purifying on
        GENCGC platforms.

NEWS
make-target-2.sh
src/code/save.lisp
version.lisp-expr

diff --git a/NEWS b/NEWS
index e9ad9cd..0e1e389 100644 (file)
--- a/NEWS
+++ b/NEWS
@@ -36,6 +36,10 @@ changes in sbcl-0.9.6 relative to sbcl-0.9.5:
     ** SUBTYPEP is slightly more accurate on heinously complicated
        CONS types where some of the members have uncertain (in the
        NIL, NIL sense) type relationships to each other.
+  * GENCGC
+    ** Cores produced by SAVE-LISP-AND-DIE on GENCGC platforms are 
+       no longer purified unless :PURIFY T is explicitly specified.
+    ** Non-purified cores are significantly smaller than before
 
 changes in sbcl-0.9.5 relative to sbcl-0.9.4:
   * new feature: timers based on Zach Beane's excellent timer package
index ceacef7..783d442 100644 (file)
@@ -96,5 +96,5 @@ echo //doing warm init
         ;; defined.
         (sb-kernel::ctype-of-cache-clear)
         (setq sb-c::*flame-on-necessarily-undefined-function* t)
-       (sb-ext:save-lisp-and-die "output/sbcl.core" :purify t)
+       (sb-ext:save-lisp-and-die "output/sbcl.core")
        EOF
index 5398a5e..da69f13 100644 (file)
@@ -30,7 +30,8 @@
 
 (defun save-lisp-and-die (core-file-name &key
                                          (toplevel #'toplevel-init)
-                                         (purify t)
+                                         (purify #!+gencgc nil
+                                                 #!-gencgc t)
                                          (root-structures ())
                                          (environment-name "auxiliary"))
   #!+sb-doc
@@ -47,12 +48,14 @@ The following &KEY arguments are defined:
      not return.
 
   :PURIFY
-     If true (the default), do a purifying GC which moves all
+     If true (the default on cheneygc), do a purifying GC which moves all
      dynamically allocated objects into static space. This takes
      somewhat longer than the normal GC which is otherwise done, but
      it's only done once, and subsequent GC's will be done less often
      and will take less time in the resulting core file. See the PURIFY
-     function.
+     function. For platforms that use the generational garbage collector
+     (x86 and x86-64) purification generally results in a loss of
+     performance.
 
   :ROOT-STRUCTURES
      This should be a list of the main entry points in any newly loaded
index 8963d33..e2bd1b9 100644 (file)
@@ -17,4 +17,4 @@
 ;;; checkins which aren't released. (And occasionally for internal
 ;;; versions, especially for internal versions off the main CVS
 ;;; branch, it gets hairier, e.g. "0.pre7.14.flaky4.13".)
-"0.9.5.52"
+"0.9.5.53"