From: Alastair B. <lis...@us...> - 2010-08-04 17:58:25
|
Update of /cvsroot/sbcl/sbcl/src/compiler In directory sfp-cvsdas-3.v30.ch3.sourceforge.com:/tmp/cvs-serv26013/src/compiler Modified Files: fndb.lisp Log Message: "1.0.41.2": threads: Add memory-barrier framework. * New file, src/code/barrier.lisp, containing the baseline implementation. * Added the barrier functions to the compiler function database. * Export the interface macro, BARRIER, from SB!THREAD and the underlying barrier functions from SB!VM. * Document a new architecture-dependent build-time feature, MEMORY-BARRIER-VOPS, for controlling the behavior and inlining of the interpreter stubs for the barrier functions. Index: fndb.lisp =================================================================== RCS file: /cvsroot/sbcl/sbcl/src/compiler/fndb.lisp,v retrieving revision 1.168 retrieving revision 1.169 diff -u -d -r1.168 -r1.169 --- fndb.lisp 6 Apr 2010 12:43:57 -0000 1.168 +++ fndb.lisp 4 Aug 2010 17:58:15 -0000 1.169 @@ -1577,6 +1577,16 @@ ()) (defknown style-warn (t &rest t) null ()) + +;;;; memory barriers + +(defknown sb!vm:%compiler-barrier () (values) ()) +(defknown sb!vm:%memory-barrier () (values) ()) +(defknown sb!vm:%read-barrier () (values) ()) +(defknown sb!vm:%write-barrier () (values) ()) +(defknown sb!vm:%data-dependency-barrier () (values) ()) + + ;;;; atomic ops (defknown %compare-and-swap-svref (simple-vector index t t) t (unsafe)) |