X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=doc%2Finternals-notes%2Fthreading-specials;h=4b4cfd3856fac06f84f5fc91b784ffe53dfac632;hb=979539d20a27f4315db9e1bde0a4413135cf8603;hp=5be6a67d4a17ca9c647639c31193367631b6f9c3;hpb=b7eed59f1877263e1af5ad80299e641e8276f77d;p=sbcl.git diff --git a/doc/internals-notes/threading-specials b/doc/internals-notes/threading-specials index 5be6a67..4b4cfd3 100644 --- a/doc/internals-notes/threading-specials +++ b/doc/internals-notes/threading-specials @@ -15,19 +15,18 @@ 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 (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 @@ -98,283 +97,287 @@ SB-LOOP::*LOOP-BIND-STACK* = PCL -The PCL authors thought a bit about thread safety, adding -(without-interrupts ...) in some places to protect critical forms. -We've implemented their without-interrupts macro as an acquitision of -*pcl-lock*, so we hope they've done it properly. +Critical parts of PCL are protected by *world-lock* (particularly +those dealing with class graph changes), and some with finer-grained locks. + +accesses locked with a nice granularity + SB-PCL::*CLASSOID-CELLS* + +read-only & safe: + SB-PCL::*BUILT-IN-TYPEP-COST* + SB-PCL::*CACHE-EXPAND-THRESHOLD* + SB-PCL::*CACHE-LOOKUP-COST* + SB-PCL::*CASE-TABLE-LIMIT* + SB-PCL::*CHECK-CACHE-P* + SB-PCL::*COMPUTE-STD-CPL-CLASS->ENTRY-TABLE-SIZE* + SB-PCL::*EQ-CASE-TABLE-LIMIT* + SB-PCL::*NON-BUILT-IN-TYPEP-COST* + SB-PCL::*NON-VAR-DECLARATIONS* + SB-PCL::*SECONDARY-DFUN-CALL-COST* + SB-PCL::*SGF-WRAPPER* + SB-PCL::*STRUCTURE-TYPEP-COST* + SB-PCL::*UNSPECIFIC-ARG* + SB-PCL::*VAR-DECLARATIONS-WITH-ARG* + SB-PCL::*WRAPPER-OF-COST* + +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* + +protected by PCL-LOCK: + SB-PCL::*PREVIOUS-NWRAPPERS* + +believed protected by the compiler-lock: + SB-PCL::*ALL-CTORS* + SB-PCL::*FGENS* + SB-PCL::*SGF-DFUN-STATE-INDEX* + SB-PCL::*VAR-DECLARATIONS-WITHOUT-ARG* + +potentially unsafe: + SB-PCL::*CLASS-EQ-SPECIALIZER-METHODS* + SB-PCL::*EFFECTIVE-METHOD-CACHE* + SB-PCL::*EQL-SPECIALIZER-METHODS* + SB-PCL::*METHOD-FUNCTION-PLIST* + SB-PCL::*PV-KEY-TO-PV-TABLE-TABLE* + SB-PCL::*PV-TABLE-CACHE-UPDATE-INFO* + SB-PCL::*PVS* + SB-PCL::*SLOT-NAME-LISTS-INNER* + SB-PCL::*SLOT-NAME-LISTS-OUTER* + +debugging / profiling -- low relevance: + SB-PCL::*DFUN-COUNT* + SB-PCL::*ALLOW-EMF-CALL-TRACING-P* + +build-options and bootstrap machinery -- irrelevant for user-code: + SB-PCL::*ALLOW-EXPERIMENTAL-SPECIALIZERS-P* + SB-PCL::*BOOT-STATE* ; pseudoconstant in finished lisp (not in bootstrap) + SB-PCL::*BUILT-IN-CLASS-SYMBOLS* + SB-PCL::*BUILT-IN-CLASSES* + SB-PCL::*BUILT-IN-WRAPPER-SYMBOLS* + SB-PCL::*CHECKING-OR-CACHING-LIST* -SB-PCL::*STRUCTURE-TYPEP-COST* -SB-PCL::*SLOT-NAME-LISTS-OUTER* -SB-PCL::*THE-WRAPPER-OF-T* -SB-PCL::*CREATE-CLASSES-FROM-INTERNAL-STRUCTURE-DEFINITIONS-P* -SB-PCL::*WRITERS-FOR-THIS-DEFCLASS* -SB-PCL::*BOOT-STATE* ; pseudoconstant in finished lisp (not in bootstrap) -SB-PCL::*THE-WRAPPER-OF-BIT-VECTOR* ;;; global, frobbed on generic function ;;; initialization/reinitialization, method precomputation, and ;;; compute-effective-method. Potentially unsafe, may be OK because ;;; of *pcl-lock*, but could easily be liable to races. -SB-PCL::*EFFECTIVE-METHOD-CACHE* -SB-PCL::*THE-WRAPPER-OF-COMPLEX-DOUBLE-FLOAT* -SB-PCL::*THE-CLASS-COMPLEX-DOUBLE-FLOAT* -SB-PCL::*THE-WRAPPER-OF-SIMPLE-ARRAY-SINGLE-FLOAT* -SB-PCL::*CACHE-LOOKUP-COST* -SB-PCL::*SLOT-NAME-LISTS-INNER* -SB-PCL::*MF2P* -SB-PCL::*THE-CLASS-RATIONAL* -SB-PCL::WRAPPER-CLASS* -SB-PCL::*PREVIOUS-NWRAPPERS* -SB-PCL::*MF1* -SB-PCL::*THE-CLASS-STANDARD-OBJECT* -SB-PCL::*THE-CLASS-CONDITION-DIRECT-SLOT-DEFINITION* -SB-PCL::*THE-CLASS-RATIO* -SB-PCL::*SHOW-MAKE-UNORDERED-METHODS-EMF-CALLS* -SB-PCL::*ALL-CTORS* -SB-PCL::*SUBTYPEP -SB-PCL::*THE-WRAPPER-OF-LRA* -SB-PCL::*INITFUNCTIONS-FOR-THIS-DEFCLASS* -SB-PCL::*STANDARD-SLOT-VALUE-USING-CLASS-METHOD* -SB-PCL::*EMPTY-PV* -SB-PCL::*CACHE-EXPAND-THRESHOLD* -SB-PCL::*THE-CLASS-INTEGER* -SB-PCL::*SGF-DFUN-STATE-INDEX* -SB-PCL::*ALL-PV-TABLE-LIST* -SB-PCL::*THE-WRAPPER-OF-RANDOM-CLASS* -SB-PCL::*THE-CLASS-SIMPLE-ARRAY-COMPLEX-SINGLE-FLOAT* -SB-PCL::*THE-CLASS-FDEFN* -SB-PCL::*THE-CLASS-SIMPLE-ARRAY-UNSIGNED-BYTE-32* -SB-PCL::*THE-WRAPPER-OF-SIMPLE-VECTOR* -SB-PCL::*CHECK-CACHE-P* -SB-PCL::*SGF-WRAPPER* + +SB-PCL::*CONDITION-SETF-SLOT-VALUE-USING-CLASS-METHOD* +SB-PCL::*CONDITION-SLOT-BOUNDP-USING-CLASS-METHOD* SB-PCL::*CONDITION-SLOT-VALUE-USING-CLASS-METHOD* -SB-PCL::*THE-WRAPPER-OF-SIMPLE-BIT-VECTOR* -SB-PCL::*THE-CLASS-SPECIALIZER* -SB-PCL::*THE-CLASS-SIMPLE-ARRAY-COMPLEX-DOUBLE-FLOAT* -SB-PCL::*THE-CLASS-STANDARD-CLASS* -SB-PCL::*THE-CLASS-STANDARD-ACCESSOR-METHOD* -SB-PCL::*THE-CLASS-STANDARD-READER-METHOD* -SB-PCL::*THE-WRAPPER-OF-DOUBLE-FLOAT* -SB-PCL::*NON-BUILT-IN-TYPEP-COST* -SB-PCL::*THE-CLASS-SIMPLE-ARRAY-UNSIGNED-BYTE-8* -SB-PCL::*THE-CLASS-DOCUMENTATION-MIXIN* -SB-PCL::*EMF-CALL-TRACE-SIZE* -SB-PCL::*OLD-C-A-M-GF-METHODS* -SB-PCL::*EMPTY-CACHE* -SB-PCL::*THE-WRAPPER-OF-SYMBOL* -SB-PCL::*THE-CLASS-STANDARD-METHOD-COMBINATION* -SB-PCL::*THE-WRAPPER-OF-SIMPLE-ARRAY-DOUBLE-FLOAT* -SB-PCL::*THE-CLASS-METHOD* -SB-PCL::*PRECOMPILING-LAP* -SB-PCL::*STRUCTURE-SLOT-BOUNDP-USING-CLASS-METHOD* -SB-PCL::*ENABLE-DFUN-CONSTRUCTOR-CACHING* -SB-PCL::*THE-CLASS-CONDITION-EFFECTIVE-SLOT-DEFINITION* -SB-PCL::*THE-WRAPPER-OF-STRUCTURE-OBJECT* -SB-PCL::*THE-CLASS-WEAK-POINTER* -SB-PCL::*STANDARD-SLOT-BOUNDP-USING-CLASS-METHOD* -SB-PCL::*THE-CLASS-FUNCALLABLE-STANDARD-OBJECT* -SB-PCL::*VAR-DECLARATIONS-WITH-ARG* -SB-PCL::*PV-TABLE-CACHE-UPDATE-INFO* -SB-PCL::*THE-WRAPPER-OF-STRING* -SB-PCL::*THE-CLASS-CONDITION* -SB-PCL::*THE-CLASS-PCL-CLASS* -SB-PCL::*THE-CLASS-CLASS* -SB-PCL::*PCL-LOCK* ; protecting the rest +SB-PCL::*CREATE-CLASSES-FROM-INTERNAL-STRUCTURE-DEFINITIONS-P* +SB-PCL::*DFUN-ARG-SYMBOLS* +SB-PCL::*DFUN-CONSTRUCTORS* +SB-PCL::*DFUN-LIST* +SB-PCL::*DFUN-MISS-GFS-ON-STACK* +SB-PCL::*EARLY-CLASS-DEFINITIONS* +SB-PCL::*EARLY-CLASS-PREDICATES* +SB-PCL::*EARLY-CLASS-SLOTS* SB-PCL::*EARLY-P* -SB-PCL::*PCL-CLASS-BOOT* -SB-PCL::*THE-CLASS-EFFECTIVE-SLOT-DEFINITION* -SB-PCL::*THE-WRAPPER-OF-CONS* -SB-PCL::*THE-CLASS-LRA* -SB-PCL::*THE-CLASS-EQL-SPECIALIZER* -SB-PCL::*EQL-SPECIALIZER-METHODS* -SB-PCL::*THE-WRAPPER-OF-FLOAT* -SB-PCL::*INITIAL-PV-TABLE* -SB-PCL::*THE-CLASS-COMPLEX-SINGLE-FLOAT* -SB-PCL::*STRUCTURE-SLOT-VALUE-USING-CLASS-METHOD* SB-PCL::*EMF-CALL-TRACE* -SB-PCL::*IN-OBSOLETE-INSTANCE-TRAP* -SB-PCL::*BUILT-IN-CLASS-SYMBOLS* -SB-PCL::*FREE-HASH-TABLES* -SB-PCL::*THE-WRAPPER-OF-WEAK-POINTER* -SB-PCL::*THE-CLASS-RANDOM-CLASS* -SB-PCL::*PVS* -SB-PCL::*THE-WRAPPER-OF-REAL* -SB-PCL::*LONG-METHOD-COMBINATION-FUNCTIONS* +SB-PCL::*EMF-CALL-TRACE-INDEX* +SB-PCL::*EMF-CALL-TRACE-SIZE* SB-PCL::*EMIT-FUNCTION-P* -SB-PCL::*THE-CLASS-DOUBLE-FLOAT* -SB-PCL::*NAME->CLASS->SLOTD-TABLE* -SB-PCL::*DFUN-COUNT* -SB-PCL::*COMPUTE-STD-CPL-CLASS->ENTRY-TABLE-SIZE* -SB-PCL::*THE-CLASS-SYMBOL* -SB-PCL::*THE-WRAPPER-OF-SIMPLE-ARRAY-SIGNED-BYTE-16* -SB-PCL::*THE-CLASS-STANDARD-DIRECT-SLOT-DEFINITION* -SB-PCL::*THE-CLASS-EXACT-CLASS-SPECIALIZER* -SB-PCL::*THE-CLASS-FLOAT* -SB-PCL::*THE-CLASS-BASE-CHAR* -SB-PCL::*PV-KEY-TO-PV-TABLE-TABLE* -SB-PCL::*THE-CLASS-STD-CLASS* -SB-PCL::*THE-CLASS-SLOT-OBJECT* -SB-PCL::*OPTIMIZE-SPEED* -SB-PCL::*THE-CLASS-STRUCTURE-EFFECTIVE-SLOT-DEFINITION* -SB-PCL::*VAR-DECLARATIONS-WITHOUT-ARG* -SB-PCL::*THE-CLASS-INSTANCE* -SB-PCL::*THE-WRAPPER-OF-SIMPLE-ARRAY-UNSIGNED-BYTE-4* -SB-PCL::*THE-CLASS-CONS* -SB-PCL::*THE-WRAPPER-OF-FIXNUM* -SB-PCL::*THE-SYSTEM-II-METHOD* -SB-PCL::*THE-CLASS-SIMPLE-ARRAY-SIGNED-BYTE-8* -SB-PCL::*THE-WRAPPER-OF-SIMPLE-ARRAY-UNSIGNED-BYTE-16* -SB-PCL::*THE-WRAPPER-OF-COMPLEX-SINGLE-FLOAT* -SB-PCL::*THE-WRAPPER-OF-SINGLE-FLOAT* -SB-PCL::*DFUN-MISS-GFS-ON-STACK* -SB-PCL::*THE-CLASS-CONDITION-CLASS* -SB-PCL::*THE-WRAPPER-OF-BIGNUM* -SB-PCL::*THE-CLASS-SPECIALIZER-WITH-OBJECT* -SB-PCL::*THE-CLASS-COMPLEX* -SB-PCL::*THE-WRAPPER-OF-INTEGER* -SB-PCL::*CONDITION-SLOT-BOUNDP-USING-CLASS-METHOD* -SB-PCL::*THE-CLASS-CHARACTER* -SB-PCL::*EARLY-CLASS-DEFINITIONS* -SB-PCL::*THE-WRAPPER-OF-NULL* +SB-PCL::*ENABLE-DFUN-CONSTRUCTOR-CACHING* +SB-PCL::*ENABLE-EMF-CALL-TRACING-P* +SB-PCL::*EQL-SPECIALIZER-TABLE* +SB-PCL::*GLOBAL-EFFECTIVE-METHOD-GENSYMS* +SB-PCL::*IN-GF-ARG-INFO-P* +SB-PCL::*IN-PRECOMPUTE-EFFECTIVE-METHODS-P* +SB-PCL::*INITFUNCTIONS-FOR-THIS-DEFCLASS* SB-PCL::*INTERNAL-PCL-GENERALIZED-FUN-NAME-SYMBOLS* -SB-PCL::*THE-CLASS-STRUCTURE-CLASS* -SB-PCL::*UNSPECIFIC-ARG* -SB-PCL::*SECONDARY-DFUN-CALL-COST* -SB-PCL::*THE-CLASS-SIMPLE-STRING* -SB-PCL::*THE-CLASS-STRUCTURE-SLOT-DEFINITION* -SB-PCL::*METHOD-FUNCTION-PLIST* -SB-PCL::*STANDARD-METHOD-COMBINATION* SB-PCL::*LAZY-DFUN-COMPUTE-P* -SB-PCL::*THE-WRAPPER-OF-SIMPLE-ARRAY-SIGNED-BYTE-8* -SB-PCL::*THE-CLASS-STRING* -SB-PCL::*THE-WRAPPER-OF-SIMPLE-ARRAY-UNSIGNED-BYTE-2* -SB-PCL::*EQL-SPECIALIZER-TABLE* -SB-PCL::*THE-WRAPPER-OF-SIMPLE-ARRAY-COMPLEX-DOUBLE-FLOAT* -SB-PCL::*BUILT-IN-WRAPPER-SYMBOLS* -SB-PCL::*THE-CLASS-STREAM* -SB-PCL::*CLASS-EQ-SPECIALIZER-METHODS* -SB-PCL::*THE-CLASS-REAL* -SB-PCL::*THE-WRAPPER-OF-SIMPLE-ARRAY-UNSIGNED-BYTE-32* -SB-PCL::*THE-CLASS-SIMPLE-VECTOR* -SB-PCL::*THE-CLASS-GENERIC-FUNCTION* -SB-PCL::*STANDARD-SETF-SLOT-VALUE-USING-CLASS-METHOD* -SB-PCL::*STD-CAM-METHODS* -SB-PCL::*THE-CLASS-STRUCTURE-DIRECT-SLOT-DEFINITION* -SB-PCL::*THE-WRAPPER-OF-FDEFN* -SB-PCL::*THE-WRAPPER-OF-VECTOR* -SB-PCL::*THE-CLASS-NULL* +SB-PCL::*LONG-METHOD-COMBINATION-FUNCTIONS* +SB-PCL::*MINIMUM-CACHE-SIZE-TO-LIST* +SB-PCL::*NAME->CLASS->SLOTD-TABLE* +SB-PCL::*NEW-CLASS* SB-PCL::*NORMALIZE-TYPE +SB-PCL::*NOT-IN-CACHE* +SB-PCL::*OLD-C-A-M-GF-METHODS* +SB-PCL::*OPTIMIZE-CACHE-FUNCTIONS-P* +SB-PCL::*OPTIMIZE-SPEED* +SB-PCL::*PCL-CLASS-BOOT* +SB-PCL::*PCL-LOCK* ; protecting the rest +SB-PCL::*PCL-PACKAGE* +SB-PCL::*RAISE-METATYPES-TO-CLASS-P* +SB-PCL::*READERS-FOR-THIS-DEFCLASS* SB-PCL::*REBOUND-EFFECTIVE-METHOD-GENSYMS* -SB-PCL::*THE-CLASS-NUMBER* -SB-PCL::*THE-WRAPPER-OF-SIMPLE-STRING* -SB-PCL::*THE-CLASS-SIMPLE-ARRAY-SIGNED-BYTE-30* -SB-PCL::*MF2CP* -SB-PCL::*THE-CLASS-DEPENDENT-UPDATE-MIXIN* -SB-PCL::*THE-WRAPPER-OF-SIMPLE-ARRAY-SIGNED-BYTE-32* -SB-PCL::*THE-CLASS-VECTOR* -SB-PCL::*FIND-CLASS* -SB-PCL::*THE-CLASS-SIMPLE-ARRAY-SIGNED-BYTE-16* +SB-PCL::*SGF-ARG-INFO-INDEX* +SB-PCL::*SGF-METHOD-CLASS-INDEX* +SB-PCL::*SGF-METHODS-INDEX* +SB-PCL::*SGF-NAME-INDEX* +SB-PCL::*SGF-SLOTS-INIT* +SB-PCL::*SHOW-MAKE-UNORDERED-METHODS-EMF-CALLS* +SB-PCL::*SLOT-NAMES-FOR-THIS-DEFCLASS* +SB-PCL::*SLOT-VECTOR-SYMBOLS* +SB-PCL::*STANDARD-CLASSES* +SB-PCL::*STANDARD-METHOD-COMBINATION* +SB-PCL::*STANDARD-SETF-SLOT-VALUE-USING-CLASS-METHOD* +SB-PCL::*STANDARD-SLOT-BOUNDP-USING-CLASS-METHOD* SB-PCL::*STANDARD-SLOT-LOCATIONS* -SB-PCL::*FGENS* -SB-PCL::*PCL-PACKAGE* +SB-PCL::*STANDARD-SLOT-VALUE-USING-CLASS-METHOD* +SB-PCL::*STD-CAM-METHODS* +SB-PCL::*STRUCTURE-SETF-SLOT-VALUE-USING-CLASS-METHOD* +SB-PCL::*STRUCTURE-SLOT-BOUNDP-USING-CLASS-METHOD* +SB-PCL::*STRUCTURE-SLOT-VALUE-USING-CLASS-METHOD* +SB-PCL::*SUBTYPEP SB-PCL::*THE-CLASS-ARRAY* -SB-PCL::*CASE-TABLE-LIMIT* -SB-PCL::*THE-CLASS-METHOD-COMBINATION* +SB-PCL::*THE-CLASS-BASE-CHAR* +SB-PCL::*THE-CLASS-BIGNUM* +SB-PCL::*THE-CLASS-BIT-VECTOR* +SB-PCL::*THE-CLASS-BUILT-IN-CLASS* +SB-PCL::*THE-CLASS-CHARACTER* +SB-PCL::*THE-CLASS-CLASS* +SB-PCL::*THE-CLASS-CLASS-EQ-SPECIALIZER* +SB-PCL::*THE-CLASS-CLASS-PROTOTYPE-SPECIALIZER* +SB-PCL::*THE-CLASS-CODE-COMPONENT* +SB-PCL::*THE-CLASS-COMPLEX* +SB-PCL::*THE-CLASS-COMPLEX-DOUBLE-FLOAT* +SB-PCL::*THE-CLASS-COMPLEX-SINGLE-FLOAT* +SB-PCL::*THE-CLASS-CONDITION* +SB-PCL::*THE-CLASS-CONDITION-CLASS* +SB-PCL::*THE-CLASS-CONDITION-DIRECT-SLOT-DEFINITION* +SB-PCL::*THE-CLASS-CONDITION-EFFECTIVE-SLOT-DEFINITION* +SB-PCL::*THE-CLASS-CONDITION-SLOT-DEFINITION* +SB-PCL::*THE-CLASS-CONS* +SB-PCL::*THE-CLASS-DEFINITION-SOURCE-MIXIN* +SB-PCL::*THE-CLASS-DEPENDENT-UPDATE-MIXIN* SB-PCL::*THE-CLASS-DIRECT-SLOT-DEFINITION* +SB-PCL::*THE-CLASS-DOCUMENTATION-MIXIN* +SB-PCL::*THE-CLASS-DOUBLE-FLOAT* +SB-PCL::*THE-CLASS-EFFECTIVE-SLOT-DEFINITION* +SB-PCL::*THE-CLASS-EQL-SPECIALIZER* +SB-PCL::*THE-CLASS-EXACT-CLASS-SPECIALIZER* +SB-PCL::*THE-CLASS-FDEFN* SB-PCL::*THE-CLASS-FIXNUM* -SB-PCL::*THE-CLASS-STD-OBJECT* -SB-PCL::*THE-CLASS-SIMPLE-ARRAY-SIGNED-BYTE-32* -SB-PCL::*EARLY-CLASS-PREDICATES* -SB-PCL::*WRAPPER-OF-COST* -SB-PCL::*STANDARD-CLASSES* +SB-PCL::*THE-CLASS-FLOAT* +SB-PCL::*THE-CLASS-FORWARD-REFERENCED-CLASS* +SB-PCL::*THE-CLASS-FUNCALLABLE-INSTANCE* +SB-PCL::*THE-CLASS-FUNCALLABLE-STANDARD-CLASS* +SB-PCL::*THE-CLASS-FUNCALLABLE-STANDARD-OBJECT* +SB-PCL::*THE-CLASS-FUNCTION* +SB-PCL::*THE-CLASS-GENERIC-FUNCTION* +SB-PCL::*THE-CLASS-INSTANCE* +SB-PCL::*THE-CLASS-INTEGER* +SB-PCL::*THE-CLASS-LIST* SB-PCL::*THE-CLASS-LONG-METHOD-COMBINATION* -SB-PCL::*READERS-FOR-THIS-DEFCLASS* -SB-PCL::*THE-WRAPPER-OF-SIMPLE-ARRAY-SIGNED-BYTE-30* -SB-PCL::*EMF-CALL-TRACE-INDEX* -SB-PCL::*BUILT-IN-TYPEP-COST* -SB-PCL::*THE-CLASS-STANDARD-SLOT-DEFINITION* +SB-PCL::*THE-CLASS-LRA* +SB-PCL::*THE-CLASS-METHOD* +SB-PCL::*THE-CLASS-METHOD-COMBINATION* +SB-PCL::*THE-CLASS-NULL* +SB-PCL::*THE-CLASS-NUMBER* +SB-PCL::*THE-CLASS-PCL-CLASS* SB-PCL::*THE-CLASS-PLIST-MIXIN* -SB-PCL::*CONDITION-SETF-SLOT-VALUE-USING-CLASS-METHOD* -SB-PCL::*THE-CLASS-BIGNUM* -SB-PCL::*THE-WRAPPER-OF-CODE-COMPONENT* -SB-PCL::*THE-ESLOTD-STANDARD-CLASS-SLOTS* -SB-PCL::*SLOT-NAMES-FOR-THIS-DEFCLASS* -SB-PCL::*THE-CLASS-FUNCTION* -SB-PCL::*THE-WRAPPER-OF-SYSTEM-AREA-POINTER* +SB-PCL::*THE-CLASS-RANDOM-CLASS* +SB-PCL::*THE-CLASS-RATIO* +SB-PCL::*THE-CLASS-RATIONAL* +SB-PCL::*THE-CLASS-REAL* +SB-PCL::*THE-CLASS-SEQUENCE* SB-PCL::*THE-CLASS-SIMPLE-ARRAY* -SB-PCL::*THE-CLASS-STANDARD-EFFECTIVE-SLOT-DEFINITION* -SB-PCL::*THE-WRAPPER-OF-SEQUENCE* -SB-PCL::*THE-CLASS-FUNCALLABLE-STANDARD-CLASS* -SB-PCL::*THE-CLASS-SYSTEM-AREA-POINTER* -SB-PCL::*THE-WRAPPER-OF-LIST* -SB-PCL::*THE-CLASS-BUILT-IN-CLASS* -SB-PCL::*STRUCTURE-SETF-SLOT-VALUE-USING-CLASS-METHOD* +SB-PCL::*THE-CLASS-SIMPLE-ARRAY-COMPLEX-DOUBLE-FLOAT* +SB-PCL::*THE-CLASS-SIMPLE-ARRAY-COMPLEX-SINGLE-FLOAT* +SB-PCL::*THE-CLASS-SIMPLE-ARRAY-DOUBLE-FLOAT* +SB-PCL::*THE-CLASS-SIMPLE-ARRAY-SIGNED-BYTE-16* +SB-PCL::*THE-CLASS-SIMPLE-ARRAY-SIGNED-BYTE-30* +SB-PCL::*THE-CLASS-SIMPLE-ARRAY-SIGNED-BYTE-32* +SB-PCL::*THE-CLASS-SIMPLE-ARRAY-SIGNED-BYTE-8* +SB-PCL::*THE-CLASS-SIMPLE-ARRAY-SINGLE-FLOAT* +SB-PCL::*THE-CLASS-SIMPLE-ARRAY-UNSIGNED-BYTE-16* +SB-PCL::*THE-CLASS-SIMPLE-ARRAY-UNSIGNED-BYTE-2* +SB-PCL::*THE-CLASS-SIMPLE-ARRAY-UNSIGNED-BYTE-32* SB-PCL::*THE-CLASS-SIMPLE-ARRAY-UNSIGNED-BYTE-4* +SB-PCL::*THE-CLASS-SIMPLE-ARRAY-UNSIGNED-BYTE-8* SB-PCL::*THE-CLASS-SIMPLE-BIT-VECTOR* -SB-PCL::*THE-WRAPPER-OF-SIMPLE-ARRAY-COMPLEX-SINGLE-FLOAT* -SB-PCL::*GLOBAL-EFFECTIVE-METHOD-GENSYMS* -SB-PCL::*DFUN-CONSTRUCTORS* -SB-PCL::*THE-CLASS-CODE-COMPONENT* +SB-PCL::*THE-CLASS-SIMPLE-STRING* +SB-PCL::*THE-CLASS-SIMPLE-VECTOR* +SB-PCL::*THE-CLASS-SINGLE-FLOAT* +SB-PCL::*THE-CLASS-SLOT-CLASS* +SB-PCL::*THE-CLASS-SLOT-DEFINITION* +SB-PCL::*THE-CLASS-SLOT-OBJECT* +SB-PCL::*THE-CLASS-SPECIALIZER* +SB-PCL::*THE-CLASS-SPECIALIZER-WITH-OBJECT* +SB-PCL::*THE-CLASS-STANDARD-ACCESSOR-METHOD* +SB-PCL::*THE-CLASS-STANDARD-BOUNDP-METHOD* +SB-PCL::*THE-CLASS-STANDARD-CLASS* +SB-PCL::*THE-CLASS-STANDARD-DIRECT-SLOT-DEFINITION* +SB-PCL::*THE-CLASS-STANDARD-EFFECTIVE-SLOT-DEFINITION* +SB-PCL::*THE-CLASS-STANDARD-GENERIC-FUNCTION* +SB-PCL::*THE-CLASS-STANDARD-METHOD* +SB-PCL::*THE-CLASS-STANDARD-METHOD-COMBINATION* +SB-PCL::*THE-CLASS-STANDARD-OBJECT* +SB-PCL::*THE-CLASS-STANDARD-READER-METHOD* +SB-PCL::*THE-CLASS-STANDARD-SLOT-DEFINITION* SB-PCL::*THE-CLASS-STANDARD-WRITER-METHOD* -SB-PCL::*NON-VAR-DECLARATIONS* -SB-PCL::*IN-PRECOMPUTE-EFFECTIVE-METHODS-P* -SB-PCL::*CHECKING-OR-CACHING-LIST* -SB-PCL::*THE-CLASS-BIT-VECTOR* +SB-PCL::*THE-CLASS-STD-CLASS* +SB-PCL::*THE-CLASS-STD-OBJECT* +SB-PCL::*THE-CLASS-STREAM* +SB-PCL::*THE-CLASS-STRING* +SB-PCL::*THE-CLASS-STRUCTURE-CLASS* +SB-PCL::*THE-CLASS-STRUCTURE-DIRECT-SLOT-DEFINITION* +SB-PCL::*THE-CLASS-STRUCTURE-EFFECTIVE-SLOT-DEFINITION* +SB-PCL::*THE-CLASS-STRUCTURE-OBJECT* +SB-PCL::*THE-CLASS-STRUCTURE-SLOT-DEFINITION* +SB-PCL::*THE-CLASS-SYMBOL* +SB-PCL::*THE-CLASS-SYSTEM-AREA-POINTER* +SB-PCL::*THE-CLASS-T* +SB-PCL::*THE-CLASS-VECTOR* +SB-PCL::*THE-CLASS-WEAK-POINTER* +SB-PCL::*THE-ESLOTD-FUNCALLABLE-STANDARD-CLASS-SLOTS* +SB-PCL::*THE-ESLOTD-STANDARD-CLASS-SLOTS* +SB-PCL::*THE-SYSTEM-II-METHOD* +SB-PCL::*THE-SYSTEM-SI-METHOD* +SB-PCL::*THE-WRAPPER-OF-ARRAY* +SB-PCL::*THE-WRAPPER-OF-BASE-CHAR* +SB-PCL::*THE-WRAPPER-OF-BIGNUM* +SB-PCL::*THE-WRAPPER-OF-BIT-VECTOR* SB-PCL::*THE-WRAPPER-OF-CHARACTER* +SB-PCL::*THE-WRAPPER-OF-CODE-COMPONENT* SB-PCL::*THE-WRAPPER-OF-COMPLEX* -SB-PCL::*BUILT-IN-CLASSES* -SB-PCL::*ALLOW-EXPERIMENTAL-SPECIALIZERS-P* -SB-PCL::*ALLOW-EMF-CALL-TRACING-P* -SB-PCL::*SGF-METHOD-CLASS-INDEX* -SB-PCL::*SGF-METHODS-INDEX* +SB-PCL::*THE-WRAPPER-OF-COMPLEX-DOUBLE-FLOAT* +SB-PCL::*THE-WRAPPER-OF-COMPLEX-SINGLE-FLOAT* +SB-PCL::*THE-WRAPPER-OF-CONS* +SB-PCL::*THE-WRAPPER-OF-DOUBLE-FLOAT* +SB-PCL::*THE-WRAPPER-OF-FDEFN* +SB-PCL::*THE-WRAPPER-OF-FIXNUM* +SB-PCL::*THE-WRAPPER-OF-FLOAT* +SB-PCL::*THE-WRAPPER-OF-INTEGER* +SB-PCL::*THE-WRAPPER-OF-LIST* +SB-PCL::*THE-WRAPPER-OF-LRA* +SB-PCL::*THE-WRAPPER-OF-NULL* SB-PCL::*THE-WRAPPER-OF-NUMBER* +SB-PCL::*THE-WRAPPER-OF-RANDOM-CLASS* SB-PCL::*THE-WRAPPER-OF-RATIO* -SB-PCL::*RAISE-METATYPES-TO-CLASS-P* -SB-PCL::*EARLY-CLASS-SLOTS* -SB-PCL::*THE-WRAPPER-OF-SIMPLE-ARRAY* -SB-PCL::*MF1CP* SB-PCL::*THE-WRAPPER-OF-RATIONAL* -SB-PCL::*THE-CLASS-SIMPLE-ARRAY-UNSIGNED-BYTE-16* -SB-PCL::*THE-WRAPPER-OF-ARRAY* -SB-PCL::*THE-ESLOTD-FUNCALLABLE-STANDARD-CLASS-SLOTS* -SB-PCL::*THE-CLASS-SLOT-CLASS* -SB-PCL::*THE-CLASS-SLOT-DEFINITION* -SB-PCL::*OPTIMIZE-CACHE-FUNCTIONS-P* -SB-PCL::*MF2* -SB-PCL::*THE-CLASS-SEQUENCE* -SB-PCL::*EQ-CASE-TABLE-LIMIT* -SB-PCL::*THE-CLASS-STRUCTURE-OBJECT* -SB-PCL::*THE-CLASS-SIMPLE-ARRAY-DOUBLE-FLOAT* -SB-PCL::*SLOT-VECTOR-SYMBOLS* -SB-PCL::*ENABLE-EMF-CALL-TRACING-P* -SB-PCL::*THE-CLASS-SINGLE-FLOAT* -SB-PCL::*THE-SYSTEM-SI-METHOD* -SB-PCL::*THE-WRAPPER-OF-BASE-CHAR* -SB-PCL::*THE-CLASS-CONDITION-SLOT-DEFINITION* -SB-PCL::*DFUN-LIST* -SB-PCL::*THE-CLASS-STANDARD-METHOD* -SB-PCL::*DFUN-ARG-SYMBOLS* -SB-PCL::*NOT-IN-CACHE* -SB-PCL::*THE-CLASS-STANDARD-BOUNDP-METHOD* -SB-PCL::*THE-CLASS-LIST* -SB-PCL::*NEW-CLASS* +SB-PCL::*THE-WRAPPER-OF-REAL* +SB-PCL::*THE-WRAPPER-OF-SEQUENCE* +SB-PCL::*THE-WRAPPER-OF-SIMPLE-ARRAY* +SB-PCL::*THE-WRAPPER-OF-SIMPLE-ARRAY-COMPLEX-DOUBLE-FLOAT* +SB-PCL::*THE-WRAPPER-OF-SIMPLE-ARRAY-COMPLEX-SINGLE-FLOAT* +SB-PCL::*THE-WRAPPER-OF-SIMPLE-ARRAY-DOUBLE-FLOAT* +SB-PCL::*THE-WRAPPER-OF-SIMPLE-ARRAY-SIGNED-BYTE-16* +SB-PCL::*THE-WRAPPER-OF-SIMPLE-ARRAY-SIGNED-BYTE-30* +SB-PCL::*THE-WRAPPER-OF-SIMPLE-ARRAY-SIGNED-BYTE-32* +SB-PCL::*THE-WRAPPER-OF-SIMPLE-ARRAY-SIGNED-BYTE-8* +SB-PCL::*THE-WRAPPER-OF-SIMPLE-ARRAY-SINGLE-FLOAT* +SB-PCL::*THE-WRAPPER-OF-SIMPLE-ARRAY-UNSIGNED-BYTE-16* +SB-PCL::*THE-WRAPPER-OF-SIMPLE-ARRAY-UNSIGNED-BYTE-2* +SB-PCL::*THE-WRAPPER-OF-SIMPLE-ARRAY-UNSIGNED-BYTE-32* +SB-PCL::*THE-WRAPPER-OF-SIMPLE-ARRAY-UNSIGNED-BYTE-4* SB-PCL::*THE-WRAPPER-OF-SIMPLE-ARRAY-UNSIGNED-BYTE-8* -SB-PCL::*THE-CLASS-SIMPLE-ARRAY-UNSIGNED-BYTE-2* -SB-PCL::*THE-CLASS-CLASS-EQ-SPECIALIZER* -SB-PCL::*THE-CLASS-FUNCALLABLE-INSTANCE* -SB-PCL::*IN-GF-ARG-INFO-P* -SB-PCL::*THE-CLASS-STANDARD-GENERIC-FUNCTION* -SB-PCL::*SGF-ARG-INFO-INDEX* -SB-PCL::*ALLOW-FORWARD-REFERENCED-CLASSES-IN-CPL-P* -SB-PCL::*THE-CLASS-FORWARD-REFERENCED-CLASS* -SB-PCL::*THE-CLASS-SIMPLE-ARRAY-SINGLE-FLOAT* -SB-PCL::*MF1P* -SB-PCL::*MINIMUM-CACHE-SIZE-TO-LIST* -SB-PCL::*THE-CLASS-CLASS-PROTOTYPE-SPECIALIZER* -SB-PCL::*THE-CLASS-T* -SB-PCL::*CACHE-MISS-VALUES-STACK* -SB-PCL::*SGF-NAME-INDEX* -SB-PCL::*THE-CLASS-DEFINITION-SOURCE-MIXIN* -SB-PCL::*SGF-SLOTS-INIT* +SB-PCL::*THE-WRAPPER-OF-SIMPLE-BIT-VECTOR* +SB-PCL::*THE-WRAPPER-OF-SIMPLE-STRING* +SB-PCL::*THE-WRAPPER-OF-SIMPLE-VECTOR* +SB-PCL::*THE-WRAPPER-OF-SINGLE-FLOAT* +SB-PCL::*THE-WRAPPER-OF-STRING* +SB-PCL::*THE-WRAPPER-OF-STRUCTURE-OBJECT* +SB-PCL::*THE-WRAPPER-OF-SYMBOL* +SB-PCL::*THE-WRAPPER-OF-SYSTEM-AREA-POINTER* +SB-PCL::*THE-WRAPPER-OF-T* +SB-PCL::*THE-WRAPPER-OF-VECTOR* +SB-PCL::*THE-WRAPPER-OF-WEAK-POINTER* +SB-PCL::*WRITERS-FOR-THIS-DEFCLASS* +SB-PCL::WRAPPER-CLASS* = debugger @@ -406,7 +409,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* @@ -423,7 +425,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* @@ -530,13 +531,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* @@ -599,6 +597,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* @@ -647,7 +649,7 @@ SB-C::*COMPILER-ERROR-CONTEXT* SB-C::*SEEN-BLOCKS* SB-C::*TN-ID* SB-C::*IR1-OPTIMIZE-UNTIL-DONE-EVENT-INFO* -SB-C::*SPECIALIZED-ARRAY-ELEMENT-TYPE-PROPERTIES* +SB-C::*SPECIALIZED-ARRAY-ELEMENT-TYPE-PROPERTIES* ; readonly SB-C::*NUMBER-CONTINUATIONS* SB-C::*CTYPE-TEST-FUN* SB-C::*IGNORE-COST-VOPS* @@ -688,7 +690,6 @@ SB-C::*BLOCK-COMPILE-ARG* SB-C::*COMPILER-ERROR-PRINT-LENGTH* SB-C::*CONTINUATION-NUMBER* SB-C::*PREV-SEGMENT* -SB-C::*ALL-COMPONENTS* SB-C::*CONTROL-DELETED-BLOCK-EVENT-INFO* SB-C::*ALLOW-DEBUG-CATCH-TAG* SB-C::*ID-LABELS* @@ -793,7 +794,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* @@ -817,13 +817,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 ? @@ -835,18 +835,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* +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* @@ -907,15 +902,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 @@ -955,20 +941,20 @@ SB-VM::*MAYBE-USE-INLINE-ALLOCATION* SB-VM::*SIGNED-IMM-DWORD-PREFILTER-WRAPPER* SB-VM::*IMMEDIATE-TYPES* -SB-KERNEL:*WILD-TYPE* +SB-KERNEL:*WILD-TYPE* ; readonly SB-KERNEL:*UNPARSE-FUN-TYPE-SIMPLIFY* SB-KERNEL:*CURRENT-LEVEL-IN-PRINT* SB-KERNEL:*UNIVERSAL-FUN-TYPE* SB-KERNEL:*COLD-INIT-COMPLETE-P* -SB-KERNEL:*UNIVERSAL-TYPE* -SB-KERNEL:*HANDLER-CLUSTERS* -SB-KERNEL:*EMPTY-TYPE* +SB-KERNEL:*UNIVERSAL-TYPE* ; readonly +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* +SB-KERNEL::*BUILT-IN-CLASS-CODES* ; readonly SB-KERNEL::*DEF!STRUCT-TYPE-MAKE-LOAD-FORM-FUN* SB-KERNEL::*LAYOUT-CLOS-HASH-RANDOM-STATE* SB-KERNEL::*TYPE-TEST-ORDERING* @@ -981,37 +967,37 @@ SB-KERNEL::*TYPE-INTERSECTION2-CACHE-VECTOR* SB-KERNEL::*COLD-INIT-FORMS* SB-KERNEL::*DEFAULT-DEFAULT* SB-KERNEL::*RAW-SLOT-DATA-LIST* -SB-KERNEL::*SPECIALIZED-ARRAY-ELEMENT-TYPES* +SB-KERNEL::*SPECIALIZED-ARRAY-ELEMENT-TYPES* ; readonly SB-KERNEL::*DEFSTRUCT-HOOKS* SB-KERNEL::*VALUES-TYPE-UNION-CACHE-VECTOR* SB-KERNEL::*INTERNAL-ERRORS* SB-KERNEL::*VALUES-TYPE-INTERSECTION-CACHE-VECTOR* SB-KERNEL::*FORWARD-REFERENCED-LAYOUTS* -SB-KERNEL::*SYSTEM-LETS* +SB-KERNEL::*SYSTEM-LETS* ; bound SB-KERNEL::*%COERCE-TO-VALUES-CACHE-VECTOR* SB-KERNEL::*IGNORABLE-VARS* -SB-KERNEL::*ENV-VAR* +SB-KERNEL::*ENV-VAR* ; bound SB-KERNEL::|*%%MAKE-UNION-TYPE-cached-CACHE-VECTOR*| SB-KERNEL::*CSUBTYPEP-CACHE-VECTOR* SB-KERNEL::*EMPTY-CONDITION-SLOT* SB-KERNEL::*TYPE-UNION2-CACHE-VECTOR* SB-KERNEL::*TYPE-CLASS-FUN-SLOTS* -SB-KERNEL::*ARG-TESTS* -SB-KERNEL::*USER-LETS* +SB-KERNEL::*ARG-TESTS* ; bound +SB-KERNEL::*USER-LETS* ; bound SB-KERNEL::|*%%MAKE-ARRAY-TYPE-cached-CACHE-VECTOR*| SB-KERNEL::*FINDING-NAME* SB-KERNEL::*TYPE-CLASSES* SB-KERNEL::*VALUES-SPECIFIER-TYPE-CACHE-VECTOR* -SB-KERNEL::*FLOAT-FORMATS* +SB-KERNEL::*FLOAT-FORMATS* ; readonly SB-KERNEL::*INTERNAL-ERROR-ARGS* SB-KERNEL::*DEF!STRUCT-SUPERTYPE* SB-KERNEL::*%TYPE-UNION-CACHE-VECTOR* SB-KERNEL::*CTYPE-OF-CACHE-VECTOR* -SB-IMPL::*READ-BUFFER* +SB-IMPL::*READ-BUFFER* ; FIXME: non-threadsafe SB-IMPL::*SECONDARY-ATTRIBUTE-TABLE* SB-IMPL::*STANDARD-READTABLE* -SB-IMPL::*OUCH-PTR* +SB-IMPL::*OUCH-PTR* ; FIXME: non-threadsafe SB-IMPL::*ERROR-ERROR-DEPTH* SB-IMPL::*CURRENT-ERROR-DEPTH* SB-IMPL::*INTERNAL-REAL-TIME-BASE-SECONDS* @@ -1021,7 +1007,7 @@ SB-IMPL::*HANDLERS-INSTALLED* SB-IMPL::*READ-FROM-STRING-SPARES* SB-IMPL::*HASH-TABLE-TESTS* SB-IMPL::*ATTRIBUTE-NAMES* -SB-IMPL::*DAYS-BEFORE-MONTH* +SB-IMPL::*DAYS-BEFORE-MONTH* ; readonly SB-IMPL::*CHARACTER-ATTRIBUTES* SB-IMPL::*UNIX-HOST* SB-IMPL::*DESCRIPTOR-HANDLERS* @@ -1029,9 +1015,8 @@ SB-IMPL::*STRING-OUTPUT-STREAMS* SB-IMPL::*CLOSE-ON-ERROR* SB-IMPL::*INTEGER-READER-SAFE-DIGITS* SB-IMPL::*TIMEZONE-TABLE* -SB-IMPL::*BQ-COMMA-FLAG* +SB-IMPL::*BQ-COMMA-FLAG* ; readonly SB-IMPL::*PRINT-OBJECT-IS-DISABLED-P* -SB-IMPL::*MERGE-SORT-TEMP-VECTOR* SB-IMPL::*PROFILE-HASH-CACHE* SB-IMPL::*FIXNUM-POWER--1* SB-IMPL::*SHARP-EQUAL-CIRCLE-TABLE* @@ -1044,17 +1029,16 @@ 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* SB-IMPL::*ACTIVE-PROCESSES* SB-IMPL::*SHARP-SHARP-ALIST* SB-IMPL::*BASE-POWER* SB-IMPL::*LOGICAL-PATHNAME-DEFAULTS* SB-IMPL::*AVAILABLE-BUFFERS* -SB-IMPL::*BQ-DOT-FLAG* +SB-IMPL::*BQ-DOT-FLAG* ; readonly SB-IMPL::*CIRCULARITY-COUNTER* SB-IMPL::*DIGITS* -SB-IMPL::*PREVIOUS-READTABLE-CASE* -SB-IMPL::*BQ-VECTOR-FLAG* +SB-IMPL::*PREVIOUS-READTABLE-CASE* ; FIXME: printer not threadsafe +SB-IMPL::*BQ-VECTOR-FLAG* ; readonly SB-IMPL::*ABBREV-WEEKDAY-TABLE* SB-IMPL::*LOGICAL-HOSTS* SB-IMPL::*PACKAGE-NAMES* @@ -1066,24 +1050,24 @@ SB-IMPL::*VALID-FUN-NAMES-ALIST* SB-IMPL::*PERIODIC-POLLING-FUNCTION* SB-IMPL::*ABORTED-COMPILATION-UNIT-COUNT* SB-IMPL::*LONG-WEEKDAY-TABLE* -SB-IMPL::*INTERNAL-SYMBOL-OUTPUT-FUN* -SB-IMPL::*BACKQUOTE-COUNT* +SB-IMPL::*INTERNAL-SYMBOL-OUTPUT-FUN* ; FIXME: printer not threadsafe +SB-IMPL::*BACKQUOTE-COUNT* ; bound SB-IMPL::*DIGIT-BASES* SB-IMPL::*PREVIOUS-DRIBBLE-STREAMS* SB-IMPL::*MAX-EVENT-TO-USEC* SB-IMPL::*INPUT-ROUTINES* SB-IMPL::*MAX-EVENT-TO-SEC* -SB-IMPL::*READ-BUFFER-LENGTH* +SB-IMPL::*READ-BUFFER-LENGTH* ; FIXME: not threadsafe SB-IMPL::*LONG-MONTH-TABLE* SB-IMPL::*OLD-PACKAGE* SB-IMPL::*INTEGER-READER-BASE-POWER* SB-IMPL::*ERROR-THROW-UP-COUNT* -SB-IMPL::*BQ-AT-FLAG* +SB-IMPL::*BQ-AT-FLAG* ; readonly SB-IMPL::*MACHINE-VERSION* ; unset/unbound ? are we using this? SB-IMPL::*IGNORE-WILDCARDS* -SB-IMPL::*INCH-PTR* +SB-IMPL::*INCH-PTR* ; FIXME: non-threadsafe SB-IMPL::*SHARP-EQUAL-ALIST* -SB-IMPL::*PREVIOUS-CASE* +SB-IMPL::*PREVIOUS-CASE* ; FIXME: printer not threadsafe *INLINE-EXPANSION-LIMIT* *DERIVE-FUNCTION-TYPES* @@ -1098,11 +1082,8 @@ SB-IMPL::*PREVIOUS-CASE* *MACROEXPAND-HOOK* *RANDOM-STATE* -SB-BIGNUM::*TRUNCATE-Y* -SB-BIGNUM::*TRUNCATE-X* - -SB-INT:*CL-PACKAGE* -SB-INT:*KEYWORD-PACKAGE* +SB-INT:*CL-PACKAGE* ; readonly +SB-INT:*KEYWORD-PACKAGE* ; readonly SB-INT:*SETF-FDEFINITION-HOOK* SB-INT:*DEFAULT-INIT-CHAR-FORM* SB-INT:*EOF-OBJECT*