Fix CHAR-EQUAL on base-chars on non-sb-unicode.
[sbcl.git] / src / code / gc.lisp
index b9d9151..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."
@@ -328,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)