From: Gábor M. <me...@us...> - 2008-05-08 07:14:13
|
Update of /cvsroot/sbcl/sbcl/src/compiler/generic In directory sc8-pr-cvs8.sourceforge.net:/tmp/cvs-serv20748/src/compiler/generic Modified Files: interr.lisp parms.lisp Log Message: 1.0.16.21: lose informatively when the tls is full Instead of eventually producing a segv or some random corruption: (progv (loop for i below 5000 collect (make-symbol (format nil "xxx~D" i))) (loop for i below 5000 collect i)) Index: interr.lisp =================================================================== RCS file: /cvsroot/sbcl/sbcl/src/compiler/generic/interr.lisp,v retrieving revision 1.15 retrieving revision 1.16 diff -u -d -r1.15 -r1.16 --- interr.lisp 14 Jul 2005 18:35:35 -0000 1.15 +++ interr.lisp 8 May 2008 07:14:02 -0000 1.16 @@ -145,6 +145,8 @@ "Object layout is invalid. (indicates obsolete instance)") (object-not-complex-vector "Object is not a complex (non-SIMPLE-ARRAY) vector.") + (tls-exhausted + "Thread local storage exhausted.") . #.(map 'list (lambda (saetp) Index: parms.lisp =================================================================== RCS file: /cvsroot/sbcl/sbcl/src/compiler/generic/parms.lisp,v retrieving revision 1.9 retrieving revision 1.10 diff -u -d -r1.9 -r1.10 --- parms.lisp 8 Jun 2007 12:15:46 -0000 1.9 +++ parms.lisp 8 May 2008 07:14:02 -0000 1.10 @@ -71,3 +71,7 @@ :value :key-and-value :key-or-value)) + +;;; Number of entries in the thread local storage. Limits the number +;;; of symbols with thread local bindings. +(def!constant tls-size 4096) |