X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=doc%2Finternals-notes%2Fthreading-specials;h=70e6c77c2f8d136cbaa82c13290b7f43958a4ae1;hb=4e6200853a661da5e73d0843a4afca9077a06fa8;hp=d27b2486fb4dbffaf453e88e037b0cf8e8bfdde1;hpb=ebc0f0ebf9efd39519ab86ba28c33abdb25443e0;p=sbcl.git diff --git a/doc/internals-notes/threading-specials b/doc/internals-notes/threading-specials index d27b248..70e6c77 100644 --- a/doc/internals-notes/threading-specials +++ b/doc/internals-notes/threading-specials @@ -130,6 +130,7 @@ bound & safe: SB-PCL::*ALLOW-FORWARD-REFERENCED-CLASSES-IN-CPL-P* SB-PCL::*IN-OBSOLETE-INSTANCE-TRAP* SB-PCL::*PRECOMPILING-LAP* + SB-PCL::*CACHE-MISS-VALUES-STACK* believed protected by the compiler-lock: SB-PCL::*ALL-CTORS* @@ -138,7 +139,6 @@ believed protected by the compiler-lock: SB-PCL::*VAR-DECLARATIONS-WITHOUT-ARG* potentially unsafe: - SB-PCL::*CACHE-MISS-VALUES-STACK* SB-PCL::*CLASS-EQ-SPECIALIZER-METHODS* SB-PCL::*EFFECTIVE-METHOD-CACHE* SB-PCL::*EQL-SPECIALIZER-METHODS* @@ -539,13 +539,10 @@ SB-THREAD::*BACKGROUND-THREADS-WAIT-FOR-DEBUGGER* ; intentionally global *PRINT-LINES* *PRINT-ESCAPE* *PRINT-LEVEL* -*ERROR-PRINT-LENGTH* -*ERROR-PRINT-LINES* *READ-EVAL* *PRINT-ESCAPE* *TRACE-OUTPUT* SB-IMPL::*INSPECT-LENGTH* -*ERROR-PRINT-LEVEL* SB-IMPL::*DRIBBLE-STREAM* ; what to do with dribble in threaded lisp? SB-IMPL::*HELP-FOR-INSPECT* ; read-only *PRINT-ARRAY* @@ -806,7 +803,6 @@ SB-FASL::*CURRENT-FOP-TABLE-SIZE* SB-FASL::*FOP-STACK-POINTER-ON-ENTRY* SB-FASL::*FREE-FOP-TABLES* SB-FASL::*LOAD-SYMBOL-BUFFER* -SB-FASL::*CURRENT-CATCH-BLOCK* SB-FASL::*FASL-HEADER-STRING-START-STRING* SB-FASL::DUMP-FOP* SB-FASL::FOP-LIST* @@ -848,18 +844,13 @@ SB-KERNEL:*NEED-TO-COLLECT-GARBAGE* SB-KERNEL:*ALREADY-MAYBE-GCING* SB-KERNEL:*PSEUDO-ATOMIC-INTERRUPTED* ; bound SB-KERNEL::*GC-TRIGGER* ; I think this is dead, check -SB-IMPL::*CURRENT-UNWIND-PROTECT-BLOCK* -SB-IMPL::*CURRENT-CATCH-BLOCK* +SB-IMPL::*CURRENT-UNWIND-PROTECT-BLOCK* ; thread-local SB-IMPL::*READ-ONLY-SPACE-FREE-POINTER* SB-VM::*ALIEN-STACK* ; bound in create_thread_struct() SB-IMPL::*OBJECTS-PENDING-FINALIZATION* ; needs locking for writers -*GC-NOTIFY-STREAM* ; going away -*BEFORE-GC-HOOKS* ; must be global -*AFTER-GC-HOOKS* ; ditto -*GC-NOTIFY-AFTER* ; going away -*GC-NOTIFY-BEFORE* ; going away +*AFTER-GC-HOOKS* ; must be global *GC-RUN-TIME* SB-INT:*N-BYTES-FREED-OR-PURIFIED* @@ -1044,7 +1035,7 @@ SB-IMPL::*INTEGER-READER-SAFE-DIGITS* SB-IMPL::*TIMEZONE-TABLE* SB-IMPL::*BQ-COMMA-FLAG* ; readonly SB-IMPL::*PRINT-OBJECT-IS-DISABLED-P* -SB-IMPL::*MERGE-SORT-TEMP-VECTOR* ; FIXME: SORT non-threadsafe, non-reentrant +SB-IMPL::*MERGE-SORT-TEMP-VECTOR* ; safe, allocated per-thread SB-IMPL::*PROFILE-HASH-CACHE* SB-IMPL::*FIXNUM-POWER--1* SB-IMPL::*SHARP-EQUAL-CIRCLE-TABLE* @@ -1057,7 +1048,7 @@ SB-IMPL::*CLOSE-IN-PARENT* SB-IMPL::*IN-COMPILATION-UNIT* SB-IMPL::*CIRCULARITY-HASH-TABLE* SB-IMPL::*LOAD-PRINT-STUFF* -SB-IMPL::*ZAP-ARRAY-DATA-TEMP* ; FIXME: ADJUST-ARRAY non-threadsafe +SB-IMPL::*ZAP-ARRAY-DATA-TEMP* ; safe, allocated per-thread SB-IMPL::*ACTIVE-PROCESSES* SB-IMPL::*SHARP-SHARP-ALIST* SB-IMPL::*BASE-POWER*