teach IR1-TRANSFORM-TYPE-PREDICATE about alien types
[sbcl.git] / package-data-list.lisp-expr
1 ;;;; -*- Lisp -*-
2
3 ;;;; the specifications of target packages, except for a few things
4 ;;;; which are handled elsewhere by other mechanisms:
5 ;;;;   * any SHADOWing and nickname hackery;
6 ;;;;   * the standard, non-SBCL-specific packages COMMON-LISP,
7 ;;;;     COMMON-LISP-USER, and KEYWORD.
8 ;;;;
9 ;;;; The packages are named SB!FOO here and elsewhere in
10 ;;;; cross-compilation, in order to avoid collision with possible
11 ;;;; corresponding SB-FOO packages in the cross-compilation host.
12 ;;;; They're renamed to SB-FOO later, after we've departed from the xc
13 ;;;; mothership and the danger of namespace collision is past.
14
15 ;;;; This software is part of the SBCL system. See the README file for
16 ;;;; more information.
17 ;;;;
18 ;;;; This software is derived from the CMU CL system, which was
19 ;;;; written at Carnegie Mellon University and released into the
20 ;;;; public domain. The software is in the public domain and is
21 ;;;; provided with absolutely no warranty. See the COPYING and CREDITS
22 ;;;; files for more information.
23
24 ;;;; KLUDGE: To make it easier for emacs to autoindent this file nicely
25 ;;;; (which prevents spurious conflicts in CVS) each longish list should
26 ;;;; have only one string on the first line. Silly, but there you go.
27
28 (#s(sb-cold:package-data
29     :name "SB!ALIEN"
30     :doc "public: the ALIEN foreign function interface (If you're
31 porting CMU CL code, note that this package corresponds roughly to a union
32 of the packages ALIEN and C-CALL at the time of the SBCL fork. SB-C-CALL
33 is a deprecated nickname to help ease the transition from older versions
34 of SBCL which maintained the CMU-CL-style split into two packages.)"
35     :use ("CL" "SB!EXT" "SB!INT" "SB!SYS" "SB!ALIEN-INTERNALS")
36     :reexport ("ARRAY"
37                "BOOLEAN" "CHAR" "DOUBLE-FLOAT"
38                "FLOAT" "FUNCTION" "INTEGER" "LONG-FLOAT"
39                "SINGLE-FLOAT"
40                ;; FIXME: Do we really want to reexport
41                ;; SYSTEM-AREA-POINTER here? Why?
42                "SYSTEM-AREA-POINTER"
43                "UNION"  "VALUES" "*")
44     :export ("ADDR"
45              "ALIEN"
46              "ALIEN-FUNCALL" "ALIEN-SAP" "ALIEN-SIZE"
47              "CAST" "C-STRING"
48              "DEFINE-ALIEN-ROUTINE" "DEFINE-ALIEN-TYPE" "DEFINE-ALIEN-VARIABLE"
49              "DEREF" "DOUBLE"
50              "ENUM" "EXTERN-ALIEN"
51              "FREE-ALIEN"
52              "GET-ERRNO"
53              "INT"
54              "LOAD-1-FOREIGN" "LOAD-FOREIGN" "LOAD-SHARED-OBJECT" "LONG" "LONG-LONG"
55              "MAKE-ALIEN"
56              "MAKE-ALIEN-STRING"
57              "NULL-ALIEN"
58              "OFF-T"
59              "SAP-ALIEN" "SHORT" "SIGNED"
60              "SIZE-T"
61              "SLOT" "STRUCT"
62              "UNDEFINED-ALIEN-ERROR"
63              "UNLOAD-SHARED-OBJECT"
64              "UNSIGNED"
65              "UNSIGNED-CHAR" "UNSIGNED-INT" "UNSIGNED-LONG" "UNSIGNED-LONG-LONG" "UNSIGNED-SHORT"
66              "UTF8-STRING"
67              "VOID"
68              "WITH-ALIEN"))
69
70    #s(sb-cold:package-data
71       :name "SB!ALIEN-INTERNALS"
72       :doc "private: stuff for implementing ALIENs and friends"
73       :use ("CL")
74       :export ("%CAST"
75                "%DEREF-ADDR" "%HEAP-ALIEN" "%HEAP-ALIEN-ADDR"
76                "%LOCAL-ALIEN-ADDR" "%LOCAL-ALIEN-FORCED-TO-MEMORY-P" "%SAP-ALIEN"
77                "%SET-DEREF" "%SET-HEAP-ALIEN" "%SET-LOCAL-ALIEN" "%SET-SLOT"
78                "%SLOT-ADDR" "*VALUES-TYPE-OKAY*" "ALIEN-ARRAY-TYPE"
79                "ALIEN-ARRAY-TYPE-DIMENSIONS" "ALIEN-ARRAY-TYPE-ELEMENT-TYPE"
80                "ALIEN-ARRAY-TYPE-P" "ALIEN-BOOLEAN-TYPE" "ALIEN-BOOLEAN-TYPE-P"
81                "ALIEN-CALLBACK"
82                "ALIEN-CALLBACK-ACCESSOR-FORM"
83                "ALIEN-CALLBACK-ASSEMBLER-WRAPPER"
84                "ALIEN-DOUBLE-FLOAT-TYPE" "ALIEN-DOUBLE-FLOAT-TYPE-P"
85                "ALIEN-ENUM-TYPE" "ALIEN-ENUM-TYPE-P" "ALIEN-FLOAT-TYPE"
86                "ALIEN-FLOAT-TYPE-P" "ALIEN-FUN-TYPE"
87                "ALIEN-FUN-TYPE-ARG-TYPES" "ALIEN-FUN-TYPE-P"
88                "ALIEN-FUN-TYPE-RESULT-TYPE" "ALIEN-INTEGER-TYPE"
89                "ALIEN-INTEGER-TYPE-P" "ALIEN-INTEGER-TYPE-SIGNED"
90                "ALIEN-LONG-FLOAT-TYPE" "ALIEN-LONG-FLOAT-TYPE-P"
91                "ALIEN-POINTER-TYPE" "ALIEN-POINTER-TYPE-P"
92                "ALIEN-POINTER-TYPE-TO" "ALIEN-RECORD-FIELD"
93                "ALIEN-RECORD-FIELD-NAME" "ALIEN-RECORD-FIELD-OFFSET"
94                "ALIEN-RECORD-FIELD-P" "ALIEN-RECORD-FIELD-TYPE"
95                "ALIEN-RECORD-TYPE" "ALIEN-RECORD-TYPE-FIELDS"
96                "ALIEN-RECORD-TYPE-P" "ALIEN-SINGLE-FLOAT-TYPE"
97                "ALIEN-SINGLE-FLOAT-TYPE-P" "ALIEN-SUBTYPE-P" "ALIEN-TYPE"
98                "ALIEN-TYPE-=" "ALIEN-TYPE-ALIGNMENT" "ALIEN-TYPE-BITS"
99                "ALIEN-TYPE-P" "ALIEN-TYPEP"
100                "ALIEN-VALUE"
101                "ALIEN-VALUE-TYPE"
102                "ALIEN-VALUE-TYPEP"
103                "ALIEN-VALUE-SAP" "ALIEN-VALUE-P"
104                "ALIEN-VALUES-TYPE" "ALIEN-VALUES-TYPE-P"
105                "ALIEN-VALUES-TYPE-VALUES" "ALIGN-OFFSET" "ALIEN-VOID-TYPE-P"
106                "COMPUTE-ALIEN-REP-TYPE" "COMPUTE-DEPORT-ALLOC-LAMBDA"
107                "COMPUTE-DEPORT-LAMBDA" "COMPUTE-DEPOSIT-LAMBDA"
108                "COMPUTE-EXTRACT-LAMBDA" "COMPUTE-LISP-REP-TYPE"
109                "COMPUTE-NATURALIZE-LAMBDA" "DEFINE-ALIEN-TYPE-CLASS"
110                "DEFINE-ALIEN-TYPE-METHOD" "DEFINE-ALIEN-TYPE-TRANSLATOR"
111                "DEPORT" "DEPORT-ALLOC"
112                "DEPOSIT-ALIEN-VALUE" "DISPOSE-LOCAL-ALIEN"
113                "*ENTER-ALIEN-CALLBACK*" "ENTER-ALIEN-CALLBACK"
114                "EXTRACT-ALIEN-VALUE"
115                "HEAP-ALIEN-INFO" "HEAP-ALIEN-INFO-P" "HEAP-ALIEN-INFO-SAP-FORM"
116                "HEAP-ALIEN-INFO-TYPE" "INVOKE-ALIEN-TYPE-METHOD" "LOCAL-ALIEN"
117                "LOCAL-ALIEN-INFO" "LOCAL-ALIEN-INFO-FORCE-TO-MEMORY-P"
118                "LOCAL-ALIEN-INFO-P" "LOCAL-ALIEN-INFO-TYPE"
119                "MAKE-ALIEN-FUN-TYPE" "MAKE-ALIEN-POINTER-TYPE"
120                "MAKE-ALIEN-VALUE" "MAYBE-WITH-PINNED-OBJECTS"
121                "MAKE-LOCAL-ALIEN" "NATURALIZE"
122                "NOTE-LOCAL-ALIEN-TYPE"
123                "PARSE-ALIEN-TYPE" "UNPARSE-ALIEN-TYPE"))
124
125    #s(sb-cold:package-data
126       :name "SB!ASSEM"
127       :doc "private: the assembler, used by the compiler"
128       :use ("CL" "SB!EXT" "SB!INT")
129       :export ("ASSEMBLY-UNIT"
130
131                "*ASSEM-SCHEDULER-P*"
132                "*ASSEM-INSTRUCTIONS*"
133                "*ASSEM-MAX-LOCATIONS*"
134
135                "EMIT-ALIGNMENT" "EMIT-BYTE" "EMIT-SKIP" "EMIT-BACK-PATCH"
136                "EMIT-CHOOSER" "DEFINE-BITFIELD-EMITTER"
137                "DEFINE-INSTRUCTION" "DEFINE-INSTRUCTION-MACRO"
138                "DEF-ASSEMBLER-PARAMS" "EMIT-POSTIT"
139
140                "MAKE-SEGMENT" "SEGMENT-TYPE" "ASSEMBLE"
141                "INST" "LABEL" "LABEL-P" "GEN-LABEL"
142                "EMIT-LABEL" "LABEL-POSITION" "APPEND-SEGMENT" "FINALIZE-SEGMENT"
143                "ON-SEGMENT-CONTENTS-VECTORLY" "WRITE-SEGMENT-CONTENTS"
144                "READS" "WRITES" "SEGMENT"
145                "WITHOUT-SCHEDULING"
146                "VARIABLE-LENGTH"
147                "SEGMENT-COLLECT-DYNAMIC-STATISTICS"
148
149                ;; FIXME: These are in the SB-ASSEM package now, but
150                ;; (left over from CMU CL) are defined in files which
151                ;; are IN-PACKAGE SB-C. It would probably be cleaner
152                ;; to move at least most of them to files which are
153                ;; IN-PACKAGE SB-ASSEM.
154                "BRANCH" "DO-SSET-ELEMENTS" "FLUSHABLE" "MAKE-SSET" "SSET"
155                "SSET-ADJOIN" "SSET-DELETE" "SSET-ELEMENT" "SSET-EMPTY"))
156
157    #s(sb-cold:package-data
158       :name "SB!BIGNUM"
159       :doc "private: bignum implementation"
160       :use ("CL" "SB!KERNEL" "SB!INT" "SB!EXT")
161       :export ("%ADD-WITH-CARRY"
162                "%ALLOCATE-BIGNUM" "%ASHL" "%ASHR"
163                "%BIGNUM-LENGTH" "%BIGNUM-REF" "%BIGNUM-REF-WITH-OFFSET"
164                "%BIGNUM-SET" "%BIGNUM-SET-WITH-OFFSET"
165                "%BIGNUM-SET-LENGTH" "%DIGIT-0-OR-PLUSP"
166                "%DIGIT-LOGICAL-SHIFT-RIGHT"
167                "%FIXNUM-DIGIT-WITH-CORRECT-SIGN" "%FIXNUM-TO-DIGIT"
168                "%BIGFLOOR" "%LOGAND" "%LOGIOR" "%LOGNOT" "%LOGXOR"
169                "%MULTIPLY" "%MULTIPLY-AND-ADD"
170                "%SUBTRACT-WITH-BORROW" "ADD-BIGNUMS"
171                "BIGNUM-ASHIFT-LEFT" "BIGNUM-ASHIFT-RIGHT"
172                "BIGNUM-COMPARE" "BIGNUM-DEPOSIT-BYTE"
173                "BIGNUM-ELEMENT-TYPE" "BIGNUM-GCD" "BIGNUM-INDEX"
174                "BIGNUM-INTEGER-LENGTH" "BIGNUM-LOAD-BYTE"
175                "BIGNUM-LOGBITP"
176                "BIGNUM-LOGCOUNT" "BIGNUM-LOGICAL-AND"
177                "BIGNUM-LOGICAL-IOR" "BIGNUM-LOGICAL-NOT"
178                "BIGNUM-LOGICAL-XOR" "BIGNUM-PLUS-P"
179                "BIGNUM-TO-FLOAT" "BIGNUM-TRUNCATE" "BIGNUM-TYPE"
180                "FLOAT-BIGNUM-RATIO" "MAKE-SMALL-BIGNUM"
181                "MULTIPLY-BIGNUM-AND-FIXNUM" "MULTIPLY-BIGNUMS"
182                "MULTIPLY-FIXNUMS" "NEGATE-BIGNUM"
183                "SUBTRACT-BIGNUM" "SXHASH-BIGNUM"))
184
185    #s(sb-cold:package-data
186       :name "SB!C"
187       :doc "private: implementation of the compiler"
188       ;; (It seems strange to have the compiler USE SB-ALIEN-INTERNALS,
189       ;; but the point seems to be to be able to express things like
190       ;; SB!C:DEFTRANSFORM SB-ALIEN-INTERNALS:MAKE-LOCAL-ALIEN without
191       ;; having to use a bunch of package prefixes, by putting them
192       ;; in the SB-C package. Maybe it'd be tidier to define an SB-ALIEN-COMP
193       ;; package for this? But it seems like a fairly low priority.)
194       ;; (Probably the same considerations also explain why BIGNUM is
195       ;;in the USE list.)
196       :use ("CL" "SB!ALIEN-INTERNALS" "SB!ALIEN" "SB!ASSEM" "SB!BIGNUM"
197                  #!+sb-dyncount "SB-DYNCOUNT" "SB!EXT" "SB!FASL" "SB!INT"
198                  "SB!KERNEL" "SB!SYS")
199       :reexport ("SLOT" "CODE-INSTRUCTIONS" "FLUSHABLE")
200       :export ("%ALIEN-FUNCALL"
201                "%CATCH-BREAKUP" "%CONTINUE-UNWIND"
202                "%LISTIFY-REST-ARGS" "%MORE-ARG" "%MORE-ARG-VALUES"
203                "%UNWIND-PROTECT-BREAKUP"
204
205                "*BACKEND-BYTE-ORDER*" "*BACKEND-DISASSEM-PARAMS*"
206                "*BACKEND-INSTRUCTION-FLAVORS*" "*BACKEND-INSTRUCTION-FORMATS*"
207                "*BACKEND-INTERNAL-ERRORS*" "*BACKEND-PAGE-BYTES*"
208                "*BACKEND-REGISTER-SAVE-PENALTY*"
209                "*BACKEND-SB-LIST*" "*BACKEND-SB-NAMES*"
210                "*BACKEND-SC-NAMES*" "*BACKEND-SC-NUMBERS*"
211                "*BACKEND-SPECIAL-ARG-TYPES*"
212                "*BACKEND-SUBFEATURES*"
213                "*BACKEND-T-PRIMITIVE-TYPE*"
214
215                "*CODE-SEGMENT*"
216                "*COUNT-VOP-USAGES*" "*ELSEWHERE*" "*FREE-FUNS*"
217                "*LEXENV*"
218                "*SETF-ASSUMED-FBOUNDP*"
219                "*SUPPRESS-VALUES-DECLARATION*"
220
221                #!+x86 "SET-FPU-WORD-FOR-C"
222                #!+x86 "SET-FPU-WORD-FOR-LISP"
223                "ALIGN-STACK-POINTER"
224                "ALIEN-FUNCALL-SAVES-FP-AND-PC"
225                "ALLOC-ALIEN-STACK-SPACE" "ALLOC-NUMBER-STACK-SPACE"
226                "ALLOCATE-CODE-OBJECT" "ALLOCATE-FRAME"
227                "ALLOCATE-DYNAMIC-CODE-OBJECT" "ALLOCATE-FULL-CALL-FRAME"
228                "ALWAYS-TRANSLATABLE"
229                "ANCESTOR-FRAME-REF" "ANCESTOR-FRAME-SET"
230                "ANY" "ARG-COUNT-ERROR" "ASSEMBLE-FILE"
231                "ATTRIBUTES" "ATTRIBUTES-INTERSECTION" "ATTRIBUTES-UNION"
232                "ATTRIBUTES=" "BIND"
233                "CALL" "CALL-LOCAL" "CALL-NAMED" "CALL-OUT" "CALL-VARIABLE"
234                "CALLEE-NFP-TN" "CALLEE-RETURN-PC-TN"
235                "CASE-BODY" "CATCH-BLOCK" "CHECK-CONS"
236                "CHECK-FIXNUM" "CHECK-FUN"
237                ;; FIXME: 32/64-bit issues
238                "CHECK-SIGNED-BYTE-32" "CHECK-SIGNED-BYTE-64"
239                "CHECK-SYMBOL"
240                ;; FIXME: 32/64-bit issues
241                "CHECK-UNSIGNED-BYTE-32" "CHECK-UNSIGNED-BYTE-64"
242                "CLOSURE-INIT" "CLOSURE-REF" "CLOSURE-INIT-FROM-FP"
243                "CODE-CONSTANT-REF" "CODE-CONSTANT-SET"
244                "*CODE-COVERAGE-INFO*"
245                "COMPARE-AND-SWAP-SLOT"
246                "COMPILE-IN-LEXENV"
247                "COMPILE-LAMBDA-FOR-DEFUN"
248                "%COMPILER-DEFUN" "COMPILER-ERROR" "FATAL-COMPILER-ERROR"
249                "COMPILER-NOTIFY"
250                "COMPILER-STYLE-WARN" "COMPILER-WARN"
251                "COMPONENT" "COMPONENT-HEADER-LENGTH"
252                "COMPONENT-INFO" "COMPONENT-LIVE-TN" "COMPUTE-FUN"
253                "COMPUTE-OLD-NFP" "COPY-MORE-ARG"
254                "CURRENT-BINDING-POINTER" "CURRENT-NFP-TN"
255                "CURRENT-STACK-POINTER"
256                "DEALLOC-ALIEN-STACK-SPACE"
257                "DEALLOC-NUMBER-STACK-SPACE"
258                "DEBUG-CATCH-TAG"
259                "DEF-IR1-TRANSLATOR"
260                "!DEF-PRIMITIVE-TYPE" "!DEF-PRIMITIVE-TYPE-ALIAS"
261                "DEFINE-SOURCE-TRANSFORM" "!DEF-VM-SUPPORT-ROUTINE"
262                "DEFINE-ASSEMBLY-ROUTINE"
263                "DEFINITION-SOURCE-LOCATION"
264                "DEFINITION-SOURCE-LOCATION-NAMESTRING"
265                "DEFINITION-SOURCE-LOCATION-TOPLEVEL-FORM-NUMBER"
266                "DEFINITION-SOURCE-LOCATION-PLIST"
267                "DEFINE-MODULAR-FUN"
268                "DEFINE-MOVE-FUN"
269                "DEFINE-MOVE-VOP" "DEFINE-STORAGE-BASE"
270                "DEFINE-STORAGE-CLASS" "DEFINE-VOP"
271                "DEFKNOWN" "DEFOPTIMIZER"
272                "DEFTRANSFORM" "DERIVE-TYPE"
273                "EMIT-BLOCK-HEADER"
274                "ENTRY-NODE-INFO-NLX-TAG" "ENTRY-NODE-INFO-ST-TOP"
275                "PHYSENV-DEBUG-LIVE-TN" "PHYSENV-LIVE-TN"
276                "FAST-SYMBOL-VALUE"
277                "FAST-SYMBOL-GLOBAL-VALUE"
278                "FIND-SAVED-FP-AND-PC"
279                "FIXUP-NOTE-KIND"
280                "FIXUP-NOTE-FIXUP"
281                "FIXUP-NOTE-POSITION"
282                "FOLDABLE"
283                "FORCE-TN-TO-STACK"
284                "FUN-INFO-DERIVE-TYPE" "FUN-INFO-IR2-CONVERT"
285                "FUN-INFO-LTN-ANNOTATE" "FUN-INFO-OPTIMIZER"
286                "GET-VECTOR-SUBTYPE"
287                "GET-TOPLEVELISH-FILE-INFO"
288                "HALT"
289                "IF-EQ"
290                "IMMEDIATE-TN-P"
291                "INLINE-SYNTACTIC-CLOSURE-LAMBDA"
292                "INSERT-STEP-CONDITIONS"
293                "IR2-COMPONENT-CONSTANTS" "IR2-CONVERT"
294                "IR2-PHYSENV-NUMBER-STACK-P"
295                "KNOWN-CALL-LOCAL" "KNOWN-RETURN"
296                "LAMBDA-WITH-LEXENV" "LEXENV-FIND"
297                "LOCATION=" "LTN-ANNOTATE"
298                "MAKE-ALIAS-TN" "MAKE-CATCH-BLOCK"
299                "MAKE-CLOSURE" "MAKE-CONSTANT-TN"
300                "MAKE-FIXUP-NOTE"
301                "MAKE-LOAD-TIME-CONSTANT-TN" "MAKE-N-TNS" "MAKE-NORMAL-TN"
302                "MAKE-OTHER-IMMEDIATE-TYPE" "MAKE-RANDOM-TN"
303                "MAKE-REPRESENTATION-TN" "MAKE-RESTRICTED-TN" "MAKE-SC-OFFSET"
304                "MAKE-STACK-POINTER-TN" "MAKE-TN-REF" "MAKE-UNWIND-BLOCK"
305                "MAKE-WIRED-TN" "MAYBE-COMPILER-NOTIFY"
306                "MAYBE-INLINE-SYNTACTIC-CLOSURE"
307                "META-PRIMITIVE-TYPE-OR-LOSE"
308                "META-SB-OR-LOSE" "META-SC-NUMBER-OR-LOSE" "META-SC-OR-LOSE"
309                "MORE-ARG-CONTEXT" "MOVABLE" "MOVE" "MULTIPLE-CALL"
310                "MULTIPLE-CALL-LOCAL" "MULTIPLE-CALL-NAMED"
311                "MULTIPLE-CALL-VARIABLE"
312                "%%NIP-DX" "%%NIP-VALUES"
313                "NLX-ENTRY" "NLX-ENTRY-MULTIPLE"
314                "NODE-STACK-ALLOCATE-P"
315                "NON-DESCRIPTOR-STACK" "NOTE-ENVIRONMENT-START"
316                "NOTE-THIS-LOCATION" "OPTIMIZER" "PACK-TRACE-TABLE"
317                "PARSE-EVAL-WHEN-SITUATIONS"
318                "POLICY"
319                "%%POP-DX"
320                "PREDICATE" "PRIMITIVE-TYPE" "PRIMITIVE-TYPE-OF"
321                "PRIMITIVE-TYPE-OR-LOSE" "PRIMITIVE-TYPE-VOP"
322                "PRIMITIVE-TYPE-NAME"
323                "PRIMITIVE-TYPE-INDIRECT-CELL-TYPE"
324                "PUSH-VALUES"
325                "READ-PACKED-BIT-VECTOR" "READ-VAR-INTEGER" "READ-VAR-STRING"
326                #!+inline-constants "REGISTER-INLINE-CONSTANT"
327                "RESET-STACK-POINTER" "RESTORE-DYNAMIC-STATE"
328                "RETURN-MULTIPLE" "SAVE-DYNAMIC-STATE" "SB"
329                "SB-ALLOCATED-SIZE" "SB-NAME" "SB-OR-LOSE" "SB-P" "SC" "SC-CASE"
330                "SC-IS" "SC-NAME" "SC-NUMBER" "SC-NUMBER-OR-LOSE" "SC-OFFSET"
331                "SC-OFFSET-OFFSET" "SC-OFFSET-SCN" "SC-OR-LOSE" "SC-P" "SC-SB"
332                "SET-UNWIND-PROTECT" "SET-VECTOR-SUBTYPE"
333                "SETUP-CLOSURE-ENVIRONMENT" "SETUP-ENVIRONMENT"
334                "SOURCE-LOCATION"
335                "SOURCE-TRANSFORM-LAMBDA"
336                "SPECIFY-SAVE-TN"
337                "STORE-COVERAGE-DATA"
338                "TAIL-CALL" "TAIL-CALL-NAMED"
339                "TAIL-CALL-VARIABLE" "TEMPLATE-OR-LOSE"
340                "TN" "TN-OFFSET" "TN-P" "TN-REF" "TN-REF-ACROSS" "TN-REF-LOAD-TN"
341                "TN-REF-NEXT" "TN-REF-NEXT-REF" "TN-REF-P" "TN-REF-TARGET"
342                "TN-REF-TN" "TN-REF-VOP" "TN-REF-WRITE-P" "TN-SC" "TN-VALUE"
343                "TRACE-TABLE-ENTRY" "TYPE-CHECK-ERROR" "UNBIND" "UNBIND-TO-HERE"
344                "UNSAFE" "UNSAFELY-FLUSHABLE" "UNWIND" "UWP-ENTRY"
345                "VERIFY-ARG-COUNT" "WRITE-PACKED-BIT-VECTOR"
346                "WRITE-VAR-INTEGER" "WRITE-VAR-STRING" "XEP-ALLOCATE-FRAME"
347                "LABEL-ID" "FIXUP" "FIXUP-FLAVOR" "FIXUP-NAME" "FIXUP-OFFSET"
348                "FIXUP-P" "MAKE-FIXUP"
349                "DEF-ALLOC"
350                "VAR-ALLOC"
351                "SAFE-FDEFN-FUN"
352                "NOTE-FIXUP"
353                "DEF-CASSER"
354                "DEF-REFFER"
355                "EMIT-CONSTANT"
356                "EMIT-NOP"
357                "DEF-SETTER"
358                "FIXED-ALLOC"
359                "MAKE-UNBOUND-MARKER"
360                "MAKE-FUNCALLABLE-INSTANCE-TRAMP"
361                "RETURN-SINGLE"
362                "NOTE-NEXT-INSTRUCTION"
363                "SET-SLOT" "INIT-SLOT"
364                "LOCATION-NUMBER"
365                "*COMPONENT-BEING-COMPILED*"
366                "BLOCK-NUMBER"
367                "BACKEND"
368                "IR2-BLOCK-BLOCK"
369                "VOP-BLOCK"
370                "*ASSEMBLY-OPTIMIZE*"
371                "LARGE-ALLOC"
372                "%SET-SIMPLE-FUN-SELF"
373                "VM-SUPPORT-ROUTINES-IMMEDIATE-CONSTANT-SC"
374                "VM-SUPPORT-ROUTINES-BOXED-IMMEDIATE-SC-P"
375                "VM-SUPPORT-ROUTINES-LOCATION-PRINT-NAME"
376                "VM-SUPPORT-ROUTINES-PRIMITIVE-TYPE-OF"
377                "VM-SUPPORT-ROUTINES-PRIMITIVE-TYPE"
378                "VM-SUPPORT-ROUTINES-MAKE-CALL-OUT-TNS"
379                "VM-SUPPORT-ROUTINES-STANDARD-ARG-LOCATION"
380                "VM-SUPPORT-ROUTINES-MAKE-RETURN-PC-PASSING-LOCATION"
381                "VM-SUPPORT-ROUTINES-MAKE-OLD-FP-PASSING-LOCATION"
382                "VM-SUPPORT-ROUTINES-MAKE-OLD-FP-SAVE-LOCATION"
383                "VM-SUPPORT-ROUTINES-MAKE-RETURN-PC-SAVE-LOCATION"
384                "VM-SUPPORT-ROUTINES-MAKE-ARG-COUNT-LOCATION"
385                "VM-SUPPORT-ROUTINES-MAKE-NFP-TN"
386                "VM-SUPPORT-ROUTINES-MAKE-STACK-POINTER-TN"
387                "VM-SUPPORT-ROUTINES-MAKE-NUMBER-STACK-POINTER-TN"
388                "VM-SUPPORT-ROUTINES-MAKE-UNKNOWN-VALUES-LOCATIONS"
389                "VM-SUPPORT-ROUTINES-SELECT-COMPONENT-FORMAT"
390                "VM-SUPPORT-ROUTINES-MAKE-NLX-SP-TN"
391                "VM-SUPPORT-ROUTINES-MAKE-DYNAMIC-STATE-TNS"
392                "VM-SUPPORT-ROUTINES-MAKE-NLX-ENTRY-ARG-START-LOCATION"
393                "VM-SUPPORT-ROUTINES-GENERATE-CALL-SEQUENCE"
394                "VM-SUPPORT-ROUTINES-GENERATE-RETURN-SEQUENCE"
395                "VM-SUPPORT-ROUTINES-EMIT-NOP"
396                "VM-SUPPORT-ROUTINES-LOCATION-NUMBER"
397
398                "WITH-SOURCE-LOCATION"
399                "*SOURCE-LOCATION-THUNKS*"
400
401                "BRANCH-IF"))
402
403    #s(sb-cold:package-data
404       :name "SB!DEBUG"
405       :doc
406       "sorta public: Eventually this should become the debugger interface, with
407 basic stuff like BACKTRACE and ARG. For now, the actual supported interface
408 is still mixed indiscriminately with low-level internal implementation stuff
409 like *STACK-TOP-HINT* and unsupported stuff like *TRACED-FUN-LIST*."
410       :use ("CL" "SB!EXT" "SB!INT" "SB!SYS" "SB!KERNEL")
411       :reexport ("*DEBUG-PRINT-VARIABLE-ALIST*")
412       :export ("*DEBUG-BEGINNER-HELP-P*"
413                "*DEBUG-CONDITION*"
414                "*DEBUG-READTABLE*" "*DEBUG-HELP-STRING*"
415                "*FLUSH-DEBUG-ERRORS*" "*IN-THE-DEBUGGER*"
416                "*SHOW-ENTRY-POINT-DETAILS*"
417                "*TRACE-INDENTATION-STEP*" "*MAX-TRACE-INDENTATION*"
418                "*TRACE-FRAME*" "*TRACED-FUN-LIST*"
419                "ARG" "BACKTRACE" "BACKTRACE-AS-LIST" "INTERNAL-DEBUG" "VAR"
420                "*PRINT-LOCATION-KIND*"
421                "*ONLY-BLOCK-START-LOCATIONS*" "*STACK-TOP-HINT*"
422                "*TRACE-VALUES*" "DO-DEBUG-COMMAND"
423                "*TRACE-ENCAPSULATE-DEFAULT*"
424                "FRAME-HAS-DEBUG-TAG-P"
425                "UNWIND-TO-FRAME-AND-CALL"))
426
427    #s(sb-cold:package-data
428       :name "SB!DI"
429       :doc "private: primitives used to write debuggers"
430       :use ("CL" "SB!EXT" "SB!INT" "SB!KERNEL" "SB!SYS" "SB!VM")
431       :import-from (("SB!C"
432                      "DEBUG-SOURCE-FORM" "DEBUG-SOURCE-NAMESTRING"
433                      "DEBUG-SOURCE-CREATED" "DEBUG-SOURCE-COMPILED"
434                      "DEBUG-SOURCE-START-POSITIONS" "MAKE-DEBUG-SOURCE"
435                      "DEBUG-SOURCE" "DEBUG-SOURCE-P"))
436       :reexport ("DEBUG-SOURCE-FORM"
437                  "DEBUG-SOURCE-NAMESTRING"
438                  "DEBUG-SOURCE-CREATED" "DEBUG-SOURCE-COMPILED"
439                  "DEBUG-SOURCE-START-POSITIONS" "DEBUG-SOURCE"
440                  "DEBUG-SOURCE-P")
441       :export ("ACTIVATE-BREAKPOINT"
442                "AMBIGUOUS-DEBUG-VARS" "AMBIGUOUS-VAR-NAME" "BREAKPOINT"
443                "BREAKPOINT-ACTIVE-P" "BREAKPOINT-HOOK-FUN" "BREAKPOINT-INFO"
444                "BREAKPOINT-KIND" "BREAKPOINT-P" "BREAKPOINT-WHAT" "CODE-LOCATION"
445                "CODE-LOCATION-DEBUG-BLOCK" "CODE-LOCATION-DEBUG-FUN"
446                "CODE-LOCATION-DEBUG-SOURCE" "CODE-LOCATION-FORM-NUMBER"
447                "CODE-LOCATION-P" "CODE-LOCATION-TOPLEVEL-FORM-OFFSET"
448                "CODE-LOCATION-UNKNOWN-P" "CODE-LOCATION=" "DEACTIVATE-BREAKPOINT"
449                "DEBUG-BLOCK" "DEBUG-BLOCK-ELSEWHERE-P" "DEBUG-BLOCK-P"
450                "DEBUG-BLOCK-SUCCESSORS" "DEBUG-CONDITION" "DEBUG-ERROR"
451                "DEBUG-FUN" "DEBUG-FUN-FUN" "DEBUG-FUN-KIND"
452                "DEBUG-FUN-LAMBDA-LIST" "DEBUG-FUN-NAME"
453                "DEBUG-FUN-P" "DEBUG-FUN-START-LOCATION"
454                "DEBUG-FUN-SYMBOL-VARS"
455                "DEBUG-SOURCE-ROOT-NUMBER" "DEBUG-VAR"
456                "DEBUG-VAR-ID" "DEBUG-VAR-INFO-AVAILABLE"
457                "DEBUG-VAR-SYMBOL-NAME" "DEBUG-VAR-P" "DEBUG-VAR-PACKAGE-NAME"
458                "DEBUG-VAR-SYMBOL" "DEBUG-VAR-VALID-VALUE"
459                "DEBUG-VAR-VALIDITY" "DEBUG-VAR-VALUE"
460                "DELETE-BREAKPOINT"
461                "DO-DEBUG-BLOCK-LOCATIONS" "DO-DEBUG-FUN-BLOCKS"
462                "DO-DEBUG-FUN-VARS"
463                "FORM-NUMBER-TRANSLATIONS"
464                "FRAME" "FRAME-CATCHES" "FRAME-CODE-LOCATION"
465                "FRAME-DEBUG-FUN" "FRAME-DOWN"
466                "FRAME-FUN-MISMATCH" "FRAME-NUMBER" "FRAME-P" "FRAME-UP"
467                "REPLACE-FRAME-CATCH-TAG"
468                "FUN-DEBUG-FUN" "FUN-END-COOKIE-VALID-P"
469                "INVALID-CONTROL-STACK-POINTER" "INVALID-VALUE"
470                "LAMBDA-LIST-UNAVAILABLE" "MAKE-BREAKPOINT" "NO-DEBUG-BLOCKS"
471                "NO-DEBUG-FUN-RETURNS" "NO-DEBUG-INFO" "PREPROCESS-FOR-EVAL"
472                "EVAL-IN-FRAME" "RETURN-FROM-FRAME" "SOURCE-PATH-CONTEXT"
473                "TOP-FRAME" "UNHANDLED-DEBUG-CONDITION" "UNKNOWN-CODE-LOCATION"
474                "UNKNOWN-CODE-LOCATION-P" "UNKNOWN-DEBUG-VAR"
475                "CODE-LOCATION-KIND" "FLUSH-FRAMES-ABOVE"))
476
477    #s(sb-cold:package-data
478       :name "SB!DISASSEM"
479       :doc "private: stuff related to the implementation of the disassembler"
480       :use ("CL" "SB!EXT" "SB!INT")
481       :export ("*DISASSEM-INST-ALIGNMENT-BYTES*"
482                "*DISASSEM-NOTE-COLUMN*" "*DISASSEM-OPCODE-COLUMN-WIDTH*"
483                "*DISASSEM-SCHEDULER-P*" "*DISASSEM-LOCATION-COLUMN-WIDTH*"
484                "ADD-COMMENT-HOOK" "ADD-HOOK" "ADD-NOTE-HOOK"
485                "ARG-VALUE" "CREATE-DSTATE" "DISASSEM-STATE"
486                "DISASSEMBLE-CODE-COMPONENT"
487                "DISASSEMBLE-FUN" "DISASSEMBLE-MEMORY"
488                "DISASSEMBLE-SEGMENT" "DISASSEMBLE-SEGMENTS"
489                "DSTATE-CODE" "DSTATE-CURPOS" "DSTATE-GET-INST-PROP"
490                "DSTATE-GET-PROP" "DSTATE-PUT-INST-PROP"
491                "DSTATE-NEXTPOS" "DSTATE-SEGMENT-LENGTH"
492                "DSTATE-SEGMENT-SAP" "DSTATE-SEGMENT-START"
493                "FIELD-TYPE" "FIND-INST" "GEN-FIELD-TYPE-DECL-FORM"
494                "GEN-INST-DECL-FORM" "GEN-INST-FORMAT-DECL-FORM"
495                "GET-CODE-SEGMENTS" "GET-FUN-SEGMENTS"
496                "GET-INST-SPACE" "HANDLE-BREAK-ARGS"
497                "INST" "INST-FORMAT" "LABEL-SEGMENTS"
498                "MAYBE-NOTE-ASSEMBLER-ROUTINE"
499                "MAYBE-NOTE-ASSOCIATED-STORAGE-REF"
500                "MAYBE-NOTE-NIL-INDEXED-OBJECT"
501                "MAYBE-NOTE-NIL-INDEXED-SYMBOL-SLOT-REF"
502                "MAYBE-NOTE-SINGLE-STORAGE-REF" "NOTE"
503                "NOTE-CODE-CONSTANT" "PARAMS" "PRIN1-QUOTED-SHORT"
504                "PRIN1-SHORT" "PRINT-BYTES"
505                "PRINT-CURRENT-ADDRESS" "PRINT-FIELD" "PRINT-INST"
506                "PRINT-INST-USING" "PRINT-NOTES-AND-NEWLINE"
507                "PRINT-WORDS" "SAP-REF-DCHUNK" "SEG-DEBUG-FUN"
508                "SEG-LENGTH" "SEG-START" "SEGMENT"
509                "SET-ADDRESS-PRINTING-RANGE" "SET-DISASSEM-PARAMS"
510                "SET-DSTATE-SEGMENT" "SIGN-EXTEND" "SPECIALIZE"
511                "GEN-PRINTER-DEF-FORMS-DEF-FORM" "MAKE-DSTATE"
512                "DEFINE-ARG-TYPE" "GEN-ARG-TYPE-DEF-FORM"
513                "READ-SIGNED-SUFFIX" "ADD-OFFS-HOOK"
514                "MAKE-MEMORY-SEGMENT" "GEN-PREAMBLE-FORM"
515                "MAKE-SEGMENT" "SEGMENT-OVERFLOW"
516                "SEG-VIRTUAL-LOCATION" "MAKE-DECODED-INST"
517                "DCHUNK" "*DEFAULT-DSTATE-HOOKS*"
518                "MAKE-CODE-SEGMENT" "MAKE-OFFS-HOOK"
519                "DSTATE-SEGMENT" "DSTATE-CUR-OFFS"
520                "PRINC16" "INSTRUCTION" "DEFINE-INSTRUCTION-FORMAT"
521                "DSTATE-NEXT-OFFS" "INSTALL-INST-FLAVORS"
522                "SEG-SAP-MAKER" "DISASSEMBLE-ASSEM-SEGMENT"
523                "GEN-CLEAR-INFO-FORM" "READ-SUFFIX"
524                "MAP-SEGMENT-INSTRUCTIONS" "GEN-FORMAT-DEF-FORM"
525                "SET-LOCATION-PRINTING-RANGE" "MAKE-VECTOR-SEGMENT"
526                "ADD-OFFS-NOTE-HOOK" "ADD-OFFS-COMMENT-HOOK"
527                "DSTATE-CUR-ADDR" "DSTATE-NEXT-ADDR"))
528
529    #!+sb-dyncount
530    #s(sb-cold:package-data
531       :name "SB!DYNCOUNT"
532       :doc "private: some somewhat-stale code for collecting runtime statistics"
533       :use ("CL" "SB!ALIEN-INTERNALS" "SB!ALIEN" "SB!BIGNUM"
534                  "SB!EXT" "SB!INT" "SB!KERNEL" "SB!ASSEM" "SB!SYS")
535       :export ("*COLLECT-DYNAMIC-STATISTICS*"
536                "COUNT-ME"
537                "DYNCOUNT-INFO-COUNTS" "DYNCOUNT-INFO-COSTS"
538                "IR2-COMPONENT-DYNCOUNT-INFO"
539                "DYNCOUNT-INFO" "DYNCOUNT-INFO-P"))
540
541    #s(sb-cold:package-data
542       :name "SB!FASL"
543       :doc "private: stuff related to FASL load/dump logic (and GENESIS)"
544       :use ("CL" "SB!ALIEN" "SB!ASSEM" "SB!BIGNUM" "SB!C"
545                  "SB!EXT" "SB!INT" "SB!KERNEL" "SB!SYS")
546       :export ("*ASSEMBLER-ROUTINES*"
547                "+BACKEND-FASL-FILE-IMPLEMENTATION+"
548                "BUILD-ID-CORE-ENTRY-TYPE-CODE"
549                "*FASL-FILE-TYPE*"
550                "CLOSE-FASL-OUTPUT"
551                "DEFLATED-CORE-SPACE-ID-FLAG"
552                "DUMP-ASSEMBLER-ROUTINES"
553                "DUMP-OBJECT"
554                "DYNAMIC-CORE-SPACE-ID"
555                "END-CORE-ENTRY-TYPE-CODE"
556                "FASL-CONSTANT-ALREADY-DUMPED-P"
557                "+FASL-FILE-VERSION+"
558                "FASL-DUMP-COMPONENT"
559                "FASL-DUMP-COLD-FSET"
560                "FASL-DUMP-LOAD-TIME-VALUE" "FASL-DUMP-LOAD-TIME-VALUE-LAMBDA"
561                "FASL-DUMP-SOURCE-INFO" "FASL-DUMP-TOPLEVEL-LAMBDA-CALL"
562                "FASL-NOTE-HANDLE-FOR-CONSTANT"
563                "FASL-OUTPUT" "FASL-OUTPUT-P"
564                "FASL-OUTPUT-ENTRY-TABLE" "FASL-OUTPUT-STREAM"
565                "FASL-VALIDATE-STRUCTURE"
566                "INITIAL-FUN-CORE-ENTRY-TYPE-CODE"
567                "*!LOAD-TIME-VALUES*"
568                "LOAD-TYPE-PREDICATE"
569                "MAX-CORE-SPACE-ID"
570                "NEW-DIRECTORY-CORE-ENTRY-TYPE-CODE"
571                "OPEN-FASL-OUTPUT" "PAGE-TABLE-CORE-ENTRY-TYPE-CODE"
572                "READ-ONLY-CORE-SPACE-ID"
573                "*!REVERSED-COLD-TOPLEVELS*"
574                "STATIC-CORE-SPACE-ID"
575                "VERSION-CORE-ENTRY-TYPE-CODE"))
576
577    ;; This package is a grab bag for things which used to be internal
578    ;; symbols in package COMMON-LISP. Lots of these symbols are accessed
579    ;; with explicit SB!IMPL:: prefixes in the code. It would be nice to
580    ;; reduce the use of this practice, so if symbols from here which are
581    ;; accessed that way are found to belong more appropriately in an
582    ;; existing package (e.g. SB!KERNEL or SB!SYS or SB!EXT or SB!FASL),
583    ;; I (WHN 19990223) encourage maintainers to move them there..
584    #s(sb-cold:package-data
585       :name "SB!IMPL"
586       :doc "private: a grab bag of implementation details"
587       :use ("CL" "SB!ALIEN" "SB!BIGNUM" "SB!DEBUG" "SB!EXT"
588                  "SB!FASL" "SB!GRAY" "SB!INT" "SB!KERNEL" "SB!SYS"))
589
590    #s(sb-cold:package-data
591       :name "SB!EXT"
592       :doc "public: miscellaneous supported extensions to the ANSI Lisp spec"
593       :use ("CL" "SB!ALIEN" "SB!INT" "SB!SYS" "SB!GRAY")
594       :export (;; Information about how the program was invoked is
595                ;; nonstandard but very useful.
596                "*POSIX-ARGV*" "*CORE-PATHNAME*" "*RUNTIME-PATHNAME*"
597                "POSIX-GETENV" "POSIX-ENVIRON"
598
599                ;; Customizing initfile locations
600                "*USERINIT-PATHNAME-FUNCTION*"
601                "*SYSINIT-PATHNAME-FUNCTION*"
602
603                ;; Compare and Swap support
604                "CAS"
605                "COMPARE-AND-SWAP"
606                "DEFCAS"
607                "DEFINE-CAS-EXPANDER"
608                "GET-CAS-EXPANSION"
609
610                ;; Other atomic operations and types related to them
611                "ATOMIC-INCF"
612                "ATOMIC-DECF"
613                "WORD"
614                "MOST-POSITIVE-WORD"
615
616                ;; Not an atomic operation, but should be used with them
617                "SPIN-LOOP-HINT"
618
619                ;; Waiting for arbitrary events.
620                "WAIT-FOR"
621
622                ;; Time related things
623                "CALL-WITH-TIMING"
624                "GET-TIME-OF-DAY"
625
626                ;; People have various good reasons to mess with the GC.
627                "*AFTER-GC-HOOKS*"
628                "BYTES-CONSED-BETWEEN-GCS"
629                "GC" "GET-BYTES-CONSED"
630                "*GC-RUN-TIME*"
631                "PURIFY"
632                "DYNAMIC-SPACE-SIZE"
633                ;; Gencgc only, but symbols exist for manual building
634                ;; convenience on all platforms.
635                "GENERATION-AVERAGE-AGE"
636                "GENERATION-BYTES-ALLOCATED"
637                "GENERATION-BYTES-CONSED-BETWEEN-GCS"
638                "GENERATION-MINIMUM-AGE-BEFORE-GC"
639                "GENERATION-NUMBER-OF-GCS"
640                "GENERATION-NUMBER-OF-GCS-BEFORE-PROMOTION"
641                "GC-LOGFILE"
642
643                ;; Stack allocation control
644                "*STACK-ALLOCATE-DYNAMIC-EXTENT*"
645
646                ;; Customizing printing of compiler and debugger messages
647                "*COMPILER-PRINT-VARIABLE-ALIST*"
648                "*DEBUG-PRINT-VARIABLE-ALIST*"
649
650                ;; Hooks into init & save sequences
651                "*INIT-HOOKS*" "*SAVE-HOOKS*" "*EXIT-HOOKS*"
652
653                ;; There is no one right way to report progress on
654                ;; hairy compiles.
655                "*COMPILE-PROGRESS*"
656
657                ;; It can be handy to be able to evaluate expressions involving
658                ;; the thing under examination by CL:INSPECT.
659                "*INSPECTED*"
660
661                ;; There is no one right way to do efficiency notes.
662                "*EFFICIENCY-NOTE-COST-THRESHOLD*" "*EFFICIENCY-NOTE-LIMIT*"
663
664                ;; There's no one right way to report errors.
665                "*ENCLOSING-SOURCE-CUTOFF*"
666                "*UNDEFINED-WARNING-LIMIT*"
667
668                ;; and for dedicated users who really want to customize
669                ;; error reporting, we have
670                "DEFINE-SOURCE-CONTEXT"
671
672                ;; and given how many users dislike strict treatment of
673                ;; DEFCONSTANT, let's give them enough rope to escape by
674                "DEFCONSTANT-UNEQL" "DEFCONSTANT-UNEQL-NAME"
675                "DEFCONSTANT-UNEQL-NEW-VALUE" "DEFCONSTANT-UNEQL-OLD-VALUE"
676
677                ;; global lexicals, access to global symbol values
678                "DEFGLOBAL"
679                "SYMBOL-GLOBAL-VALUE"
680
681                ;; package-locking stuff
682                #!+sb-package-locks "PACKAGE-LOCKED-P"
683                #!+sb-package-locks "LOCK-PACKAGE"
684                #!+sb-package-locks "UNLOCK-PACKAGE"
685                #!+sb-package-locks "PACKAGE-IMPLEMENTED-BY-LIST"
686                #!+sb-package-locks "PACKAGE-IMPLEMENTS-LIST"
687                #!+sb-package-locks "ADD-IMPLEMENTATION-PACKAGE"
688                #!+sb-package-locks "REMOVE-IMPLEMENTATION-PACKAGE"
689                #!+sb-package-locks "WITH-UNLOCKED-PACKAGES"
690                #!+sb-package-locks "PACKAGE-LOCK-VIOLATION"
691                #!+sb-package-locks "PACKAGE-LOCKED-ERROR"
692                #!+sb-package-locks "SYMBOL-PACKAGE-LOCKED-ERROR"
693                #!+sb-package-locks "PACKAGE-LOCKED-ERROR-SYMBOL"
694                "WITHOUT-PACKAGE-LOCKS"
695                "DISABLE-PACKAGE-LOCKS"
696                "ENABLE-PACKAGE-LOCKS"
697
698                ;; Custom conditions & condition accessors for users to handle.
699                "CODE-DELETION-NOTE"
700                "COMPILER-NOTE"
701                "IMPLICIT-GENERIC-FUNCTION-NAME"
702                "IMPLICIT-GENERIC-FUNCTION-WARNING"
703                "INVALID-FASL"
704                "DEPRECATION-CONDITION"
705
706                "NAME-CONFLICT" "NAME-CONFLICT-FUNCTION"
707                "NAME-CONFLICT-DATUM" "NAME-CONFLICT-SYMBOLS"
708                "RESOLVE-CONFLICT"
709
710                "PRINT-UNREADABLY"
711
712                ;; and a mechanism for controlling same at compile time
713                "MUFFLE-CONDITIONS" "UNMUFFLE-CONDITIONS"
714
715                ;; and one for controlling same at runtime
716                "*MUFFLED-WARNINGS*"
717
718                ;; specification which print errors to ignore ala *break-on-signal*
719                "*SUPPRESS-PRINT-ERRORS*"
720
721                ;; extended declarations..
722                "ALWAYS-BOUND" "FREEZE-TYPE" "GLOBAL" "INHIBIT-WARNINGS"
723                "MAYBE-INLINE"
724
725                ;; ..and variables to control compiler policy
726                "*INLINE-EXPANSION-LIMIT*"
727                "*DERIVE-FUNCTION-TYPES*"
728
729                ;; ..and inspector of compiler policy
730                "DESCRIBE-COMPILER-POLICY"
731                "RESTRICT-COMPILER-POLICY"
732                "WITH-COMPILER-POLICY"
733
734                ;; a special form for breaking out of our "declarations
735                ;; are assertions" default
736                "TRULY-THE"
737
738                ;; Misc. array and vector tools.
739                "ARRAY-STORAGE-VECTOR"
740
741                ;; This is something which must exist inside any Common
742                ;; Lisp implementation, and which someone writing a
743                ;; customized toplevel might well want. It seems perverse
744                ;; to hide it from them..
745                "INTERACTIVE-EVAL"
746
747                ;; Used by LOAD and EVAL-WHEN to pass toplevel indexes
748                ;; to compiler.
749                "EVAL-TLF"
750
751                ;; weak pointers and finalization
752                "CANCEL-FINALIZATION"
753                "FINALIZE"
754                "MAKE-WEAK-POINTER"
755                "WEAK-POINTER"
756                "WEAK-POINTER-P"
757                "WEAK-POINTER-VALUE"
758
759                ;; Hash table extensions
760                "DEFINE-HASH-TABLE-TEST"
761                "HASH-TABLE-SYNCHRONIZED-P"
762                "HASH-TABLE-WEAKNESS"
763                "WITH-LOCKED-HASH-TABLE"
764
765                ;; If the user knows we're doing IEEE, he might reasonably
766                ;; want to do this stuff.
767                "FLOAT-DENORMALIZED-P"
768                "FLOAT-NAN-P" "FLOAT-TRAPPING-NAN-P"
769                "FLOAT-INFINITY-P"
770                "SHORT-FLOAT-NEGATIVE-INFINITY"
771                "SHORT-FLOAT-POSITIVE-INFINITY"
772                "SINGLE-FLOAT-NEGATIVE-INFINITY"
773                "SINGLE-FLOAT-POSITIVE-INFINITY"
774                "DOUBLE-FLOAT-NEGATIVE-INFINITY"
775                "DOUBLE-FLOAT-POSITIVE-INFINITY"
776                "LONG-FLOAT-NEGATIVE-INFINITY"
777                "LONG-FLOAT-POSITIVE-INFINITY"
778
779                ;; hacks to work around system limitations
780                "*INTEXP-MAXIMUM-EXPONENT*" ; since we crash hard when
781                                         ; memory is exhausted
782
783                ;; saving Lisp images
784                "SAVE-LISP-AND-DIE"
785
786                ;; provided for completeness to make it more convenient
787                ;; to use command-line --disable-debugger functionality
788                ;; in oddball situations (like building core files using
789                ;; scripts which run unattended, when the core files are
790                ;; intended for interactive use)
791                "DISABLE-DEBUGGER"
792                "ENABLE-DEBUGGER"
793
794                ;; the mechanism by which {en,dis}able-debugger works is
795                ;; also exported for people writing alternative toplevels
796                ;; (Emacs, CLIM interfaces, etc)
797                "*INVOKE-DEBUGGER-HOOK*"
798
799                ;; miscellaneous useful supported extensions
800                "QUIT"
801                "*ED-FUNCTIONS*"
802                "*MODULE-PROVIDER-FUNCTIONS*"
803                "WITH-TIMEOUT" "TIMEOUT"
804                "SEED-RANDOM-STATE"
805                "TYPEXPAND-1" "TYPEXPAND" "TYPEXPAND-ALL"
806                "DEFINED-TYPE-NAME-P" "VALID-TYPE-SPECIFIER-P"
807                "DELETE-DIRECTORY"
808                "SET-SBCL-SOURCE-LOCATION"
809
810                ;; stepping interface
811                "STEP-CONDITION" "STEP-FORM-CONDITION" "STEP-FINISHED-CONDITION"
812                "STEP-VALUES-CONDITION" "STEP-VARIABLE-CONDITION"
813                "STEP-CONDITION-FORM" "STEP-CONDITION-RESULT"
814                "STEP-CONTINUE" "STEP-NEXT" "STEP-INTO"
815                "STEP-CONDITION-ARGS" "*STEPPER-HOOK*" "STEP-OUT"
816
817                ;; RUN-PROGRAM is not only useful for users, but also
818                ;; useful to implement parts of SBCL itself, so we're
819                ;; going to have to implement it anyway, so we might
820                ;; as well support it. And then once we're committed
821                ;; to implementing RUN-PROGRAM, it's nice to have it
822                ;; return a PROCESS object with operations defined on
823                ;; that object.
824                "RUN-PROGRAM"
825                "PROCESS-ALIVE-P" "PROCESS-CLOSE"
826                "PROCESS-CORE-DUMPED" "PROCESS-ERROR" "PROCESS-EXIT-CODE"
827                "PROCESS-INPUT" "PROCESS-KILL" "PROCESS-OUTPUT" "PROCESS-P"
828                "PROCESS-PID" "PROCESS-PLIST" "PROCESS-PTY" "PROCESS-STATUS"
829                "PROCESS-STATUS-HOOK" "PROCESS-WAIT"
830
831                ;; pathnames
832                "NATIVE-PATHNAME"
833                "PARSE-NATIVE-NAMESTRING"
834                "NATIVE-NAMESTRING"
835
836                ;; external-format support
837                "OCTETS-TO-STRING" "STRING-TO-OCTETS"
838
839                ;; Whether to use the interpreter or the compiler for EVAL
840                "*EVALUATOR-MODE*"
841
842                ;; timer
843                "TIMER" "MAKE-TIMER" "TIMER-NAME" "TIMER-SCHEDULED-P"
844                "SCHEDULE-TIMER" "UNSCHEDULE-TIMER" "LIST-ALL-TIMERS"))
845
846    #s(sb-cold:package-data
847       :name "SB!FORMAT"
848       :doc "private: implementation of FORMAT and friends"
849       :use ("CL" "SB!EXT" "SB!INT" "SB!KERNEL")
850       :export ("%COMPILER-WALK-FORMAT-STRING" "FORMAT-ERROR"))
851
852    #s(sb-cold:package-data
853       :name "SB!GRAY"
854       :doc
855       "public: an implementation of the stream-definition-by-user
856 Lisp extension proposal by David N. Gray"
857       :use ("CL" "SB!EXT" "SB!INT" "SB!KERNEL")
858       :export ("FUNDAMENTAL-BINARY-STREAM"
859                "FUNDAMENTAL-BINARY-INPUT-STREAM"
860                "FUNDAMENTAL-BINARY-OUTPUT-STREAM" "FUNDAMENTAL-CHARACTER-STREAM"
861                "FUNDAMENTAL-CHARACTER-INPUT-STREAM"
862                "FUNDAMENTAL-CHARACTER-OUTPUT-STREAM"
863                "FUNDAMENTAL-INPUT-STREAM" "FUNDAMENTAL-OUTPUT-STREAM"
864                "FUNDAMENTAL-STREAM"
865                "STREAM-ADVANCE-TO-COLUMN" "STREAM-CLEAR-INPUT"
866                "STREAM-CLEAR-OUTPUT" "STREAM-FILE-POSITION" "STREAM-FINISH-OUTPUT" "STREAM-FORCE-OUTPUT"
867                "STREAM-FRESH-LINE" "STREAM-LINE-COLUMN" "STREAM-LINE-LENGTH"
868                "STREAM-LISTEN" "STREAM-PEEK-CHAR" "STREAM-READ-BYTE"
869                "STREAM-READ-CHAR" "STREAM-READ-CHAR-NO-HANG" "STREAM-READ-LINE"
870                "STREAM-READ-SEQUENCE" "STREAM-START-LINE-P" "STREAM-TERPRI"
871                "STREAM-UNREAD-CHAR"
872                "STREAM-WRITE-BYTE" "STREAM-WRITE-CHAR" "STREAM-WRITE-SEQUENCE"
873                "STREAM-WRITE-STRING"))
874
875    #s(sb-cold:package-data
876       :name "SB!INT"
877       :doc
878       "private: miscellaneous unsupported extensions to the ANSI spec. Much of
879 the stuff in here originated in CMU CL's EXTENSIONS package and is retained,
880 possibly temporariliy, because it might be used internally."
881       :use ("CL" "SB!ALIEN" "SB!GRAY" "SB!FASL" "SB!SYS")
882       :export (;; lambda list keyword extensions
883                "&MORE"
884
885                ;; utilities for floating point zero handling
886                "FP-ZERO-P"
887                "NEG-FP-ZERO"
888
889                ;; Stack allocation without any questions asked
890                "TRULY-DYNAMIC-EXTENT"
891
892                ;; Like WITH-LOCKED-HASH-TABLE, but disabled interrupts
893                "WITH-LOCKED-SYSTEM-TABLE"
894
895                ;; generic set implementation
896                "ADD-TO-XSET"
897                "ALLOC-XSET"
898                "MAP-XSET"
899                "XSET"
900                "XSET-COUNT"
901                "XSET-EMPTY-P"
902                "XSET-INTERSECTION"
903                "XSET-MEMBER-P"
904                "XSET-MEMBERS"
905                "XSET-SUBSET-P"
906                "XSET-UNION"
907
908                ;; communication between the runtime and Lisp
909                "*CORE-STRING*"
910
911                ;; INFO stuff doesn't belong in a user-visible package, we
912                ;; should be able to change it without apology.
913                "*INFO-ENVIRONMENT*"
914                "CLEAR-INFO"
915                "COMPACT-INFO-ENVIRONMENT"
916                "DEFINE-INFO-CLASS" "DEFINE-INFO-TYPE"
917                "DO-INFO"
918                "INFO"
919                "MAKE-INFO-ENVIRONMENT"
920
921                ;; GENSYM variant that appends the current non-nil block
922                ;; name to the string if possible
923                "BLOCK-GENSYM"
924
925                ;; Calling a list of hook functions, plus error handling.
926                "CALL-HOOKS"
927
928                ;; Constant form evaluation
929                "CONSTANT-FORM-VALUE"
930                "CONSTANT-TYPEP"
931
932                ;; stepping control
933                "*STEPPING*" "*STEP*"
934
935                ;; packages grabbed once and for all
936                "*KEYWORD-PACKAGE*" "*CL-PACKAGE*"
937
938                ;; hash mixing operations
939                "MIX" "MIXF"
940
941                ;; Macroexpansion that doesn't touch special forms
942                "%MACROEXPAND"
943                "%MACROEXPAND-1"
944
945                ;; I'm not convinced that FDEFINITIONs are the ideal
946                ;; solution, so exposing ways to peek into the system
947                ;; seems undesirable, since it makes it harder to get
948                ;; rid of FDEFINITIONs entirely later.
949                "*SETF-FDEFINITION-HOOK*"
950
951                ;; error-reporting facilities
952                "ARGUMENTS-OUT-OF-DOMAIN-ERROR"
953                "BAD-TYPE"
954                "CLOSED-STREAM-ERROR"
955                "COMPILED-PROGRAM-ERROR"
956                "ENCAPSULATED-CONDITION"
957                "INTERPRETED-PROGRAM-ERROR"
958                "INVALID-ARRAY-ERROR"
959                "INVALID-ARRAY-INDEX-ERROR"
960                "INVALID-ARRAY-P"
961                "SIMPLE-CONTROL-ERROR" "SIMPLE-FILE-ERROR"
962                "SIMPLE-PARSE-ERROR" "SIMPLE-PROGRAM-ERROR"
963                "SIMPLE-READER-ERROR"
964                "SIMPLE-READER-PACKAGE-ERROR"
965                "SIMPLE-REFERENCE-ERROR"
966                "SIMPLE-REFERENCE-WARNING"
967                "SIMPLE-STREAM-ERROR"
968                "SIMPLE-STORAGE-CONDITION"
969                "SIMPLE-STYLE-WARNING"
970                "TRY-RESTART"
971
972                ;; error-signalling facilities
973                "STANDARD-READTABLE-MODIFIED-ERROR"
974                "STANDARD-PPRINT-DISPATCH-TABLE-MODIFIED-ERROR"
975                "ARRAY-BOUNDING-INDICES-BAD-ERROR"
976                "CIRCULAR-LIST-ERROR"
977                "SEQUENCE-BOUNDING-INDICES-BAD-ERROR"
978                "SPECIAL-FORM-FUNCTION"
979                "STYLE-WARN" "SIMPLE-COMPILER-NOTE"
980
981                ;; FIXME: potential SB!EXT exports
982                "CHARACTER-CODING-ERROR"
983                "CHARACTER-DECODING-ERROR" "CHARACTER-DECODING-ERROR-OCTETS"
984                "CHARACTER-ENCODING-ERROR" "CHARACTER-ENCODING-ERROR-CODE"
985                "STREAM-DECODING-ERROR" "STREAM-ENCODING-ERROR"
986                "C-STRING-ENCODING-ERROR" "C-STRING-ENCODING-ERROR-EXTERNAL-FORMAT"
987                "C-STRING-DECODING-ERROR" "C-STRING-DECODING-ERROR-EXTERNAL-FORMAT"
988                "ATTEMPT-RESYNC" "FORCE-END-OF-FILE"
989                "READ-UNREADABLE-REPLACEMENT"
990
991
992                ;; bootstrapping magic, to make things happen both in
993                ;; the cross-compilation host compiler's environment and
994                ;; in the cross-compiler's environment
995                "DEF!CONSTANT" "DEF!MACRO" "DEF!METHOD" "DEF!STRUCT" "DEF!TYPE"
996
997                ;; stuff for hinting to the compiler
998                "NAMED-LAMBDA"
999
1000                ;; other variations on DEFFOO stuff useful for bootstrapping
1001                ;; and cross-compiling
1002                "DEFMACRO-MUNDANELY"
1003                "DEFCONSTANT-EQX"
1004                "DEFINE-UNSUPPORTED-FUN"
1005
1006                ;; messing with PATHNAMEs
1007                "MAKE-TRIVIAL-DEFAULT-PATHNAME"
1008                "PHYSICALIZE-PATHNAME"
1009                "SANE-DEFAULT-PATHNAME-DEFAULTS"
1010                "SBCL-HOMEDIR-PATHNAME"
1011                "SIMPLIFY-NAMESTRING"
1012
1013                "*N-BYTES-FREED-OR-PURIFIED*"
1014
1015                ;; Deprecating stuff
1016                "DEFINE-DEPRECATED-FUNCTION"
1017                "EARLY-DEPRECATION-WARNING"
1018                "LATE-DEPRECATION-WARNING"
1019                "FINAL-DEPRECATION-WARNING"
1020                "DEPRECATION-WARNING"
1021                "DEPRECATION-ERROR"
1022
1023                ;; miscellaneous non-standard but handy user-level functions..
1024                "ASSQ" "DELQ" "MEMQ" "POSQ" "NEQ"
1025                "ADJUST-LIST"
1026                "%FIND-PACKAGE-OR-LOSE" "FIND-UNDELETED-PACKAGE-OR-LOSE"
1027                "SANE-PACKAGE"
1028                "MAYBE-CYCLIC-P"
1029                "COMPOUND-OBJECT-P"
1030                "SWAPPED-ARGS-FUN"
1031                "AND/TYPE" "NOT/TYPE"
1032                "ANY/TYPE" "EVERY/TYPE"
1033                "EQUAL-BUT-NO-CAR-RECURSION"
1034                "TYPE-BOUND-NUMBER"
1035                "CONSTANTLY-T" "CONSTANTLY-NIL" "CONSTANTLY-0"
1036                "PSXHASH"
1037                "%BREAK"
1038                "NTH-BUT-WITH-SANE-ARG-ORDER"
1039                "BIT-VECTOR-="
1040                "READ-EVALUATED-FORM"
1041                "MAKE-UNPRINTABLE-OBJECT"
1042                "POWER-OF-TWO-CEILING"
1043                "PRINT-NOT-READABLE-ERROR"
1044
1045                ;; ..and macros..
1046                "COLLECT"
1047                "DO-ANONYMOUS" "DOHASH" "DOVECTOR"
1048                "NAMED-LET"
1049                "ONCE-ONLY"
1050                "DEFENUM"
1051                "DEFPRINTER"
1052                "AVER" "ENFORCE-TYPE"
1053                "DX-FLET" "DX-LET"
1054                "AWHEN" "ACOND" "IT"
1055                "BINDING*"
1056                "!DEF-BOOLEAN-ATTRIBUTE"
1057                "WITH-REBOUND-IO-SYNTAX"
1058                "WITH-SANE-IO-SYNTAX"
1059
1060                ;; ..and CONDITIONs..
1061                "BUG"
1062                "UNSUPPORTED-OPERATOR"
1063
1064                "BOOTSTRAP-PACKAGE-NAME"
1065                "BOOTSTRAP-PACKAGE-NOT-FOUND"
1066                "DEBOOTSTRAP-PACKAGE"
1067
1068                "REFERENCE-CONDITION" "REFERENCE-CONDITION-REFERENCES"
1069                "*PRINT-CONDITION-REFERENCES*"
1070
1071                "DUPLICATE-DEFINITION" "DUPLICATE-DEFINITION-NAME"
1072                "PACKAGE-AT-VARIANCE" "ARRAY-INITIAL-ELEMENT-MISMATCH"
1073                "TYPE-WARNING" "TYPE-STYLE-WARNING"
1074                "LOCAL-ARGUMENT-MISMATCH"
1075                "FORMAT-ARGS-MISMATCH" "FORMAT-TOO-FEW-ARGS-WARNING"
1076                "FORMAT-TOO-MANY-ARGS-WARNING" "EXTENSION-FAILURE"
1077                "STRUCTURE-INITARG-NOT-KEYWORD" "CONSTANT-MODIFIED"
1078
1079                ;; ..and DEFTYPEs..
1080                "MAX-HASH" "HASH"
1081                "INDEX" "LOAD/STORE-INDEX"
1082                "SIGNED-BYTE-WITH-A-BITE-OUT"
1083                "UNSIGNED-BYTE-WITH-A-BITE-OUT"
1084                "SFUNCTION" "UNSIGNED-BYTE*"
1085                "CONSTANT-DISPLACEMENT"
1086                ;; ..and type predicates
1087                "INSTANCEP"
1088                "DOUBLE-FLOAT-P"
1089                "LOGICAL-PATHNAME-P"
1090                "LONG-FLOAT-P"
1091                "SHORT-FLOAT-P"
1092                "SINGLE-FLOAT-P"
1093                "FIXNUMP"
1094                "BIGNUMP"
1095                "RATIOP"
1096
1097                ;; encapsulation
1098                "ARG-LIST"
1099                "BASIC-DEFINITION"
1100                "ENCAPSULATE" "ENCAPSULATED-P"
1101                "UNENCAPSULATE"
1102
1103                ;; various CHAR-CODEs
1104                "BACKSPACE-CHAR-CODE" "BELL-CHAR-CODE" "ESCAPE-CHAR-CODE"
1105                "FORM-FEED-CHAR-CODE" "LINE-FEED-CHAR-CODE"
1106                "RETURN-CHAR-CODE" "RUBOUT-CHAR-CODE" "TAB-CHAR-CODE"
1107
1108                ;; symbol-hacking idioms
1109                "GENSYMIFY" "KEYWORDICATE" "SYMBOLICATE"
1110
1111                ;; certainly doesn't belong in public extensions
1112                ;; FIXME: maybe belongs in %KERNEL with other typesystem stuff?
1113                "CONSTANT-ARG"
1114
1115                ;; various internal defaults
1116                "DEFAULT-INIT-CHAR" "*DEFAULT-INIT-CHAR-FORM*"
1117                "*LOAD-SOURCE-DEFAULT-TYPE*" "BASE-CHAR-CODE-LIMIT"
1118
1119                ;; hash caches
1120                "DEFINE-HASH-CACHE"
1121                "DEFUN-CACHED"
1122                "DEFINE-CACHED-SYNONYM"
1123                "DROP-ALL-HASH-CACHES"
1124
1125                ;; time
1126                "FORMAT-DECODED-TIME"
1127                "FORMAT-UNIVERSAL-TIME"
1128
1129                ;; indenting
1130                "MAKE-INDENTING-STREAM"
1131
1132                ;; stream commands, used by the debugger
1133                "GET-STREAM-COMMAND" "MAKE-STREAM-COMMAND" "STREAM-COMMAND"
1134                "STREAM-COMMAND-ARGS" "STREAM-COMMAND-NAME" "STREAM-COMMAND-P"
1135
1136                ;; used for FORMAT tilde paren
1137                "MAKE-CASE-FROB-STREAM"
1138
1139                ;; helpers for C library calls
1140                "STRERROR" "SIMPLE-PERROR"
1141
1142                ;; debuggers' little helpers
1143                #!+sb-show "*/SHOW*"
1144                #!+sb-show "HEXSTR"
1145                "/SHOW"  "/NOSHOW"
1146                "/XHOW"  "/NOXHOW"
1147                "/SHOW0" "/NOSHOW0"
1148                "/HEXSTR" "/NOHEXSTR"
1149                "/PRIMITIVE-PRINT" "/NO-PRIMITIVE-PRINT"
1150
1151                ;; cross-compilation bootstrap hacks which turn into
1152                ;; placeholders in a target system
1153                "UNCROSS"
1154
1155                ;; might as well be shared among the various files which
1156                ;; need it:
1157                "*EOF-OBJECT*"
1158
1159                ;; allocation to static space
1160                "MAKE-STATIC-VECTOR"
1161
1162                ;; alien interface utilities
1163                "C-STRINGS->STRING-LIST"
1164
1165                ;; misc. utilities used internally
1166                "DEFINE-FUNCTION-NAME-SYNTAX" "VALID-FUNCTION-NAME-P" ; should be SB!EXT?
1167                "LEGAL-FUN-NAME-P" "LEGAL-FUN-NAME-OR-TYPE-ERROR"
1168                "FUN-NAME-BLOCK-NAME"
1169                "FUN-NAME-INLINE-EXPANSION"
1170                "LISTEN-SKIP-WHITESPACE"
1171                "PACKAGE-INTERNAL-SYMBOL-COUNT" "PACKAGE-EXTERNAL-SYMBOL-COUNT"
1172                "PARSE-BODY" "PARSE-LAMBDA-LIST" "PARSE-LAMBDA-LIST-LIKE-THING"
1173                "PROPER-LIST-OF-LENGTH-P"
1174                "LIST-OF-LENGTH-AT-LEAST-P"
1175                "LIST-WITH-LENGTH-P"
1176                "SINGLETON-P"
1177                "READ-SEQUENCE-OR-DIE"
1178                "RENAME-KEY-ARGS"
1179                "MISSING-ARG"
1180                "FEATUREP"
1181                "FLUSH-STANDARD-OUTPUT-STREAMS"
1182                "WITH-UNIQUE-NAMES" "MAKE-GENSYM-LIST"
1183                "ABOUT-TO-MODIFY-SYMBOL-VALUE"
1184                "SELF-EVALUATING-P"
1185                "PRINT-PRETTY-ON-STREAM-P"
1186                "ARRAY-READABLY-PRINTABLE-P"
1187                "LOOKS-LIKE-NAME-OF-SPECIAL-VAR-P"
1188                "POSITIVE-PRIMEP"
1189                "EVAL-IN-LEXENV"
1190                "SIMPLE-EVAL-IN-LEXENV"
1191                "DEBUG-NAMIFY"
1192                "FORCE" "DELAY" "PROMISE-READY-P"
1193                "FIND-RESTART-OR-CONTROL-ERROR"
1194                "LOAD-AS-SOURCE"
1195
1196                ;; These could be moved back into SB!EXT if someone has
1197                ;; compelling reasons, but hopefully we can get by
1198                ;; without supporting them, at least not as publicly
1199                ;; accessible things with fixed interfaces.
1200                "GET-FLOATING-POINT-MODES"
1201                "SET-FLOATING-POINT-MODES"
1202                "WITH-FLOAT-TRAPS-MASKED"
1203
1204                ;; compatibility hacks for old-style CMU CL data formats
1205                "UNIX-ENVIRONMENT-CMUCL-FROM-SBCL"
1206                "UNIX-ENVIRONMENT-SBCL-FROM-CMUCL"
1207
1208                ;; a sort of quasi-unbound tag for use in hash tables
1209                "+EMPTY-HT-SLOT+"
1210
1211                ;; low-level i/o stuff
1212                "DONE-WITH-FAST-READ-CHAR"
1213                "FAST-READ-BYTE"
1214                "FAST-READ-BYTE-REFILL"
1215                "FAST-READ-CHAR"
1216                "FAST-READ-CHAR-REFILL"
1217                "FAST-READ-S-INTEGER"
1218                "FAST-READ-U-INTEGER"
1219                "FAST-READ-VAR-U-INTEGER"
1220                "FILE-NAME"
1221                "INTERN*"
1222                "WITH-FAST-READ-BYTE"
1223                "PREPARE-FOR-FAST-READ-CHAR"
1224
1225                ;; reflection of our backquote implementation that the
1226                ;; pprinter needs
1227                "*BACKQ-TOKENS*"
1228
1229                ;; hackery to help set up for cold init
1230                "!BEGIN-COLLECTING-COLD-INIT-FORMS"
1231                "!COLD-INIT-FORMS"
1232                "COLD-FSET"
1233                "!DEFUN-FROM-COLLECTED-COLD-INIT-FORMS"
1234
1235                ;; catch tags
1236                "TOPLEVEL-CATCHER"
1237
1238                ;; hooks for contrib/ stuff we're insufficiently sure
1239                ;; about to add to SB!EXT
1240                "*REPL-PROMPT-FUN*"
1241                "*REPL-READ-FORM-FUN*"))
1242
1243    ;; FIXME: This package is awfully huge. It'd probably be good to
1244    ;; split it. There's at least one natural way to split it: the
1245    ;; implementation of the Lisp type system (e.g. TYPE-INTERSECTION and
1246    ;; SPECIFIER-TYPE) could move to a separate package SB!TYPE. (There's
1247    ;; lots of stuff which currently uses the SB!KERNEL package which
1248    ;; doesn't actually use the type system stuff.) And maybe other
1249    ;; possible splits too:
1250    ;;   * Pull GC stuff (*GC-INHIBIT*, *GC-PENDING*, etc.)
1251    ;;     out into SB-GC.
1252    ;;   * Pull special case implementations of sequence functions (e.g.
1253    ;;     %MAP-TO-LIST-ARITY-1 and %FIND-POSITION-IF-NOT) and
1254    ;;     other sequence function implementation grot into SB-SEQ.
1255    ;;   * Pull all the math stuff (%ACOS, %COSH, WORD-LOGICAL-AND...)
1256    ;;     into SB-MATH.
1257    ;;   * Pull all the array stuff (%ARRAY-DATA-VECTOR, %RAW-REF-LONG,
1258    ;;     WITH-ARRAY-DATA, ALLOCATE-VECTOR, HAIRY-DATA-VECTOR-REF...)
1259    ;;     into SB-ARRAY.
1260    ;;   * Pull all the streams stuff out into SB-STREAM.
1261    ;;   * Pull all the OBJECT-NOT-FOO symbols out. Maybe we could even
1262    ;;     figure out a way to stop exporting them? Failing that,
1263    ;;     they could be in SB-INTERR.
1264    #s(sb-cold:package-data
1265       :name "SB!KERNEL"
1266       :doc
1267       "private: Theoretically this 'hides state and types used for package
1268 integration' (said CMU CL architecture.tex) and that probably was and
1269 is a good idea, but see SB-SYS re. blurring of boundaries."
1270       :use ("CL" "SB!ALIEN" "SB!ALIEN-INTERNALS" "SB!BIGNUM"
1271                  "SB!EXT" "SB!FASL" "SB!INT" "SB!SYS" "SB!GRAY")
1272       :reexport ("DEF!STRUCT" "DEF!MACRO")
1273       :export ("%ACOS"
1274                "%ACOSH"
1275                "%ADJOIN"
1276                "%ADJOIN-EQ"
1277                "%ADJOIN-KEY"
1278                "%ADJOIN-KEY-EQ"
1279                "%ADJOIN-KEY-TEST"
1280                "%ADJOIN-KEY-TEST-NOT"
1281                "%ADJOIN-TEST"
1282                "%ADJOIN-TEST-NOT"
1283                "%ARRAY-AVAILABLE-ELEMENTS" "%ARRAY-DATA-VECTOR"
1284                "%ARRAY-DIMENSION" "%ARRAY-DISPLACED-P"
1285                "%ARRAY-DISPLACED-FROM"
1286                "%ARRAY-DISPLACEMENT" "%ARRAY-FILL-POINTER"
1287                "%ARRAY-FILL-POINTER-P" "%ARRAY-RANK"
1288                #!+(or x86 x86-64 ppc)
1289                "%ARRAY-ATOMIC-INCF/WORD"
1290                "%ASSOC"
1291                "%ASSOC-EQ"
1292                "%ASSOC-IF"
1293                "%ASSOC-IF-KEY"
1294                "%ASSOC-IF-NOT"
1295                "%ASSOC-IF-NOT-KEY"
1296                "%ASSOC-KEY"
1297                "%ASSOC-KEY-EQ"
1298                "%ASSOC-KEY-TEST"
1299                "%ASSOC-KEY-TEST-NOT"
1300                "%ASSOC-TEST"
1301                "%ASSOC-TEST-NOT"
1302                "%ASIN" "%ASINH"
1303                "%ATAN" "%ATAN2" "%ATANH"
1304                "%CALLER-FRAME"
1305                "%CALLER-PC"
1306                "%CEILING"
1307                "%CHECK-BOUND"
1308                "%CHECK-GENERIC-SEQUENCE-BOUNDS"
1309                "%CHECK-VECTOR-SEQUENCE-BOUNDS"
1310                "%COMPARE-AND-SWAP-CAR"
1311                "%COMPARE-AND-SWAP-CDR"
1312                "%COMPARE-AND-SWAP-INSTANCE-REF"
1313                "%COMPARE-AND-SWAP-SVREF"
1314                "%COMPARE-AND-SWAP-SYMBOL-PLIST"
1315                "%COMPARE-AND-SWAP-SYMBOL-VALUE"
1316                "%CONCATENATE-TO-BASE-STRING"
1317                "%CONCATENATE-TO-STRING"
1318                "%COS" "%COS-QUICK"
1319                "%COSH" "%DATA-VECTOR-AND-INDEX" "%DEPOSIT-FIELD"
1320                "%DOUBLE-FLOAT" "%DPB" "%EQL" "%EXP" "%EXPM1"
1321                "%FLOOR"
1322                "%FIND-POSITION"
1323                "%FIND-POSITION-VECTOR-MACRO" "%FIND-POSITION-IF"
1324                "%FIND-POSITION-IF-VECTOR-MACRO" "%FIND-POSITION-IF-NOT"
1325                "%FIND-POSITION-IF-NOT-VECTOR-MACRO"
1326                "%HYPOT" "%LDB" "%LOG" "%LOGB" "%LOG10"
1327                "%LAST0"
1328                "%LAST1"
1329                "%LASTN/FIXNUM"
1330                "%LASTN/BIGNUM"
1331                "%LOG1P"
1332                #!+long-float "%LONG-FLOAT"
1333                "%MAKE-COMPLEX" "%MAKE-FUNCALLABLE-INSTANCE"
1334                "%MAKE-FUNCALLABLE-STRUCTURE-INSTANCE-ALLOCATOR"
1335                "%MAKE-RATIO" "%MAKE-LISP-OBJ"
1336                "%MAKE-INSTANCE"
1337                "%MAKE-STRUCTURE-INSTANCE"
1338                "%MAKE-STRUCTURE-INSTANCE-ALLOCATOR"
1339                "%MAP" "%MAP-TO-SIMPLE-VECTOR-ARITY-1"
1340                "%MAP-TO-LIST-ARITY-1" "%MAP-TO-NIL-ON-SEQUENCE"
1341                "%MAP-TO-NIL-ON-SIMPLE-VECTOR" "%MAP-TO-NIL-ON-VECTOR"
1342                "%MASK-FIELD"
1343                "%MEMBER"
1344                "%MEMBER-EQ"
1345                "%MEMBER-IF"
1346                "%MEMBER-IF-KEY"
1347                "%MEMBER-IF-NOT"
1348                "%MEMBER-IF-NOT-KEY"
1349                "%MEMBER-KEY"
1350                "%MEMBER-KEY-EQ"
1351                "%MEMBER-KEY-TEST"
1352                "%MEMBER-KEY-TEST-NOT"
1353                "%MEMBER-TEST"
1354                "%MEMBER-TEST-NOT"
1355                "%MULTIPLY-HIGH"
1356                "%NEGATE" "%POW"
1357                "%OTHER-POINTER-WIDETAG"
1358                "%PUTHASH"
1359                "%RASSOC"
1360                "%RASSOC-EQ"
1361                "%RASSOC-IF"
1362                "%RASSOC-IF-KEY"
1363                "%RASSOC-IF-NOT"
1364                "%RASSOC-IF-NOT-KEY"
1365                "%RASSOC-KEY"
1366                "%RASSOC-KEY-EQ"
1367                "%RASSOC-KEY-TEST"
1368                "%RASSOC-KEY-TEST-NOT"
1369                "%RASSOC-TEST"
1370                "%RASSOC-TEST-NOT"
1371                "%RAW-BITS" "%RAW-BITS-WITH-OFFSET" "%VECTOR-RAW-BITS"
1372                "%RAW-REF-COMPLEX-DOUBLE" "%RAW-REF-COMPLEX-LONG"
1373                "%RAW-REF-COMPLEX-SINGLE" "%RAW-REF-DOUBLE"
1374                "%RAW-REF-LONG" "%RAW-REF-SINGLE"
1375                "%RAW-SET-COMPLEX-DOUBLE" "%RAW-SET-COMPLEX-LONG"
1376                "%RAW-SET-COMPLEX-SINGLE" "%RAW-SET-DOUBLE"
1377                "%RAW-SET-LONG" "%RAW-SET-SINGLE" "%SCALB" "%SCALBN"
1378                #!+(or x86 x86-64 ppc)
1379                "%RAW-INSTANCE-ATOMIC-INCF/WORD"
1380                "%RAW-INSTANCE-REF/WORD" "%RAW-INSTANCE-SET/WORD"
1381                "%RAW-INSTANCE-REF/SINGLE" "%RAW-INSTANCE-SET/SINGLE"
1382                "%RAW-INSTANCE-REF/DOUBLE" "%RAW-INSTANCE-SET/DOUBLE"
1383                "%RAW-INSTANCE-REF/COMPLEX-SINGLE"
1384                "%RAW-INSTANCE-SET/COMPLEX-SINGLE"
1385                "%RAW-INSTANCE-REF/COMPLEX-DOUBLE"
1386                "%RAW-INSTANCE-SET/COMPLEX-DOUBLE"
1387                "%SET-ARRAY-DIMENSION" "%SET-FUNCALLABLE-INSTANCE-INFO"
1388                "%SET-RAW-BITS" "%SET-RAW-BITS-WITH-OFFSET"
1389                "%SET-VECTOR-RAW-BITS"
1390                "%SET-SAP-REF-16" "%SET-SAP-REF-32" "%SET-SAP-REF-64"
1391                "%SET-SAP-REF-WORD" "%SET-SAP-REF-8" "%SET-SAP-REF-DOUBLE"
1392                "%SET-SAP-REF-LISPOBJ" "%SET-SAP-REF-LONG" "%SET-SAP-REF-SAP"
1393                "%SET-SAP-REF-SINGLE" "%SET-SIGNED-SAP-REF-16"
1394                "%SET-SIGNED-SAP-REF-32" "%SET-SIGNED-SAP-REF-64"
1395                "%SET-SIGNED-SAP-REF-WORD"
1396                "%SET-SIGNED-SAP-REF-8" "%SET-STACK-REF"
1397                "%SET-SYMBOL-HASH"
1398                "%SIN" "%SIN-QUICK" "%SINGLE-FLOAT"
1399                "%SINH" "%SQRT" "%SXHASH-SIMPLE-STRING"
1400                "%SXHASH-SIMPLE-SUBSTRING" "%TAN" "%TAN-QUICK" "%TANH"
1401                "%UNARY-ROUND"
1402                "%UNARY-TRUNCATE"
1403                "%UNARY-TRUNCATE/SINGLE-FLOAT"
1404                "%UNARY-TRUNCATE/DOUBLE-FLOAT"
1405                "%UNARY-FTRUNCATE"
1406                "%WITH-ARRAY-DATA"
1407                "%WITH-ARRAY-DATA/FP"
1408                "%WITH-ARRAY-DATA-MACRO"
1409                "*APPROXIMATE-NUMERIC-UNIONS*"
1410                "*CURRENT-LEVEL-IN-PRINT*"
1411                "*EMPTY-TYPE*"
1412                "*EVAL-CALLS*"
1413                "*GC-INHIBIT*" "*GC-PENDING*"
1414                #!+sb-thread "*STOP-FOR-GC-PENDING*"
1415                "*UNIVERSAL-TYPE*"
1416                "*UNIVERSAL-FUN-TYPE*" "*UNPARSE-FUN-TYPE-SIMPLIFY*"
1417                "*WILD-TYPE*" "WORD-LOGICAL-AND" "WORD-LOGICAL-ANDC1"
1418                "WORD-LOGICAL-ANDC2" "WORD-LOGICAL-EQV"
1419                "WORD-LOGICAL-NAND" "WORD-LOGICAL-NOR" "WORD-LOGICAL-NOT"
1420                "WORD-LOGICAL-OR" "WORD-LOGICAL-ORC1" "WORD-LOGICAL-ORC2"
1421                "WORD-LOGICAL-XOR" "ALIEN-TYPE-TYPE"
1422                "ALIEN-TYPE-TYPE-ALIEN-TYPE" "ALIEN-TYPE-TYPE-P"
1423                "ALLOCATE-VECTOR" "ALLOCATE-STATIC-VECTOR"
1424                "ASSERT-SYMBOL-HOME-PACKAGE-UNLOCKED"
1425                "PROGRAM-ASSERT-SYMBOL-HOME-PACKAGE-UNLOCKED"
1426                "DISABLED-PACKAGE-LOCKS"
1427                "WITH-SINGLE-PACKAGE-LOCKED-ERROR"
1428                "PACKAGE-ERROR-FORMAT-ARGUMENTS"
1429                "PACKAGE-ERROR-FORMAT-CONTROL" "ALWAYS-SUBTYPEP"
1430                "ARGS-TYPE" "ARGS-TYPE-ALLOWP" "ARGS-TYPE-KEYP"
1431                "ARGS-TYPE-KEYWORDS" "ARGS-TYPE-OPTIONAL" "ARGS-TYPE-P"
1432                "ARGS-TYPE-REQUIRED" "ARGS-TYPE-REST" "ARRAY-HEADER-P"
1433                "ARRAY-TYPE" "ARRAY-TYPE-COMPLEXP"
1434                "ARRAY-TYPE-DIMENSIONS" "ARRAY-TYPE-ELEMENT-TYPE"
1435                "ARRAY-TYPE-P" "ARRAY-TYPE-SPECIALIZED-ELEMENT-TYPE"
1436                "ASH-INDEX" "ASSERT-ERROR"
1437                #!+sb-unicode "BASE-CHAR-P"
1438                "BASE-STRING-P"
1439                "BINDING-STACK-POINTER-SAP" "BIT-INDEX"
1440                "BOGUS-ARG-TO-VALUES-LIST-ERROR" "BOOLE-CODE"
1441                "BOUNDING-INDICES-BAD-ERROR" "BYTE-SPECIFIER" "%BYTE-BLT"
1442                "CALLABLE" "CASE-BODY-ERROR"
1443                "CHARACTER-SET" "CHARACTER-SET-TYPE"
1444                "CHARACTER-SET-TYPE-PAIRS"
1445                #!+sb-unicode "CHARACTER-STRING-P"
1446                "CHARPOS"
1447                "CHECK-FOR-CIRCULARITY" "CHECK-TYPE-ERROR" "CLOSED-FLAME"
1448                "CODE-COMPONENT" "CODE-COMPONENT-P" "CODE-DEBUG-INFO"
1449                "CODE-HEADER-REF" "CODE-HEADER-SET" "CODE-INSTRUCTIONS"
1450                "COERCE-TO-FUN" "COERCE-TO-LEXENV" "COERCE-TO-LIST"
1451                "COERCE-TO-VALUES" "COERCE-TO-VECTOR"
1452                "*COLD-INIT-COMPLETE-P*" "COMPLEX-DOUBLE-FLOAT-P"
1453                "COMPLEX-FLOAT-P"
1454                #!+long-float "COMPLEX-LONG-FLOAT-P"
1455                "COMPLEX-RATIONAL-P" "COMPLEX-SINGLE-FLOAT-P"
1456                "COMPLEX-VECTOR-P" "COMPOUND-TYPE" "COMPOUND-TYPE-P"
1457                "COMPOUND-TYPE-TYPES" "CONS-TYPE" "CONS-TYPE-CAR-TYPE"
1458                "CONS-TYPE-CDR-TYPE" "CONS-TYPE-P" "CONSED-SEQUENCE"
1459                "CONSTANT" "CONSTANT-TYPE" "CONSTANT-TYPE-P"
1460                "CONSTANT-TYPE-TYPE" "CONTAINING-INTEGER-TYPE"
1461                "CONTROL-STACK-POINTER-SAP" "COPY-BYTE-VECTOR-TO-SYSTEM-AREA"
1462                "CSUBTYPEP" "CTYPE" "TYPE-HASH-VALUE" "CTYPE-OF"
1463                "CTYPE-P" "CTYPEP" "CURRENT-FP" "CURRENT-SP"
1464                "CURRENT-DYNAMIC-SPACE-START"
1465                "DATA-VECTOR-REF" "DATA-VECTOR-REF-WITH-OFFSET"
1466                "DATA-VECTOR-SET" "DATA-VECTOR-SET-WITH-OFFSET"
1467                "DECLARATION-TYPE-CONFLICT-ERROR"
1468                "DECODE-DOUBLE-FLOAT"
1469                #!+long-float "DECODE-LONG-FLOAT"
1470                "DECODE-SINGLE-FLOAT"
1471                "DEFINE-STRUCTURE-SLOT-ADDRESSOR"
1472                "DEFINED-FTYPE-MATCHES-DECLARED-FTYPE-P"
1473                "!DEFSTRUCT-WITH-ALTERNATE-METACLASS" "DESCEND-INTO"
1474                "DIVISION-BY-ZERO-ERROR" "DOUBLE-FLOAT-EXPONENT"
1475                "DOUBLE-FLOAT-HIGH-BITS" "DOUBLE-FLOAT-INT-EXPONENT"
1476                "DOUBLE-FLOAT-LOW-BITS" "DOUBLE-FLOAT-SIGNIFICAND"
1477                "FLOAT-WAIT" "DYNAMIC-SPACE-FREE-POINTER" "DYNAMIC-USAGE"
1478                "EFFECTIVE-FIND-POSITION-TEST"
1479                "EFFECTIVE-FIND-POSITION-KEY" "ERROR-NUMBER-OR-LOSE"
1480                "EXTENDED-CHAR-P" "EXTERNAL-FORMAT-DESIGNATOR"
1481                "FDEFINITION-OBJECT"
1482                "FDOCUMENTATION" "FILENAME"
1483                "FIND-AND-INIT-OR-CHECK-LAYOUT"
1484                "FIND-DEFSTRUCT-DESCRIPTION"
1485                "FLOAT-EXPONENT"
1486                "FLOAT-FORMAT-DIGITS" "FLOAT-FORMAT-NAME"
1487                "FLOAT-FORMAT-MAX" "FLOAT-INT-EXPONENT"
1488                "FLOATING-POINT-EXCEPTION" "FORM" "FORMAT-CONTROL"
1489                "*FREE-INTERRUPT-CONTEXT-INDEX*" "FUNCALLABLE-INSTANCE-P"
1490                "FUN-CODE-HEADER" "FUN-TYPE" "FUN-TYPE-ALLOWP"
1491                "FUN-TYPE-KEYP" "FUN-TYPE-KEYWORDS" "FUN-TYPE-NARGS"
1492                "FUN-TYPE-OPTIONAL" "FUN-TYPE-P" "FUN-TYPE-REQUIRED"
1493                "FUN-TYPE-REST" "FUN-TYPE-RETURNS" "FUN-TYPE-WILD-ARGS"
1494                "FUN-WORD-OFFSET" "GENERALIZED-BOOLEAN"
1495                "GET-CLOSURE-LENGTH" "GET-HEADER-DATA"
1496                "GET-LISP-OBJ-ADDRESS" "LOWTAG-OF" "WIDETAG-OF"
1497                "HAIRY-DATA-VECTOR-REF"
1498                "HAIRY-DATA-VECTOR-REF/CHECK-BOUNDS"  "HAIRY-DATA-VECTOR-SET"
1499                "HAIRY-DATA-VECTOR-SET/CHECK-BOUNDS""HAIRY-TYPE"
1500                "HAIRY-TYPE-CHECK-TEMPLATE-NAME" "HAIRY-TYPE-SPECIFIER"
1501                "HANDLE-CIRCULARITY" "HOST" "IGNORE-IT" "ILL-BIN"
1502                "ILL-BOUT" "ILL-IN" "ILL-OUT" "INDEX-OR-MINUS-1"
1503                "INDEX-TOO-LARGE-ERROR" "*!INITIAL-ASSEMBLER-ROUTINES*"
1504                "*!INITIAL-DEBUG-SOURCES*"
1505                "*!INITIAL-FDEFN-OBJECTS*" "*!INITIAL-FOREIGN-SYMBOLS*"
1506                "*!INITIAL-LAYOUTS*" "*!INITIAL-SYMBOLS*"
1507                "INTEGER-DECODE-DOUBLE-FLOAT"
1508                #!+long-float "INTEGER-DECODE-LONG-FLOAT"
1509                "INTEGER-DECODE-SINGLE-FLOAT" "INTERNAL-ERROR"
1510                #!+win32 "HANDLE-WIN32-EXCEPTION"
1511                "INTERNAL-TIME" "INTERSECTION-TYPE" "INTERSECTION-TYPE-P"
1512                "INTERSECTION-TYPE-TYPES" "INVALID-ARG-COUNT-ERROR"
1513                "INVALID-UNWIND-ERROR"
1514                "IRRATIONAL" "JUST-DUMP-IT-NORMALLY" "KEY-INFO"
1515                "KEY-INFO-NAME" "KEY-INFO-P" "KEY-INFO-TYPE"
1516                "LAYOUT-DEPTHOID" "LAYOUT-INVALID-ERROR"
1517                "LAYOUT-N-UNTAGGED-SLOTS" "LAYOUT-FOR-STD-CLASS-P"
1518                "LAYOUT-SLOT-TABLE"
1519                #!+(or x86-64 x86) "%LEA"
1520                "LEXENV" "LEXENV-DESIGNATOR" "LINE-LENGTH"
1521                "LIST-COPY-SEQ*"
1522                "LIST-FILL*"
1523                "LIST-SUBSEQ*"
1524                "ANSI-STREAM"
1525                "ANSI-STREAM-BIN" "ANSI-STREAM-BOUT" "ANSI-STREAM-CLOSE"
1526                "ANSI-STREAM-ELEMENT-TYPE"
1527                "ANSI-STREAM-FILE-POSITION"
1528                "ANSI-STREAM-IN"
1529                "ANSI-STREAM-IN-BUFFER" "ANSI-STREAM-IN-INDEX"
1530                "ANSI-STREAM-INPUT-STREAM-P" "ANSI-STREAM-MISC"
1531                "ANSI-STREAM-N-BIN" "ANSI-STREAM-OPEN-STREAM-P"
1532                "ANSI-STREAM-OUT" "ANSI-STREAM-SOUT"
1533                "ANSI-STREAM-OUTPUT-STREAM-P"
1534                "COMPLEX-VECTOR"
1535                "LIST-TO-VECTOR*"
1536                "LOGICAL-HOST" "LOGICAL-HOST-DESIGNATOR"
1537                #!+long-float "LONG-FLOAT-EXPONENT"
1538                #!+long-float "LONG-FLOAT-EXP-BITS"
1539                #!+long-float "LONG-FLOAT-HIGH-BITS"
1540                #!+long-float "LONG-FLOAT-LOW-BITS"
1541                #!+long-float "LONG-FLOAT-MID-BITS"
1542                "LONG-WORDS" "LRA" "LRA-CODE-HEADER" "LRA-P"
1543                "MAKE-ALIEN-TYPE-TYPE" "MAKE-ARGS-TYPE"
1544                "MAKE-ARRAY-HEADER" "MAKE-ARRAY-TYPE" "MAKE-CONS-TYPE"
1545                "MAKE-DOUBLE-FLOAT" "MAKE-FUN-TYPE" "MAKE-KEY-INFO"
1546                "MAKE-LISP-OBJ"
1547                #!+long-float "MAKE-LONG-FLOAT"
1548                "MAKE-MEMBER-TYPE" "MAKE-NAMED-TYPE" "MAKE-NULL-LEXENV"
1549                "MAKE-NUMERIC-TYPE"
1550                "MAKE-SINGLE-FLOAT" "MAKE-SPECIALIZABLE-ARRAY"
1551                "MAKE-UNPORTABLE-FLOAT"
1552                "MAKE-SHORT-VALUES-TYPE" "MAKE-SINGLE-VALUE-TYPE"
1553                "MAKE-VALUE-CELL" "MAKE-VALUES-TYPE"
1554                "MAPC-MEMBER-TYPE-MEMBERS" "MAPCAR-MEMBER-TYPE-MEMBERS"
1555                "MEMBER-TYPE" "MEMBER-TYPE-MEMBERS" "MEMBER-TYPE-P"
1556                "MEMBER-TYPE-SIZE" "MERGE-BITS"
1557                "MODIFIED-NUMERIC-TYPE"
1558                "MOST-NEGATIVE-EXACTLY-DOUBLE-FLOAT-FIXNUM"
1559                "MOST-NEGATIVE-EXACTLY-SINGLE-FLOAT-FIXNUM"
1560                "MOST-POSITIVE-EXACTLY-DOUBLE-FLOAT-FIXNUM"
1561                "MOST-POSITIVE-EXACTLY-SINGLE-FLOAT-FIXNUM"
1562                "MUTATOR-SELF" "NAMED-TYPE"
1563                "NAMED-TYPE-NAME" "NAMED-TYPE-P" "NATIVE-BYTE-ORDER"
1564                "NEGATE" "NEGATION-TYPE" "NEGATION-TYPE-TYPE"
1565                "NEVER-SUBTYPEP" "NIL-ARRAY-ACCESSED-ERROR"
1566                "NIL-FUN-RETURNED-ERROR" "NOT-<=-ERROR" "NOT-=-ERROR"
1567                "NOT-DUMPED-AT-ALL" "NUMERIC-CONTAGION" "NUMERIC-TYPE"
1568                "NUMERIC-TYPE-CLASS" "NUMERIC-TYPE-COMPLEXP"
1569                "NUMERIC-TYPE-EQUAL" "NUMERIC-TYPE-FORMAT"
1570                "NUMERIC-TYPE-HIGH" "NUMERIC-TYPE-LOW" "NUMERIC-TYPE-P"
1571                "OBJECT-NOT-ARRAY-ERROR" "OBJECT-NOT-CHARACTER-ERROR"
1572                "OBJECT-NOT-BASE-STRING-ERROR" "OBJECT-NOT-BIGNUM-ERROR"
1573                "OBJECT-NOT-BIT-VECTOR-ERROR"
1574                #!+sb-unicode "OBJECT-NOT-CHARACTER-STRING-ERROR"
1575                "OBJECT-NOT-COMPLEX-ERROR"
1576                "OBJECT-NOT-COMPLEX-FLOAT-ERROR"
1577                "OBJECT-NOT-COMPLEX-SINGLE-FLOAT-ERROR"
1578                #!+long-float "OBJECT-NOT-COMPLEX-LONG-FLOAT-ERROR"
1579                "OBJECT-NOT-COMPLEX-DOUBLE-FLOAT-ERROR"
1580                "OBJECT-NOT-COMPLEX-RATIONAL-ERROR"
1581                ;; FIXME: It's confusing using "complex" to mean both
1582                ;; "not on the real number line" and "not of a
1583                ;; SIMPLE-ARRAY nature". Perhaps we could rename all the
1584                ;; uses in the second sense as "hairy" instead?
1585                "OBJECT-NOT-COMPLEX-VECTOR-ERROR" "OBJECT-NOT-CONS-ERROR"
1586                "OBJECT-NOT-DOUBLE-FLOAT-ERROR" "OBJECT-NOT-FIXNUM-ERROR"
1587                "OBJECT-NOT-FLOAT-ERROR" "OBJECT-NOT-FUN-ERROR"
1588                "OBJECT-NOT-INSTANCE-ERROR" "OBJECT-NOT-INTEGER-ERROR"
1589                "OBJECT-NOT-LIST-ERROR"
1590                #!+long-float "OBJECT-NOT-LONG-FLOAT-ERROR"
1591                "OBJECT-NOT-NUMBER-ERROR" "OBJECT-NOT-RATIO-ERROR"
1592                "OBJECT-NOT-RATIONAL-ERROR" "OBJECT-NOT-REAL-ERROR"
1593                "OBJECT-NOT-SAP-ERROR" "OBJECT-NOT-SIGNED-BYTE-32-ERROR"
1594                ;; FIXME: 32/64-bit issues
1595                "OBJECT-NOT-SIGNED-BYTE-64-ERROR"
1596                "OBJECT-NOT-SIMPLE-ARRAY-COMPLEX-DOUBLE-FLOAT-ERROR"
1597                #!+long-float
1598                "OBJECT-NOT-SIMPLE-ARRAY-COMPLEX-LONG-FLOAT-ERROR"
1599                "OBJECT-NOT-SIMPLE-ARRAY-COMPLEX-SINGLE-FLOAT-ERROR"
1600                "OBJECT-NOT-SIMPLE-ARRAY-DOUBLE-FLOAT-ERROR"
1601                "OBJECT-NOT-SIMPLE-ARRAY-ERROR"
1602                #!+long-float "OBJECT-NOT-SIMPLE-ARRAY-LONG-FLOAT-ERROR"
1603                "OBJECT-NOT-SIMPLE-ARRAY-NIL-ERROR"
1604                "OBJECT-NOT-SIMPLE-ARRAY-SINGLE-FLOAT-ERROR"
1605                "OBJECT-NOT-SIMPLE-ARRAY-UNSIGNED-BYTE-15-ERROR"
1606                "OBJECT-NOT-SIMPLE-ARRAY-UNSIGNED-BYTE-16-ERROR"
1607                "OBJECT-NOT-SIMPLE-ARRAY-UNSIGNED-BYTE-2-ERROR"
1608                ;; KLUDGE: 32-bit and 64-bit ports implement a different
1609                ;; set of specialized array types.  Various bits of code
1610                ;; in SBCL assume that symbols connected to the
1611                ;; specialized array types are exported.  But there's not
1612                ;; a good way at this point to know whether the port for
1613                ;; which we're building is 32-bit or 64-bit.  Granted, we
1614                ;; could hardcode the particulars (or even come up with a
1615                ;; special :64BIT feature), but that seems a little
1616                ;; inelegant.  For now, we brute-force the issue by
1617                ;; always exporting all the names required for both
1618                ;; 32-bit and 64-bit ports.  Other bits connected to the
1619                ;; same issue are noted throughout the code below with
1620                ;; the tag "32/64-bit issues".  --njf, 2004-08-09
1621                "OBJECT-NOT-SIMPLE-ARRAY-UNSIGNED-FIXNUM-ERROR"
1622                "OBJECT-NOT-SIMPLE-ARRAY-UNSIGNED-BYTE-31-ERROR"
1623                "OBJECT-NOT-SIMPLE-ARRAY-UNSIGNED-BYTE-32-ERROR"
1624                "OBJECT-NOT-SIMPLE-ARRAY-UNSIGNED-BYTE-4-ERROR"
1625                ;; FIXME: 32/64-bit issues
1626                "OBJECT-NOT-SIMPLE-ARRAY-UNSIGNED-BYTE-63-ERROR"
1627                "OBJECT-NOT-SIMPLE-ARRAY-UNSIGNED-BYTE-64-ERROR"
1628                "OBJECT-NOT-SIMPLE-ARRAY-UNSIGNED-BYTE-7-ERROR"
1629                "OBJECT-NOT-SIMPLE-ARRAY-UNSIGNED-BYTE-8-ERROR"
1630                "OBJECT-NOT-SIMPLE-ARRAY-SIGNED-BYTE-16-ERROR"
1631                "OBJECT-NOT-SIMPLE-ARRAY-FIXNUM-ERROR"
1632                "OBJECT-NOT-SIMPLE-ARRAY-SIGNED-BYTE-32-ERROR"
1633                "OBJECT-NOT-SIMPLE-ARRAY-SIGNED-BYTE-64-ERROR"
1634                "OBJECT-NOT-SIMPLE-ARRAY-SIGNED-BYTE-8-ERROR"
1635                "OBJECT-NOT-SIMPLE-BIT-VECTOR-ERROR"
1636                "OBJECT-NOT-SIMPLE-BASE-STRING-ERROR"
1637                #!+sb-unicode "OBJECT-NOT-SIMPLE-CHARACTER-STRING-ERROR"
1638                "OBJECT-NOT-SIMPLE-STRING-ERROR"
1639                "OBJECT-NOT-SIMPLE-VECTOR-ERROR"
1640                "OBJECT-NOT-SINGLE-FLOAT-ERROR" "OBJECT-NOT-STRING-ERROR"
1641                "OBJECT-NOT-INSTANCE-ERROR" "OBJECT-NOT-SYMBOL-ERROR"
1642                "OBJECT-NOT-TYPE-ERROR"
1643                "OBJECT-NOT-UNSIGNED-BYTE-32-ERROR"
1644                ;; FIXME: 32/64-bit issues
1645                "OBJECT-NOT-UNSIGNED-BYTE-64-ERROR"
1646                "OBJECT-NOT-VECTOR-ERROR"
1647                "OBJECT-NOT-VECTOR-NIL-ERROR"
1648                "OBJECT-NOT-WEAK-POINTER-ERROR"
1649                "ODD-KEY-ARGS-ERROR" "OUTPUT-OBJECT" "OUTPUT-UGLY-OBJECT"
1650                "PACKAGE-DESIGNATOR" "PACKAGE-DOC-STRING"
1651                "PACKAGE-HASHTABLE-SIZE" "PACKAGE-HASHTABLE-FREE"
1652                "PACKAGE-INTERNAL-SYMBOLS" "PACKAGE-EXTERNAL-SYMBOLS"
1653                "PARSE-DEFMACRO" "PARSE-UNKNOWN-TYPE"
1654                "PARSE-UNKNOWN-TYPE-SPECIFIER" "PATHNAME-DESIGNATOR"
1655                "POINTER-HASH"
1656                #!+(or x86 x86-64) "*PSEUDO-ATOMIC-BITS*"
1657                "PUNT-PRINT-IF-TOO-LONG"
1658                "RANDOM-DOCUMENTATION"
1659                "RAW-INSTANCE-SLOTS-EQUALP"
1660                "READER-IMPOSSIBLE-NUMBER-ERROR"
1661                "READER-EOF-ERROR"
1662                "RESTART-DESIGNATOR"
1663                "RUN-PENDING-FINALIZERS"
1664                "SCALE-DOUBLE-FLOAT"
1665                #!+long-float "SCALE-LONG-FLOAT"
1666                "SCALE-SINGLE-FLOAT"
1667                "SCRUB-POWER-CACHE"
1668                "SEQUENCEP" "SEQUENCE-COUNT" "SEQUENCE-END"
1669                "SEQUENCE-OF-CHECKED-LENGTH-GIVEN-TYPE"
1670                "SET-ARRAY-HEADER" "SET-HEADER-DATA" "SHIFT-TOWARDS-END"
1671                "SHIFT-TOWARDS-START" "SHRINK-VECTOR" "%SHRINK-VECTOR"
1672                ;; FIXME: 32/64-bit issues
1673                "SIGNED-BYTE-32-P" "SIGNED-BYTE-64-P"
1674                "SIMPLE-ARRAY-COMPLEX-DOUBLE-FLOAT-P"
1675                #!+long-float "SIMPLE-ARRAY-COMPLEX-LONG-FLOAT-P"
1676                "SIMPLE-ARRAY-COMPLEX-SINGLE-FLOAT-P"
1677                "SIMPLE-ARRAY-DOUBLE-FLOAT-P"
1678                #!+long-float "SIMPLE-ARRAY-LONG-FLOAT-P"
1679                "SIMPLE-ARRAY-NIL-P" "SIMPLE-ARRAY-P"
1680                "SIMPLE-ARRAY-SINGLE-FLOAT-P"
1681                "SIMPLE-ARRAY-UNSIGNED-BYTE-15-P"
1682                "SIMPLE-ARRAY-UNSIGNED-BYTE-16-P"
1683                "SIMPLE-ARRAY-UNSIGNED-BYTE-2-P"
1684                "SIMPLE-ARRAY-UNSIGNED-FIXNUM-P"
1685                "SIMPLE-ARRAY-UNSIGNED-BYTE-31-P"
1686                "SIMPLE-ARRAY-UNSIGNED-BYTE-32-P"
1687                "SIMPLE-ARRAY-UNSIGNED-BYTE-4-P"
1688                "SIMPLE-ARRAY-UNSIGNED-BYTE-63-P"
1689                "SIMPLE-ARRAY-UNSIGNED-BYTE-64-P"
1690                "SIMPLE-ARRAY-UNSIGNED-BYTE-7-P"
1691                "SIMPLE-ARRAY-UNSIGNED-BYTE-8-P"
1692                "SIMPLE-ARRAY-SIGNED-BYTE-16-P"
1693                "SIMPLE-ARRAY-FIXNUM-P"
1694                "SIMPLE-ARRAY-SIGNED-BYTE-32-P"
1695                "SIMPLE-ARRAY-SIGNED-BYTE-64-P"
1696                "SIMPLE-ARRAY-SIGNED-BYTE-8-P" "SIMPLE-BASE-STRING-P"
1697                #!+sb-unicode "SIMPLE-CHARACTER-STRING-P"
1698                "SIMPLE-PACKAGE-ERROR" "SIMPLE-UNBOXED-ARRAY"
1699                "SINGLE-FLOAT-BITS" "SINGLE-FLOAT-EXPONENT"
1700                "SINGLE-FLOAT-INT-EXPONENT" "SINGLE-FLOAT-SIGNIFICAND"
1701                "SINGLE-VALUE-TYPE" "SINGLE-VALUE-SPECIFIER-TYPE"
1702                "SPECIALIZABLE" "SPECIALIZABLE-VECTOR" "SPECIFIER-TYPE"
1703                "STACK-REF" "STREAM-DESIGNATOR" "STRING-DESIGNATOR"
1704                "STRING-FILL*"
1705                "STRUCTURE-RAW-SLOT-TYPE-AND-SIZE" "SUB-GC"
1706                "SYMBOLS-DESIGNATOR"
1707                "%INSTANCE-LENGTH"
1708                "%INSTANCE-REF"
1709                "%INSTANCE-SET"
1710                "SYSTEM-AREA-CLEAR"
1711                "TLS-EXHAUSTED-ERROR"
1712                "TWO-ARG-*" "TWO-ARG-+" "TWO-ARG--" "TWO-ARG-/"
1713                "TWO-ARG-/=" "TWO-ARG-<" "TWO-ARG-<=" "TWO-ARG-="
1714                "TWO-ARG->" "TWO-ARG->=" "TWO-ARG-AND" "TWO-ARG-EQV"
1715                "TWO-ARG-GCD" "TWO-ARG-IOR" "TWO-ARG-LCM" "TWO-ARG-XOR"
1716                "TYPE-*-TO-T"
1717                "TYPE-DIFFERENCE" "TYPE-EXPAND" "TYPE-INTERSECTION"
1718                "TYPE-INTERSECTION2" "TYPE-APPROX-INTERSECTION2"
1719                "TYPE-SINGLETON-P"
1720                "TYPE-SINGLE-VALUE-P" "TYPE-SPECIFIER" "TYPE-UNION"
1721                "TYPE/=" "TYPE=" "TYPES-EQUAL-OR-INTERSECT"
1722                "UNBOUND-SYMBOL-ERROR" "UNBOXED-ARRAY"
1723                "UNDEFINED-FUN-ERROR" "UNION-TYPE" "UNION-TYPE-P"
1724                "UNION-TYPE-TYPES" "UNKNOWN-ERROR"
1725                "UNKNOWN-KEY-ARG-ERROR" "UNKNOWN-TYPE" "UNKNOWN-TYPE-P"
1726                "UNKNOWN-TYPE-SPECIFIER" "UNSEEN-THROW-TAG-ERROR"
1727                ;; FIXME: 32/64-bit issues
1728                "UNSIGNED-BYTE-32-P" "UNSIGNED-BYTE-64-P"
1729                "UPDATE-OBJECT-LAYOUT-OR-INVALID"
1730                "VALUE-CELL-REF" "VALUE-CELL-SET" "VALUES-SPECIFIER-TYPE"
1731                "VALUES-SPECIFIER-TYPE-CACHE-CLEAR" "VALUES-SUBTYPEP"
1732                "VALUES-TYPE" "VALUES-TYPE-IN"
1733                "VALUES-TYPE-INTERSECTION"
1734                "VALUES-TYPE-MIN-VALUE-COUNT" "VALUES-TYPE-MAX-VALUE-COUNT"
1735                "VALUES-TYPE-MAY-BE-SINGLE-VALUE-P" "VALUES-TYPE-OPTIONAL"
1736                "VALUES-TYPE-OUT" "VALUES-TYPE-P" "VALUES-TYPE-REQUIRED"
1737                "VALUES-TYPE-REST" "VALUES-TYPE-UNION"
1738                "VALUES-TYPE-TYPES" "VALUES-TYPES"
1739                "VALUES-TYPES-EQUAL-OR-INTERSECT"
1740
1741                "*VECTOR-WITHOUT-COMPLEX-TYPECODE-INFOS*"
1742                "VECTOR-SINGLE-FLOAT-P" "VECTOR-DOUBLE-FLOAT-P"
1743                "VECTOR-UNSIGNED-BYTE-2-P" "VECTOR-UNSIGNED-BYTE-4-P"
1744                "VECTOR-UNSIGNED-BYTE-7-P" "VECTOR-UNSIGNED-BYTE-8-P"
1745                "VECTOR-UNSIGNED-BYTE-15-P" "VECTOR-UNSIGNED-BYTE-16-P"
1746                "VECTOR-UNSIGNED-FIXNUM-P" "VECTOR-UNSIGNED-BYTE-31-P"
1747                "VECTOR-UNSIGNED-BYTE-32-P"
1748                "VECTOR-UNSIGNED-BYTE-63-P" "VECTOR-UNSIGNED-BYTE-64-P"
1749                "VECTOR-SIGNED-BYTE-8-P" "VECTOR-SIGNED-BYTE-16-P"
1750                "VECTOR-FIXNUM-P" "VECTOR-SIGNED-BYTE-32-P"
1751                "VECTOR-SIGNED-BYTE-64-P" "VECTOR-COMPLEX-SINGLE-FLOAT-P"
1752                "VECTOR-COMPLEX-DOUBLE-FLOAT-P" "VECTOR-T-P"
1753
1754                "VECTOR-NIL-P"
1755                "VECTOR-FILL*"
1756                "VECTOR-SUBSEQ*"
1757                "VECTOR-TO-VECTOR*"
1758                "VECTOR-OF-CHECKED-LENGTH-GIVEN-LENGTH" "WITH-ARRAY-DATA"
1759                "WITH-CIRCULARITY-DETECTION" "WRONG-NUMBER-OF-INDICES-ERROR"
1760                "WITH-WORLD-LOCK"
1761
1762                ;; bit bash fillers (FIXME: 32/64-bit issues)
1763                "UB1-BASH-FILL" "SYSTEM-AREA-UB1-FILL"
1764                "UB2-BASH-FILL" "SYSTEM-AREA-UB2-FILL"
1765                "UB4-BASH-FILL" "SYSTEM-AREA-UB4-FILL"
1766                "UB8-BASH-FILL" "SYSTEM-AREA-UB8-FILL"
1767                "UB16-BASH-FILL" "SYSTEM-AREA-UB16-FILL"
1768                "UB32-BASH-FILL" "SYSTEM-AREA-UB32-FILL"
1769                "UB64-BASH-FILL" "SYSTEM-AREA-UB64-FILL"
1770
1771                ;; bit bash copiers (FIXME: 32/64-bit issues)
1772                "UB1-BASH-COPY" "SYSTEM-AREA-UB1-COPY"
1773                "COPY-UB1-TO-SYSTEM-AREA" "COPY-UB1-FROM-SYSTEM-AREA"
1774                "UB2-BASH-COPY" "SYSTEM-AREA-UB2-COPY"
1775                "COPY-UB2-TO-SYSTEM-AREA" "COPY-UB2-FROM-SYSTEM-AREA"
1776                "UB4-BASH-COPY" "SYSTEM-AREA-UB4-COPY"
1777                "COPY-UB4-TO-SYSTEM-AREA" "COPY-UB4-FROM-SYSTEM-AREA"
1778                "UB8-BASH-COPY" "SYSTEM-AREA-UB8-COPY"
1779                "COPY-UB8-TO-SYSTEM-AREA" "COPY-UB8-FROM-SYSTEM-AREA"
1780                "UB16-BASH-COPY" "SYSTEM-AREA-UB16-COPY"
1781                "COPY-UB16-TO-SYSTEM-AREA" "COPY-UB16-FROM-SYSTEM-AREA"
1782                "UB32-BASH-COPY" "SYSTEM-AREA-UB32-COPY"
1783                "COPY-UB32-TO-SYSTEM-AREA" "COPY-UB32-FROM-SYSTEM-AREA"
1784                "UB64-BASH-COPY" "SYSTEM-AREA-UB64-COPY"
1785                "COPY-UB64-TO-SYSTEM-AREA" "COPY-UB64-FROM-SYSTEM-AREA"
1786
1787                ;; Bit bashing position for bit-vectors
1788                "%BIT-POSITION"
1789                "%BIT-POSITION/0"
1790                "%BIT-POSITION/1"
1791
1792                ;; SIMPLE-FUN type and accessors
1793                "SIMPLE-FUN"
1794                "SIMPLE-FUN-P"
1795                "%SIMPLE-FUN-ARGLIST"
1796                "%SIMPLE-FUN-DOC"
1797                "%SIMPLE-FUN-INFO"
1798                "%SIMPLE-FUN-NAME"
1799                "%SIMPLE-FUN-NEXT"
1800                "%SIMPLE-FUN-SELF"
1801                "%SIMPLE-FUN-TYPE"
1802                "%SIMPLE-FUN-XREFS"
1803
1804                ;; CLOSURE type and accessors
1805                "CLOSURE"
1806                "CLOSUREP"
1807                "DO-CLOSURE-VALUES"
1808                "%CLOSURE-FUN"
1809                "%CLOSURE-INDEX-REF"
1810                "%CLOSURE-VALUES"
1811
1812                ;; Abstract function accessors
1813                "%FUN-DOC"
1814                "%FUN-FUN"
1815                "%FUN-LAMBDA-LIST"
1816                "%FUN-NAME"
1817
1818                "FDEFN" "MAKE-FDEFN" "FDEFN-P" "FDEFN-NAME" "FDEFN-FUN"
1819                "FDEFN-MAKUNBOUND" "OUTER-FDEFN"
1820                "%COERCE-CALLABLE-TO-FUN" "FUN-SUBTYPE"
1821                "*MAXIMUM-ERROR-DEPTH*" "%SET-SYMBOL-PLIST"
1822                "INFINITE-ERROR-PROTECT"
1823                "FIND-CALLER-NAME-AND-FRAME"
1824                "FIND-INTERRUPTED-NAME-AND-FRAME"
1825                "%SET-SYMBOL-VALUE" "%SET-SYMBOL-GLOBAL-VALUE" "%SET-SYMBOL-PACKAGE"
1826                "OUTPUT-SYMBOL-NAME" "%COERCE-NAME-TO-FUN"
1827                "INVOKE-MACROEXPAND-HOOK" "DEFAULT-STRUCTURE-PRINT"
1828                "LAYOUT" "LAYOUT-LENGTH" "LAYOUT-PURE" "DSD-RAW-TYPE"
1829                "DEFSTRUCT-DESCRIPTION" "UNDECLARE-STRUCTURE" "DD-COPIER"
1830                "UNDEFINE-FUN-NAME" "DD-TYPE" "CLASSOID-STATE" "INSTANCE"
1831                "*TYPE-SYSTEM-INITIALIZED*" "FIND-LAYOUT" "DSD-NAME"
1832                "%TYPEP" "DD-RAW-INDEX" "DD-NAME" "CLASSOID-SUBCLASSES"
1833                "CLASSOID-LAYOUT" "CLASSOID-NAME" "CLASSOID-P"
1834                "DD-RAW-LENGTH" "NOTE-NAME-DEFINED" "%CODE-CODE-SIZE"
1835                "DD-SLOTS" "DD-INCLUDE" "SLOT-SETTER-LAMBDA-FORM"
1836                "%IMAGPART" "DSD-ACCESSOR-NAME" "%CODE-DEBUG-INFO"
1837                "LAYOUT-CLASSOID" "LAYOUT-INVALID"
1838                "DSD-TYPE" "%INSTANCEP" "DEFSTRUCT-SLOT-DESCRIPTION"
1839                "DD-PREDICATE-NAME"
1840                "CLASSOID-PROPER-NAME" "%NOTE-TYPE-DEFINED" "LAYOUT-INFO"
1841                "%SET-INSTANCE-LAYOUT" "DD-DEFAULT-CONSTRUCTOR"
1842                "LAYOUT-OF" "%REALPART"
1843                "STRUCTURE-CLASSOID-P" "DSD-INDEX" "STRUCTURE-CLASSOID"
1844                "%INSTANCE-LAYOUT" "LAYOUT-CLOS-HASH"
1845                "PROCLAIM-AS-FUN-NAME" "BECOME-DEFINED-FUN-NAME"
1846                "%NUMERATOR" "CLASSOID-TYPEP" "DSD-READ-ONLY"
1847                "DSD-DEFAULT" "LAYOUT-INHERITS" "DD-LENGTH"
1848                "%CODE-ENTRY-POINTS" "%DENOMINATOR"
1849                "%OTHER-POINTER-P"
1850
1851                "STANDARD-CLASSOID" "CLASSOID-OF"
1852                "MAKE-STANDARD-CLASSOID"
1853                "CLASSOID-CELL-CLASSOID"
1854                "CLASSOID-CELL-NAME"
1855                "CLASSOID-CELL-PCL-CLASS"
1856                "CLASSOID-CELL-TYPEP"
1857                "%CLEAR-CLASSOID"
1858                "FIND-CLASSOID-CELL" "EXTRACT-FUN-TYPE"
1859                "%RANDOM-DOUBLE-FLOAT"
1860                #!+long-float "%RANDOM-LONG-FLOAT"
1861                "%RANDOM-SINGLE-FLOAT" "STATIC-CLASSOID"
1862                "%FUNCALLABLE-INSTANCE-INFO" "RANDOM-CHUNK" "BIG-RANDOM-CHUNK"
1863                "LAYOUT-CLOS-HASH-LIMIT"
1864                "BUILT-IN-CLASSOID-DIRECT-SUPERCLASSES"
1865                "BUILT-IN-CLASSOID-TRANSLATION" "RANDOM-LAYOUT-CLOS-HASH"
1866                "CLASSOID-PCL-CLASS" "FUNCALLABLE-STRUCTURE"
1867                "FUNCALLABLE-INSTANCE-FUN" "%FUNCALLABLE-INSTANCE-LAYOUT"
1868                "%SET-FUNCALLABLE-INSTANCE-LAYOUT"
1869                "BASIC-STRUCTURE-CLASSOID"
1870                "REGISTER-LAYOUT"
1871                "FUNCALLABLE-INSTANCE" "RANDOM-FIXNUM-MAX"
1872                "MAKE-STATIC-CLASSOID"
1873                "%MAKE-SYMBOL"
1874                "%FUNCALLABLE-INSTANCE-FUNCTION" "SYMBOL-HASH"
1875
1876                "EXTENDED-SEQUENCE" "*EXTENDED-SEQUENCE-TYPE*"
1877                "EXTENDED-SEQUENCE-P"
1878
1879                "BUILT-IN-CLASSOID" "CONDITION-CLASSOID-P"
1880                "CONDITION-CLASSOID-SLOTS" "MAKE-UNDEFINED-CLASSOID"
1881                "FIND-CLASSOID" "CLASSOID" "CLASSOID-DIRECT-SUPERCLASSES"
1882                "MAKE-LAYOUT" "REDEFINE-LAYOUT-WARNING" "SLOT-CLASSOID"
1883                "INSURED-FIND-CLASSOID" "ORDER-LAYOUT-INHERITS"
1884                "STD-COMPUTE-CLASS-PRECEDENCE-LIST"
1885
1886                ;; symbols from former SB!CONDITIONS
1887                "*HANDLER-CLUSTERS*" "*RESTART-CLUSTERS*"
1888                "*CONDITION-RESTARTS*" "SHOW-CONDITION" "CASE-FAILURE"
1889                "NAMESTRING-PARSE-ERROR" "NAMESTRING-PARSE-ERROR-OFFSET"
1890                "DESCRIBE-CONDITION" "MAKE-RESTART" "COERCE-TO-CONDITION"
1891
1892                "CONDITION-READER-FUNCTION"
1893                "CONDITION-WRITER-FUNCTION"
1894
1895                "CONDITION-SLOT-ALLOCATION"
1896                "CONDITION-SLOT-DOCUMENTATION"
1897                "CONDITION-SLOT-INITARGS"
1898                "CONDITION-SLOT-INITFORM"
1899                "CONDITION-SLOT-INITFORM-P"
1900                "CONDITION-SLOT-NAME" "CONDITION-SLOT-READERS"
1901                "CONDITION-SLOT-WRITERS"
1902
1903                "REDEFINITION-WARNING"
1904                "REDEFINITION-WITH-DEFUN"
1905                "REDEFINITION-WITH-DEFMACRO"
1906                "REDEFINITION-WITH-DEFGENERIC"
1907                "REDEFINITION-WITH-DEFMETHOD"
1908                "REDEFINITION-REPLACES-GENERIC-FUNCTION-P"
1909                "REDEFINITION-REPLACES-COMPILED-FUNCTION-WITH-INTERPRETED-P"
1910                "UNINTERESTING-ORDINARY-FUNCTION-REDEFINITION-P"
1911                "UNINTERESTING-GENERIC-FUNCTION-REDEFINITION-P"
1912                "UNINTERESTING-METHOD-REDEFINITION-P"
1913                "UNINTERESTING-REDEFINITION"
1914                "REDEFINITION-WITH-DEFTRANSFORM"
1915
1916                "DUBIOUS-ASTERISKS-AROUND-VARIABLE-NAME"
1917                "ASTERISKS-AROUND-LEXICAL-VARIABLE-NAME"
1918                "ASTERISKS-AROUND-CONSTANT-VARIABLE-NAME"
1919                "UNDEFINED-ALIEN-STYLE-WARNING"
1920                #!+sb-eval
1921                "LEXICAL-ENVIRONMENT-TOO-COMPLEX"
1922                "CHARACTER-DECODING-ERROR-IN-COMMENT"
1923                "DEPRECATED-EVAL-WHEN-SITUATIONS"
1924                "PROCLAMATION-MISMATCH"
1925                "TYPE-PROCLAMATION-MISMATCH"
1926                "FTYPE-PROCLAMATION-MISMATCH"
1927
1928                "!COLD-INIT" "!UNINTERN-INIT-ONLY-STUFF"
1929                "!GLOBALDB-COLD-INIT" "!FDEFN-COLD-INIT"
1930                "!FOREIGN-COLD-INIT" "!FUNCTION-NAMES-COLD-INIT"
1931                "!TYPE-CLASS-COLD-INIT" "!TYPEDEFS-COLD-INIT"
1932                "!ALIEN-TYPE-COLD-INIT" "!CLASSES-COLD-INIT"
1933                "!DEADLINE-COLD-INIT"
1934                "!EARLY-TYPE-COLD-INIT" "!LATE-TYPE-COLD-INIT"
1935                "!FIXUP-TYPE-COLD-INIT" "!TARGET-TYPE-COLD-INIT"
1936                "!RANDOM-COLD-INIT" "!READER-COLD-INIT"
1937                "!PATHNAME-COLD-INIT" "!DEBUG-INFO-COLD-INIT"
1938                "!TYPECHECKFUNS-COLD-INIT" "!LOADER-COLD-INIT"
1939                "!EXHAUST-COLD-INIT" "!PACKAGE-COLD-INIT"
1940                "!POLICY-COLD-INIT-OR-RESANIFY"
1941                "!VM-TYPE-COLD-INIT" "!BACKQ-COLD-INIT"
1942                "!SHARPM-COLD-INIT" "!EARLY-PROCLAIM-COLD-INIT"
1943                "!LATE-PROCLAIM-COLD-INIT" "!CLASS-FINALIZE"
1944                "!CONSTANTP-COLD-INIT"
1945                "!WORLD-LOCK-COLD-INIT"
1946
1947                "FLOAT-COLD-INIT-OR-REINIT"
1948                "GC-REINIT"
1949                "TIME-REINIT"
1950                "SIGNAL-COLD-INIT-OR-REINIT"
1951                "STREAM-COLD-INIT-OR-RESET"
1952
1953                ;; Cleanups to run before saving a core
1954                "DEBUG-DEINIT"
1955                "FLOAT-DEINIT"
1956                "FOREIGN-DEINIT"
1957                "PROFILE-DEINIT"
1958
1959                ;; Note: These are out of lexicographical order
1960                ;; because in CMU CL they were defined as
1961                ;; internal symbols in package "CL" imported
1962                ;; into package "C", as opposed to what we're
1963                ;; doing here, defining them as external symbols
1964                ;; in a package which is used by both "SB!C" and
1965                ;; "SB!IMPL". (SBCL's "SB!C" is directly
1966                ;; analogous to CMU CL's "C"; and for this
1967                ;; purpose, SBCL's "SB!IMPL" is analogous to CMU
1968                ;; CL's "CL".) As far as I know there's nothing
1969                ;; special about them, so they could be merged
1970                ;; into the same order as everything else in the
1971                ;; in this package. -- WHN 19990911
1972                "STRING>=*" "STRING>*" "STRING=*" "STRING<=*"
1973                "STRING<*" "STRING/=*" "%SVSET"
1974                "%SP-STRING-COMPARE" "%SETNTH" "%SETELT"
1975                "%SET-ROW-MAJOR-AREF" "%SET-FILL-POINTER"
1976                "%SET-FDEFINITION" "%SCHARSET" "%SBITSET"
1977                "%RPLACD" "%RPLACA" "%PUT" "%CHARSET" "%BITSET"
1978                "%ASET" "%ARRAY-TYPEP"))
1979
1980    #s(sb-cold:package-data
1981       :name "SB!THREAD"
1982       :use ("CL" "SB!ALIEN" "SB!INT" "SB!SYS" "SB!KERNEL")
1983       :doc "public (but low-level): native thread support"
1984       :export ("*CURRENT-THREAD*"
1985                "DESTROY-THREAD"
1986                "INTERRUPT-THREAD"
1987                "INTERRUPT-THREAD-ERROR"
1988                "INTERRUPT-THREAD-ERROR-THREAD"
1989                "JOIN-THREAD"
1990                "JOIN-THREAD-ERROR"
1991                "JOIN-THREAD-ERROR-THREAD"
1992                "LIST-ALL-THREADS"
1993                "MAKE-THREAD"
1994                "SYMBOL-VALUE-IN-THREAD"
1995                "SYMBOL-VALUE-IN-THREAD-ERROR"
1996                "TERMINATE-THREAD"
1997                "THREAD"
1998                "THREAD-DEADLOCK"
1999                "THREAD-DEADLOCK-CYCLE"
2000                "THREAD-ERROR"
2001                "THREAD-ERROR-THREAD"
2002                "THREAD-ALIVE-P"
2003                "THREAD-NAME"
2004                "THREAD-YIELD"
2005                ;; Memory barrier
2006                "BARRIER"
2007                ;; Mutexes
2008                "GET-MUTEX"
2009                "GRAB-MUTEX"
2010                "HOLDING-MUTEX-P"
2011                "MAKE-MUTEX"
2012                "MUTEX"
2013                "MUTEX-NAME"
2014                "MUTEX-OWNER"
2015                "MUTEX-VALUE"
2016                "RELEASE-MUTEX"
2017                "WITH-MUTEX"
2018                "WITH-RECURSIVE-LOCK"
2019                ;; Condition variables
2020                "CONDITION-BROADCAST"
2021                "CONDITION-NOTIFY"
2022                "CONDITION-WAIT"
2023                "MAKE-WAITQUEUE"
2024                "WAITQUEUE"
2025                "WAITQUEUE-NAME"
2026                ;; Sessions
2027                "MAKE-LISTENER-THREAD"
2028                "RELEASE-FOREGROUND"
2029                "WITH-NEW-SESSION"
2030                ;; Semaphores
2031                "MAKE-SEMAPHORE"
2032                "SEMAPHORE"
2033                "SEMAPHORE-NAME"
2034                "SEMAPHORE-COUNT"
2035                "SIGNAL-SEMAPHORE"
2036                "TRY-SEMAPHORE"
2037                "WAIT-ON-SEMAPHORE"
2038                ;; Semaphore notification objects
2039                "CLEAR-SEMAPHORE-NOTIFICATION"
2040                "MAKE-SEMAPHORE-NOTIFICATION"
2041                "SEMAPHORE-NOTIFICATION"
2042                "SEMAPHORE-NOTIFICATION-STATUS"))
2043
2044    #s(sb-cold:package-data
2045       :name "SB!LOOP"
2046       :doc "private: implementation details of LOOP"
2047       :use ("CL")
2048       :export ())
2049
2050    #s(sb-cold:package-data
2051       :name "SB!MOP"
2052       :doc
2053       "public: the MetaObject Protocol interface, as defined by
2054 The Art of the Metaobject Protocol, by Kiczales, des Rivieres and Bobrow:
2055 ISBN 0-262-61074-4, with exceptions as noted in the User Manual."
2056       :use ("CL")
2057       :reexport ("ADD-METHOD"
2058                  "ALLOCATE-INSTANCE"
2059                  "CLASS-NAME" "COMPUTE-APPLICABLE-METHODS"
2060                  "ENSURE-GENERIC-FUNCTION" "MAKE-INSTANCE"
2061                  "METHOD-QUALIFIERS" "REMOVE-METHOD"
2062                  "BUILT-IN-CLASS" "CLASS"
2063                  "FUNCTION" "GENERIC-FUNCTION"
2064                  "METHOD" "METHOD-COMBINATION"
2065                  "STANDARD-CLASS" "STANDARD-GENERIC-FUNCTION"
2066                  "STANDARD-METHOD" "STANDARD-OBJECT" "T")
2067       :export ("ADD-DEPENDENT"
2068                "ADD-DIRECT-METHOD"
2069                "ADD-DIRECT-SUBCLASS"
2070                "CLASS-DEFAULT-INITARGS"
2071                "CLASS-DIRECT-DEFAULT-INITARGS"
2072                "CLASS-DIRECT-SLOTS"
2073                "CLASS-DIRECT-SUBCLASSES"
2074                "CLASS-DIRECT-SUPERCLASSES"
2075                "CLASS-FINALIZED-P"
2076                "CLASS-PRECEDENCE-LIST"
2077                "CLASS-PROTOTYPE"
2078                "CLASS-SLOTS"
2079                "COMPUTE-APPLICABLE-METHODS-USING-CLASSES"
2080                "COMPUTE-CLASS-PRECEDENCE-LIST"
2081                "COMPUTE-DEFAULT-INITARGS"
2082                "COMPUTE-DISCRIMINATING-FUNCTION"
2083                "COMPUTE-EFFECTIVE-METHOD"
2084                "COMPUTE-EFFECTIVE-SLOT-DEFINITION"
2085                "COMPUTE-SLOTS"
2086                "DIRECT-SLOT-DEFINITION"
2087                "DIRECT-SLOT-DEFINITION-CLASS"
2088                "EFFECTIVE-SLOT-DEFINITION"
2089                "EFFECTIVE-SLOT-DEFINITION-CLASS"
2090                "ENSURE-CLASS"
2091                "ENSURE-CLASS-USING-CLASS"
2092                "ENSURE-GENERIC-FUNCTION-USING-CLASS"
2093                "EQL-SPECIALIZER"
2094                "EQL-SPECIALIZER-OBJECT"
2095                "EXTRACT-LAMBDA-LIST"
2096                "EXTRACT-SPECIALIZER-NAMES"
2097                "FINALIZE-INHERITANCE"
2098                "FIND-METHOD-COMBINATION"
2099                "FORWARD-REFERENCED-CLASS"
2100                "FUNCALLABLE-STANDARD-CLASS"
2101                "FUNCALLABLE-STANDARD-INSTANCE-ACCESS"
2102                "FUNCALLABLE-STANDARD-OBJECT"
2103                "GENERIC-FUNCTION-ARGUMENT-PRECEDENCE-ORDER"
2104                "GENERIC-FUNCTION-DECLARATIONS"
2105                "GENERIC-FUNCTION-LAMBDA-LIST"
2106                "GENERIC-FUNCTION-METHOD-CLASS"
2107                "GENERIC-FUNCTION-METHOD-COMBINATION"
2108                "GENERIC-FUNCTION-METHODS"
2109                "GENERIC-FUNCTION-NAME"
2110                "INTERN-EQL-SPECIALIZER"
2111                "MAKE-METHOD-LAMBDA"
2112                "MAP-DEPENDENTS"
2113                "METAOBJECT"
2114                "METHOD-FUNCTION"
2115                "METHOD-GENERIC-FUNCTION"
2116                "METHOD-LAMBDA-LIST"
2117                "METHOD-SPECIALIZERS"
2118                "ACCESSOR-METHOD-SLOT-DEFINITION"
2119                "READER-METHOD-CLASS"
2120                "REMOVE-DEPENDENT"
2121                "REMOVE-DIRECT-METHOD"
2122                "REMOVE-DIRECT-SUBCLASS"
2123                "SET-FUNCALLABLE-INSTANCE-FUNCTION"
2124                "SLOT-BOUNDP-USING-CLASS"
2125                "SLOT-DEFINITION"
2126                "SLOT-DEFINITION-ALLOCATION"
2127                "SLOT-DEFINITION-INITARGS"
2128                "SLOT-DEFINITION-INITFORM"
2129                "SLOT-DEFINITION-INITFUNCTION"
2130                "SLOT-DEFINITION-LOCATION"
2131                "SLOT-DEFINITION-NAME"
2132                "SLOT-DEFINITION-READERS"
2133                "SLOT-DEFINITION-WRITERS"
2134                "SLOT-DEFINITION-TYPE"
2135                "SLOT-MAKUNBOUND-USING-CLASS"
2136                "SLOT-VALUE-USING-CLASS"
2137                "SPECIALIZER"
2138                "SPECIALIZER-DIRECT-GENERIC-FUNCTIONS"
2139                "SPECIALIZER-DIRECT-METHODS"
2140                "STANDARD-ACCESSOR-METHOD"
2141                "STANDARD-DIRECT-SLOT-DEFINITION"
2142                "STANDARD-EFFECTIVE-SLOT-DEFINITION"
2143                "STANDARD-INSTANCE-ACCESS"
2144                "STANDARD-READER-METHOD"
2145                "STANDARD-SLOT-DEFINITION"
2146                "STANDARD-WRITER-METHOD"
2147                "UPDATE-DEPENDENT"
2148                "VALIDATE-SUPERCLASS"
2149                "WRITER-METHOD-CLASS"))
2150
2151    #s(sb-cold:package-data
2152       :name "SB!PCL"
2153       :doc
2154       "semi-public: This package includes useful meta-object protocol
2155 extensions, but even they are not guaranteed to be present in later
2156 versions of SBCL, and the other stuff in here is definitely not
2157 guaranteed to be present in later versions of SBCL.  Use of this
2158 package is deprecated in favour of SB-MOP."
2159       :use ("CL" "SB!MOP" "SB!INT" "SB!EXT" "SB!WALKER" "SB!KERNEL")
2160       ;; experimental SBCL-only (for now) symbols
2161       :export ("MAKE-METHOD-SPECIALIZERS-FORM"
2162                "PARSE-SPECIALIZER-USING-CLASS"
2163                "UNPARSE-SPECIALIZER-USING-CLASS"
2164                "+SLOT-UNBOUND+")
2165       ;; FIXME: After a little while, these reexports can probably go
2166       ;; away, as they're superseded by the use of SB-MOP as the
2167       ;; publically-accessible package.
2168       :reexport ( ;; CL symbols
2169                  "ADD-METHOD"
2170                  "ALLOCATE-INSTANCE"
2171                  "CLASS-NAME" "COMPUTE-APPLICABLE-METHODS"
2172                  "ENSURE-GENERIC-FUNCTION" "MAKE-INSTANCE"
2173                  "METHOD-QUALIFIERS" "REMOVE-METHOD"
2174                  ;; MOP symbols
2175                  "ADD-DEPENDENT"
2176                  "ADD-DIRECT-METHOD"
2177                  "ADD-DIRECT-SUBCLASS"
2178                  "CLASS-DEFAULT-INITARGS"
2179                  "CLASS-DIRECT-DEFAULT-INITARGS"
2180                  "CLASS-DIRECT-SLOTS"
2181                  "CLASS-DIRECT-SUBCLASSES"
2182                  "CLASS-DIRECT-SUPERCLASSES"
2183                  "CLASS-FINALIZED-P"
2184                  "CLASS-PRECEDENCE-LIST"
2185                  "CLASS-PROTOTYPE"
2186                  "CLASS-SLOTS"
2187                  "COMPUTE-APPLICABLE-METHODS-USING-CLASSES"
2188                  "COMPUTE-CLASS-PRECEDENCE-LIST"
2189                  "COMPUTE-DEFAULT-INITARGS"
2190                  "COMPUTE-DISCRIMINATING-FUNCTION"
2191                  "COMPUTE-EFFECTIVE-METHOD"
2192                  "COMPUTE-EFFECTIVE-SLOT-DEFINITION"
2193                  "COMPUTE-SLOTS"
2194                  "DIRECT-SLOT-DEFINITION"
2195                  "DIRECT-SLOT-DEFINITION-CLASS"
2196                  "EFFECTIVE-SLOT-DEFINITION"
2197                  "EFFECTIVE-SLOT-DEFINITION-CLASS"
2198                  "ENSURE-CLASS"
2199                  "ENSURE-CLASS-USING-CLASS"
2200                  "ENSURE-GENERIC-FUNCTION-USING-CLASS"
2201                  "EQL-SPECIALIZER"
2202                  "EQL-SPECIALIZER-OBJECT"
2203                  "EXTRACT-LAMBDA-LIST"
2204                  "EXTRACT-SPECIALIZER-NAMES"
2205                  "FINALIZE-INHERITANCE"
2206                  "FIND-METHOD-COMBINATION"
2207                  "FORWARD-REFERENCED-CLASS"
2208                  "FUNCALLABLE-STANDARD-CLASS"
2209                  "FUNCALLABLE-STANDARD-INSTANCE-ACCESS"
2210                  "FUNCALLABLE-STANDARD-OBJECT"
2211                  "GENERIC-FUNCTION-ARGUMENT-PRECEDENCE-ORDER"
2212                  "GENERIC-FUNCTION-DECLARATIONS"
2213                  "GENERIC-FUNCTION-LAMBDA-LIST"
2214                  "GENERIC-FUNCTION-METHOD-CLASS"
2215                  "GENERIC-FUNCTION-METHOD-COMBINATION"
2216                  "GENERIC-FUNCTION-METHODS"
2217                  "GENERIC-FUNCTION-NAME"
2218                  "INTERN-EQL-SPECIALIZER"
2219                  "MAKE-METHOD-LAMBDA"
2220                  "MAP-DEPENDENTS"
2221                  "METHOD-FUNCTION"
2222                  "METHOD-GENERIC-FUNCTION"
2223                  "METHOD-LAMBDA-LIST"
2224                  "METHOD-SPECIALIZERS"
2225                  "ACCESSOR-METHOD-SLOT-DEFINITION"
2226                  "READER-METHOD-CLASS"
2227                  "REMOVE-DEPENDENT"
2228                  "REMOVE-DIRECT-METHOD"
2229                  "REMOVE-DIRECT-SUBCLASS"
2230                  "SET-FUNCALLABLE-INSTANCE-FUNCTION"
2231                  "SLOT-BOUNDP-USING-CLASS"
2232                  "SLOT-DEFINITION"
2233                  "SLOT-DEFINITION-ALLOCATION"
2234                  "SLOT-DEFINITION-INITARGS"
2235                  "SLOT-DEFINITION-INITFORM"
2236                  "SLOT-DEFINITION-INITFUNCTION"
2237                  "SLOT-DEFINITION-LOCATION"
2238                  "SLOT-DEFINITION-NAME"
2239                  "SLOT-DEFINITION-READERS"
2240                  "SLOT-DEFINITION-WRITERS"
2241                  "SLOT-DEFINITION-TYPE"
2242                  "SLOT-MAKUNBOUND-USING-CLASS"
2243                  "SLOT-VALUE-USING-CLASS"
2244                  "SPECIALIZER"
2245                  "SPECIALIZER-DIRECT-GENERIC-FUNCTIONS"
2246                  "SPECIALIZER-DIRECT-METHODS"
2247                  "STANDARD-ACCESSOR-METHOD"
2248                  "STANDARD-DIRECT-SLOT-DEFINITION"
2249                  "STANDARD-EFFECTIVE-SLOT-DEFINITION"
2250                  "STANDARD-INSTANCE-ACCESS"
2251                  "STANDARD-READER-METHOD"
2252                  "STANDARD-SLOT-DEFINITION"
2253                  "STANDARD-WRITER-METHOD"
2254                  "UPDATE-DEPENDENT"
2255                  "VALIDATE-SUPERCLASS"
2256                  "WRITER-METHOD-CLASS"))
2257
2258    #s(sb-cold:package-data
2259       :name "SB!PRETTY"
2260       :doc "private: implementation of pretty-printing"
2261       :use ("CL" "SB!EXT" "SB!INT" "SB!KERNEL")
2262       :export ("OUTPUT-PRETTY-OBJECT"
2263                "PRETTY-STREAM" "PRETTY-STREAM-P"
2264                "PPRINT-DISPATCH-TABLE"
2265                "!PPRINT-COLD-INIT"))
2266
2267    #s(sb-cold:package-data
2268       :name "SB!PROFILE"
2269       :doc "public: the interface to the profiler"
2270       :use ("CL" "SB!EXT" "SB!INT" "SB!KERNEL")
2271       :export ("PROFILE" "REPORT" "RESET" "UNPROFILE"))
2272
2273    #s(sb-cold:package-data
2274       :name "SB!SEQUENCE"
2275       :doc "semi-public: implements something which might eventually
2276 be submitted as a CDR"
2277       :use ()
2278       :export ("DOSEQUENCE"
2279
2280                "MAKE-SEQUENCE-ITERATOR" "MAKE-SIMPLE-SEQUENCE-ITERATOR"
2281
2282                "ITERATOR-STEP" "ITERATOR-ENDP" "ITERATOR-ELEMENT"
2283                "ITERATOR-INDEX" "ITERATOR-COPY"
2284
2285                "WITH-SEQUENCE-ITERATOR" "WITH-SEQUENCE-ITERATOR-FUNCTIONS"
2286
2287                "CANONIZE-TEST" "CANONIZE-KEY"
2288
2289                "LENGTH" "ELT"
2290                "MAKE-SEQUENCE-LIKE" "ADJUST-SEQUENCE"
2291
2292                "COUNT" "COUNT-IF" "COUNT-IF-NOT"
2293                "FIND" "FIND-IF" "FIND-IF-NOT"
2294                "POSITION" "POSITION-IF" "POSITION-IF-NOT"
2295                "SUBSEQ" "COPY-SEQ" "FILL"
2296                "NSUBSTITUTE" "NSUBSTITUTE-IF" "NSUBSTITUTE-IF-NOT"
2297                "SUBSTITUTE" "SUBSTITUTE-IF" "SUBSTITUTE-IF-NOT"
2298                "REPLACE" "REVERSE" "NREVERSE" "REDUCE"
2299                "MISMATCH" "SEARCH"
2300                "DELETE" "DELETE-IF" "DELETE-IF-NOT"
2301                "REMOVE" "REMOVE-IF" "REMOVE-IF-NOT"
2302                "DELETE-DUPLICATES" "REMOVE-DUPLICATES" "SORT" "STABLE-SORT"))
2303
2304    #s(sb-cold:package-data
2305       :name "SB!SYS"
2306       :doc
2307       "private: In theory, this \"contains functions and information
2308 necessary for system interfacing\" (said cmu-user.tex at the time
2309 of the SBCL code fork). That probably was and is a good idea, but in
2310 practice, the distinctions between this package and SB-KERNEL
2311 and even SB-VM seem to have become somewhat blurred over the years.
2312 Some anomalies (e.g. FIND-IF-IN-CLOSURE being in SB-SYS instead of
2313 SB-KERNEL) have been undone, but probably more remain."
2314       :use ("CL" "SB!EXT" "SB!INT")
2315       :export (;; FIXME: %PRIMITIVE shouldn't be here. (I now know that %SYS
2316                ;; is for OS-dependent stuff. %PRIMITIVE should probably be in
2317                ;; SB!KERNEL.)
2318                "%PRIMITIVE"
2319                "%STANDARD-CHAR-P"
2320                "*ALLOW-WITH-INTERRUPTS*"
2321                "*INTERRUPTS-ENABLED*"
2322                "*INTERRUPT-PENDING*"
2323                "*LINKAGE-INFO*"
2324                "*LONG-SITE-NAME*" "*SHORT-SITE-NAME*"
2325                "*PERIODIC-POLLING-FUNCTION*"
2326                "*PERIODIC-POLLING-PERIOD*"
2327                "*RUNTIME-DLHANDLE*"
2328                "*SHARED-OBJECTS*"
2329                "*STATIC-FOREIGN-SYMBOLS*"
2330                "*STDERR*" "*STDIN*"
2331                "*STDOUT*"
2332                "*TTY*"
2333                "ADD-FD-HANDLER"
2334                "ALLOCATE-SYSTEM-MEMORY"
2335                "ALLOW-WITH-INTERRUPTS"
2336                "BEEP"
2337                "BREAKPOINT-ERROR"
2338                "CANCEL-DEADLINE"
2339                "CLOSE-SHARED-OBJECTS"
2340                "DEADLINE-TIMEOUT"
2341                "DEALLOCATE-SYSTEM-MEMORY"
2342                "DECODE-TIMEOUT"
2343                "DECODE-INTERNAL-TIME"
2344                "DEFAULT-INTERRUPT"
2345                "DEFER-DEADLINE"
2346                "DYNAMIC-FOREIGN-SYMBOLS-P"
2347                "DLOPEN-OR-LOSE"
2348                "FROB-DO-BODY"
2349                "ENABLE-INTERRUPT"
2350                "ENSURE-DYNAMIC-FOREIGN-SYMBOL-ADDRESS"
2351                "EXTERN-ALIEN-NAME"
2352                "FD-STREAM" "FD-STREAM-FD" "FD-STREAM-P"
2353                "FIND-DYNAMIC-FOREIGN-SYMBOL-ADDRESS"
2354                "FIND-FOREIGN-SYMBOL-ADDRESS"
2355                "FIND-FOREIGN-SYMBOL-IN-TABLE"
2356                "FOREIGN-SYMBOL-SAP"
2357                "FOREIGN-SYMBOL-ADDRESS"
2358                "FOREIGN-SYMBOL-DATAREF-SAP"
2359                "GET-MACHINE-VERSION" "GET-PAGE-SIZE" "GET-SYSTEM-INFO"
2360                "IGNORE-INTERRUPT"
2361                "IN-INTERRUPTION"
2362                "INTERACTIVE-INTERRUPT"
2363                "INT-SAP"
2364                "INVALIDATE-DESCRIPTOR"
2365                "INVOKE-INTERRUPTION"
2366                "IO-TIMEOUT"
2367                "LIST-DYNAMIC-FOREIGN-SYMBOLS"
2368                "MACRO" "MAKE-FD-STREAM"
2369                "MEMORY-FAULT-ERROR"
2370                "MEMMOVE"
2371                "OS-COLD-INIT-OR-REINIT" "OS-CONTEXT-T" "OUTPUT-RAW-BYTES"
2372                "READ-N-BYTES"
2373                "REMOVE-FD-HANDLER"
2374                "REOPEN-SHARED-OBJECTS"
2375                "SAP+" "SAP-"
2376                "SAP-FOREIGN-SYMBOL"
2377                "SAP-INT"
2378                "SAP-REF-16" "SAP-REF-32" "SAP-REF-64" "SAP-REF-WORD"
2379                "SAP-REF-8"
2380                "SAP-REF-DOUBLE" "SAP-REF-LISPOBJ" "SAP-REF-LONG"
2381                "SAP-REF-OCTETS"
2382                "SAP-REF-SAP" "SAP-REF-SINGLE"
2383                "SAP<" "SAP<=" "SAP=" "SAP>" "SAP>="
2384                "SCRUB-CONTROL-STACK" "SERVE-ALL-EVENTS"
2385                "SIGNAL-DEADLINE"
2386                "SERVE-EVENT"
2387                "SIGNED-SAP-REF-16" "SIGNED-SAP-REF-32"
2388                "SIGNED-SAP-REF-64" "SIGNED-SAP-REF-WORD" "SIGNED-SAP-REF-8"
2389                ;; FIXME: STRUCTURE!OBJECT stuff probably belongs in SB!KERNEL.
2390                "STRUCTURE!OBJECT" "STRUCTURE!OBJECT-MAKE-LOAD-FORM"
2391                "SYSTEM-AREA-POINTER" "SYSTEM-AREA-POINTER-P"
2392                "SYSTEM-CONDITION" "SYSTEM-CONDITION-ADDRESS"
2393                "SYSTEM-CONDITION-CONTEXT"
2394                "REINIT-INTERNAL-REAL-TIME"
2395                "SYSTEM-INTERNAL-RUN-TIME"
2396                "UNDEFINED-FOREIGN-SYMBOLS-P"
2397                "UPDATE-LINKAGE-TABLE" "VECTOR-SAP"
2398                "WAIT-UNTIL-FD-USABLE"
2399                "WITH-DEADLINE"
2400                "WITH-FD-HANDLER"
2401                "WITH-INTERRUPTS" "WITH-LOCAL-INTERRUPTS"
2402                "WITH-PINNED-OBJECTS" "WITHOUT-GCING"
2403                "WITHOUT-INTERRUPTS"
2404                "WITH-INTERRUPT-BINDINGS"
2405                "WORDS"))
2406
2407    #s(sb-cold:package-data
2408       :name "SB!UNIX"
2409       :doc
2410       "private: a wrapper layer for SBCL itself to use when talking
2411 with an underlying Unix-y operating system.
2412 This was a public package in CMU CL, but that was different.
2413 CMU CL's UNIX package tried to provide a comprehensive,
2414 stable Unix interface suitable for the end user.
2415 This package only tries to implement what happens to be
2416 needed by the current implementation of SBCL, and makes
2417 no guarantees of interface stability."
2418       :use ("CL" "SB!ALIEN" "SB!EXT" "SB!INT" "SB!SYS")
2419       :reexport ("OFF-T"
2420                  "SIZE-T")
2421       :export ( ;; wrappers around Unix stuff to give just what Lisp needs
2422                "NANOSLEEP"
2423                "UID-USERNAME"
2424                "UID-HOMEDIR"
2425                "USER-HOMEDIR"
2426                "WITH-RESTARTED-SYSCALL"
2427                "SB-MKSTEMP"
2428                "FD-TYPE"
2429
2430                ;; stuff with a one-to-one mapping to Unix constructs
2431                "D-INO" "D-NAME" "D-NAMLEN" "D-OFF" "D-RECLEN" "DEV-T" "DIRECT"
2432                "EXECGRP" "EXECOTH" "EXECOWN" "F-DUPFD" "F-GETFD" "F-GETFL"
2433                "F-GETOWN" "F-SETFD" "F-SETFL" "F-SETOWN" "FAPPEND" "FASYNC"
2434                "FCREAT" "FEXCL" "FIONREAD" "FNDELAY" "FTRUNC" "F_OK" "GID-T"
2435                "INO-T" "UNIX-ACCESS" "UNIX-SETITIMER" "UNIX-GETITIMER"
2436                "KBDCGET" "KBDCRESET"
2437                "KBDCRST" "KBDCSET" "KBDCSSTD" "KBDGCLICK" "KBDSCLICK" "KBDSGET"
2438                "L_INCR" "L_SET" "L_XTND" "O_APPEND" "O_CREAT" "O_EXCL"
2439                "O_RDONLY" "O_RDWR" "O_TRUNC" "O_WRONLY" "POSIX-GETCWD"
2440                "POSIX-GETCWD/" "READGRP" "READOTH" "READOWN" "RLIM-CUR"
2441                "RLIM-MAX" "RU-IDRSS" "RU-INBLOCK" "RU-ISRSS" "RU-IXRSS"
2442                "RU-MAJFLT" "RU-MAXRSS" "RU-MINFLT" "RU-MSGRCV" "RU-MSGSND"
2443                "RU-NIVCSW" "RU-NSIGNALS" "RU-NSWAP" "RU-NVCSW" "RU-OUBLOCK"
2444                "RU-STIME" "RU-UTIME" "RUSAGE_CHILDREN" "RUSAGE_SELF" "RUSEAGE"
2445                "R_OK" "S-IEXEC" "S-IFBLK" "S-IFCHR" "S-IFDIR" "S-IFIFO" "S-IFLNK" "S-IFMT"
2446                "S-IFREG" "S-IFSOCK" "S-IREAD" "S-ISGID" "S-ISUID" "S-ISVTX"
2447                "S-IWRITE" "SAVETEXT" "SB-MKSTEMP" "SC-MASK" "SC-ONSTACK"
2448                "SETUIDEXEC" "SG-ERASE" "SG-FLAGS" "SG-ISPEED" "SG-KILL"
2449                "SG-OSPEED" "SGTTYB" "ST-ATIME" "ST-BLKSIZE" "ST-BLOCKS"
2450                "ST-CTIME" "ST-DEV" "ST-GID" "ST-MODE" "ST-MTIME" "ST-NLINK"
2451                "ST-RDEV" "ST-SIZE" "ST-UID" "STAT" "TERMINAL-SPEEDS" "TIME-T"
2452                "TIMEVAL" "TIMEZONE" "TIOCFLUSH" "TIOCGETC" "TIOCGETP" "TIOCGLTC"
2453                "TIOCGPGRP" "TIOCGWINSZ" "TIOCNOTTY" "TIOCSETC" "TIOCSETP"
2454                "TIOCSLTC" "TIOCSPGRP" "TIOCSWINSZ" "TV-SEC" "TV-USEC"
2455                "TZ-DSTTIME" "TZ-MINUTESWEST" "UID-T" "UNIX-CLOSE"
2456                "UNIX-CLOSEDIR" "UNIX-DIRENT-NAME" "UNIX-DUP""UNIX-EXIT"
2457                "UNIX-FILE-MODE" "UNIX-FSTAT"
2458                "UNIX-GETHOSTNAME" "UNIX-GETPID" "UNIX-GETRUSAGE"
2459                "UNIX-GETTIMEOFDAY" "UNIX-GETUID" "UNIX-GID" "UNIX-IOCTL"
2460                "UNIX-ISATTY" "UNIX-LSEEK" "UNIX-LSTAT" "UNIX-MKDIR"
2461                "UNIX-OPEN" "UNIX-OPENDIR" "UNIX-PATHNAME" "UNIX-PID"
2462                "UNIX-PIPE" "UNIX-SIMPLE-POLL" "UNIX-READ" "UNIX-READDIR" "UNIX-READLINK" "UNIX-REALPATH"
2463                "UNIX-RENAME" "UNIX-SELECT" "UNIX-STAT" "UNIX-UID"
2464                "UNIX-UNLINK" "UNIX-WRITE"
2465                "WINSIZE"
2466                "WRITEGRP" "WRITEOTH" "WRITEOWN" "WS-COL" "WS-ROW" "WS-XPIXEL"
2467                "WS-YPIXEL" "WNOHANG" "WSTOPPED" "WUNTRACED" "W_OK" "X_OK"
2468
2469                ;; signals
2470                "SIGALRM" "SIGBUS" "SIGCHLD" "SIGCONT" "SIGEMT" "SIGFPE"
2471                "SIGHUP" "SIGILL" "SIGINT" "SIGIO" "SIGIOT" "SIGKILL"
2472                "SIGPIPE" "SIGPROF" "SIGQUIT" "SIGSEGV" "SIGSTOP" "SIGSYS"
2473                "SIGTERM" "SIGTRAP" "SIGTSTP" "SIGTTIN" "SIGTTOU" "SIGURG"
2474                "SIGUSR1" "SIGUSR2" "SIGVTALRM" "SIGWAITING" "SIGWINCH"
2475                "SIGXCPU" "SIGXFSZ"
2476
2477                ;; errors
2478                "E2BIG" "EADDRINUSE" "EADDRNOTAVAIL" "EAFNOSUPPORT"
2479                "EAGAIN" "EALREADY" "EBADF" "EBUSY" "ECHILD" "ECONNABORTED"
2480                "ECONNREFUSED" "ECONNRESET" "EDEADLK" "EDESTADDRREQ" "EDOM"
2481                "EDQUOT" "EEXIST" "EFAULT" "EFBIG" "EHOSTDOWN"
2482                "EHOSTUNREACH" "EINPROGRESS" "EINTR" "EINVAL" "EIO"
2483                "EISCONN" "EISDIR" "ELOCAL" "ELOOP" "EMFILE" "EMLINK"
2484                "EMSGSIZE" "ENAMETOOLONG" "ENETDOWN" "ENETRESET"
2485                "ENETUNREACH" "ENFILE" "ENOBUFS" "ENODEV" "ENOENT"
2486                "ENOEXEC" "ENOMEM" "ENOPROTOOPT" "ENOSPC" "ENOTBLK"
2487                "ENOTCONN" "ENOTEMPTY" "ENOTSOCK" "ENOTTY" "ENXIO"
2488                "EOPNOTSUPP" "EPERM" "EPFNOSUPPORT" "EPIPE" "EPROCLIM"
2489                "EPROTONOSUPPORT" "EPROTOTYPE" "ERANGE" "EREMOTE"
2490                "ERESTART" "EROFS" "ESHUTDOWN" "ESOCKTNOSUPPORT" "ESPIPE"
2491                "ESRCH" "ESUCCESS" "ETIMEDOUT" "ETOOMANYREFS" "ETXTBSY"
2492                "EUSERS" "EVICEERR" "EVICEOP" "EWOULDBLOCK" "EXDEV"
2493
2494                "FD-ISSET" "FD-SET" "LTCHARS" "UNIX-FAST-SELECT"
2495                "UNIX-KILL" "CODESET"
2496                "TCSETPGRP" "FD-ZERO" "FD-CLR" "CHECK" "UNIX-RESOLVE-LINKS"
2497                "FD-SETSIZE" "TCGETPGRP" "UNIX-FAST-GETRUSAGE"
2498                "UNIX-KILLPG"
2499                "TIOCSIGSEND"
2500                "C-IFLAG" "C-LFLAG" "C-OFLAG"
2501                "C-CFLAG" "TCSAFLUSH" "C-CC" "SIOCSPGRP" "TERMIOS"
2502                "O_NDELAY" "O_NOCTTY"
2503                "O_NONBLOCK" "TCSANOW" "TCSADRAIN" "TCIFLUSH" "TCOFLUSH"
2504                "TCIOFLUSH" "TTY-IGNBRK" "TTY-BRKINT" "TTY-IGNPAR" "TTY-PARMRK"
2505                "TTY-INPCK" "TTY-ISTRIP" "TTY-INLCR" "TTY-IGNCR" "TTY-ICRNL"
2506                "TTY-IUCLC" "TTY-IXON" "TTY-IXANY" "TTY-IXOFF" "TTY-IENQAK"
2507                "TTY-IMAXBEL" "TTY-OPOST" "TTY-OLCUC" "TTY-ONLCR" "TTY-OCRNL"
2508                "TTY-ONOCR" "TTY-ONLRET" "TTY-OFILL" "TTY-OFDEL" "TTY-ISIG"
2509                "TTY-ICANON" "TTY-XCASE" "TTY-ECHO" "TTY-ECHOE" "TTY-ECHOK"
2510                "TTY-ECHONL" "TTY-NOFLSH" "TTY-IEXTEN" "TTY-TOSTOP" "TTY-ECHOCTL"
2511                "TTY-ECHOPRT" "TTY-ECHOKE"  "TTY-DEFECHO" "TTY-FLUSHO"
2512                "TTY-PENDIN" "TTY-CSTOPB" "TTY-CREAD" "TTY-PARENB" "TTY-PARODD"
2513                "TTY-HUPCL" "TTY-CLOCAL" "RCV1EN" "XMT1EN" "TTY-LOBLK" "VINTR"
2514                "VQUIT" "VERASE" "VKILL" "VEOF" "VEOL" "VEOL2" "TTY-CBAUD"
2515                "TTY-CSIZE" "TTY-CS5" "TTY-CS6" "TTY-CS7" "TTY-CS8" "VMIN" "VTIME"
2516                "VSUSP" "VSTART" "VSTOP" "VDSUSP"
2517                #!+(or svr4 bsd linux) "O_NDELAY"
2518                #!+(or svr4 linux)
2519                ("EADDRINUSE"
2520                 "EADDRNOTAVAIL" "EADV"
2521                 "EAFNOSUPPORT" "EALREADY" "EBADE" "EBADFD"
2522                 "EBADMSG" "EBADR" "EBADRQC"
2523                 "EBADSLT" "EBFONT" #!+svr4 "ECANCELED"
2524                 "ECHRNG" "ECOMM" "ECONNABORTED"
2525                 "ECONNREFUSED" "ECONNRESET" "EDEADLK"
2526                 "EDEADLOCK" "EDESTADDRREQ" #!+linux "EDOTDOT"
2527                 #!+linux "EDQUOT" "EHOSTDOWN" "EHOSTUNREACH"
2528                 "EIDRM" "EILSEQ" "EINPROGRESS"
2529                 "EISCONN" #!+linux "EISNAM" "EL2HLT"
2530                 "EL2NSYNC" "EL3HLT" "EL3RST" "ELIBACC"
2531                 "ELIBBAD" "ELIBEXEC" "ELIBMAX" "ELIBSCN"
2532                 "ELNRNG" "ELOOP" "EMSGSIZE" "EMULTIHOP"
2533                 "ENAMETOOLONG" #!+linux "ENAVAIL"
2534                 "ENETDOWN" "ENETRESET" "ENETUNREACH" "ENOANO"
2535                 "ENOBUFS" "ENOCSI" "ENODATA" "ENOLCK"
2536                 "ENOLINK" "ENOMSG" "ENONET" "ENOPKG"
2537                 "ENOPROTOOPT" "ENOSR" "ENOSTR" "ENOSYS"
2538                 "ENOTCONN" "ENOTEMPTY" #!+linux "ENOTNAM"
2539                 "ENOTSOCK" #!+svr4 "ENOTSUP" "ENOTUNIQ"
2540                 "EOPNOTSUPP" "EOVERFLOW" "EPFNOSUPPORT"
2541                 "EPROTO" "EPROTONOSUPPORT" "EPROTOTYPE"
2542                 "EREMCHG" "EREMOTE" #!+linux "EREMOTEIO"
2543                 "ERESTART" "ESHUTDOWN" "ESOCKTNOSUPPORT"
2544                 "ESRMNT" "ESTALE" "ESTRPIPE" "ETIME"
2545                 "ETIMEDOUT" "ETOOMANYREFS" #!+linux "EUCLEAN"
2546                 "EUNATCH" "EUSERS" "EWOULDBLOCK" "EXFULL")))
2547
2548    #s(sb-cold:package-data
2549       :name "SB!VM"
2550       :doc
2551       "internal: the default place to hide information about the hardware and data
2552 structure representations"
2553       :use ("CL" "SB!ALIEN" "SB!ALIEN-INTERNALS" "SB!ASSEM" "SB!C"
2554                  "SB!EXT" "SB!FASL" "SB!INT" "SB!KERNEL" "SB!SYS" "SB!UNIX")
2555       :reexport ("WORD")
2556       :export ("*ALLOC-SIGNAL*"
2557                "*ASSEMBLY-UNIT-LENGTH*"
2558                "*PRIMITIVE-OBJECTS*"
2559                "+HIGHEST-NORMAL-GENERATION+"
2560                "+PSEUDO-STATIC-GENERATION+"
2561                "%COMPILER-BARRIER" "%DATA-DEPENDENCY-BARRIER"
2562                "%MEMORY-BARRIER" "%READ-BARRIER" "%WRITE-BARRIER"
2563                "AFTER-BREAKPOINT-TRAP"
2564                "ANY-REG-SC-NUMBER" "ARRAY-DATA-SLOT" "ARRAY-DIMENSIONS-OFFSET"
2565                "ARRAY-DISPLACED-P-SLOT" "ARRAY-DISPLACEMENT-SLOT"
2566                "ARRAY-DISPLACED-FROM-SLOT"
2567                "ARRAY-ELEMENTS-SLOT" "ARRAY-FILL-POINTER-P-SLOT"
2568                "ARRAY-FILL-POINTER-SLOT" "ATOMIC-FLAG"
2569                "CHARACTER-REG-SC-NUMBER"
2570                "CHARACTER-STACK-SC-NUMBER" "CHARACTER-WIDETAG"
2571                "BIGNUM-DIGITS-OFFSET" "BIGNUM-WIDETAG" "BINDING-SIZE"
2572                "BINDING-SYMBOL-SLOT" "BINDING-VALUE-SLOT" "BREAKPOINT-TRAP"
2573                "N-BYTE-BITS" "BYTE-REG-SC-NUMBER"
2574                "CATCH-BLOCK-CURRENT-CODE-SLOT"
2575                "CATCH-BLOCK-CURRENT-CONT-SLOT" "CATCH-BLOCK-CURRENT-UWP-SLOT"
2576                "CATCH-BLOCK-ENTRY-PC-SLOT" "CATCH-BLOCK-PREVIOUS-CATCH-SLOT"
2577                "CATCH-BLOCK-SC-NUMBER" "CATCH-BLOCK-SIZE" "CATCH-BLOCK-SIZE-SLOT"
2578                "CATCH-BLOCK-TAG-SLOT" "CERROR-TRAP"
2579                "CLOSURE-FUN-SLOT"
2580                "CLOSURE-HEADER-WIDETAG" "CLOSURE-INFO-OFFSET"
2581                "CODE-CODE-SIZE-SLOT" "CODE-CONSTANTS-OFFSET"
2582                "CODE-DEBUG-INFO-SLOT" "CODE-ENTRY-POINTS-SLOT"
2583                "CODE-HEADER-WIDETAG"
2584                "CODE-TRACE-TABLE-OFFSET-SLOT" "COMPLEX-ARRAY-WIDETAG"
2585                "COMPLEX-BIT-VECTOR-WIDETAG" "COMPLEX-DOUBLE-FLOAT-FILLER-SLOT"
2586                "COMPLEX-DOUBLE-FLOAT-IMAG-SLOT" "COMPLEX-DOUBLE-FLOAT-REAL-SLOT"
2587                "COMPLEX-DOUBLE-FLOAT-SIZE" "COMPLEX-DOUBLE-FLOAT-WIDETAG"
2588                "COMPLEX-DOUBLE-REG-SC-NUMBER" "COMPLEX-DOUBLE-STACK-SC-NUMBER"
2589                "COMPLEX-IMAG-SLOT" "COMPLEX-REAL-SLOT"
2590                #!+long-float "COMPLEX-LONG-FLOAT-IMAG-SLOT"
2591                #!+long-float "COMPLEX-LONG-FLOAT-REAL-SLOT"
2592                #!+long-float "COMPLEX-LONG-FLOAT-SIZE"
2593                #!+long-float "COMPLEX-LONG-FLOAT-WIDETAG"
2594                #!+long-float "COMPLEX-LONG-REG-SC-NUMBER"
2595                #!+long-float "COMPLEX-LONG-STACK-SC-NUMBER"
2596                #!-x86-64 #!-x86-64
2597                "COMPLEX-SINGLE-FLOAT-IMAG-SLOT" "COMPLEX-SINGLE-FLOAT-REAL-SLOT"
2598                #!+x86-64
2599                "COMPLEX-SINGLE-FLOAT-DATA-SLOT"
2600                "COMPLEX-SINGLE-FLOAT-SIZE" "COMPLEX-SINGLE-FLOAT-WIDETAG"
2601                "COMPLEX-SINGLE-REG-SC-NUMBER" "COMPLEX-SINGLE-STACK-SC-NUMBER"
2602                "COMPLEX-SIZE" "COMPLEX-BASE-STRING-WIDETAG"
2603                #!+sb-unicode "COMPLEX-CHARACTER-STRING-WIDETAG"
2604                "COMPLEX-WIDETAG"
2605                "COMPLEX-VECTOR-NIL-WIDETAG"
2606                "COMPLEX-VECTOR-WIDETAG" "CONS-CAR-SLOT" "CONS-CDR-SLOT"
2607                "CONS-SIZE" "CONSTANT-SC-NUMBER"
2608                "CONTEXT-FLOATING-POINT-MODES" "CONTEXT-FLOAT-REGISTER"
2609                "CONTEXT-PC" "CONTEXT-REGISTER"
2610                "CONTROL-STACK-SC-NUMBER" "COUNT-NO-OPS"
2611                "*CURRENT-CATCH-BLOCK*"
2612                "CURRENT-FLOAT-TRAP" "DEFINE-FOR-EACH-PRIMITIVE-OBJECT"
2613                "DESCRIPTOR-REG-SC-NUMBER" "DESCRIPTOR-VS-NON-DESCRIPTOR-STORAGE"
2614                "DOUBLE-FLOAT-EXPONENT-BYTE" "DOUBLE-FLOAT-BIAS"
2615                "DOUBLE-FLOAT-DIGITS" "DOUBLE-FLOAT-EXPONENT-BYTE"
2616                "DOUBLE-FLOAT-FILLER-SLOT" "DOUBLE-FLOAT-HIDDEN-BIT"
2617                "DOUBLE-FLOAT-NORMAL-EXPONENT-MAX"
2618                "DOUBLE-FLOAT-NORMAL-EXPONENT-MIN" "DOUBLE-FLOAT-SIGNIFICAND-BYTE"
2619                "DOUBLE-FLOAT-SIZE" "DOUBLE-FLOAT-TRAPPING-NAN-BIT"
2620                "DOUBLE-FLOAT-WIDETAG" "DOUBLE-FLOAT-VALUE-SLOT"
2621                "DOUBLE-INT-CARG-REG-SC-NUMBER" "DOUBLE-REG-SC-NUMBER"
2622                "DOUBLE-STACK-SC-NUMBER"
2623                "ERROR-TRAP" "EVEN-FIXNUM-LOWTAG"
2624                "EXPORTED-STATIC-SYMBOLS"
2625                "FDEFN-FUN-SLOT" "FDEFN-NAME-SLOT" "FDEFN-RAW-ADDR-SLOT"
2626                "FDEFN-SIZE" "FDEFN-WIDETAG" "FIXNUMIZE"
2627                "FIXNUM-TAG-MASK"
2628                "FIXUP-CODE-OBJECT" "FLOAT-DENORMAL-TRAP-BIT"
2629                "FLOAT-DIVIDE-BY-ZERO-TRAP-BIT"
2630                "FLOAT-IMPRECISE-TRAP-BIT" "FLOAT-INVALID-TRAP-BIT"
2631                "FLOAT-OVERFLOW-TRAP-BIT" "FLOAT-SIGN-SHIFT"
2632                "FLOAT-UNDERFLOW-TRAP-BIT" "FLOATING-POINT-MODES"
2633                "FORWARDING-POINTER-TYPE"
2634                "FP-CONSTANT-SC-NUMBER"
2635                "FP-DOUBLE-ZERO-SC-NUMBER" "FP-SINGLE-ZERO-SC-NUMBER"
2636                "FUNCALLABLE-INSTANCE-TRAMPOLINE-SLOT"
2637                "FUNCALLABLE-INSTANCE-HEADER-WIDETAG"
2638                "FUNCALLABLE-INSTANCE-INFO-OFFSET"
2639                "SIMPLE-FUN-ARGLIST-SLOT" "SIMPLE-FUN-CODE-OFFSET"
2640                "FUN-END-BREAKPOINT-TRAP"
2641                "SIMPLE-FUN-HEADER-CODE-OFFSET"
2642                "SIMPLE-FUN-HEADER-NEXT-SLOT"
2643                "SIMPLE-FUN-HEADER-SELF-SLOT"
2644                "SIMPLE-FUN-HEADER-WIDETAG"
2645                "SIMPLE-FUN-HEADER-TYPE-SLOT"
2646                "SIMPLE-FUN-NAME-SLOT"
2647                "SIMPLE-FUN-NEXT-SLOT"
2648                "FUN-POINTER-LOWTAG"
2649                "SIMPLE-FUN-SELF-SLOT"
2650                "SIMPLE-FUN-TYPE-SLOT"
2651                "GENCGC-CARD-BYTES"
2652                "GENCGC-ALLOC-GRANULARITY"
2653                "GENCGC-RELEASE-GRANULARITY"
2654                #!+ppc "PSEUDO-ATOMIC-INTERRUPTED-FLAG"
2655                #!+ppc "PSEUDO-ATOMIC-FLAG"
2656                "GENESIS" "HALT-TRAP" "IGNORE-ME-SC-NUMBER"
2657                "IMMEDIATE-CHARACTER-SC-NUMBER" "IMMEDIATE-SAP-SC-NUMBER"
2658                "IMMEDIATE-SC-NUMBER"
2659                #!+inline-constants "CANONICALIZE-INLINE-CONSTANT"
2660                #!+inline-constants "INLINE-CONSTANT-VALUE"
2661                #!+inline-constants "EMIT-CONSTANT-SEGMENT-HEADER"
2662                #!+inline-constants "SORT-INLINE-CONSTANTS"
2663                #!+inline-constants "EMIT-INLINE-CONSTANT"
2664                "INSTANCE-HEADER-WIDETAG" "INSTANCE-POINTER-LOWTAG"
2665                "INSTANCE-SLOTS-OFFSET" "INSTANCE-USAGE"
2666                "INTERIOR-REG-SC-NUMBER" "INTERNAL-ERROR-ARGS"
2667                "INTERRUPTED-FLAG" "LIST-ALLOCATED-OBJECTS" "LIST-POINTER-LOWTAG"
2668                ;; FIXME: Possibly these other parameters (see
2669                ;; compiler/{x86,sparc}/parms.lisp) should be defined
2670                ;; conditionally on #!+LONG-FLOAT)
2671                "LONG-FLOAT-BIAS" "LONG-FLOAT-DIGITS" "LONG-FLOAT-EXPONENT-BYTE"
2672                "LONG-FLOAT-HIDDEN-BIT" "LONG-FLOAT-NORMAL-EXPONENT-MAX"
2673                "LONG-FLOAT-NORMAL-EXPONENT-MIN" "LONG-FLOAT-SIGNIFICAND-BYTE"
2674                #!+long-float "LONG-FLOAT-SIZE"
2675                "LONG-FLOAT-TRAPPING-NAN-BIT"
2676                #!+long-float "LONG-FLOAT-WIDETAG"
2677                #!+long-float "LONG-FLOAT-VALUE-SLOT"
2678                #!+long-float "LONG-REG-SC-NUMBER"
2679                #!+long-float "LONG-STACK-SC-NUMBER"
2680                "LOWTAG-LIMIT" "LOWTAG-MASK"
2681                "LRA-SAVE-OFFSET"
2682                "MEMORY-USAGE" "MOST-POSITIVE-COST"
2683                "N-LOWTAG-BITS"
2684                "N-FIXNUM-TAG-BITS"
2685                "N-FIXNUM-BITS"
2686                "N-POSITIVE-FIXNUM-BITS"
2687                "NEGATIVE-IMMEDIATE-SC-NUMBER"
2688                "NFP-SAVE-OFFSET"
2689                "NON-DESCRIPTOR-REG-SC-NUMBER"
2690                "NULL-SC-NUMBER"
2691                "OBJECT-NOT-LIST-TRAP" "OBJECT-NOT-INSTANCE-TRAP"
2692                "OCFP-SAVE-OFFSET"
2693                "ODD-FIXNUM-LOWTAG"
2694                "OFFSET-STATIC-SYMBOL"
2695                "OTHER-IMMEDIATE-0-LOWTAG"
2696                "OTHER-IMMEDIATE-1-LOWTAG"
2697                ;; FIXME: 32/64-bit issues
2698                "OTHER-IMMEDIATE-2-LOWTAG"
2699                "OTHER-IMMEDIATE-3-LOWTAG"
2700                "OTHER-POINTER-LOWTAG"
2701                "PAD0-LOWTAG" "PAD1-LOWTAG" "PAD2-LOWTAG"
2702                "PAD3-LOWTAG" "PAD4-LOWTAG" "PAD5-LOWTAG"
2703                "PAD-DATA-BLOCK" "PENDING-INTERRUPT-TRAP"
2704                "PRIMITIVE-OBJECT" "PRIMITIVE-OBJECT-WIDETAG"
2705                "PRIMITIVE-OBJECT-LOWTAG" "PRIMITIVE-OBJECT-NAME"
2706                "PRIMITIVE-OBJECT-OPTIONS" "PRIMITIVE-OBJECT-P"
2707                "PRIMITIVE-OBJECT-SIZE" "PRIMITIVE-OBJECT-SLOTS"
2708                "PRIMITIVE-OBJECT-VARIABLE-LENGTH-P"
2709                "PRINT-ALLOCATED-OBJECTS"
2710                "RANDOM-IMMEDIATE-SC-NUMBER" "RATIO-DENOMINATOR-SLOT"
2711                "RATIO-NUMERATOR-SLOT" "RATIO-SIZE" "RATIO-WIDETAG"
2712                "*READ-ONLY-SPACE-FREE-POINTER*"
2713                "REGISTER-SAVE-PENALTY" "RETURN-PC-HEADER-WIDETAG"
2714                "RETURN-PC-RETURN-POINT-OFFSET" "RETURN-PC-SAVE-OFFSET"
2715                "SAETP-CTYPE" "SAETP-INITIAL-ELEMENT-DEFAULT"
2716                "SAETP-N-BITS" "SAETP-TYPECODE" "SAETP-PRIMITIVE-TYPE-NAME"
2717                "SAETP-N-PAD-ELEMENTS" "SAETP-SPECIFIER"
2718                "SAETP-COMPLEX-TYPECODE" "SAETP-IMPORTANCE"
2719                "SAETP-FIXNUM-P"
2720                "VALID-BIT-BASH-SAETP-P"
2721                "*SPECIALIZED-ARRAY-ELEMENT-TYPE-PROPERTIES*"
2722                "SANCTIFY-FOR-EXECUTION"
2723                "SAP-POINTER-SLOT" "SAP-REG-SC-NUMBER" "SAP-SIZE"
2724                "SAP-STACK-SC-NUMBER" "SAP-WIDETAG"
2725                "SIGFPE-HANDLER" "SIGNED-REG-SC-NUMBER" "SIGNED-STACK-SC-NUMBER"
2726                "SIGNED-WORD"
2727                "SIMPLE-ARRAY-COMPLEX-DOUBLE-FLOAT-WIDETAG"
2728                #!+long-float "SIMPLE-ARRAY-COMPLEX-LONG-FLOAT-WIDETAG"
2729                "SIMPLE-ARRAY-COMPLEX-SINGLE-FLOAT-WIDETAG"
2730                "SIMPLE-ARRAY-DOUBLE-FLOAT-WIDETAG"
2731                #!+long-float "SIMPLE-ARRAY-LONG-FLOAT-WIDETAG"
2732                "SIMPLE-ARRAY-NIL-WIDETAG"
2733                "SIMPLE-ARRAY-SINGLE-FLOAT-WIDETAG"
2734                "SIMPLE-ARRAY-WIDETAG"
2735                "SIMPLE-ARRAY-UNSIGNED-BYTE-15-WIDETAG"
2736                "SIMPLE-ARRAY-UNSIGNED-BYTE-16-WIDETAG"
2737                "SIMPLE-ARRAY-UNSIGNED-BYTE-2-WIDETAG"
2738                "SIMPLE-ARRAY-UNSIGNED-FIXNUM-WIDETAG"
2739                "SIMPLE-ARRAY-UNSIGNED-BYTE-31-WIDETAG"
2740                "SIMPLE-ARRAY-UNSIGNED-BYTE-32-WIDETAG"
2741                "SIMPLE-ARRAY-UNSIGNED-BYTE-63-WIDETAG"
2742                "SIMPLE-ARRAY-UNSIGNED-BYTE-64-WIDETAG"
2743                "SIMPLE-ARRAY-UNSIGNED-BYTE-4-WIDETAG"
2744                "SIMPLE-ARRAY-UNSIGNED-BYTE-7-WIDETAG"
2745                "SIMPLE-ARRAY-UNSIGNED-BYTE-8-WIDETAG"
2746                "SIMPLE-ARRAY-SIGNED-BYTE-16-WIDETAG"
2747                "SIMPLE-ARRAY-FIXNUM-WIDETAG"
2748                "SIMPLE-ARRAY-SIGNED-BYTE-32-WIDETAG"
2749                "SIMPLE-ARRAY-SIGNED-BYTE-64-WIDETAG"
2750                "SIMPLE-ARRAY-SIGNED-BYTE-8-WIDETAG"
2751                "SIMPLE-BIT-VECTOR-WIDETAG"
2752                "SIMPLE-BASE-STRING-WIDETAG"
2753                #!+sb-unicode "SIMPLE-CHARACTER-STRING-WIDETAG"
2754                "SIMPLE-VECTOR-WIDETAG" "SINGLE-FLOAT-BIAS"
2755                "SINGLE-FLOAT-DIGITS" "SINGLE-FLOAT-EXPONENT-BYTE"
2756                "SINGLE-FLOAT-HIDDEN-BIT" "SINGLE-FLOAT-NORMAL-EXPONENT-MAX"
2757                "SINGLE-FLOAT-NORMAL-EXPONENT-MIN" "SINGLE-FLOAT-SIGNIFICAND-BYTE"
2758                "SINGLE-FLOAT-SIZE" "SINGLE-FLOAT-TRAPPING-NAN-BIT"
2759                "SINGLE-FLOAT-WIDETAG" "SINGLE-FLOAT-VALUE-SLOT"
2760                "SINGLE-INT-CARG-REG-SC-NUMBER"
2761                "SINGLE-REG-SC-NUMBER" "SINGLE-STACK-SC-NUMBER"
2762                "SINGLE-STEP-AROUND-TRAP"
2763                "SINGLE-STEP-BEFORE-TRAP"
2764                "SINGLE-VALUE-RETURN-BYTE-OFFSET" "SLOT-DOCS"
2765                "SLOT-LENGTH" "SLOT-NAME" "SLOT-OFFSET" "SLOT-OPTIONS"
2766                "SLOT-REST-P" "*STATIC-FUNS*" "STATIC-FUN-OFFSET"
2767                "STATIC-SYMBOL-OFFSET" "STATIC-SYMBOL-P"
2768                "*STATIC-SPACE-FREE-POINTER*" "*STATIC-SYMBOLS*"
2769                "STRUCTURE-USAGE"
2770                "SYMBOL-HASH-SLOT" "SYMBOL-HEADER-WIDETAG" "SYMBOL-NAME-SLOT"
2771                "SYMBOL-PACKAGE-SLOT" "SYMBOL-PLIST-SLOT"
2772                "SYMBOL-SIZE" "SYMBOL-UNUSED-SLOT" "SYMBOL-VALUE-SLOT"
2773                "*BINDING-STACK-START*"
2774                "*CONTROL-STACK-START*" "*CONTROL-STACK-END*"
2775                "CONTROL-STACK-POINTER-VALID-P"
2776                "DYNAMIC-SPACE-START" "DYNAMIC-SPACE-END"
2777                #!+gencgc "MAX-DYNAMIC-SPACE-END"
2778                #!+c-stack-is-control-stack "ALTERNATE-SIGNAL-STACK-START"
2779                #!-gencgc "DYNAMIC-0-SPACE-START"
2780                #!-gencgc "DYNAMIC-0-SPACE-END"
2781                #!-gencgc "DYNAMIC-1-SPACE-START"
2782                #!-gencgc "DYNAMIC-1-SPACE-END"
2783                "READ-ONLY-SPACE-START" "READ-ONLY-SPACE-END"
2784                "TARGET-BYTE-ORDER" "TARGET-HEAP-ADDRESS-SPACE"
2785                "STATIC-SPACE-START" "STATIC-SPACE-END"
2786                #!+linkage-table "LINKAGE-TABLE-SPACE-START"
2787                #!+linkage-table "LINKAGE-TABLE-SPACE-END"
2788                #!+linkage-table "LINKAGE-TABLE-ENTRY-SIZE"
2789                "TLS-SIZE"
2790                "TRACE-TABLE-CALL-SITE"
2791                "TRACE-TABLE-FUN-EPILOGUE" "TRACE-TABLE-FUN-PROLOGUE"
2792                "TRACE-TABLE-NORMAL" "N-WIDETAG-BITS" "WIDETAG-MASK"
2793                "UNBOUND-MARKER-WIDETAG"
2794                "NO-TLS-VALUE-MARKER-WIDETAG"
2795                "UNSIGNED-IMMEDIATE-SC-NUMBER"
2796                "UNSIGNED-REG-SC-NUMBER" "UNSIGNED-STACK-SC-NUMBER"
2797                "UNWIND-BLOCK-CURRENT-CODE-SLOT" "UNWIND-BLOCK-CURRENT-CONT-SLOT"
2798                "UNWIND-BLOCK-CURRENT-UWP-SLOT" "UNWIND-BLOCK-ENTRY-PC-SLOT"
2799                "UNWIND-BLOCK-SIZE" "VALUE-CELL-HEADER-WIDETAG" "VALUE-CELL-SIZE"
2800                "VALUE-CELL-VALUE-SLOT" "VECTOR-DATA-OFFSET" "VECTOR-LENGTH-SLOT"
2801                "VECTOR-MUST-REHASH-SUBTYPE" "VECTOR-NORMAL-SUBTYPE"
2802                "VECTOR-VALID-HASHING-SUBTYPE"
2803                "WEAK-POINTER-BROKEN-SLOT" "WEAK-POINTER-NEXT-SLOT"
2804                "WEAK-POINTER-SIZE" "WEAK-POINTER-WIDETAG"
2805                "WEAK-POINTER-VALUE-SLOT"
2806                "N-WORD-BITS" "N-WORD-BYTES" "N-MACHINE-WORD-BITS"
2807                "WORD-REG-SC-NUMBER" "WORD-SHIFT"
2808                #!+win32 "CONTEXT-RESTORE-TRAP"
2809                "ZERO-SC-NUMBER"))
2810
2811    #s(sb-cold:package-data
2812       :name "SB!WALKER"
2813       :doc "internal: a code walker used by PCL"
2814       :use ("CL" "SB!INT" "SB!EXT")
2815       :export ("DEFINE-WALKER-TEMPLATE"
2816                "WALK-FORM"
2817                "*WALK-FORM-EXPAND-MACROS-P*"
2818                "VAR-LEXICAL-P" "VAR-SPECIAL-P"
2819                "VAR-GLOBALLY-SPECIAL-P"
2820                "*VAR-DECLARATIONS*" "VAR-DECLARATION"
2821
2822                ;; These were exported from the original PCL version of this
2823                ;; package, but aren't used in SBCL.
2824                ;;"NESTED-WALK-FORM" "MACROEXPAND-ALL"
2825                ))
2826
2827    #!+sb-eval
2828    #s(sb-cold:package-data
2829       :name "SB!EVAL"
2830       :doc "internal: the evaluator implementation used to execute code without compiling it."
2831       :use ("CL" "SB!KERNEL" "SB!EXT")
2832       :reexport ("*EVAL-CALLS*")
2833       :export ("INTERPRETED-FUNCTION"
2834                "INTERPRETED-FUNCTION-P"
2835                "INTERPRETED-FUNCTION-NAME"
2836                "INTERPRETED-FUNCTION-DEBUG-NAME"
2837                "INTERPRETED-FUNCTION-LAMBDA-LIST"
2838                "INTERPRETED-FUNCTION-DEBUG-LAMBDA-LIST"
2839                "INTERPRETED-FUNCTION-DECLARATIONS"
2840                "INTERPRETED-FUNCTION-DOCUMENTATION"
2841                "INTERPRETED-FUNCTION-BODY"
2842                "INTERPRETED-FUNCTION-SOURCE-LOCATION"
2843                "EVAL-IN-ENVIRONMENT"
2844                "MAKE-NULL-ENVIRONMENT"
2845                "EVAL-IN-NATIVE-ENVIRONMENT"
2846                "PREPARE-FOR-COMPILE"
2847                "COUNT-EVAL-CALLS"
2848                "*EVAL-LEVEL*"))
2849
2850    #!+win32
2851    #s(sb-cold:package-data
2852       :name "SB!WIN32"
2853       :doc "private: a wrapper layer for Win32 functions needed by
2854 SBCL itself"
2855       :use ("CL" "SB!ALIEN" "SB!EXT" "SB!INT" "SB!SYS")
2856       :export ("BOOL"
2857                "CLOSE-HANDLE"
2858                "CREATE-FILE"
2859                "CREATE-FILE-MAPPING"
2860                "DWORD"
2861                "FD-CLEAR-INPUT"
2862                "FD-LISTEN"
2863                "FILE-CREATE-ALWAYS"
2864                "FILE-CREATE-NEW"
2865                "FILE-OPEN-ALWAYS"
2866                "FILE-OPEN-EXISTING"
2867                "FILE-TRUNCATE-EXISTING"
2868                "FLUSH-CONSOLE-INPUT-BUFFER"
2869                "FLUSH-VIEW-OF-FILE"
2870                "FORMAT-MESSAGE"
2871                "GET-FILE-ATTRIBUTES"
2872                "GET-LAST-ERROR"
2873                "GET-OSFHANDLE"
2874                "GET-VERSION-EX"
2875                "HANDLE"
2876                "HANDLE-CLEAR-INPUT"
2877                "HANDLE-LISTEN"
2878                "INT-PTR"
2879                "INVALID-HANDLE"
2880                "MAP-VIEW-OF-FILE"
2881                "MILLISLEEP"
2882                "PEEK-CONSOLE-INPUT"
2883                "PEEK-NAMED-PIPE"
2884                "READ-FILE"
2885                "UNMAP-VIEW-OF-FILE"
2886                "WRITE-FILE"
2887                "WITH-PROCESS-TIMES")))