Don't hardcode the number of gencgc generations.
authorStas Boukarev <stassats@gmail.com>
Wed, 21 Aug 2013 12:52:26 +0000 (16:52 +0400)
committerStas Boukarev <stassats@gmail.com>
Wed, 21 Aug 2013 12:52:26 +0000 (16:52 +0400)
Use sb-vm:+pseudo-static-generation+.
Patch by Andreas Franke.

contrib/sb-introspect/test-driver.lisp
src/code/gc.lisp

index e6bee2e..aa7bfc8 100644 (file)
     (tai #'cons :heap
          ;; FIXME: This is the canonical GENCGC result. On PPC we sometimes get
          ;; :LARGE T, which doesn't seem right -- but ignore that for now.
-         '(:space :dynamic :generation 6 :write-protected t :boxed t :pinned nil :large nil)
+         `(:space :dynamic :generation ,sb-vm:+pseudo-static-generation+
+           :write-protected t :boxed t :pinned nil :large nil)
          :ignore (list :page #+ppc :large))
     #-gencgc
     (tai :cons :heap
index b0f5fbc..61c351c 100644 (file)
@@ -329,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)