0.8.20.29:
[sbcl.git] / doc / internals-notes / threading-specials
index adfe42c..67cacf1 100644 (file)
@@ -27,7 +27,7 @@ The goals are
         spots.  Global state in closures, etc etc
            
        (4) suggest strategies (e.g. rewrites of affected code, suitable
-       locks and lock acquitision/release places) to fix the issues
+       locks and lock acquisition/release places) to fix the issues
        revealed in (2) and (3)
        
        (5) implement same
@@ -599,6 +599,10 @@ Note that the compiler and fasloader are strongly believed not to be
 thread-safe, so there is currently a big lock (*big-compiler-lock*)
 around all calls to the compiler or fasloader
 
+Note that INFO functions use a shared cache for the globaldb, and
+don't lock for cache invalidation. This will need fixing when BCL is
+removed.
+
 *COMPILE-FILE-PATHNAME*  
 *COMPILE-FILE-TRUENAME* 
 *COMPILE-PRINT* 
@@ -817,13 +821,13 @@ SB-FASL::FOP-LIST*-3
 
 SB-VM:*STATIC-SPACE-FREE-POINTER* 
 SB-VM:*INITIAL-DYNAMIC-SPACE-FREE-POINTER* 
-SB-VM:*CURRENT-CATCH-BLOCK* 
+SB-VM:*CURRENT-CATCH-BLOCK* ; bound at thread entry (in C)
 SB-VM:*STATIC-SYMBOLS* 
 SB-VM:*CONTROL-STACK-START* ; safe, bound at thread entry
 SB-VM:*READ-ONLY-SPACE-FREE-POINTER* 
 SB-VM:*BINDING-STACK-START* ; safe, bound at thread entry
 SB-VM:*CONTROL-STACK-END* ; safe, bound at thread entry
-SB-VM::*CURRENT-UNWIND-PROTECT-BLOCK* 
+SB-VM::*CURRENT-UNWIND-PROTECT-BLOCK*  ; bound at thread entry (in C)
 SB-VM::*FREE-TLS-INDEX* 
 SB-VM::*BINDING-STACK-POINTER* 
 SB-VM::*ALLOCATION-POINTER*    ; may be mostly unused ?
@@ -838,7 +842,7 @@ SB-KERNEL::*GC-TRIGGER*  ; I think this is dead, check
 SB-IMPL::*CURRENT-UNWIND-PROTECT-BLOCK*
 SB-IMPL::*CURRENT-CATCH-BLOCK*
 SB-IMPL::*READ-ONLY-SPACE-FREE-POINTER*
-SB-VM::*ALIEN-STACK* 
+SB-VM::*ALIEN-STACK*  ; bound in create_thread_struct()
 
 SB-IMPL::*OBJECTS-PENDING-FINALIZATION*  ; needs locking for writers
 
@@ -961,12 +965,12 @@ SB-KERNEL:*CURRENT-LEVEL-IN-PRINT*
 SB-KERNEL:*UNIVERSAL-FUN-TYPE* 
 SB-KERNEL:*COLD-INIT-COMPLETE-P* 
 SB-KERNEL:*UNIVERSAL-TYPE*                              ; readonly
-SB-KERNEL:*HANDLER-CLUSTERS* 
+SB-KERNEL:*HANDLER-CLUSTERS*                           ; bound per-thread
 SB-KERNEL:*EMPTY-TYPE*                                  ; readonly
 SB-KERNEL:*MAXIMUM-ERROR-DEPTH* 
-SB-KERNEL:*CONDITION-RESTARTS* 
+SB-KERNEL:*CONDITION-RESTARTS*                                 ; bound per-thread
 SB-KERNEL:*TYPE-SYSTEM-INITIALIZED* 
-SB-KERNEL:*RESTART-CLUSTERS* 
+SB-KERNEL:*RESTART-CLUSTERS*                            ; bound per-thread
 SB-KERNEL::*MAKE-VALUES-TYPE-CACHED-CACHE-VECTOR* 
 SB-KERNEL::*BUILT-IN-CLASS-CODES*                       ; readonly
 SB-KERNEL::*DEF!STRUCT-TYPE-MAKE-LOAD-FORM-FUN* 
@@ -1098,9 +1102,6 @@ SB-IMPL::*PREVIOUS-CASE* ; FIXME: printer not threadsafe
 *MACROEXPAND-HOOK* 
 *RANDOM-STATE* 
 
-SB-BIGNUM::*TRUNCATE-Y*
-SB-BIGNUM::*TRUNCATE-X*
-
 SB-INT:*CL-PACKAGE*                     ; readonly
 SB-INT:*KEYWORD-PACKAGE*                ; readonly
 SB-INT:*SETF-FDEFINITION-HOOK*