Fix building on Solaris x86-64.
[sbcl.git] / src / code / gc.lisp
index b477d98..61c351c 100644 (file)
@@ -164,16 +164,17 @@ run in any thread.")
           (old %gc-logfile))
       (setf %gc-logfile new)
       (when old
-        (sb!alien:free-alien old))))
+        (sb!alien:free-alien old))
+      pathname))
   (defun gc-logfile ()
     #!+sb-doc
     "Return the pathname used to log garbage collections. Can be SETF.
 Default is NIL, meaning collections are not logged. If non-null, the
 designated file is opened before and after each collection, and generation
 statistics are appended to it."
-    (let ((val %gc-logfile))
+    (let ((val (cast %gc-logfile c-string)))
       (when val
-        (native-pathname (cast val c-string)))))
+        (native-pathname val))))
   (declaim (inline dynamic-space-size))
   (defun dynamic-space-size ()
     "Size of the dynamic space in bytes."
@@ -254,6 +255,8 @@ statistics are appended to it."
                          ;; turn is a type-error.
                          (when (plusp run-time)
                            (incf *gc-run-time* run-time))))
+                     #!+sb-safepoint
+                     (setf *stop-for-gc-pending* nil)
                      (setf *gc-pending* nil
                            new-usage (dynamic-usage))
                      #!+sb-thread
@@ -326,7 +329,7 @@ which may in turn trigger a collection of one or more older
 generations as well. If FULL is true, all generations are collected.
 If GEN is provided, it can be used to specify the oldest generation
 guaranteed to be collected."
-  (when (sub-gc :gen (if full 6 gen))
+  (when (sub-gc :gen (if full sb!vm:+pseudo-static-generation+ gen))
     (post-gc)))
 
 (define-alien-routine scrub-control-stack sb!alien:void)
@@ -435,8 +438,8 @@ Note: currently changes to this value are lost when saving core."
       "Number of bytes that can be allocated to GENERATION before that
 generation is considered for garbage collection. This value is meaningless for
 generation 0 (the nursery): see BYTES-CONSED-BETWEEN-GCS instead. Default is
-5% of the dynamic space size. Can be assigned to using SETF. Available on
-GENCGC platforms only.
+5% of the dynamic space size divided by the number of non-nursery generations.
+Can be assigned to using SETF. Available on GENCGC platforms only.
 
 Experimental: interface subject to change."
     t)