1.0.23.37: more CLOS and classoid thread safety
commit95f17ca63742f8c164309716b35bc25545a849a6
authorNikodemus Siivola <nikodemus@random-state.net>
Fri, 12 Dec 2008 12:27:00 +0000 (12 12:27 +0000)
committerNikodemus Siivola <nikodemus@random-state.net>
Fri, 12 Dec 2008 12:27:00 +0000 (12 12:27 +0000)
tree71019d34c65d9cd2248bd8ee9959ee570707cf5c
parent963d8df14dd061d55ed0447acc9c2621a53e5237
1.0.23.37: more CLOS and classoid thread safety

 * Rename *BIG-COMPILER-LOCK* as *WORLD-LOCK*.

 * Use it to protect classoids, layouts/wrappers, obsolete instance
   updating, etc.

 * Rename sevaral functions which assume their callers are holding the
   lock to have % prefix. Perhaps we should have a separate prefix
   convention for "requires called to lock"? Or a nifty macro layer?
   (Actually there are probably places where read/write locks (or
   STM!)  would be a win...)

 * ENSURE-CLASS-USING-CLASS needs to set up type translations only
   while PCL is being build.

 * DEFCLASS and ENSURE-CLASS-USING-CLASS are now expected to be thread
   safe.

 * Test-case for parallel defclass and make-instance.
22 files changed:
NEWS
doc/internals-notes/threading-specials
package-data-list.lisp-expr
src/code/class.lisp
src/code/cold-init.lisp
src/code/load.lisp
src/code/typep.lisp
src/compiler/early-c.lisp
src/compiler/main.lisp
src/pcl/braid.lisp
src/pcl/ctor.lisp
src/pcl/dfun.lisp
src/pcl/generic-functions.lisp
src/pcl/low.lisp
src/pcl/macros.lisp
src/pcl/methods.lisp
src/pcl/slots.lisp
src/pcl/std-class.lisp
src/pcl/vector.lisp
src/pcl/wrapper.lisp
tests/threads.impure.lisp
version.lisp-expr