X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=doc%2Finternals-notes%2Fthreading-specials;h=73f5f068d84c2498b5b991eea8b6d7e8a2b1c45b;hb=7f96d22df74999904529adc41639b64f88f5a144;hp=aea00d35360857a726edccc4e53feedae7dfc3a6;hpb=4d8b3b1da4d960a6ff768c9e6ee8f99bf270b631;p=sbcl.git diff --git a/doc/internals-notes/threading-specials b/doc/internals-notes/threading-specials index aea00d3..73f5f06 100644 --- a/doc/internals-notes/threading-specials +++ b/doc/internals-notes/threading-specials @@ -15,13 +15,12 @@ The goals are When looking at a particular symbol, please annotate it in this file when you figure out what it's for and how it's - changed. To give us some confidence that we have reasonable - coverage, please don't just delete it if it looks ok. Symbols + changed. To give us some confidence that we have reasonable + coverage, please don't just delete it if it looks ok. Symbols shoud only be deleted here if they're obviously not specials at all (e.g. functions with * in their names), or if the same - commit actually rids SBCL of the symbol itself (as we may soon - do for e.g. SB-SYS:*TASK-SELF*). Otherwise, just add a - comment saying "read-only" or "unused" or whatever. + commit actually rids SBCL of the symbol itself. Otherwise, + just add a comment saying "read-only" or "unused" or whatever. (3) anything else that comes to mind as potential trouble spots. Global state in closures, etc etc @@ -109,6 +108,9 @@ but sometimes it can be hard to tell... The most suspicious parts should probably be tested by asserting at various sites that the *PCL-LOCK* is held. +accesses locked with a nice granularity + SB-PCL::*FIND-CLASS* + read-only & safe: SB-PCL::*BUILT-IN-TYPEP-COST* SB-PCL::*CACHE-EXPAND-THRESHOLD* @@ -132,6 +134,9 @@ bound & safe: SB-PCL::*PRECOMPILING-LAP* SB-PCL::*CACHE-MISS-VALUES-STACK* +protected by PCL-LOCK: + SB-PCL::*PREVIOUS-NWRAPPERS* + believed protected by the compiler-lock: SB-PCL::*ALL-CTORS* SB-PCL::*FGENS* @@ -148,7 +153,6 @@ potentially unsafe: SB-PCL::*PVS* SB-PCL::*SLOT-NAME-LISTS-INNER* SB-PCL::*SLOT-NAME-LISTS-OUTER* - SB-PCL::*PREVIOUS-NWRAPPERS* debugging / profiling -- low relevance: SB-PCL::*DFUN-COUNT* @@ -186,7 +190,6 @@ SB-PCL::*EMIT-FUNCTION-P* SB-PCL::*ENABLE-DFUN-CONSTRUCTOR-CACHING* SB-PCL::*ENABLE-EMF-CALL-TRACING-P* SB-PCL::*EQL-SPECIALIZER-TABLE* -SB-PCL::*FIND-CLASS* SB-PCL::*GLOBAL-EFFECTIVE-METHOD-GENSYMS* SB-PCL::*IN-GF-ARG-INFO-P* SB-PCL::*IN-PRECOMPUTE-EFFECTIVE-METHODS-P* @@ -414,7 +417,6 @@ SB-DEBUG::*DEBUG-LOOP-FUN* SB-DEBUG::*NESTED-DEBUG-CONDITION* SB-DEBUG::*STEP-BREAKPOINTS* SB-DEBUG::*DEBUG-RESTARTS* -SB-DEBUG::*CACHED-FORM-NUMBER-TRANSLATIONS* SB-DEBUG::*BREAKPOINTS* SB-DEBUG::*TRACED-FUNS* SB-DEBUG::*DEBUG-COMMANDS* @@ -431,7 +433,6 @@ SB-DI::*PARSING-BUFFER* SB-DI::*IR1-BLOCK-DEBUG-BLOCK* SB-DI::*OTHER-PARSING-BUFFER* SB-DI::*COMPILED-DEBUG-FUNS* -SB-DI::*FORM-NUMBER-TEMP* SB-DI::*COMPONENT-BREAKPOINT-OFFSETS* SB-DI::*FUN-END-COOKIES* SB-DI::*FORM-NUMBER-CIRCULARITY-TABLE* @@ -909,15 +910,6 @@ SB-KERNEL::*BUILT-IN-CLASSES* = dead stuff -SB-SYS:*TASK-NOTIFY* ; unused -SB-SYS:*TASK-SELF* ; unused -SB-SYS:*TASK-DATA* ; unused -SB-SYS:*TYPESCRIPTPORT* ' unused -SB-THREAD::*FOREGROUND-THREAD-STACK* ; unused, I think - - - - ------------------------------------------------------------------------ = unclassified