From: Nikodemus S. <de...@us...> - 2010-03-28 15:19:20
|
Update of /cvsroot/sbcl/sbcl/src/compiler/generic In directory sfp-cvsdas-3.v30.ch3.sourceforge.com:/tmp/cvs-serv27202/src/compiler/generic Modified Files: vm-fndb.lisp Log Message: 1.0.37.8: add ATOMIC-DECF, fix WAIT-ON-SEMAPHORE-BUGLET * We already had SB-EXT:ATOMIC-INCF, so this seems a sensible companion. I really cannot remember why I didn't do things like this in the first place -- lack of time, maybe? * Use ATOMIC-DECF instead of DECF in WAIT-ON-SEMAPHORE to decrement the waitcount: if we unwind from CONDITION-WAIT due to timeout the mutex might no longer be ours. Index: vm-fndb.lisp =================================================================== RCS file: /cvsroot/sbcl/sbcl/src/compiler/generic/vm-fndb.lisp,v retrieving revision 1.55 retrieving revision 1.56 diff -u -d -r1.55 -r1.56 --- vm-fndb.lisp 23 Aug 2009 21:36:14 -0000 1.55 +++ vm-fndb.lisp 28 Mar 2010 15:19:12 -0000 1.56 @@ -166,7 +166,7 @@ (unsafe always-translatable)) #!+(or x86 x86-64) -(defknown %raw-instance-atomic-incf/word (instance index sb!vm:signed-word) sb!vm:word +(defknown %raw-instance-atomic-incf/word (instance index sb!vm:word) sb!vm:word (unsafe always-translatable)) ;;; These two are mostly used for bit-bashing operations. |