2 Things in SBCL that look like special variables (list created by
3 (apropos "*")) and could conceivably indicate potental thread safety
4 issues. Organised by functional area.
8 (1) classify the unclassified symbols (in such a way as to
11 (2) read through the subsystems identified looking for places
12 where global state is mutated. Use this list of symbols as a
13 guide, but be open to the possibility that other state
14 (e.g. closures, foreign variables) is touched too.
16 When looking at a particular symbol, please annotate it in
17 this file when you figure out what it's for and how it's
18 changed. To give us some confidence that we have reasonable
19 coverage, please don't just delete it if it looks ok. Symbols
20 shoud only be deleted here if they're obviously not specials
21 at all (e.g. functions with * in their names), or if the same
22 commit actually rids SBCL of the symbol itself. Otherwise,
23 just add a comment saying "read-only" or "unused" or whatever.
25 (3) anything else that comes to mind as potential trouble
26 spots. Global state in closures, etc etc
28 (4) suggest strategies (e.g. rewrites of affected code, suitable
29 locks and lock acquisition/release places) to fix the issues
30 revealed in (2) and (3)
34 Candidates may attempt any of the above simultaneously.
35 Points will be awarded for style
41 = PCL (probably ok if PCL authors did *without-interrupts* right)
45 = assembler (I assume protected by *big-compiler-lock*)
46 = unix interface (apparently ok)
47 = toplevel/environment stuff
48 = the formatter & pretty printer (two vars need checking)
49 = compiler (protected by *big-compiler-lock*)
50 = fasloader (protected by *big-compiler-lock*)
51 = runtime stuff - gc, control stacks, interrupts etc
60 I suspect that stuff in sb-loop is only ever frobbed at
61 macroexpand/compile time anyway, so covered by *big-compiler-lock*.
62 Haven't thought about this too hard, though
64 SB-LOOP::*LOOP-PROLOGUE*
65 SB-LOOP::*LOOP-SOURCE-CODE*
66 SB-LOOP::*LOOP-MINIMAX-TYPE-INFINITIES-ALIST*
69 SB-LOOP::*LOOP-AFTER-BODY*
70 SB-LOOP::*LOOP-DESETQ-CROCKS*
71 SB-LOOP::*LOOP-EPILOGUE*
72 SB-LOOP::*LOOP-EMITTED-BODY*
73 SB-LOOP::*LOOP-NEVER-STEPPED-VAR*
74 SB-LOOP::*LOOP-NAMED-VARS*
75 SB-LOOP::*LOOP-ITERATION-VARS*
76 SB-LOOP::*LOOP-WHEN-IT-VAR*
77 SB-LOOP::*LOOP-BEFORE-LOOP*
78 SB-LOOP::*ESTIMATE-CODE-SIZE-PUNT*
79 SB-LOOP::*LOOP-WRAPPERS*
80 SB-LOOP::*LOOP-DESETQ-TEMPORARY*
81 SB-LOOP::*LOOP-MACRO-ENVIRONMENT*
84 SB-LOOP::*LOOP-SOURCE-CONTEXT*
85 SB-LOOP::*LOOP-AFTER-EPILOGUE*
86 SB-LOOP::*LOOP-DECLARATIONS*
87 SB-LOOP::*LOOP-FINAL-VALUE-CULPRIT*
88 SB-LOOP::*LOOP-COLLECTION-CRUFT*
89 SB-LOOP::*SPECIAL-CODE-SIZES*
90 SB-LOOP::*LOOP-UNIVERSE*
91 SB-LOOP::*LOOP-DUPLICATE-CODE*
92 SB-LOOP::*LOOP-INSIDE-CONDITIONAL*
93 SB-LOOP::*LOOP-ORIGINAL-SOURCE-CODE*
94 SB-LOOP::*LOOP-ITERATION-FLAG-VAR*
95 SB-LOOP::*LOOP-ANSI-UNIVERSE*
96 SB-LOOP::*LOOP-BIND-STACK*
100 Critical parts of PCL are protected by *world-lock* (particularly
101 those dealing with class graph changes), and some with finer-grained locks.
103 accesses locked with a nice granularity
104 SB-PCL::*CLASSOID-CELLS*
107 SB-PCL::*BUILT-IN-TYPEP-COST*
108 SB-PCL::*CACHE-EXPAND-THRESHOLD*
109 SB-PCL::*CACHE-LOOKUP-COST*
110 SB-PCL::*CASE-TABLE-LIMIT*
111 SB-PCL::*CHECK-CACHE-P*
112 SB-PCL::*COMPUTE-STD-CPL-CLASS->ENTRY-TABLE-SIZE*
113 SB-PCL::*EQ-CASE-TABLE-LIMIT*
114 SB-PCL::*NON-BUILT-IN-TYPEP-COST*
115 SB-PCL::*NON-VAR-DECLARATIONS*
116 SB-PCL::*SECONDARY-DFUN-CALL-COST*
117 SB-PCL::*SGF-WRAPPER*
118 SB-PCL::*STRUCTURE-TYPEP-COST*
119 SB-PCL::*UNSPECIFIC-ARG*
120 SB-PCL::*VAR-DECLARATIONS-WITH-ARG*
121 SB-PCL::*WRAPPER-OF-COST*
124 SB-PCL::*ALLOW-FORWARD-REFERENCED-CLASSES-IN-CPL-P*
125 SB-PCL::*IN-OBSOLETE-INSTANCE-TRAP*
126 SB-PCL::*PRECOMPILING-LAP*
127 SB-PCL::*CACHE-MISS-VALUES-STACK*
129 protected by PCL-LOCK:
130 SB-PCL::*PREVIOUS-NWRAPPERS*
132 believed protected by the compiler-lock:
135 SB-PCL::*SGF-DFUN-STATE-INDEX*
136 SB-PCL::*VAR-DECLARATIONS-WITHOUT-ARG*
139 SB-PCL::*CLASS-EQ-SPECIALIZER-METHODS*
140 SB-PCL::*EFFECTIVE-METHOD-CACHE*
141 SB-PCL::*EQL-SPECIALIZER-METHODS*
142 SB-PCL::*METHOD-FUNCTION-PLIST*
143 SB-PCL::*PV-KEY-TO-PV-TABLE-TABLE*
144 SB-PCL::*PV-TABLE-CACHE-UPDATE-INFO*
146 SB-PCL::*SLOT-NAME-LISTS-INNER*
147 SB-PCL::*SLOT-NAME-LISTS-OUTER*
149 debugging / profiling -- low relevance:
151 SB-PCL::*ALLOW-EMF-CALL-TRACING-P*
153 build-options and bootstrap machinery -- irrelevant for user-code:
154 SB-PCL::*ALLOW-EXPERIMENTAL-SPECIALIZERS-P*
155 SB-PCL::*BOOT-STATE* ; pseudoconstant in finished lisp (not in bootstrap)
156 SB-PCL::*BUILT-IN-CLASS-SYMBOLS*
157 SB-PCL::*BUILT-IN-CLASSES*
158 SB-PCL::*BUILT-IN-WRAPPER-SYMBOLS*
159 SB-PCL::*CHECKING-OR-CACHING-LIST*
161 ;;; global, frobbed on generic function
162 ;;; initialization/reinitialization, method precomputation, and
163 ;;; compute-effective-method. Potentially unsafe, may be OK because
164 ;;; of *pcl-lock*, but could easily be liable to races.
166 SB-PCL::*CONDITION-SETF-SLOT-VALUE-USING-CLASS-METHOD*
167 SB-PCL::*CONDITION-SLOT-BOUNDP-USING-CLASS-METHOD*
168 SB-PCL::*CONDITION-SLOT-VALUE-USING-CLASS-METHOD*
169 SB-PCL::*CREATE-CLASSES-FROM-INTERNAL-STRUCTURE-DEFINITIONS-P*
170 SB-PCL::*DFUN-ARG-SYMBOLS*
171 SB-PCL::*DFUN-CONSTRUCTORS*
173 SB-PCL::*DFUN-MISS-GFS-ON-STACK*
174 SB-PCL::*EARLY-CLASS-DEFINITIONS*
175 SB-PCL::*EARLY-CLASS-PREDICATES*
176 SB-PCL::*EARLY-CLASS-SLOTS*
178 SB-PCL::*EMF-CALL-TRACE*
179 SB-PCL::*EMF-CALL-TRACE-INDEX*
180 SB-PCL::*EMF-CALL-TRACE-SIZE*
181 SB-PCL::*EMIT-FUNCTION-P*
182 SB-PCL::*ENABLE-DFUN-CONSTRUCTOR-CACHING*
183 SB-PCL::*ENABLE-EMF-CALL-TRACING-P*
184 SB-PCL::*EQL-SPECIALIZER-TABLE*
185 SB-PCL::*GLOBAL-EFFECTIVE-METHOD-GENSYMS*
186 SB-PCL::*IN-GF-ARG-INFO-P*
187 SB-PCL::*IN-PRECOMPUTE-EFFECTIVE-METHODS-P*
188 SB-PCL::*INITFUNCTIONS-FOR-THIS-DEFCLASS*
189 SB-PCL::*INTERNAL-PCL-GENERALIZED-FUN-NAME-SYMBOLS*
190 SB-PCL::*LAZY-DFUN-COMPUTE-P*
191 SB-PCL::*LONG-METHOD-COMBINATION-FUNCTIONS*
192 SB-PCL::*MINIMUM-CACHE-SIZE-TO-LIST*
193 SB-PCL::*NAME->CLASS->SLOTD-TABLE*
195 SB-PCL::*NORMALIZE-TYPE
196 SB-PCL::*NOT-IN-CACHE*
197 SB-PCL::*OLD-C-A-M-GF-METHODS*
198 SB-PCL::*OPTIMIZE-CACHE-FUNCTIONS-P*
199 SB-PCL::*OPTIMIZE-SPEED*
200 SB-PCL::*PCL-CLASS-BOOT*
201 SB-PCL::*PCL-LOCK* ; protecting the rest
202 SB-PCL::*PCL-PACKAGE*
203 SB-PCL::*RAISE-METATYPES-TO-CLASS-P*
204 SB-PCL::*READERS-FOR-THIS-DEFCLASS*
205 SB-PCL::*REBOUND-EFFECTIVE-METHOD-GENSYMS*
206 SB-PCL::*SGF-ARG-INFO-INDEX*
207 SB-PCL::*SGF-METHOD-CLASS-INDEX*
208 SB-PCL::*SGF-METHODS-INDEX*
209 SB-PCL::*SGF-NAME-INDEX*
210 SB-PCL::*SGF-SLOTS-INIT*
211 SB-PCL::*SHOW-MAKE-UNORDERED-METHODS-EMF-CALLS*
212 SB-PCL::*SLOT-NAMES-FOR-THIS-DEFCLASS*
213 SB-PCL::*SLOT-VECTOR-SYMBOLS*
214 SB-PCL::*STANDARD-CLASSES*
215 SB-PCL::*STANDARD-METHOD-COMBINATION*
216 SB-PCL::*STANDARD-SETF-SLOT-VALUE-USING-CLASS-METHOD*
217 SB-PCL::*STANDARD-SLOT-BOUNDP-USING-CLASS-METHOD*
218 SB-PCL::*STANDARD-SLOT-LOCATIONS*
219 SB-PCL::*STANDARD-SLOT-VALUE-USING-CLASS-METHOD*
220 SB-PCL::*STD-CAM-METHODS*
221 SB-PCL::*STRUCTURE-SETF-SLOT-VALUE-USING-CLASS-METHOD*
222 SB-PCL::*STRUCTURE-SLOT-BOUNDP-USING-CLASS-METHOD*
223 SB-PCL::*STRUCTURE-SLOT-VALUE-USING-CLASS-METHOD*
225 SB-PCL::*THE-CLASS-ARRAY*
226 SB-PCL::*THE-CLASS-BASE-CHAR*
227 SB-PCL::*THE-CLASS-BIGNUM*
228 SB-PCL::*THE-CLASS-BIT-VECTOR*
229 SB-PCL::*THE-CLASS-BUILT-IN-CLASS*
230 SB-PCL::*THE-CLASS-CHARACTER*
231 SB-PCL::*THE-CLASS-CLASS*
232 SB-PCL::*THE-CLASS-CLASS-EQ-SPECIALIZER*
233 SB-PCL::*THE-CLASS-CLASS-PROTOTYPE-SPECIALIZER*
234 SB-PCL::*THE-CLASS-CODE-COMPONENT*
235 SB-PCL::*THE-CLASS-COMPLEX*
236 SB-PCL::*THE-CLASS-COMPLEX-DOUBLE-FLOAT*
237 SB-PCL::*THE-CLASS-COMPLEX-SINGLE-FLOAT*
238 SB-PCL::*THE-CLASS-CONDITION*
239 SB-PCL::*THE-CLASS-CONDITION-CLASS*
240 SB-PCL::*THE-CLASS-CONDITION-DIRECT-SLOT-DEFINITION*
241 SB-PCL::*THE-CLASS-CONDITION-EFFECTIVE-SLOT-DEFINITION*
242 SB-PCL::*THE-CLASS-CONDITION-SLOT-DEFINITION*
243 SB-PCL::*THE-CLASS-CONS*
244 SB-PCL::*THE-CLASS-DEFINITION-SOURCE-MIXIN*
245 SB-PCL::*THE-CLASS-DEPENDENT-UPDATE-MIXIN*
246 SB-PCL::*THE-CLASS-DIRECT-SLOT-DEFINITION*
247 SB-PCL::*THE-CLASS-DOCUMENTATION-MIXIN*
248 SB-PCL::*THE-CLASS-DOUBLE-FLOAT*
249 SB-PCL::*THE-CLASS-EFFECTIVE-SLOT-DEFINITION*
250 SB-PCL::*THE-CLASS-EQL-SPECIALIZER*
251 SB-PCL::*THE-CLASS-EXACT-CLASS-SPECIALIZER*
252 SB-PCL::*THE-CLASS-FDEFN*
253 SB-PCL::*THE-CLASS-FIXNUM*
254 SB-PCL::*THE-CLASS-FLOAT*
255 SB-PCL::*THE-CLASS-FORWARD-REFERENCED-CLASS*
256 SB-PCL::*THE-CLASS-FUNCALLABLE-INSTANCE*
257 SB-PCL::*THE-CLASS-FUNCALLABLE-STANDARD-CLASS*
258 SB-PCL::*THE-CLASS-FUNCALLABLE-STANDARD-OBJECT*
259 SB-PCL::*THE-CLASS-FUNCTION*
260 SB-PCL::*THE-CLASS-GENERIC-FUNCTION*
261 SB-PCL::*THE-CLASS-INSTANCE*
262 SB-PCL::*THE-CLASS-INTEGER*
263 SB-PCL::*THE-CLASS-LIST*
264 SB-PCL::*THE-CLASS-LONG-METHOD-COMBINATION*
265 SB-PCL::*THE-CLASS-LRA*
266 SB-PCL::*THE-CLASS-METHOD*
267 SB-PCL::*THE-CLASS-METHOD-COMBINATION*
268 SB-PCL::*THE-CLASS-NULL*
269 SB-PCL::*THE-CLASS-NUMBER*
270 SB-PCL::*THE-CLASS-PCL-CLASS*
271 SB-PCL::*THE-CLASS-PLIST-MIXIN*
272 SB-PCL::*THE-CLASS-RANDOM-CLASS*
273 SB-PCL::*THE-CLASS-RATIO*
274 SB-PCL::*THE-CLASS-RATIONAL*
275 SB-PCL::*THE-CLASS-REAL*
276 SB-PCL::*THE-CLASS-SEQUENCE*
277 SB-PCL::*THE-CLASS-SIMPLE-ARRAY*
278 SB-PCL::*THE-CLASS-SIMPLE-ARRAY-COMPLEX-DOUBLE-FLOAT*
279 SB-PCL::*THE-CLASS-SIMPLE-ARRAY-COMPLEX-SINGLE-FLOAT*
280 SB-PCL::*THE-CLASS-SIMPLE-ARRAY-DOUBLE-FLOAT*
281 SB-PCL::*THE-CLASS-SIMPLE-ARRAY-SIGNED-BYTE-16*
282 SB-PCL::*THE-CLASS-SIMPLE-ARRAY-SIGNED-BYTE-30*
283 SB-PCL::*THE-CLASS-SIMPLE-ARRAY-SIGNED-BYTE-32*
284 SB-PCL::*THE-CLASS-SIMPLE-ARRAY-SIGNED-BYTE-8*
285 SB-PCL::*THE-CLASS-SIMPLE-ARRAY-SINGLE-FLOAT*
286 SB-PCL::*THE-CLASS-SIMPLE-ARRAY-UNSIGNED-BYTE-16*
287 SB-PCL::*THE-CLASS-SIMPLE-ARRAY-UNSIGNED-BYTE-2*
288 SB-PCL::*THE-CLASS-SIMPLE-ARRAY-UNSIGNED-BYTE-32*
289 SB-PCL::*THE-CLASS-SIMPLE-ARRAY-UNSIGNED-BYTE-4*
290 SB-PCL::*THE-CLASS-SIMPLE-ARRAY-UNSIGNED-BYTE-8*
291 SB-PCL::*THE-CLASS-SIMPLE-BIT-VECTOR*
292 SB-PCL::*THE-CLASS-SIMPLE-STRING*
293 SB-PCL::*THE-CLASS-SIMPLE-VECTOR*
294 SB-PCL::*THE-CLASS-SINGLE-FLOAT*
295 SB-PCL::*THE-CLASS-SLOT-CLASS*
296 SB-PCL::*THE-CLASS-SLOT-DEFINITION*
297 SB-PCL::*THE-CLASS-SLOT-OBJECT*
298 SB-PCL::*THE-CLASS-SPECIALIZER*
299 SB-PCL::*THE-CLASS-SPECIALIZER-WITH-OBJECT*
300 SB-PCL::*THE-CLASS-STANDARD-ACCESSOR-METHOD*
301 SB-PCL::*THE-CLASS-STANDARD-BOUNDP-METHOD*
302 SB-PCL::*THE-CLASS-STANDARD-CLASS*
303 SB-PCL::*THE-CLASS-STANDARD-DIRECT-SLOT-DEFINITION*
304 SB-PCL::*THE-CLASS-STANDARD-EFFECTIVE-SLOT-DEFINITION*
305 SB-PCL::*THE-CLASS-STANDARD-GENERIC-FUNCTION*
306 SB-PCL::*THE-CLASS-STANDARD-METHOD*
307 SB-PCL::*THE-CLASS-STANDARD-METHOD-COMBINATION*
308 SB-PCL::*THE-CLASS-STANDARD-OBJECT*
309 SB-PCL::*THE-CLASS-STANDARD-READER-METHOD*
310 SB-PCL::*THE-CLASS-STANDARD-SLOT-DEFINITION*
311 SB-PCL::*THE-CLASS-STANDARD-WRITER-METHOD*
312 SB-PCL::*THE-CLASS-STD-CLASS*
313 SB-PCL::*THE-CLASS-STD-OBJECT*
314 SB-PCL::*THE-CLASS-STREAM*
315 SB-PCL::*THE-CLASS-STRING*
316 SB-PCL::*THE-CLASS-STRUCTURE-CLASS*
317 SB-PCL::*THE-CLASS-STRUCTURE-DIRECT-SLOT-DEFINITION*
318 SB-PCL::*THE-CLASS-STRUCTURE-EFFECTIVE-SLOT-DEFINITION*
319 SB-PCL::*THE-CLASS-STRUCTURE-OBJECT*
320 SB-PCL::*THE-CLASS-STRUCTURE-SLOT-DEFINITION*
321 SB-PCL::*THE-CLASS-SYMBOL*
322 SB-PCL::*THE-CLASS-SYSTEM-AREA-POINTER*
323 SB-PCL::*THE-CLASS-T*
324 SB-PCL::*THE-CLASS-VECTOR*
325 SB-PCL::*THE-CLASS-WEAK-POINTER*
326 SB-PCL::*THE-ESLOTD-FUNCALLABLE-STANDARD-CLASS-SLOTS*
327 SB-PCL::*THE-ESLOTD-STANDARD-CLASS-SLOTS*
328 SB-PCL::*THE-SYSTEM-II-METHOD*
329 SB-PCL::*THE-SYSTEM-SI-METHOD*
330 SB-PCL::*THE-WRAPPER-OF-ARRAY*
331 SB-PCL::*THE-WRAPPER-OF-BASE-CHAR*
332 SB-PCL::*THE-WRAPPER-OF-BIGNUM*
333 SB-PCL::*THE-WRAPPER-OF-BIT-VECTOR*
334 SB-PCL::*THE-WRAPPER-OF-CHARACTER*
335 SB-PCL::*THE-WRAPPER-OF-CODE-COMPONENT*
336 SB-PCL::*THE-WRAPPER-OF-COMPLEX*
337 SB-PCL::*THE-WRAPPER-OF-COMPLEX-DOUBLE-FLOAT*
338 SB-PCL::*THE-WRAPPER-OF-COMPLEX-SINGLE-FLOAT*
339 SB-PCL::*THE-WRAPPER-OF-CONS*
340 SB-PCL::*THE-WRAPPER-OF-DOUBLE-FLOAT*
341 SB-PCL::*THE-WRAPPER-OF-FDEFN*
342 SB-PCL::*THE-WRAPPER-OF-FIXNUM*
343 SB-PCL::*THE-WRAPPER-OF-FLOAT*
344 SB-PCL::*THE-WRAPPER-OF-INTEGER*
345 SB-PCL::*THE-WRAPPER-OF-LIST*
346 SB-PCL::*THE-WRAPPER-OF-LRA*
347 SB-PCL::*THE-WRAPPER-OF-NULL*
348 SB-PCL::*THE-WRAPPER-OF-NUMBER*
349 SB-PCL::*THE-WRAPPER-OF-RANDOM-CLASS*
350 SB-PCL::*THE-WRAPPER-OF-RATIO*
351 SB-PCL::*THE-WRAPPER-OF-RATIONAL*
352 SB-PCL::*THE-WRAPPER-OF-REAL*
353 SB-PCL::*THE-WRAPPER-OF-SEQUENCE*
354 SB-PCL::*THE-WRAPPER-OF-SIMPLE-ARRAY*
355 SB-PCL::*THE-WRAPPER-OF-SIMPLE-ARRAY-COMPLEX-DOUBLE-FLOAT*
356 SB-PCL::*THE-WRAPPER-OF-SIMPLE-ARRAY-COMPLEX-SINGLE-FLOAT*
357 SB-PCL::*THE-WRAPPER-OF-SIMPLE-ARRAY-DOUBLE-FLOAT*
358 SB-PCL::*THE-WRAPPER-OF-SIMPLE-ARRAY-SIGNED-BYTE-16*
359 SB-PCL::*THE-WRAPPER-OF-SIMPLE-ARRAY-SIGNED-BYTE-30*
360 SB-PCL::*THE-WRAPPER-OF-SIMPLE-ARRAY-SIGNED-BYTE-32*
361 SB-PCL::*THE-WRAPPER-OF-SIMPLE-ARRAY-SIGNED-BYTE-8*
362 SB-PCL::*THE-WRAPPER-OF-SIMPLE-ARRAY-SINGLE-FLOAT*
363 SB-PCL::*THE-WRAPPER-OF-SIMPLE-ARRAY-UNSIGNED-BYTE-16*
364 SB-PCL::*THE-WRAPPER-OF-SIMPLE-ARRAY-UNSIGNED-BYTE-2*
365 SB-PCL::*THE-WRAPPER-OF-SIMPLE-ARRAY-UNSIGNED-BYTE-32*
366 SB-PCL::*THE-WRAPPER-OF-SIMPLE-ARRAY-UNSIGNED-BYTE-4*
367 SB-PCL::*THE-WRAPPER-OF-SIMPLE-ARRAY-UNSIGNED-BYTE-8*
368 SB-PCL::*THE-WRAPPER-OF-SIMPLE-BIT-VECTOR*
369 SB-PCL::*THE-WRAPPER-OF-SIMPLE-STRING*
370 SB-PCL::*THE-WRAPPER-OF-SIMPLE-VECTOR*
371 SB-PCL::*THE-WRAPPER-OF-SINGLE-FLOAT*
372 SB-PCL::*THE-WRAPPER-OF-STRING*
373 SB-PCL::*THE-WRAPPER-OF-STRUCTURE-OBJECT*
374 SB-PCL::*THE-WRAPPER-OF-SYMBOL*
375 SB-PCL::*THE-WRAPPER-OF-SYSTEM-AREA-POINTER*
376 SB-PCL::*THE-WRAPPER-OF-T*
377 SB-PCL::*THE-WRAPPER-OF-VECTOR*
378 SB-PCL::*THE-WRAPPER-OF-WEAK-POINTER*
379 SB-PCL::*WRITERS-FOR-THIS-DEFCLASS*
380 SB-PCL::WRAPPER-CLASS*
387 *TRACE-ENCAPSULATE-DEFAULT*
388 *MAX-TRACE-INDENTATION*
390 *DEBUG-BEGINNER-HELP-P*
393 *ONLY-BLOCK-START-LOCATIONS*
397 *PRINT-LOCATION-KIND*
400 *TRACE-INDENTATION-STEP*
402 SB-DEBUG::*CACHED-DEBUG-SOURCE*
403 SB-DEBUG::*POSSIBLE-BREAKPOINTS*
404 SB-DEBUG::*BAD-CODE-LOCATION-TYPES*
405 SB-DEBUG::*TRACED-ENTRIES*
406 SB-DEBUG::*DEBUG-COMMAND-LEVEL*
407 SB-DEBUG::*CACHED-SOURCE-STREAM*
408 SB-DEBUG::*DEBUG-LOOP-FUN*
409 SB-DEBUG::*NESTED-DEBUG-CONDITION*
410 SB-DEBUG::*STEP-BREAKPOINTS*
411 SB-DEBUG::*DEBUG-RESTARTS*
412 SB-DEBUG::*BREAKPOINTS*
413 SB-DEBUG::*TRACED-FUNS*
414 SB-DEBUG::*DEBUG-COMMANDS*
415 SB-DEBUG::*DEFAULT-BREAKPOINT-DEBUG-FUN*
416 SB-DEBUG::*CACHED-READTABLE*
418 SB-DEBUG::*CACHED-TOPLEVEL-FORM-OFFSET*
419 SB-DEBUG::*STACK-TOP*
420 SB-DEBUG::*CURRENT-FRAME*
421 SB-DEBUG::*CACHED-TOPLEVEL-FORM*
422 SB-DEBUG::*NUMBER-OF-STEPS*
423 SB-DEBUG::*REAL-STACK-TOP*
424 SB-DI::*PARSING-BUFFER*
425 SB-DI::*IR1-BLOCK-DEBUG-BLOCK*
426 SB-DI::*OTHER-PARSING-BUFFER*
427 SB-DI::*COMPILED-DEBUG-FUNS*
428 SB-DI::*COMPONENT-BREAKPOINT-OFFSETS*
429 SB-DI::*FUN-END-COOKIES*
430 SB-DI::*FORM-NUMBER-CIRCULARITY-TABLE*
431 SB-DI::*EXECUTING-BREAKPOINT-HOOKS*
432 SB-DI::*IR1-LAMBDA-DEBUG-FUN*
436 SB-PROFILE::*PROFILED-FUN-NAME->INFO*
437 SB-PROFILE::*ENCLOSED-CONSING*
438 SB-PROFILE::*COMPUTING-PROFILING-DATA-FOR*
439 SB-PROFILE::*ENCLOSED-PROFILES*
440 SB-PROFILE::*TIMER-OVERHEAD-ITERATIONS*
441 SB-PROFILE::*OVERHEAD*
442 SB-PROFILE::*ENCLOSED-TICKS*
446 SB-DISASSEM:*DISASSEM-INST-ALIGNMENT-BYTES*
447 SB-DISASSEM:*DISASSEM-NOTE-COLUMN*
448 SB-DISASSEM:*DEFAULT-DSTATE-HOOKS*
449 SB-DISASSEM:*DISASSEM-OPCODE-COLUMN-WIDTH*
450 SB-DISASSEM:*DISASSEM-SCHEDULER-P*
451 SB-DISASSEM:*DISASSEM-LOCATION-COLUMN-WIDTH*
452 SB-DISASSEM::*ARG-FUN-PARAMS*
453 SB-DISASSEM::*ADDRESS-OF-NIL-OBJECT*
454 SB-DISASSEM::*DISASSEM-INSTS*
455 SB-DISASSEM::*DISASSEM-FUN-CACHE*
456 SB-DISASSEM::*DISASSEM-INST-FORMATS*
457 SB-DISASSEM::*GROKKED-SYMBOL-SLOTS*
458 SB-DISASSEM::*ARG-FORM-KINDS*
459 SB-DISASSEM::*DISASSEM-INST-SPACE*
460 SB-DISASSEM::*CURRENT-INSTRUCTION-FLAVOR*
461 SB-DISASSEM::*DISASSEM-ARG-TYPES*
462 SB-DISASSEM::*ASSEMBLER-ROUTINES-BY-ADDR*
466 Currently protected by *big-compiler-lock*. Mostly uninvestigated
468 SB-ASSEM:*ASSEM-MAX-LOCATIONS*
469 SB-ASSEM:*ASSEM-INSTRUCTIONS*
470 SB-ASSEM:*ASSEM-SCHEDULER-P*
471 SB-ASSEM::*INSTRUCTION-ATTRIBUTE-TRANSLATIONS*
472 SB-ASSEM::**CURRENT-VOP**
473 SB-ASSEM::**CURRENT-SEGMENT**
480 SB-UNIX::*INTERRUPTS-ENABLED* ; ok, bound
481 SB-UNIX::*UNIX-SIGNALS* ; ok, read-only
482 SB-UNIX::*INTERRUPT-PENDING* ; ok, bound
484 = toplevel/environment stuff
486 Some of these should probably be bound on thread entry. I haven't
487 checked them yet, except where indicated
494 SB-SYS:*LONG-SITE-NAME* ; readonly
495 SB-SYS:*SHORT-SITE-NAME* ; readonly
496 SB-SYS::*SOFTWARE-VERSION* ; readonly
497 SB-THREAD::*SESSION-LOCK* ; bound
498 SB-THREAD::*BACKGROUND-THREADS-WAIT-FOR-DEBUGGER* ; intentionally global
509 *FEATURES* ; write at own risk
515 *DEFAULT-PATHNAME-DEFAULTS*
522 *PRINT-PPRINT-DISPATCH*
536 SB-IMPL::*INSPECT-LENGTH*
537 SB-IMPL::*DRIBBLE-STREAM* ; what to do with dribble in threaded lisp?
538 SB-IMPL::*HELP-FOR-INSPECT* ; read-only
543 *POSIX-ARGV* ; read-only
544 *READ-DEFAULT-FLOAT-FORMAT* ; probably "change at own risk"
545 *MODULES* ; should be changed only by provide/require, needs locking
546 *MODULE-PROVIDER-FUNCTIONS* ; probably "change at own risk"
548 SB-INT:*REPL-READ-FORM-FUN*
549 SB-INT:*REPL-PROMPT-FUN*
551 = the formatter & pretty printer
553 == probably safe (readonly unless indicated)
555 (defparameter *format-whitespace-chars*
556 (defvar *format-directive-expanders*
557 (defvar *format-directive-interpreters*
558 (defvar *default-format-error-control-string* nil)
559 (defvar *default-format-error-offset* nil)
560 SB-FORMAT::*CARDINAL-ONES* ; readonly
561 SB-FORMAT::*CARDINAL-TENS*
562 SB-FORMAT::*CARDINAL-TEENS*
563 SB-FORMAT::*ORDINAL-ONES*
564 SB-FORMAT::*ORDINAL-TENS*
565 SB-FORMAT::*CARDINAL-PERIODS*
566 SB-FORMAT::*ILLEGAL-INSIDE-JUSTIFICATION*
567 SB-FORMAT::*OUTSIDE-ARGS* ; safe, bound
570 (defvar *up-up-and-out-allowed* nil) ; safe, bound
571 (defvar *logical-block-popper* nil) ; bound
572 (defvar *expander-next-arg-macro* 'expander-next-arg) ; bound
573 (defvar *orig-args-available* nil) ; bound
577 ;;; Used by the expander stuff. Initially starts as T, and gets set to NIL
578 ;;; if someone needs to do something strange with the arg list (like use
579 ;;; the rest, or something). Setf in late-format, haven't checked if it's
580 ;;; always in a bound context
581 (defvar *only-simple-args*)
583 ;;; setf in late-format, haven't checked
584 (defvar *simple-args*)
586 == haven't looked at yet
588 SB-PRETTY::*INITIAL-PPRINT-DISPATCH*
589 SB-PRETTY::*BUILDING-INITIAL-TABLE*
590 SB-PRETTY::*PRECOMPILED-PPRINT-DISPATCH-FUNS*
595 Note that the compiler and fasloader are strongly believed not to be
596 thread-safe, so there is currently a big lock (*big-compiler-lock*)
597 around all calls to the compiler or fasloader
599 INFO functions are currently believed to be multi-writer/reader threadsafe,
600 though it's hard to know for sure since they were definitely read-safe,
601 and writes are done only while holding **WORLD-LOCK** as things stand.
602 The algorithms employed are used in at least one industrial-strength Lisp
603 application, though a bug has been reported (to me, dougk) regarding
604 the fasloader that might be related to INFO, or to the fasloader.
605 Catch 22: can't expose threading bugs until lock is removed
606 can't remove the lock until INFO is proven to be threadsafe.
608 *COMPILE-FILE-PATHNAME*
609 *COMPILE-FILE-TRUENAME*
613 SB-C:*BACKEND-INTERNAL-ERRORS*
614 SB-C:*BACKEND-SPECIAL-ARG-TYPES*
615 SB-C:*ASSEMBLY-OPTIMIZE*
618 SB-C:*COMPONENT-BEING-COMPILED*
619 SB-C:*BACKEND-SB-NAMES*
620 SB-C:*BACKEND-PAGE-SIZE*
621 SB-C:*BACKEND-SC-NUMBERS*
623 SB-C:*BACKEND-T-PRIMITIVE-TYPE*
624 SB-C:*BACKEND-SB-LIST*
626 SB-C:*BACKEND-SUBFEATURES*
627 SB-C:*COUNT-VOP-USAGES*
628 SB-C:*SUPPRESS-VALUES-DECLARATION*
629 SB-C:*BACKEND-SC-NAMES*
630 SB-C::*CURRENT-COMPONENT*
631 SB-C::*SLOT-INHERIT-ALIST*
632 SB-C::*COMPILER-NOTE-COUNT*
633 SB-C::*BACKEND-PREDICATE-TYPES*
635 SB-C::*INLINEP-TRANSLATIONS*
636 SB-C::*PACK-OPTIMIZE-SAVES*
637 SB-C::*DELETION-IGNORED-OBJECTS*
638 SB-C::*LAST-FORMAT-ARGS*
639 SB-C::*CONSTANTS-BEING-CREATED*
640 SB-C::*IGNORED-ERRORS*
641 SB-C::*COMPILE-OBJECT*
644 SB-C::*COMPILER-ERROR-COUNT*
645 SB-C::*EVENT-NOTE-THRESHOLD*
646 SB-C::*LAST-MESSAGE-COUNT*
647 SB-C::*EMIT-ASSEMBLY-CODE-NOT-VOPS-P*
648 SB-C::*LAST-FORMAT-STRING*
649 SB-C::*UNWINNAGE-FUN*
650 SB-C::*COMPILER-ERROR-CONTEXT*
653 SB-C::*IR1-OPTIMIZE-UNTIL-DONE-EVENT-INFO*
654 SB-C::*SPECIALIZED-ARRAY-ELEMENT-TYPE-PROPERTIES* ; readonly
655 SB-C::*NUMBER-CONTINUATIONS*
656 SB-C::*CTYPE-TEST-FUN*
657 SB-C::*IGNORE-COST-VOPS*
658 SB-C::*QUEUED-PROCLAIMS*
659 SB-C::*COMPILER-STYLE-WARNING-COUNT*
662 SB-C::*COMPILED-CODE-LOCATION-KINDS*
665 SB-C::*LAST-ORIGINAL-SOURCE*
667 SB-C::LIST*-IR2-CONVERT-OPTIMIZER
668 SB-C::*COMPILER-ERROR-BAILOUT*
669 SB-C::*DELAYED-IR1-TRANSFORMS*
670 SB-C::*INFO-TYPES* ; readonly
671 SB-C::*CHECK-CONSISTENCY*
673 SB-C::*USING-VOP-TN-REFS*
674 SB-C::*MAKE-VALUE-CELL-EVENT-EVENT-INFO*
676 SB-C::*REPACK-BLOCK-EVENT-INFO*
677 SB-C::*UNPACK-TN-EVENT-INFO*
678 SB-C::*COALESCE-MORE-LTN-NUMBERS-EVENT-INFO*
679 SB-C::*IN-COMPILATION-UNIT*
680 SB-C::*BACKEND-TEMPLATE-NAMES*
681 SB-C::*BACKEND-PRIMITIVE-TYPE-NAMES*
682 SB-C::*CONSTRAINT-PROPAGATE*
683 SB-C::*BACKEND-PRIMITIVE-TYPE-ALIASES*
685 SB-C::*PACK-ASSIGN-COSTS*
686 SB-C::*CURRENT-FORM-NUMBER*
687 SB-C::*BLOCK-COMPILE-ARG*
688 SB-C::*COMPILER-ERROR-PRINT-LENGTH*
689 SB-C::*CONTINUATION-NUMBER*
691 SB-C::*CONTROL-DELETED-BLOCK-EVENT-INFO*
692 SB-C::*ALLOW-DEBUG-CATCH-TAG*
694 SB-C::*BACKEND-TYPE-PREDICATES*
695 SB-C::*COMPILER-WARNING-COUNT*
696 SB-C::*SUPPRESS-NOTE-VOPS*
697 SB-C::*COMPILER-ERROR-PRINT-LEVEL*
698 SB-C::*COMPLEMENT-TYPE-CHECKS*
699 SB-C::*FUN-NAMES-IN-THIS-FILE*
700 SB-C::*SPLIT-IR2-BLOCK-EVENT-INFO*
702 SB-C::*LAST-SOURCE-FORM*
703 SB-C::*WEAKEN-TYPE-CACHE-VECTOR* ; threadsafe
704 SB-C::*-DERIVE-TYPE-AUX
705 SB-C::*BLOCK-COMPILE*
706 SB-C::*BIG-COMPILER-LOCK* ; protecting the rest
707 SB-C::*PRIMITIVE-TYPE-SLOT-ALIST*
708 SB-C::*PREVIOUS-LOCATION*
710 SB-C::*CONSTANTS-CREATED-SINCE-LAST-INIT*
711 SB-C::*LAST-SOURCE-CONTEXT*
714 SB-C::*REOPTIMIZE-MAXED-OUT-EVENT-INFO*
715 SB-C::*LIST-CONFLICTS-TABLE*
716 SB-C::*LOSSAGE-DETECTED*
717 SB-C::*LAST-ERROR-CONTEXT*
719 SB-C::*POLICY-DEPENDENT-QUALITIES*
720 SB-C::*REOPTIMIZE-AFTER-TYPE-CHECK-MAX*
721 SB-C::*-DERIVE-TYPE-OPTIMIZER
722 SB-C::*IR1-ATTRIBUTE-TRANSLATIONS*
724 SB-C::*DYNAMIC-COUNTS-TN*
725 SB-C::*EXTREME-NTHCDR-OPEN-CODE-LIMIT*
726 SB-C::*BACKEND-PARSED-VOPS*
727 SB-C::*ABORTED-COMPILATION-UNIT-COUNT*
728 SB-C::*COPY-DELETED-MOVE-EVENT-INFO*
729 SB-C::*MAX-OPTIMIZE-ITERATIONS*
730 SB-C::*TOPLEVEL-LAMBDAS*
732 SB-C::*IR1-OPTIMIZE-MAXED-OUT-EVENT-INFO*
733 SB-C::*CONTINUATION-NUMBERS*
735 SB-C::*FLAME-ON-NECESSARILY-UNDEFINED-FUNCTION*
736 SB-C::*UNPACK-FALLBACK-EVENT-INFO*
739 SB-C::*NEXT-LOCATION*
740 SB-C::*ELSEWHERE-LABEL*
743 SB-C::*DEFAULT-NTHCDR-OPEN-CODE-LIMIT*
744 SB-C::*ALWAYS-OPTIMIZED-AWAY*
748 SB-C::*COMPILER-TRACE-OUTPUT*
749 SB-C::*CONSTRAINT-NUMBER*
750 SB-C::*RESULT-FIXUPS*
751 SB-C::*REPACK-BLOCKS*
752 SB-C::IR1-CONVERT-LET*
755 SB-C::*SOURCE-CONTEXT-METHODS*
756 SB-C::*VOP-ATTRIBUTE-TRANSLATIONS*
757 SB-C::*COMPILER-ERROR-PRINT-LINES*
759 SB-C::*POLICY-QUALITIES*
761 SB-C::*TRACE-TABLE-INFO*
762 SB-C::*UNDEFINED-WARNINGS*
763 SB-C::*BLOCK-ATTRIBUTE-TRANSLATIONS*
766 SB-C::*UNWINNAGE-DETECTED*
771 SB-FASL:*STATIC-FOREIGN-SYMBOLS*
772 SB-FASL:*ASSEMBLER-ROUTINES*
773 SB-FASL:*FASL-FILE-TYPE*
775 SB-FASL::*COLD-LOAD-DUMP*
780 SB-FASL::*FASL-INPUT-STREAM*
782 SB-FASL::*LOAD-DEPTH*
783 SB-FASL::*FEATURES-AFFECTING-FASL-FORMAT*
784 SB-FASL::*DUMP-ONLY-VALID-STRUCTURES*
785 SB-FASL::*CURRENT-FOP-TABLE-SIZE*
786 SB-FASL::*FOP-STACK-POINTER-ON-ENTRY*
787 SB-FASL::*FREE-FOP-TABLES*
788 SB-FASL::*LOAD-SYMBOL-BUFFER*
789 SB-FASL::*FASL-HEADER-STRING-START-STRING*
792 SB-FASL::*CIRCULARITIES-DETECTED*
793 SB-FASL::*LOAD-CODE-VERBOSE*
794 SB-FASL::*FEATURES-POTENTIALLY-AFFECTING-FASL-FORMAT*
795 SB-FASL::*LOAD-SYMBOL-BUFFER-SIZE*
796 SB-FASL::*CURRENT-FOP-TABLE*
797 SB-FASL::*FOP-STACK-POINTER*
798 SB-FASL::*CURRENT-FOP-TABLE-INDEX*
800 SB-FASL::*CURRENT-UNWIND-PROTECT-BLOCK*
810 SB-VM:*STATIC-SPACE-FREE-POINTER*
811 SB-VM:*INITIAL-DYNAMIC-SPACE-FREE-POINTER*
812 SB-VM:*CURRENT-CATCH-BLOCK* ; bound at thread entry (in C)
813 SB-VM:*STATIC-SYMBOLS*
814 SB-VM:*CONTROL-STACK-START* ; safe, bound at thread entry
815 SB-VM:*READ-ONLY-SPACE-FREE-POINTER*
816 SB-VM:*BINDING-STACK-START* ; safe, bound at thread entry
817 SB-VM:*CONTROL-STACK-END* ; safe, bound at thread entry
818 SB-VM::*CURRENT-UNWIND-PROTECT-BLOCK* ; bound at thread entry (in C)
819 SB-VM::*FREE-TLS-INDEX*
820 SB-VM::*BINDING-STACK-POINTER*
821 SB-VM::*ALLOCATION-POINTER* ; may be mostly unused ?
822 SB-KERNEL:*PSEUDO-ATOMIC-ATOMIC* ; bound
823 SB-KERNEL:*CONTROL-STACK-EXHAUSTION-SAP*
824 SB-KERNEL:*FREE-INTERRUPT-CONTEXT-INDEX* ; bound
825 SB-KERNEL:*GC-INHIBIT* ; do not touch directly. accessors may be broke too
826 SB-KERNEL:*NEED-TO-COLLECT-GARBAGE*
827 SB-KERNEL:*ALREADY-MAYBE-GCING*
828 SB-KERNEL:*PSEUDO-ATOMIC-INTERRUPTED* ; bound
829 SB-KERNEL::*GC-TRIGGER* ; I think this is dead, check
830 SB-IMPL::*CURRENT-UNWIND-PROTECT-BLOCK* ; thread-local
831 SB-IMPL::*READ-ONLY-SPACE-FREE-POINTER*
832 SB-VM::*ALIEN-STACK* ; bound in create_thread_struct()
834 SB-IMPL::*OBJECTS-PENDING-FINALIZATION* ; needs locking for writers
836 *AFTER-GC-HOOKS* ; must be global
838 SB-INT:*N-BYTES-FREED-OR-PURIFIED*
840 Note also the following may need attention
841 SB-PROFILE::TOTAL-CONSED
842 GET-BYTES-CONSED (fbound)
843 BYTES-CONSED-BETWEEN-GCS (fbound)
848 These are believed to be constant (in the general sense, not necessarily
849 eligible for defconstant). Mostly they're attributes of the backend machine
852 SB-C:*BACKEND-REGISTER-SAVE-PENALTY*
853 SB-C:*BACKEND-BYTE-ORDER*
854 SB-VM:*PRIMITIVE-OBJECTS*
855 SB-VM:*ASSEMBLY-UNIT-LENGTH*
856 SB-VM::*FP-CONSTANT-L2E*
857 SB-VM::*FLOAT-REGISTER-NAMES*
858 SB-VM::*FP-CONSTANT-1L0*
859 SB-VM::*BYTE-REGISTER-NAMES*
860 SB-VM::*DWORD-SC-NAMES*
861 SB-VM::*FP-CONSTANT-1F0*
863 SB-VM::*BYTE-SC-NAMES*
864 SB-VM::*DEFAULT-ADDRESS-SIZE*
865 SB-VM::*FP-CONSTANT-0D0*
866 SB-VM::*FP-CONSTANT-LG2*
867 SB-VM::*FP-CONSTANT-L2T*
869 SB-VM::*WORD-REGISTER-NAMES*
870 SB-VM::*FP-CONSTANT-0F0*
871 SB-VM::*FLOAT-SC-NAMES*
873 SB-VM::*DWORD-REGISTER-NAMES*
874 SB-VM::*WORD-SC-NAMES*
875 SB-VM::*FP-CONSTANT-PI*
877 SB-VM::*FP-CONSTANT-1D0*
878 SB-VM::*DOUBLE-SC-NAMES*
879 SB-VM::*FP-CONSTANT-0L0*
880 SB-VM::*REGISTER-ARG-OFFSETS*
881 SB-VM::*FLOAT-TRAP-ALIST*
882 SB-VM::*DWORD-REG-NAMES*
883 SB-VM::*BYTE-REG-NAMES*
884 SB-VM::*ROUNDING-MODE-ALIST*
885 SB-VM::*REGISTER-ARG-NAMES*
886 SB-VM::*FUN-HEADER-WIDETAGS*
887 SB-VM::*FIXNUM-PRIMITIVE-TYPE*
889 SB-VM::*FP-CONSTANT-LN2*
890 SB-VM::*WORD-REG-NAMES*
891 SB-KERNEL::*BUILT-IN-CLASSES*
895 ------------------------------------------------------------------------
899 SB-ALIEN-INTERNALS:*VALUES-TYPE-OKAY*
900 SB-ALIEN::ALIEN-*-TYPE-TRANSLATOR
901 SB-ALIEN::*DSO-LINKER*
902 SB-ALIEN::*HANDLES-FROM-DLOPEN*
903 SB-ALIEN::*ALIEN-TYPE-CLASSES*
904 SB-ALIEN::*RECORD-TYPES-ALREADY-UNPARSED*
905 SB-ALIEN::*NEW-AUXILIARY-TYPES*
906 SB-ALIEN::*DSO-LINKER-OPTIONS*
907 SB-ALIEN::*METHOD-SLOT-ALIST*
909 SB-VM::*SIGNED-IMM-BYTE-PREFILTER-WRAPPER*
910 SB-VM::*DISPLACEMENT-PRINTER-WRAPPER*
911 SB-VM::*ACCUM-PRINTER-WRAPPER*
912 SB-VM::*WIDTH-PRINTER-WRAPPER*
913 SB-VM::*LABEL-1-PREFILTER-WRAPPER*
914 SB-VM::*WORD-ACCUM-PRINTER-WRAPPER*
916 SB-VM::*SIGNED-IMM-DATA-PREFILTER-WRAPPER*
917 SB-VM::*FIXNUM-PRIMITIVE-TYPE*
919 SB-VM::*IGNORE-AFTER*
920 SB-VM::*IMM-WORD-PREFILTER-WRAPPER*
921 SB-VM::*REGISTER-ARG-TNS*
922 SB-VM::*IMM-DATA-PREFILTER-WRAPPER*
923 SB-VM::*PRIMITIVE-TYPE-AUX-CACHE-VECTOR* ; threadsafe
924 SB-VM::*LABEL-2-PREFILTER-WRAPPER*
926 SB-VM::*ADJUSTABLE-VECTORS* ; under **WORLD-LOCK** - should be done better
927 SB-VM::*CONDITION-NAME-VEC*
928 SB-VM::*IMM-WORD-16-PREFILTER-WRAPPER*
929 SB-VM::*SIMPLE-ARRAY-PRIMITIVE-TYPES*
930 SB-VM::*MAYBE-USE-INLINE-ALLOCATION*
931 SB-VM::*SIGNED-IMM-DWORD-PREFILTER-WRAPPER*
932 SB-VM::*IMMEDIATE-TYPES*
934 SB-KERNEL:*WILD-TYPE* ; readonly
935 SB-KERNEL:*UNPARSE-FUN-TYPE-SIMPLIFY*
936 SB-KERNEL:*CURRENT-LEVEL-IN-PRINT*
937 SB-KERNEL:*UNIVERSAL-FUN-TYPE*
938 SB-KERNEL:*COLD-INIT-COMPLETE-P*
939 SB-KERNEL:*UNIVERSAL-TYPE* ; readonly
940 SB-KERNEL:*HANDLER-CLUSTERS* ; bound per-thread
941 SB-KERNEL:*EMPTY-TYPE* ; readonly
942 SB-KERNEL:*MAXIMUM-ERROR-DEPTH*
943 SB-KERNEL:*CONDITION-RESTARTS* ; bound per-thread
944 SB-KERNEL:*TYPE-SYSTEM-INITIALIZED*
945 SB-KERNEL:*RESTART-CLUSTERS* ; bound per-thread
946 SB-KERNEL::*MAKE-VALUES-TYPE-CACHED-CACHE-VECTOR* ; threadsafe
947 SB-KERNEL::*BUILT-IN-CLASS-CODES* ; readonly
948 SB-KERNEL::*DEF!STRUCT-TYPE-MAKE-LOAD-FORM-FUN*
949 SB-KERNEL::*LAYOUT-CLOS-HASH-RANDOM-STATE*
950 SB-KERNEL::*TYPE-TEST-ORDERING*
951 SB-KERNEL::*COMMON-TYPESPECS*
952 SB-KERNEL::*TYPE=-CACHE-VECTOR* ; threadsafe
953 SB-KERNEL::*VALUES-SUBTYPEP-CACHE-VECTOR* ; threadsafe
954 SB-KERNEL::*TYPECHECKFUNS*
955 SB-KERNEL::*%TYPE-INTERSECTION-CACHE-VECTOR* ; threadsafe
956 SB-KERNEL::*TYPE-INTERSECTION2-CACHE-VECTOR* ; threadsafe
957 SB-KERNEL::*COLD-INIT-FORMS*
958 SB-KERNEL::*DEFAULT-DEFAULT*
959 SB-KERNEL::*RAW-SLOT-DATA-LIST*
960 SB-KERNEL::*SPECIALIZED-ARRAY-ELEMENT-TYPES* ; readonly
961 SB-KERNEL::*DEFSTRUCT-HOOKS*
962 SB-KERNEL::*VALUES-TYPE-UNION-CACHE-VECTOR* ; threadsafe
963 SB-KERNEL::*INTERNAL-ERRORS*
964 SB-KERNEL::*VALUES-TYPE-INTERSECTION-CACHE-VECTOR* ; threadsafe
965 SB-KERNEL::*FORWARD-REFERENCED-LAYOUTS*
966 SB-KERNEL::*SYSTEM-LETS* ; bound
967 SB-KERNEL::*%COERCE-TO-VALUES-CACHE-VECTOR* ; threadsafe
968 SB-KERNEL::*IGNORABLE-VARS*
969 SB-KERNEL::*ENV-VAR* ; bound
970 SB-KERNEL::|*%%MAKE-UNION-TYPE-cached-CACHE-VECTOR*| ; threadsafe
971 SB-KERNEL::*CSUBTYPEP-CACHE-VECTOR* ; threadsafe
972 SB-KERNEL::*EMPTY-CONDITION-SLOT*
973 SB-KERNEL::*TYPE-UNION2-CACHE-VECTOR* ; threadsafe
974 SB-KERNEL::*TYPE-CLASS-FUN-SLOTS*
975 SB-KERNEL::*ARG-TESTS* ; bound
976 SB-KERNEL::*USER-LETS* ; bound
977 SB-KERNEL::|*%%MAKE-ARRAY-TYPE-cached-CACHE-VECTOR*| ; threadsafe
978 SB-KERNEL::*FINDING-NAME*
979 SB-KERNEL::*TYPE-CLASSES*
980 SB-KERNEL::*VALUES-SPECIFIER-TYPE-CACHE-VECTOR* ; threadsafe
981 SB-KERNEL::*FLOAT-FORMATS* ; readonly
982 SB-KERNEL::*INTERNAL-ERROR-ARGS*
983 SB-KERNEL::*DEF!STRUCT-SUPERTYPE*
984 SB-KERNEL::*%TYPE-UNION-CACHE-VECTOR* ; threadsafe
985 SB-KERNEL::*CTYPE-OF-CACHE-VECTOR* ; threadsafe
987 SB-IMPL::*READ-BUFFER* ; safe when used via WITH-READ-BUFFER
988 SB-IMPL::*SECONDARY-ATTRIBUTE-TABLE* ; now *CONSTITUENT-TRAIT-TABLE*, constant
989 SB-IMPL::*STANDARD-READTABLE*
990 SB-IMPL::*ERROR-ERROR-DEPTH*
991 SB-IMPL::*CURRENT-ERROR-DEPTH*
992 SB-IMPL::*INTERNAL-REAL-TIME-BASE-SECONDS*
993 SB-IMPL::*DAYLIGHT-TABLE*
994 SB-IMPL::*OFFENDING-DATUM*
995 SB-IMPL::*HANDLERS-INSTALLED*
996 SB-IMPL::*HASH-TABLE-TESTS*
997 SB-IMPL::*ATTRIBUTE-NAMES*
998 SB-IMPL::*DAYS-BEFORE-MONTH* ; readonly
999 SB-IMPL::*CHARACTER-ATTRIBUTES*
1000 SB-IMPL::*UNIX-HOST*
1001 SB-IMPL::*DESCRIPTOR-HANDLERS*
1002 SB-IMPL::*STRING-OUTPUT-STREAMS*
1003 SB-IMPL::*CLOSE-ON-ERROR*
1004 SB-IMPL::*TIMEZONE-TABLE*
1005 SB-IMPL::*BQ-COMMA-FLAG* ; readonly
1006 SB-IMPL::*PRINT-OBJECT-IS-DISABLED-P*
1007 SB-IMPL::*PROFILE-HASH-CACHE* ; not threadsafe, but don't care- debug only
1008 SB-IMPL::*FIXNUM-POWER--1*
1009 SB-IMPL::*SHARP-EQUAL-CIRCLE-TABLE*
1010 SB-IMPL::*SOFTWARE-INTERRUPT-VECTOR* ; suspect unused
1011 SB-IMPL::*INSPECT-UNBOUND-OBJECT-MARKER*
1012 SB-IMPL::*IN-PACKAGE-INIT*
1013 SB-IMPL::*DELAYED-DEF!METHOD-ARGS*
1014 SB-IMPL::*GENTEMP-COUNTER*
1015 SB-IMPL::*CLOSE-IN-PARENT*
1016 SB-IMPL::*IN-COMPILATION-UNIT*
1017 SB-IMPL::*CIRCULARITY-HASH-TABLE*
1018 SB-IMPL::*LOAD-PRINT-STUFF*
1019 SB-IMPL::*ACTIVE-PROCESSES*
1020 SB-IMPL::*SHARP-SHARP-ALIST*
1021 SB-IMPL::*LOGICAL-PATHNAME-DEFAULTS*
1022 SB-IMPL::*AVAILABLE-BUFFERS*
1023 SB-IMPL::*BQ-DOT-FLAG* ; readonly
1024 SB-IMPL::*CIRCULARITY-COUNTER*
1026 SB-IMPL::*PREVIOUS-READTABLE-CASE* ; bound per-thread
1027 SB-IMPL::*BQ-VECTOR-FLAG* ; readonly
1028 SB-IMPL::*ABBREV-WEEKDAY-TABLE*
1029 SB-IMPL::*LOGICAL-HOSTS*
1030 SB-IMPL::*PACKAGE-NAMES*
1031 SB-IMPL::*INSPECT-FUN*
1032 SB-IMPL::*ABBREV-MONTH-TABLE*
1033 SB-IMPL::*OUTPUT-ROUTINES*
1034 SB-IMPL::*CHAR-NAME-ALIST*
1035 SB-IMPL::*VALID-FUN-NAMES-ALIST*
1036 SB-IMPL::*PERIODIC-POLLING-FUNCTION*
1037 SB-IMPL::*ABORTED-COMPILATION-UNIT-COUNT*
1038 SB-IMPL::*LONG-WEEKDAY-TABLE*
1039 SB-IMPL::*INTERNAL-SYMBOL-OUTPUT-FUN* ; FIXME: printer not threadsafe
1040 SB-IMPL::*BACKQUOTE-COUNT* ; bound
1041 SB-IMPL::*DIGIT-BASES*
1042 SB-IMPL::*PREVIOUS-DRIBBLE-STREAMS*
1043 SB-IMPL::*MAX-EVENT-TO-USEC*
1044 SB-IMPL::*INPUT-ROUTINES*
1045 SB-IMPL::*MAX-EVENT-TO-SEC*
1046 SB-IMPL::*LONG-MONTH-TABLE*
1047 SB-IMPL::*OLD-PACKAGE*
1048 SB-IMPL::*ERROR-THROW-UP-COUNT*
1049 SB-IMPL::*BQ-AT-FLAG* ; readonly
1050 SB-IMPL::*MACHINE-VERSION* ; unset/unbound ? are we using this?
1051 SB-IMPL::*IGNORE-WILDCARDS*
1052 SB-IMPL::*SHARP-EQUAL-ALIST*
1053 SB-IMPL::*PREVIOUS-CASE* ; bound per-thread
1055 *INLINE-EXPANSION-LIMIT*
1056 *DERIVE-FUNCTION-TYPES*
1057 *ENCLOSING-SOURCE-CUTOFF*
1059 *UNDEFINED-WARNING-LIMIT*
1060 *EFFICIENCY-NOTE-COST-THRESHOLD*
1061 *EFFICIENCY-NOTE-LIMIT*
1062 *USE-IMPLEMENTATION-TYPES*
1063 *INTEXP-MAXIMUM-EXPONENT*
1068 SB-INT:*CL-PACKAGE* ; readonly
1069 SB-INT:*KEYWORD-PACKAGE* ; readonly
1070 SB-INT:*SETF-FDEFINITION-HOOK*
1071 SB-INT:*DEFAULT-INIT-CHAR-FORM*
1072 SB-INT:*EOF-OBJECT* ; readonly
1073 SB-INT:*AFTER-SAVE-INITIALIZATIONS*
1074 SB-INT:*LOAD-SOURCE-DEFAULT-TYPE*
1075 SB-INT:*BEFORE-SAVE-INITIALIZATIONS*
1076 SB-INT:*INFO-ENVIRONMENT* ; threadsafe