From: Nikodemus S. <de...@us...> - 2007-10-05 14:49:05
|
Update of /cvsroot/sbcl/sbcl In directory sc8-pr-cvs8.sourceforge.net:/tmp/cvs-serv11001 Modified Files: NEWS version.lisp-expr Log Message: 1.0.10.29: MUTEX refactoring & optimization * (SETF MUTEX-VALUE) removed entirely. Using it was never sane, and in the new setup entirely broken. * On futex platforms, keep track of state of the mutex: free, taken, or contested (taken and may have one ore more threads waiting). * On release, if the mutex is not contested, there is no need to perform the wakeup. * Document assumptions made by GET-MUTEX & RELEASE-MUTEX better. * Update FASL version. Index: NEWS =================================================================== RCS file: /cvsroot/sbcl/sbcl/NEWS,v retrieving revision 1.1256 retrieving revision 1.1257 diff -u -d -r1.1256 -r1.1257 --- NEWS 5 Oct 2007 14:00:08 -0000 1.1256 +++ NEWS 5 Oct 2007 14:48:40 -0000 1.1257 @@ -7,6 +7,8 @@ locking at the correct granularity. In the current implementation it is still safe to have multiple readers access the same table, but it's not guaranteed that this property will be maintained in future releases. + * minor incompatible change: (SETF MUTEX-VALUE) is not longer supported, + and will signal an error at runtime. * enhancement: SB-THREAD package now exports a semaphore interface. * enhancement: CONS can now stack-allocate on x86 and x86-64. (Earlier LIST and LIST* supported stack-allocation, but @@ -16,6 +18,8 @@ * enhancement: dynamic-extent support has been extended to support cases where there are multiple possible sources for the stack allocated value. + * optimization: RELEASE-MUTEX no longer needs to perform a syscall + if the mutex is uncontested on Linux. * bug fix: symbol-macro expansion now uses the *MACROEXPAND-HOOK* as specified by the CLHS. (thanks to Tobias Rittweiler) Index: version.lisp-expr =================================================================== RCS file: /cvsroot/sbcl/sbcl/version.lisp-expr,v retrieving revision 1.3667 retrieving revision 1.3668 diff -u -d -r1.3667 -r1.3668 --- version.lisp-expr 5 Oct 2007 14:00:09 -0000 1.3667 +++ version.lisp-expr 5 Oct 2007 14:48:40 -0000 1.3668 @@ -17,4 +17,4 @@ ;;; checkins which aren't released. (And occasionally for internal ;;; versions, especially for internal versions off the main CVS ;;; branch, it gets hairier, e.g. "0.pre7.14.flaky4.13".) -"1.0.10.28" +"1.0.10.29" |