X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=doc%2Finternals-notes%2Fthreading-specials;h=d67db3c7237d013ddde493be4bf3d383606f91a9;hb=e3932d9a8cf3b8d2272cf75d1c40173af48747be;hp=4f346d99e8d33e8997f1bfe579a15315747eb99e;hpb=fb8533122551bbb7aea669f40bc91c1211809b58;p=sbcl.git diff --git a/doc/internals-notes/threading-specials b/doc/internals-notes/threading-specials index 4f346d9..d67db3c 100644 --- a/doc/internals-notes/threading-specials +++ b/doc/internals-notes/threading-specials @@ -103,278 +103,286 @@ The PCL authors thought a bit about thread safety, adding We've implemented their without-interrupts macro as an acquitision of *pcl-lock*, so we hope they've done it properly. -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* +Largish parts of PCL should also be protected by the compiler lock, +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. + +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* + +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* + SB-PCL::*PREVIOUS-NWRAPPERS* + +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* + ;;; 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::*FIND-CLASS* +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 @@ -530,13 +538,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* @@ -797,7 +802,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* @@ -821,13 +825,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 ? @@ -839,18 +843,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* @@ -965,12 +964,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* @@ -1012,10 +1011,10 @@ 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* @@ -1035,7 +1034,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* +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* @@ -1048,7 +1047,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* @@ -1077,7 +1076,7 @@ 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* @@ -1085,7 +1084,7 @@ SB-IMPL::*ERROR-THROW-UP-COUNT* 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* ; FIXME: printer not threadsafe @@ -1102,9 +1101,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*