This test for hash tables with weak values runs well with CCL, fails with SBCL.
Is it a SBCL bug?
[ François-René ÐVB Rideau | Reflection&Cybernethics | http://fare.tunes.org ]
The urge to save humanity is almost always a false front for the urge to rule.
-- H. L. Mencken
From: Paul Khuong <pkhuong@gm...> - 2009-04-15 16:22:49
On 15-Apr-09, at 12:17 PM, Faré wrote:
> This test for hash tables with weak values runs well with CCL, fails
> with SBCL.
> Is it a SBCL bug?
No, it's a conservatism bug. You can minimise conservative references
by creating a thread that'll handle everything that should become
(defun weak-test ()
(let ((table (build-weak-hash-table)))
(format t "Before GC~%")
(format t "After GC~%")
(let ((count (table-count-keys table)))
(if (eql 0 count)
(format t "All keys removed -- test succeeds~%")
(format t "~D keys remain -- test fails~%" count))
(eql 0 count))))