Index: /trunk/source/lib/misc.lisp
===================================================================
--- /trunk/source/lib/misc.lisp	(revision 8417)
+++ /trunk/source/lib/misc.lisp	(revision 8418)
@@ -841,2 +841,18 @@
 	
 
+(defparameter *weak-gc-method-names*
+  '((:traditional . 0)
+    (:non-circular . 1)))
+
+
+(defun weak-gc-method ()
+  (or (car (rassoc (%get-kernel-global 'weak-gc-method)
+                   *weak-gc-method-names*))
+      :traditional))
+
+
+(defun (setf weak-gc-method) (name)
+  (setf (%get-kernel-global 'weak-gc-method)
+        (or (cdr (assoc name *weak-gc-method-names*))
+            0))
+  name)
