Fix REPLACE and REPLACE transforms when copying zero elements.
[sbcl.git] / package-data-list.lisp-expr
blobbfeb803bf01b9d725931de57560ba57ff72f3252
1 ;;;; -*- Lisp -*-
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.
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.
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.
28 ;;;; NOTE:
29 ;;;; It is generally not necessary to use reader conditionals
30 ;;;; within this file. If A-NICE-FUNCTION is external in SB-KERNEL
31 ;;;; but not defined for a particular backend, it will not get
32 ;;;; interned during cold load, and hence will not exist in the target.
33 ;;;; This is exactly as desired - it is not necessary for the writer
34 ;;;; of architecture-specific code to clutter up the list of package
35 ;;;; definitions to avoid exporting some stuff. You just export what you
36 ;;;; need, and genesis will do the right thing. Most of the pre-existing
37 ;;;; conditionals are historical baggage, and should be removed.
38 ;;;; EXCEPTION: packages whose symbols are created mainly during
39 ;;;; warm load might have a reason to use reader conditionals.
40 ;;;; For those packages, all symbols listed here are interned during
41 ;;;; genesis, since otherwise the symbols would all disappear,
42 ;;;; and then warm load would intern them as internals, not externals.
43 ;;;; This list of exceptional packages can be found in the
44 ;;;; definition of the FINISH-SYMBOLS function.
46 (#s(sb-cold:package-data
47     :name "SB!ALIEN"
48     :doc "public: the ALIEN foreign function interface (If you're
49 porting CMU CL code, note that this package corresponds roughly to a union
50 of the packages ALIEN and C-CALL at the time of the SBCL fork. SB-C-CALL
51 is a deprecated nickname to help ease the transition from older versions
52 of SBCL which maintained the CMU-CL-style split into two packages.)"
53     :use ("CL" "SB!EXT" "SB!INT" "SB!SYS" "SB!ALIEN-INTERNALS")
54     :reexport ("ARRAY"
55                "BOOLEAN" "CHAR" "DOUBLE-FLOAT"
56                "FLOAT" "FUNCTION" "INTEGER" "LONG-FLOAT"
57                "SINGLE-FLOAT"
58                ;; FIXME: Do we really want to reexport
59                ;; SYSTEM-AREA-POINTER here? Why?
60                "SYSTEM-AREA-POINTER"
61                "UNION"  "VALUES" "*")
62     :export ("ADDR"
63              "ALIEN"
64              "ALIEN-FUNCALL" "ALIEN-SAP" "ALIEN-SIZE"
65              "CAST" "C-STRING"
66              "DEFINE-ALIEN-ROUTINE" "DEFINE-ALIEN-TYPE" "DEFINE-ALIEN-VARIABLE"
67              "DEREF" "DOUBLE"
68              "ENUM" "EXTERN-ALIEN"
69              "FREE-ALIEN"
70              "GET-ERRNO"
71              "INT"
72              "LOAD-1-FOREIGN" "LOAD-FOREIGN" "LOAD-SHARED-OBJECT" "LONG" "LONG-LONG"
73              "MAKE-ALIEN"
74              "MAKE-ALIEN-STRING"
75              "NULL-ALIEN"
76              "OFF-T"
77              "SAP-ALIEN" "SHORT" "SIGNED"
78              "SIZE-T" "SSIZE-T"
79              "SLOT" "STRUCT"
80              "UNDEFINED-ALIEN-ERROR"
81              "UNLOAD-SHARED-OBJECT"
82              "UNSIGNED"
83              "UNSIGNED-CHAR" "UNSIGNED-INT" "UNSIGNED-LONG" "UNSIGNED-LONG-LONG" "UNSIGNED-SHORT"
84              "UTF8-STRING"
85              "VOID"
86              "WITH-ALIEN"))
88    #s(sb-cold:package-data
89       :name "SB!ALIEN-INTERNALS"
90       :doc "private: stuff for implementing ALIENs and friends"
91       :use ("CL")
92       :export ("%ALIEN-VALUE"
93                "%CAST"
94                "%DEREF-ADDR" "%HEAP-ALIEN" "%HEAP-ALIEN-ADDR"
95                "%LOCAL-ALIEN-ADDR" "%LOCAL-ALIEN-FORCED-TO-MEMORY-P" "%SAP-ALIEN"
96                "%SET-DEREF" "%SET-HEAP-ALIEN" "%SET-LOCAL-ALIEN" "%SET-SLOT"
97                "%SLOT-ADDR" "*SAVED-FP-AND-PCS*" "*VALUES-TYPE-OKAY*"
98                "ALIEN-ARRAY-TYPE"
99                "ALIEN-ARRAY-TYPE-DIMENSIONS" "ALIEN-ARRAY-TYPE-ELEMENT-TYPE"
100                "ALIEN-ARRAY-TYPE-P" "ALIEN-BOOLEAN-TYPE" "ALIEN-BOOLEAN-TYPE-P"
101                "ALIEN-CALLBACK"
102                "ALIEN-CALLBACK-ACCESSOR-FORM"
103                "ALIEN-CALLBACK-ASSEMBLER-WRAPPER"
104                "ALIEN-DOUBLE-FLOAT-TYPE" "ALIEN-DOUBLE-FLOAT-TYPE-P"
105                "ALIEN-ENUM-TYPE" "ALIEN-ENUM-TYPE-P" "ALIEN-FLOAT-TYPE"
106                "ALIEN-FLOAT-TYPE-P" "ALIEN-FUN-TYPE"
107                "ALIEN-FUN-TYPE-ARG-TYPES" "ALIEN-FUN-TYPE-P"
108                "ALIEN-FUN-TYPE-RESULT-TYPE" "ALIEN-INTEGER-TYPE"
109                "ALIEN-INTEGER-TYPE-P" "ALIEN-INTEGER-TYPE-SIGNED"
110                "ALIEN-LONG-FLOAT-TYPE" "ALIEN-LONG-FLOAT-TYPE-P"
111                "ALIEN-POINTER-TYPE" "ALIEN-POINTER-TYPE-P"
112                "ALIEN-POINTER-TYPE-TO" "ALIEN-RECORD-FIELD"
113                "ALIEN-RECORD-FIELD-NAME" "ALIEN-RECORD-FIELD-OFFSET"
114                "ALIEN-RECORD-FIELD-P" "ALIEN-RECORD-FIELD-TYPE"
115                "ALIEN-RECORD-TYPE" "ALIEN-RECORD-TYPE-FIELDS"
116                "ALIEN-RECORD-TYPE-P" "ALIEN-SINGLE-FLOAT-TYPE"
117                "ALIEN-SINGLE-FLOAT-TYPE-P" "ALIEN-SUBTYPE-P" "ALIEN-TYPE"
118                "ALIEN-TYPE-=" "ALIEN-TYPE-ALIGNMENT" "ALIEN-TYPE-BITS"
119                "ALIEN-TYPE-P" "ALIEN-TYPEP"
120                "ALIEN-VALUE"
121                "ALIEN-VALUE-TYPE"
122                "ALIEN-VALUE-TYPEP"
123                "ALIEN-VALUE-SAP" "ALIEN-VALUE-P"
124                "ALIEN-VALUES-TYPE" "ALIEN-VALUES-TYPE-P"
125                "ALIEN-VALUES-TYPE-VALUES" "ALIGN-OFFSET" "ALIEN-VOID-TYPE-P"
126                "COMPUTE-ALIEN-REP-TYPE" "COMPUTE-DEPORT-ALLOC-LAMBDA"
127                "COMPUTE-DEPORT-LAMBDA" "COMPUTE-DEPOSIT-LAMBDA"
128                "COMPUTE-EXTRACT-LAMBDA" "COMPUTE-LISP-REP-TYPE"
129                "COMPUTE-NATURALIZE-LAMBDA" "DEFINE-ALIEN-TYPE-CLASS"
130                "DEFINE-ALIEN-TYPE-METHOD" "DEFINE-ALIEN-TYPE-TRANSLATOR"
131                "DEPORT" "DEPORT-ALLOC"
132                "ENTER-ALIEN-CALLBACK"
133                "FIND-SAVED-FP-AND-PC"
134                "HEAP-ALIEN-INFO" "HEAP-ALIEN-INFO-P" "HEAP-ALIEN-INFO-SAP-FORM"
135                "HEAP-ALIEN-INFO-TYPE" "INVOKE-ALIEN-TYPE-METHOD"
136                "INVOKE-WITH-SAVED-FP-AND-PC" "LOCAL-ALIEN"
137                "LOCAL-ALIEN-INFO" "LOCAL-ALIEN-INFO-FORCE-TO-MEMORY-P"
138                "LOCAL-ALIEN-INFO-P" "LOCAL-ALIEN-INFO-TYPE"
139                "MAKE-ALIEN-FUN-TYPE" "MAKE-ALIEN-POINTER-TYPE"
140                "MAYBE-WITH-PINNED-OBJECTS"
141                "MAKE-LOCAL-ALIEN" "NATURALIZE"
142                "NOTE-LOCAL-ALIEN-TYPE"
143                "PARSE-ALIEN-TYPE" "UNPARSE-ALIEN-TYPE"))
145    #s(sb-cold:package-data
146       :name "SB!ASSEM"
147       :doc "private: the assembler, used by the compiler"
148       :use ("CL" "SB!EXT" "SB!INT")
149       :export ("ASSEMBLY-UNIT"
150                "ASSEMBLY-UNIT-BITS"
152                "*ASSEM-SCHEDULER-P*"
153                "*ASSEM-MAX-LOCATIONS*"
155                "EMIT-ALIGNMENT" "EMIT-BYTE" "EMIT-SKIP" "EMIT-BACK-PATCH"
156                "EMIT-CHOOSER" "DEFINE-BITFIELD-EMITTER"
157                "DEFINE-INSTRUCTION" "DEFINE-INSTRUCTION-MACRO"
158                "EMIT-POSTIT"
160                "MAKE-SEGMENT" "SEGMENT-TYPE" "ASSEMBLE"
161                "INST" "LABEL" "LABEL-P" "GEN-LABEL"
162                "EMIT-LABEL" "LABEL-POSITION" "APPEND-SEGMENT"
163                "FINALIZE-SEGMENT"
164                "SEGMENT-CONTENTS-AS-VECTOR" "WRITE-SEGMENT-CONTENTS"
165                "READS" "WRITES" "SEGMENT"
166                "WITHOUT-SCHEDULING"
167                "VARIABLE-LENGTH"
168                "SEGMENT-COLLECT-DYNAMIC-STATISTICS"
170                ;; FIXME: These are in the SB-ASSEM package now, but
171                ;; (left over from CMU CL) are defined in files which
172                ;; are IN-PACKAGE SB-C. It would probably be cleaner
173                ;; to move at least most of them to files which are
174                ;; IN-PACKAGE SB-ASSEM.
175                "BRANCH"  "FLUSHABLE"))
177    #s(sb-cold:package-data
178       :name "SB!BIGNUM"
179       :doc "private: bignum implementation"
180       :use ("CL" "SB!KERNEL" "SB!INT" "SB!EXT")
181       :export ("%ADD-WITH-CARRY"
182                "%ALLOCATE-BIGNUM" "%ASHL" "%ASHR"
183                "%BIGNUM-LENGTH" "%BIGNUM-REF" "%BIGNUM-REF-WITH-OFFSET"
184                "%BIGNUM-SET"
185                "%BIGNUM-SET-LENGTH" "%DIGIT-0-OR-PLUSP"
186                "%DIGIT-LOGICAL-SHIFT-RIGHT"
187                "%FIXNUM-DIGIT-WITH-CORRECT-SIGN" "%FIXNUM-TO-DIGIT"
188                "%BIGFLOOR" "%LOGAND" "%LOGIOR" "%LOGNOT" "%LOGXOR"
189                "%MULTIPLY" "%MULTIPLY-AND-ADD"
190                "%SUBTRACT-WITH-BORROW" "ADD-BIGNUMS"
191                "BIGNUM-ASHIFT-LEFT" "BIGNUM-ASHIFT-LEFT-FIXNUM"
192                "BIGNUM-ASHIFT-RIGHT"
193                "BIGNUM-COMPARE"
194                "BIGNUM-ELEMENT-TYPE" "BIGNUM-GCD" "BIGNUM-INDEX"
195                "BIGNUM-LENGTH"
196                "BIGNUM-INTEGER-LENGTH"
197                "BIGNUM-LOGBITP"
198                "BIGNUM-LOGCOUNT" "BIGNUM-LOGICAL-AND"
199                "BIGNUM-LOGICAL-IOR" "BIGNUM-LOGICAL-NOT"
200                "BIGNUM-LOGICAL-XOR" "BIGNUM-PLUS-P"
201                "BIGNUM-TO-FLOAT" "BIGNUM-TRUNCATE"
202                "MAKE-SMALL-BIGNUM"
203                "MULTIPLY-BIGNUM-AND-FIXNUM" "MULTIPLY-BIGNUMS"
204                "MULTIPLY-FIXNUMS" "NEGATE-BIGNUM"
205                "%RANDOM-BIGNUM" "SUBTRACT-BIGNUM" "SXHASH-BIGNUM"))
207    #s(sb-cold:package-data
208       :name "SB!C"
209       :doc "private: implementation of the compiler"
210       ;; (It seems strange to have the compiler USE SB-ALIEN-INTERNALS,
211       ;; but the point seems to be to be able to express things like
212       ;; SB!C:DEFTRANSFORM SB-ALIEN-INTERNALS:MAKE-LOCAL-ALIEN without
213       ;; having to use a bunch of package prefixes, by putting them
214       ;; in the SB-C package. Maybe it'd be tidier to define an SB-ALIEN-COMP
215       ;; package for this? But it seems like a fairly low priority.)
216       ;; (Probably the same considerations also explain why BIGNUM is
217       ;;in the USE list.)
218       :use ("CL" "SB!ALIEN-INTERNALS" "SB!ALIEN" "SB!ASSEM" "SB!BIGNUM"
219                  #!+sb-dyncount "SB-DYNCOUNT" "SB!EXT" "SB!FASL" "SB!INT"
220                  "SB!KERNEL" "SB!SYS")
221       :reexport ("SLOT" "CODE-INSTRUCTIONS" "FLUSHABLE")
222       :export ("%ALIEN-FUNCALL"
223                "%CATCH-BREAKUP" "%CONTINUE-UNWIND"
224                "%LISTIFY-REST-ARGS" "%MORE-ARG" "%MORE-ARG-VALUES"
225                "%UNWIND-PROTECT-BREAKUP"
227                "*BACKEND-BYTE-ORDER*" "*BACKEND-DISASSEM-PARAMS*"
228                "+BACKEND-INTERNAL-ERRORS+" "+BACKEND-PAGE-BYTES+"
229                "*BACKEND-REGISTER-SAVE-PENALTY*"
230                "*BACKEND-SBS*" ; storage bases
231                "*BACKEND-SC-NAMES*" "*BACKEND-SC-NUMBERS*"
232                "*BACKEND-SUBFEATURES*"
233                "*BACKEND-T-PRIMITIVE-TYPE*"
235                "*CODE-SEGMENT*"
236                "*ELSEWHERE*" "*FREE-FUNS*"
237                "*LEXENV*"
238                "*SUPPRESS-VALUES-DECLARATION*"
240                #!+x86 "SET-FPU-WORD-FOR-C"
241                #!+x86 "SET-FPU-WORD-FOR-LISP"
242                "ALIGN-STACK-POINTER"
243                "ALIEN-FUNCALL-SAVES-FP-AND-PC"
244                "ALLOC-ALIEN-STACK-SPACE" "ALLOC-NUMBER-STACK-SPACE"
245                "ALLOCATE-CODE-OBJECT" "ALLOCATE-FRAME"
246                "ALLOCATE-FULL-CALL-FRAME"
247                "ALWAYS-TRANSLATABLE"
248                "ANCESTOR-FRAME-REF" "ANCESTOR-FRAME-SET"
249                "ANY" "ARG-COUNT-ERROR" "ASSEMBLE-FILE"
250                "ATTRIBUTES" "ATTRIBUTES-INTERSECTION" "ATTRIBUTES-UNION"
251                "ATTRIBUTES="
252                "CALL" "CALL-LOCAL" "CALL-NAMED" "CALL-VARIABLE"
253                "CALL-OUT" "CALL-OUT-NAMED"
254                "CALLEE-NFP-TN" "CALLEE-RETURN-PC-TN"
255                "CASE-BODY" "CATCH-BLOCK" "UNWIND-BLOCK"
256                "CLOSURE-INIT" "CLOSURE-REF" "CLOSURE-INIT-FROM-FP"
257                "*CODE-COVERAGE-INFO*"
258                "COMPARE-AND-SWAP-SLOT"
259                "COMPILE-IN-LEXENV"
260                "%COMPILER-DEFUN" "COMPILER-ERROR" "FATAL-COMPILER-ERROR"
261                "COMPILER-NOTIFY"
262                "COMPILER-STYLE-WARN" "COMPILER-WARN"
263                "COMPONENT" "COMPONENT-HEADER-LENGTH"
264                "COMPONENT-INFO" "COMPONENT-LIVE-TN" "COMPUTE-FUN"
265                "COMPUTE-OLD-NFP" "COPY-MORE-ARG"
266                "CURRENT-BINDING-POINTER" "CURRENT-NFP-TN"
267                "CURRENT-STACK-POINTER"
268                "*ALIEN-STACK-POINTER*"
269                "CURRENT-NSP" "SET-NSP"
270                "DEALLOC-ALIEN-STACK-SPACE"
271                "DEALLOC-NUMBER-STACK-SPACE"
272                "DEBUG-CATCH-TAG"
273                "DEF-IR1-TRANSLATOR"
274                "!DEF-PRIMITIVE-TYPE" "!DEF-PRIMITIVE-TYPE-ALIAS"
275                "DEFINE-SOURCE-TRANSFORM"
276                "DEFINITION-SOURCE-LOCATION"
277                "DEFINITION-SOURCE-LOCATION-NAMESTRING"
278                "DEFINITION-SOURCE-LOCATION-TOPLEVEL-FORM-NUMBER"
279                "DEFINITION-SOURCE-LOCATION-FORM-NUMBER"
280                "DEFINITION-SOURCE-LOCATION-PLIST"
281                "DEFINE-MODULAR-FUN"
282                "DEFINE-MOVE-FUN"
283                "DEFINE-MOVE-VOP" "!DEFINE-STORAGE-BASES"
284                "!DEFINE-STORAGE-CLASS" "DEFINE-VOP"
285                "DEFKNOWN" "DEFOPTIMIZER"
286                "DEFTRANSFORM" "DERIVE-TYPE"
287                "DO-FORMS-FROM-INFO"
288                "EMIT-BLOCK-HEADER"
289                "PHYSENV-DEBUG-LIVE-TN" "PHYSENV-LIVE-TN"
290                "FAST-SYMBOL-VALUE"
291                "FAST-SYMBOL-GLOBAL-VALUE"
292                "FIXUP-NOTE-KIND"
293                "FIXUP-NOTE-FIXUP"
294                "FIXUP-NOTE-POSITION"
295                "FOLDABLE"
296                "FORCE-TN-TO-STACK"
297                "FUN-INFO-DERIVE-TYPE" "FUN-INFO-IR2-CONVERT"
298                "FUN-INFO-LTN-ANNOTATE" "FUN-INFO-OPTIMIZER"
299                "GET-VECTOR-SUBTYPE"
300                "GET-TOPLEVELISH-FILE-INFO"
301                "HALT"
302                "IF-EQ"
303                "CONSTANT-TN-P"
304                "INHIBIT-SAFEPOINTS"
305                "COMPILER-MACRO-APPLICATION-MISSED-WARNING"
306                "INLINING-DEPENDENCY-FAILURE"
307                "INSERT-STEP-CONDITIONS"
308                "IR2-COMPONENT-CONSTANTS" "IR2-CONVERT"
309                "IR2-PHYSENV-NUMBER-STACK-P"
310                "KNOWN-CALL-LOCAL" "KNOWN-RETURN"
311                "LAMBDA-VAR-IGNOREP"
312                "LAMBDA-WITH-LEXENV" "LEXENV-FIND"
313                "LOCATION=" "LTN-ANNOTATE"
314                "MACRO-POLICY-DECLS"
315                "MAKE-ALIAS-TN" "MAKE-CATCH-BLOCK"
316                "MAKE-CLOSURE" "MAKE-CONSTANT-TN"
317                "MAKE-FIXUP-NOTE"
318                "MAKE-LOAD-TIME-CONSTANT-TN" "MAKE-N-TNS" "MAKE-NORMAL-TN"
319                "MAKE-RANDOM-TN"
320                "MAKE-REPRESENTATION-TN" "MAKE-RESTRICTED-TN" "MAKE-SC-OFFSET"
321                "MAKE-STACK-POINTER-TN" "MAKE-TN-REF" "MAKE-UNWIND-BLOCK"
322                "MAKE-WIRED-TN" "MAYBE-COMPILER-NOTIFY"
323                "MAYBE-INLINE-SYNTACTIC-CLOSURE"
324                "MORE-ARG-CONTEXT" "MOVABLE" "MOVE" "MULTIPLE-CALL"
325                "MULTIPLE-CALL-LOCAL" "MULTIPLE-CALL-NAMED"
326                "MULTIPLE-CALL-VARIABLE"
327                               "%%NIP-DX" "%%NIP-VALUES"
328                "NLX-ENTRY" "NLX-ENTRY-MULTIPLE"
329                "NODE-STACK-ALLOCATE-P"
330                "NON-DESCRIPTOR-STACK" "NOTE-ENVIRONMENT-START"
331                "NOTE-THIS-LOCATION" "*LOCATION-CONTEXT*"
332                "MAKE-RESTART-LOCATION"
333                "OPTIMIZER"
334                "PACK-CODE-FIXUP-LOCS"
335                "PARSE-EVAL-WHEN-SITUATIONS"
336                "POLICY"
337                "%%POP-DX"
338                "PRIMITIVE-TYPE" "PRIMITIVE-TYPE-OF"
339                "PRIMITIVE-TYPE-OR-LOSE"
340                "PRIMITIVE-TYPE-NAME"
341                "PRIMITIVE-TYPE-INDIRECT-CELL-TYPE"
342                "PROCLAIM-FTYPE" "PROCLAIM-TYPE"
343                "PUSH-VALUES"
344                "READ-PACKED-BIT-VECTOR"
345                "READ-VAR-INTEGER" "READ-VAR-INTEGERF"
346                "SAP-READ-VAR-INTEGER" "SAP-READ-VAR-INTEGERF"
347                "READ-VAR-STRING"
348                #!+inline-constants "REGISTER-INLINE-CONSTANT"
349                "RESET-STACK-POINTER" "RESTORE-DYNAMIC-STATE"
350                "RETURN-MULTIPLE" "SAVE-DYNAMIC-STATE" "STORAGE-BASE"
351                "SB-ALLOCATED-SIZE" "SB-NAME" "SB-OR-LOSE"
352                "STORAGE-CLASS" "SC-CASE" "SC-OPERAND-SIZE"
353                "SC-IS" "SC-NAME" "SC-NUMBER" "SC-NUMBER-OR-LOSE" "SC-OFFSET"
354                "SC-OFFSET-OFFSET" "SC-OFFSET-SCN" "SC-OR-LOSE" "SC-SB"
355                "SET-UNWIND-PROTECT" "SET-VECTOR-SUBTYPE"
356                "SETUP-CLOSURE-ENVIRONMENT"
357                "SOURCE-LOCATION"
358                "SPECIFY-SAVE-TN"
359                "STATIC-CALL-NAMED" "STATIC-MULTIPLE-CALL-NAMED" "STATIC-TAIL-CALL-NAMED"
360                "STORE-COVERAGE-DATA"
361                "TAIL-CALL" "TAIL-CALL-NAMED"
362                "TAIL-CALL-VARIABLE" "TEMPLATE-OR-LOSE"
363                "TN" "TN-OFFSET" "TN-P" "TN-REF" "TN-REF-ACROSS" "TN-REF-LOAD-TN"
364                "TN-REF-NEXT" "TN-REF-NEXT-REF" "TN-REF-P" "TN-REF-TARGET"
365                "TN-REF-TN" "TN-REF-VOP" "TN-REF-WRITE-P" "TN-SC" "TN-KIND" "TN-VALUE"
366                "TYPE-CHECK-ERROR" "UNBIND" "UNBIND-TO-HERE"
367                "UNSAFE" "UNSAFELY-FLUSHABLE" "UNWIND" "UWP-ENTRY"
368                "UNPACK-CODE-FIXUP-LOCS"
369                "VERIFY-ARG-COUNT" "WRITE-PACKED-BIT-VECTOR"
370                "WRITE-VAR-INTEGER" "WRITE-VAR-STRING" "XEP-ALLOCATE-FRAME"
371                "XEP-SETUP-SP"
372                "LABEL-ID" "FIXUP" "FIXUP-FLAVOR" "FIXUP-NAME" "FIXUP-OFFSET"
373                "FIXUP-P" "MAKE-FIXUP"
374                "DEF-ALLOC"
375                "VAR-ALLOC"
376                "SAFE-FDEFN-FUN"
377                "NOTE-FIXUP"
378                "DEF-CASSER"
379                "DEF-REFFER"
380                "EMIT-CONSTANT"
381                "EMIT-NOP"
382                "DEF-SETTER"
383                "FIXED-ALLOC"
384                "MAKE-FUNCALLABLE-INSTANCE-TRAMP"
385                "RETURN-SINGLE"
386                "NOTE-NEXT-INSTRUCTION"
387                "SET-SLOT" "INIT-SLOT"
388                "LOCATION-NUMBER"
389                "*COMPONENT-BEING-COMPILED*"
390                "BLOCK-NUMBER"
391                "IR2-BLOCK-BLOCK"
392                "VOP-BLOCK"
393                "*ASSEMBLY-OPTIMIZE*"
395                "IMMEDIATE-CONSTANT-SC"
396                "BOXED-IMMEDIATE-SC-P"
397                "COMBINATION-IMPLEMENTATION-STYLE"
398                "CONVERT-CONDITIONAL-MOVE-P"
399                "LOCATION-PRINT-NAME"
400                "PRIMITIVE-TYPE-OF"
401                "PRIMITIVE-TYPE"
402                "MAKE-CALL-OUT-TNS"
403                "STANDARD-ARG-LOCATION"
404                "STANDARD-ARG-LOCATION-SC"
405                "ARG-COUNT-SC"
406                "CLOSURE-SC"
407                "MAKE-RETURN-PC-PASSING-LOCATION"
408                "MAKE-OLD-FP-PASSING-LOCATION"
409                "MAKE-OLD-FP-SAVE-LOCATION"
410                "RETURN-PC-PASSING-OFFSET"
411                "OLD-FP-PASSING-OFFSET"
412                "MAKE-RETURN-PC-SAVE-LOCATION"
413                "MAKE-ARG-COUNT-LOCATION"
414                "MAKE-NFP-TN"
415                "MAKE-STACK-POINTER-TN"
416                "MAKE-NUMBER-STACK-POINTER-TN"
417                "MAKE-UNKNOWN-VALUES-LOCATIONS"
418                "SELECT-COMPONENT-FORMAT"
419                "MAKE-NLX-SP-TN"
420                "MAKE-DYNAMIC-STATE-TNS"
421                "MAKE-NLX-ENTRY-ARG-START-LOCATION"
422                "GENERATE-CALL-SEQUENCE"
423                "GENERATE-RETURN-SEQUENCE"
424                "LOCATION-NUMBER"
425                "WITH-COMPILER-ERROR-RESIGNALLING"
426                "WITH-SOURCE-LOCATION"
428                "BRANCH-IF"
430                ;; for SB-COVER
431                "*CODE-COVERAGE-INFO*" "CODE-COVERAGE-RECORD-MARKED"
432                "CLEAR-CODE-COVERAGE" "RESET-CODE-COVERAGE"
433                ;; for SB-INTROSPECT
434                "MAP-PACKED-XREF-DATA" "MAP-SIMPLE-FUNS"
435                ))
437    #s(sb-cold:package-data
438       :name "SB!DEBUG"
439       :doc
440       "sorta public: Eventually this should become the debugger interface, with
441 basic stuff like BACKTRACE and ARG. For now, the actual supported interface
442 is still mixed indiscriminately with low-level internal implementation stuff
443 like *STACK-TOP-HINT* and unsupported stuff like *TRACED-FUN-LIST*."
444       :use ("CL" "SB!EXT" "SB!INT" "SB!SYS" "SB!KERNEL")
445       :reexport ("*DEBUG-PRINT-VARIABLE-ALIST*")
446       :export ("*BACKTRACE-FRAME-COUNT*"
447                "*DEBUG-BEGINNER-HELP-P*"
448                "*DEBUG-CONDITION*"
449                "*DEBUG-READTABLE*" "*DEBUG-HELP-STRING*"
450                "*FLUSH-DEBUG-ERRORS*" "*IN-THE-DEBUGGER*"
451                "*METHOD-FRAME-STYLE*"
452                "*TRACE-INDENTATION-STEP*" "*MAX-TRACE-INDENTATION*"
453                "ARG"
454                "INTERNAL-DEBUG" "VAR"
455                "*STACK-TOP-HINT*"
456                "*TRACE-ENCAPSULATE-DEFAULT*"
457                "FRAME-HAS-DEBUG-TAG-P"
458                "UNWIND-TO-FRAME-AND-CALL"
459                ;; Deprecated
460                "BACKTRACE" "BACKTRACE-AS-LIST" "*SHOW-ENTRY-POINT-DETAILS*"
461                ;; Replaced by
462                "PRINT-BACKTRACE" "LIST-BACKTRACE"))
464    #s(sb-cold:package-data
465       :name "SB!DI"
466       :doc "private: primitives used to write debuggers"
467       :use ("CL" "SB!EXT" "SB!INT" "SB!KERNEL" "SB!SYS" "SB!VM")
468       :import-from (("SB!C"
469                      "DEBUG-SOURCE-FORM" "DEBUG-SOURCE-NAMESTRING"
470                      "DEBUG-SOURCE-CREATED" "DEBUG-SOURCE-COMPILED"
471                      "MAKE-DEBUG-SOURCE"
472                      "DEBUG-SOURCE" "DEBUG-SOURCE-P"))
473       :reexport ("DEBUG-SOURCE-FORM"
474                  "DEBUG-SOURCE-NAMESTRING"
475                  "DEBUG-SOURCE-CREATED" "DEBUG-SOURCE-COMPILED"
476                  "DEBUG-SOURCE" "DEBUG-SOURCE-P")
477       :export ("ACTIVATE-BREAKPOINT"
478                "AMBIGUOUS-DEBUG-VARS" "AMBIGUOUS-VAR-NAME" "BREAKPOINT"
479                "BREAKPOINT-ACTIVE-P" "BREAKPOINT-HOOK-FUN" "BREAKPOINT-INFO"
480                "BREAKPOINT-KIND" "BREAKPOINT-P" "BREAKPOINT-WHAT" "CODE-LOCATION"
481                "CODE-LOCATION-DEBUG-BLOCK" "CODE-LOCATION-DEBUG-FUN"
482                "CODE-LOCATION-DEBUG-SOURCE" "CODE-LOCATION-FORM-NUMBER"
483                "CODE-LOCATION-P" "CODE-LOCATION-TOPLEVEL-FORM-OFFSET"
484                "CODE-LOCATION-CONTEXT"
485                "CODE-LOCATION-UNKNOWN-P" "CODE-LOCATION=" "DEACTIVATE-BREAKPOINT"
486                "DEBUG-BLOCK" "DEBUG-BLOCK-ELSEWHERE-P" "DEBUG-BLOCK-P"
487                "DEBUG-CONDITION" "DEBUG-ERROR"
488                "DEBUG-FUN" "DEBUG-FUN-FUN" "DEBUG-FUN-KIND"
489                "DEBUG-FUN-LAMBDA-LIST" "DEBUG-FUN-NAME" "DEBUG-FUN-CLOSURE-NAME"
490                "DEBUG-FUN-P" "DEBUG-FUN-START-LOCATION"
491                "DEBUG-FUN-SYMBOL-VARS"
492                "DEBUG-VAR" "DEBUG-VAR-ID" "DEBUG-VAR-INFO-AVAILABLE"
493                "DEBUG-VAR-SYMBOL-NAME" "DEBUG-VAR-P" "DEBUG-VAR-PACKAGE-NAME"
494                "DEBUG-VAR-SYMBOL" "DEBUG-VAR-VALID-VALUE"
495                "DEBUG-VAR-VALIDITY" "DEBUG-VAR-VALUE"
496                "DELETE-BREAKPOINT"
497                "DO-DEBUG-BLOCK-LOCATIONS" "DO-DEBUG-FUN-BLOCKS"
498                "DO-DEBUG-FUN-VARS"
499                "ERROR-CONTEXT"
500                "FORM-NUMBER-TRANSLATIONS"
501                "FRAME" "FRAME-CATCHES" "FRAME-CODE-LOCATION"
502                "FRAME-DEBUG-FUN" "FRAME-DOWN"
503                "FRAME-FUN-MISMATCH" "FRAME-NUMBER" "FRAME-P" "FRAME-UP"
504                "GET-TOPLEVEL-FORM"
505                "REPLACE-FRAME-CATCH-TAG"
506                "FUN-DEBUG-FUN" "FUN-END-COOKIE-VALID-P"
507                "INVALID-CONTROL-STACK-POINTER" "INVALID-VALUE"
508                "LAMBDA-LIST-UNAVAILABLE" "MAKE-BREAKPOINT" "NO-DEBUG-BLOCKS"
509                "NO-DEBUG-FUN-RETURNS" "PREPROCESS-FOR-EVAL"
510                "EVAL-IN-FRAME" "RETURN-FROM-FRAME" "SOURCE-PATH-CONTEXT"
511                "TOP-FRAME" "UNHANDLED-DEBUG-CONDITION"
512                "UNKNOWN-DEBUG-VAR"
513                "CODE-LOCATION-KIND" "FLUSH-FRAMES-ABOVE"))
515    #s(sb-cold:package-data
516       :name "SB!DISASSEM"
517       :doc "private: stuff related to the implementation of the disassembler"
518       :use ("CL" "SB!EXT" "SB!INT" "SB!SYS" "SB!KERNEL")
519       :export ("+DISASSEM-INST-ALIGNMENT-BYTES+"
520                "*DISASSEM-NOTE-COLUMN*" "*DISASSEM-OPCODE-COLUMN-WIDTH*"
521                "*DISASSEM-LOCATION-COLUMN-WIDTH*"
522                "ALIGN" ;;  prevent it from being removed, older Slime versions are using it
523                "ARG-VALUE" "DISASSEM-STATE"
524                "DISASSEMBLE-CODE-COMPONENT"
525                "DISASSEMBLE-FUN" "DISASSEMBLE-MEMORY"
526                "DISASSEMBLE-SEGMENT" "DISASSEMBLE-SEGMENTS"
527                "DSTATE-BYTE-ORDER"
528                "DSTATE-GETPROP"
529                "DSTATE-SETPROP"
530                "DSTATE-SEGMENT-SAP"
531                "FIND-INST"
532                "GET-CODE-SEGMENTS" "GET-FUN-SEGMENTS"
533                "GET-INST-SPACE" "HANDLE-BREAK-ARGS"
534                "LABEL-SEGMENTS"
535                "MAYBE-NOTE-ASSEMBLER-ROUTINE"
536                "MAYBE-NOTE-ASSOCIATED-STORAGE-REF"
537                "MAYBE-NOTE-NIL-INDEXED-OBJECT"
538                "MAYBE-NOTE-NIL-INDEXED-SYMBOL-SLOT-REF"
539                "MAYBE-NOTE-SINGLE-STORAGE-REF"
540                "MAYBE-NOTE-STATIC-SYMBOL"
541                "NOTE"
542                "NOTE-CODE-CONSTANT" "NOTE-CODE-CONSTANT-ABSOLUTE"
543                "PRIN1-QUOTED-SHORT"
544                "PRIN1-SHORT" "PRINT-BYTES"
545                "PRINT-CURRENT-ADDRESS" "PRINT-INST"
546                "PRINT-NOTES-AND-NEWLINE"
547                "PRINT-WORDS" "SAP-REF-DCHUNK" "SAP-REF-INT"
548                "SEG-CODE" "SEG-LENGTH" "SEGMENT"
549                "SIGN-EXTEND"
550                "GEN-PRINTER-DEF-FORMS-DEF-FORM" "MAKE-DSTATE"
551                "DEFINE-ARG-TYPE"
552                "READ-SIGNED-SUFFIX" "ADD-OFFS-HOOK"
553                "MAKE-MEMORY-SEGMENT"
554                "MAKE-SEGMENT" "SEG-VIRTUAL-LOCATION"
555                "DCHUNK" "DCHUNK-ZERO" "*DEFAULT-DSTATE-HOOKS*"
556                "MAKE-CODE-SEGMENT" "MAKE-OFFS-HOOK"
557                "DSTATE-SEGMENT" "DSTATE-CUR-OFFS"
558                "PRINC16" "INSTRUCTION" "DEFINE-INSTRUCTION-FORMAT"
559                "DSTATE-NEXT-OFFS"
560                "SEG-SAP-MAKER" "DISASSEMBLE-ASSEM-SEGMENT"
561                "READ-SUFFIX"
562                "MAP-SEGMENT-INSTRUCTIONS"
563                "SET-LOCATION-PRINTING-RANGE" "MAKE-VECTOR-SEGMENT"
564                "ADD-OFFS-NOTE-HOOK" "ADD-OFFS-COMMENT-HOOK"
565                "DSTATE-CUR-ADDR" "DSTATE-NEXT-ADDR"
566                "SNARF-ERROR-JUNK"))
568    #!+sb-dyncount
569    #s(sb-cold:package-data
570       :name "SB!DYNCOUNT"
571       :doc "private: some somewhat-stale code for collecting runtime statistics"
572       :use ("CL" "SB!ALIEN-INTERNALS" "SB!ALIEN" "SB!BIGNUM"
573                  "SB!EXT" "SB!INT" "SB!KERNEL" "SB!ASSEM" "SB!SYS")
574       :export ("*COLLECT-DYNAMIC-STATISTICS*"
575                "COUNT-ME"
576                "DYNCOUNT-INFO-COUNTS" "DYNCOUNT-INFO-COSTS"
577                "IR2-COMPONENT-DYNCOUNT-INFO"
578                "DYNCOUNT-INFO" "DYNCOUNT-INFO-P"))
580    #s(sb-cold:package-data
581       :name "SB!FASL"
582       :doc "private: stuff related to FASL load/dump logic (and GENESIS)"
583       :use ("CL" "SB!ALIEN" "SB!ASSEM" "SB!BIGNUM" "SB!C"
584                  "SB!EXT" "SB!INT" "SB!KERNEL" "SB!SYS")
585       :import-from (("SB!VM" "+FIXUP-KINDS+"))
586       :export ("*ASSEMBLER-ROUTINES*"
587                "GET-ASM-ROUTINE"
588                "+BACKEND-FASL-FILE-IMPLEMENTATION+"
589                "*FASL-FILE-TYPE*"
590                "CLOSE-FASL-OUTPUT"
591                "DUMP-ASSEMBLER-ROUTINES"
592                "DUMP-FOP" "DUMP-OBJECT"
593                "FASL-CONSTANT-ALREADY-DUMPED-P"
594                "+FASL-FILE-VERSION+"
595                "FASL-DUMP-COMPONENT"
596                "FASL-DUMP-COLD-FSET"
597                "FASL-DUMP-LOAD-TIME-VALUE" "FASL-DUMP-LOAD-TIME-VALUE-LAMBDA"
598                "FASL-DUMP-TOPLEVEL-LAMBDA-CALL"
599                "FASL-NOTE-HANDLE-FOR-CONSTANT"
600                "FASL-OUTPUT" "FASL-OUTPUT-P"
601                "FASL-OUTPUT-ENTRY-TABLE" "FASL-OUTPUT-STREAM"
602                "FASL-VALIDATE-STRUCTURE"
603                "*!LOAD-TIME-VALUES*"
604                "OPEN-FASL-OUTPUT"
605                "*!COLD-DEFCONSTANTS*" "*!COLD-DEFUNS*"
606                "*!COLD-SETF-MACROS*"  "*!COLD-TOPLEVELS*"
607                "COLD-CONS" "COLD-INTERN" "COLD-PUSH" "COLD-TARGET-PUSH"))
609    ;; This package is a grab bag for things which used to be internal
610    ;; symbols in package COMMON-LISP. Lots of these symbols are accessed
611    ;; with explicit SB!IMPL:: prefixes in the code. It would be nice to
612    ;; reduce the use of this practice, so if symbols from here which are
613    ;; accessed that way are found to belong more appropriately in an
614    ;; existing package (e.g. SB!KERNEL or SB!SYS or SB!EXT or SB!FASL),
615    ;; I (WHN 19990223) encourage maintainers to move them there..
616    #s(sb-cold:package-data
617       :name "SB!IMPL"
618       :doc "private: a grab bag of implementation details"
619       :import-from (("SB!KERNEL" "*PACKAGE-NAMES*"))
620       :export ("FORMAT-MICROSECONDS" "FORMAT-MILLISECONDS" ; for ~/fmt/
621                ;; symbols used by sb-simple-streams
622                "ANSI-STREAM-CLEAR-INPUT"
623                "ANSI-STREAM-FRESH-LINE" "ANSI-STREAM-LISTEN"
624                "ANSI-STREAM-READ-BYTE" "ANSI-STREAM-READ-CHAR"
625                "ANSI-STREAM-READ-CHAR-NO-HANG" "ANSI-STREAM-READ-LINE"
626                "ANSI-STREAM-READ-SEQUENCE" "ANSI-STREAM-PEEK-CHAR"
627                "ANSI-STREAM-UNREAD-CHAR" "ANSI-STREAM-WRITE-SEQUENCE"
628                "ANSI-STREAM-WRITE-STRING" "DISPATCH-TABLES"
629                "TOKEN-DELIMITERP" "WHITESPACE[2]P" "WITH-READ-BUFFER"
630                ;; other
631                "%MAKUNBOUND")
632       :use ("CL" "SB!ALIEN" "SB!BIGNUM" "SB!DEBUG" "SB!EXT"
633                  "SB!FASL" "SB!GRAY" "SB!INT" "SB!KERNEL" "SB!SYS"))
635    #s(sb-cold:package-data
636       :name "SB!EXT"
637       :doc "public: miscellaneous supported extensions to the ANSI Lisp spec"
638       :use ("CL" "SB!ALIEN" "SB!INT" "SB!SYS" "SB!GRAY")
639       :export ( ;; Information about how the program was invoked is
640                ;; nonstandard but very useful.
641                "*POSIX-ARGV*" "*CORE-PATHNAME*" "*RUNTIME-PATHNAME*"
642                "POSIX-GETENV" "POSIX-ENVIRON"
644                ;; Customizing initfile locations
645                "*USERINIT-PATHNAME-FUNCTION*"
646                "*SYSINIT-PATHNAME-FUNCTION*"
648                ;; Compare and Swap support
649                "CAS"
650                "COMPARE-AND-SWAP"
651                "DEFCAS"
652                "DEFINE-CAS-EXPANDER"
653                "GET-CAS-EXPANSION"
655                ;; Other atomic operations and types related to them
656                "ATOMIC-INCF"
657                "ATOMIC-DECF"
658                "ATOMIC-UPDATE"
659                "ATOMIC-PUSH"
660                "ATOMIC-POP"
661                "WORD"
662                "MOST-POSITIVE-WORD"
664                ;; Not an atomic operation, but should be used with them
665                "SPIN-LOOP-HINT"
667                ;; Waiting for arbitrary events.
668                "WAIT-FOR"
670                ;; Time related things
671                "CALL-WITH-TIMING"
672                "GET-TIME-OF-DAY"
674                ;; People have various good reasons to mess with the GC.
675                "*AFTER-GC-HOOKS*"
676                "BYTES-CONSED-BETWEEN-GCS"
677                "GC" "GET-BYTES-CONSED"
678                "*GC-RUN-TIME*"
679                "PURIFY"
680                "DYNAMIC-SPACE-SIZE"
681                ;; Gencgc only, but symbols exist for manual building
682                ;; convenience on all platforms.
683                "GENERATION-AVERAGE-AGE"
684                "GENERATION-BYTES-ALLOCATED"
685                "GENERATION-BYTES-CONSED-BETWEEN-GCS"
686                "GENERATION-MINIMUM-AGE-BEFORE-GC"
687                "GENERATION-NUMBER-OF-GCS"
688                "GENERATION-NUMBER-OF-GCS-BEFORE-PROMOTION"
689                "GC-LOGFILE"
691                ;; Stack allocation control
692                "*STACK-ALLOCATE-DYNAMIC-EXTENT*"
694                ;; Customizing printing of compiler and debugger messages
695                "*COMPILER-PRINT-VARIABLE-ALIST*"
696                "*DEBUG-PRINT-VARIABLE-ALIST*"
697                "COMPILE-FILE-LINE"
698                "COMPILE-FILE-POSITION"
700                ;; Hooks into init & save sequences
701                "*INIT-HOOKS*" "*SAVE-HOOKS*" "*EXIT-HOOKS*"
703                ;; Controlling exiting other threads.
704                "*EXIT-TIMEOUT*"
706                ;; There is no one right way to report progress on
707                ;; hairy compiles.
708                "*COMPILE-PROGRESS*"
710                ;; It can be handy to be able to evaluate expressions involving
711                ;; the thing under examination by CL:INSPECT.
712                "*INSPECTED*"
714                ;; There is no one right way to do efficiency notes.
715                "*EFFICIENCY-NOTE-COST-THRESHOLD*" "*EFFICIENCY-NOTE-LIMIT*"
717                ;; There's no one right way to report errors.
718                "*ENCLOSING-SOURCE-CUTOFF*"
719                "*UNDEFINED-WARNING-LIMIT*"
721                ;; and for dedicated users who really want to customize
722                ;; error reporting, we have
723                "DEFINE-SOURCE-CONTEXT"
724                "WITH-CURRENT-SOURCE-FORM"
726                ;; and given how many users dislike strict treatment of
727                ;; DEFCONSTANT, let's give them enough rope to escape by
728                "DEFCONSTANT-UNEQL" "DEFCONSTANT-UNEQL-NAME"
729                "DEFCONSTANT-UNEQL-NEW-VALUE" "DEFCONSTANT-UNEQL-OLD-VALUE"
731                ;; global lexicals, access to global symbol values
732                "DEFGLOBAL"
733                "DEFINE-LOAD-TIME-GLOBAL"
734                "SYMBOL-GLOBAL-VALUE"
736                ;; package extensions
737                ;;
738                ;; locks
739                ("PACKAGE-LOCKED-P"
740                 "LOCK-PACKAGE"
741                 "UNLOCK-PACKAGE"
742                 "PACKAGE-IMPLEMENTED-BY-LIST"
743                 "PACKAGE-IMPLEMENTS-LIST"
744                 "ADD-IMPLEMENTATION-PACKAGE"
745                 "REMOVE-IMPLEMENTATION-PACKAGE"
746                 "WITH-UNLOCKED-PACKAGES"
747                 "PACKAGE-LOCK-VIOLATION"
748                 "PACKAGE-LOCKED-ERROR"
749                 "SYMBOL-PACKAGE-LOCKED-ERROR"
750                 "PACKAGE-LOCKED-ERROR-SYMBOL")
751                "WITHOUT-PACKAGE-LOCKS"
752                "DISABLE-PACKAGE-LOCKS"
753                "ENABLE-PACKAGE-LOCKS"
754                ;; local nicknames
755                "ADD-PACKAGE-LOCAL-NICKNAME"
756                "REMOVE-PACKAGE-LOCAL-NICKNAME"
757                "PACKAGE-LOCAL-NICKNAMES"
758                "PACKAGE-LOCALLY-NICKNAMED-BY-LIST"
759                ;; behaviour on DEFPACKAGE variance
760                "*ON-PACKAGE-VARIANCE*"
762                ;; Custom conditions & condition accessors for users to handle.
763                "CODE-DELETION-NOTE"
764                "COMPILER-NOTE"
765                "IMPLICIT-GENERIC-FUNCTION-NAME"
766                "IMPLICIT-GENERIC-FUNCTION-WARNING"
767                "INVALID-FASL"
769                "NAME-CONFLICT" "NAME-CONFLICT-FUNCTION"
770                "NAME-CONFLICT-DATUM" "NAME-CONFLICT-SYMBOLS"
771                "RESOLVE-CONFLICT"
773                ;; Deprecation stuff
774                "DEPRECATED" ; declaration
775                "DEPRECATION-CONDITION"
776                "DEPRECATION-CONDITION-NAMESPACE"
777                "DEPRECATION-CONDITION-NAME"
778                "DEPRECATION-CONDITION-SOFTWARE"
779                "DEPRECATION-CONDITION-VERSION"
780                "DEPRECATION-CONDITION-REPLACEMENTS"
781                "DEPRECATION-CONDITION-RUNTIME-ERROR"
782                "EARLY-DEPRECATION-WARNING"
783                "LATE-DEPRECATION-WARNING"
784                "FINAL-DEPRECATION-WARNING"
785                "DEPRECATION-ERROR" ; condition and function
787                "PRINT-UNREADABLY"
789                ;; Readtable normalization control
790                "READTABLE-BASE-CHAR-PREFERENCE"
791                "READTABLE-NORMALIZATION"
793                ;; and a mechanism for controlling same at compile time
794                "MUFFLE-CONDITIONS" "UNMUFFLE-CONDITIONS"
796                ;; and one for controlling same at runtime
797                "*MUFFLED-WARNINGS*"
799                ;; specification which print errors to ignore ala *break-on-signal*
800                "*SUPPRESS-PRINT-ERRORS*"
802                ;; extended declarations..
803                "ALWAYS-BOUND" "FREEZE-TYPE" "GLOBAL" "INHIBIT-WARNINGS"
804                "MAYBE-INLINE"
806                ;; ..and variables to control compiler policy
807                "*INLINE-EXPANSION-LIMIT*"
808                "*DERIVE-FUNCTION-TYPES*"
810                ;; ..and inspector of compiler policy
811                "DESCRIBE-COMPILER-POLICY"
812                "RESTRICT-COMPILER-POLICY"
813                "SET-MACRO-POLICY"
815                ;; a special form for breaking out of our "declarations
816                ;; are assertions" default
817                "TRULY-THE"
819                ;; Misc. array and vector tools.
820                "ARRAY-STORAGE-VECTOR"
822                ;; This is something which must exist inside any Common
823                ;; Lisp implementation, and which someone writing a
824                ;; customized toplevel might well want. It seems perverse
825                ;; to hide it from them..
826                "INTERACTIVE-EVAL"
828                ;; Used by LOAD and EVAL-WHEN to pass toplevel indexes
829                ;; to compiler.
830                "EVAL-TLF"
832                ;; weak pointers and finalization
833                "CANCEL-FINALIZATION"
834                "FINALIZE"
835                "MAKE-WEAK-POINTER"
836                "WEAK-POINTER"
837                "WEAK-POINTER-P"
838                "WEAK-POINTER-VALUE"
840                ;; Hash table extensions
841                "DEFINE-HASH-TABLE-TEST"
842                "HASH-TABLE-SYNCHRONIZED-P"
843                "HASH-TABLE-WEAKNESS"
844                "WITH-LOCKED-HASH-TABLE"
846                ;; If the user knows we're doing IEEE, he might reasonably
847                ;; want to do this stuff.
848                "FLOAT-DENORMALIZED-P"
849                "FLOAT-NAN-P" "FLOAT-TRAPPING-NAN-P"
850                "FLOAT-INFINITY-P"
851                "SHORT-FLOAT-NEGATIVE-INFINITY"
852                "SHORT-FLOAT-POSITIVE-INFINITY"
853                "SINGLE-FLOAT-NEGATIVE-INFINITY"
854                "SINGLE-FLOAT-POSITIVE-INFINITY"
855                "DOUBLE-FLOAT-NEGATIVE-INFINITY"
856                "DOUBLE-FLOAT-POSITIVE-INFINITY"
857                "LONG-FLOAT-NEGATIVE-INFINITY"
858                "LONG-FLOAT-POSITIVE-INFINITY"
860                ;; saving Lisp images
861                "SAVE-LISP-AND-DIE"
863                ;; provided for completeness to make it more convenient
864                ;; to use command-line --disable-debugger functionality
865                ;; in oddball situations (like building core files using
866                ;; scripts which run unattended, when the core files are
867                ;; intended for interactive use)
868                "DISABLE-DEBUGGER"
869                "ENABLE-DEBUGGER"
871                ;; the mechanism by which {en,dis}able-debugger works is
872                ;; also exported for people writing alternative toplevels
873                ;; (Emacs, CLIM interfaces, etc)
874                "*INVOKE-DEBUGGER-HOOK*"
876                ;; miscellaneous useful supported extensions
877                "QUIT" "EXIT"
878                "*ED-FUNCTIONS*"
879                "*MODULE-PROVIDER-FUNCTIONS*"
880                "MAP-DIRECTORY"
881                "WITH-TIMEOUT" "TIMEOUT"
882                "SEED-RANDOM-STATE"
883                "TYPEXPAND-1" "TYPEXPAND" "TYPEXPAND-ALL"
884                "DEFINED-TYPE-NAME-P" "VALID-TYPE-SPECIFIER-P"
885                "DELETE-DIRECTORY"
886                "SET-SBCL-SOURCE-LOCATION"
887                "*DISASSEMBLE-ANNOTATE*"
888                "PRINT-SYMBOL-WITH-PREFIX"
889                "PRINT-TYPE-SPECIFIER" "PRINT-TYPE"
890                "*PRINT-VECTOR-LENGTH*"
891                "DECIMAL-WITH-GROUPED-DIGITS-WIDTH"
892                ;;"OBJECT-SIZE"
894                ;; stepping interface
895                "STEP-CONDITION" "STEP-FORM-CONDITION" "STEP-FINISHED-CONDITION"
896                "STEP-VALUES-CONDITION"
897                "STEP-CONDITION-FORM" "STEP-CONDITION-RESULT"
898                "STEP-CONTINUE" "STEP-NEXT" "STEP-INTO"
899                "STEP-CONDITION-ARGS" "*STEPPER-HOOK*" "STEP-OUT"
901                ;; RUN-PROGRAM is not only useful for users, but also
902                ;; useful to implement parts of SBCL itself, so we're
903                ;; going to have to implement it anyway, so we might
904                ;; as well support it. And then once we're committed
905                ;; to implementing RUN-PROGRAM, it's nice to have it
906                ;; return a PROCESS object with operations defined on
907                ;; that object.
908                "RUN-PROGRAM"
909                "PROCESS-ALIVE-P" "PROCESS-CLOSE"
910                "PROCESS-CORE-DUMPED" "PROCESS-ERROR" "PROCESS-EXIT-CODE"
911                "PROCESS-INPUT" "PROCESS-KILL" "PROCESS-OUTPUT" "PROCESS-P"
912                "PROCESS-PID" "PROCESS-PLIST" "PROCESS-PTY" "PROCESS-STATUS"
913                "PROCESS-STATUS-HOOK" "PROCESS-WAIT"
915                ;; pathnames
916                "NATIVE-PATHNAME"
917                "PARSE-NATIVE-NAMESTRING"
918                "NATIVE-NAMESTRING"
920                ;; external-format support
921                "OCTETS-TO-STRING" "STRING-TO-OCTETS"
923                ;; Whether to use the interpreter or the compiler for EVAL
924                "*EVALUATOR-MODE*"
926                ;; timer
927                "TIMER" "MAKE-TIMER" "TIMER-NAME" "TIMER-SCHEDULED-P"
928                "SCHEDULE-TIMER" "UNSCHEDULE-TIMER" "LIST-ALL-TIMERS"
930                ;; SIMD pack
931                #!+sb-simd-pack("SIMD-PACK"
932                                "SIMD-PACK-P"
933                                "%MAKE-SIMD-PACK-UB32"
934                                "%MAKE-SIMD-PACK-UB64"
935                                "%MAKE-SIMD-PACK-DOUBLE"
936                                "%MAKE-SIMD-PACK-SINGLE"
937                                "%SIMD-PACK-UB32S"
938                                "%SIMD-PACK-UB64S"
939                                "%SIMD-PACK-DOUBLES"
940                                "%SIMD-PACK-SINGLES")
942                ;; versioning utility
943                "ASSERT-VERSION->="
944                "UNKNOWN-KEYWORD-ARGUMENT"
945                "UNKNOWN-KEYWORD-ARGUMENT-NAME"))
947    #s(sb-cold:package-data
948       :name "SB!FORMAT"
949       :doc "private: implementation of FORMAT and friends"
950       :use ("CL" "SB!EXT" "SB!INT" "SB!KERNEL")
951       :export ("%COMPILER-WALK-FORMAT-STRING" "FORMAT-ERROR"))
953    #s(sb-cold:package-data
954       :name "SB!GRAY"
955       :doc
956       "public: an implementation of the stream-definition-by-user
957 Lisp extension proposal by David N. Gray"
958       :use ("CL" "SB!EXT" "SB!INT" "SB!KERNEL")
959       :export ("FUNDAMENTAL-BINARY-STREAM"
960                "FUNDAMENTAL-BINARY-INPUT-STREAM"
961                "FUNDAMENTAL-BINARY-OUTPUT-STREAM" "FUNDAMENTAL-CHARACTER-STREAM"
962                "FUNDAMENTAL-CHARACTER-INPUT-STREAM"
963                "FUNDAMENTAL-CHARACTER-OUTPUT-STREAM"
964                "FUNDAMENTAL-INPUT-STREAM" "FUNDAMENTAL-OUTPUT-STREAM"
965                "FUNDAMENTAL-STREAM"
966                "STREAM-ADVANCE-TO-COLUMN" "STREAM-CLEAR-INPUT"
967                "STREAM-CLEAR-OUTPUT" "STREAM-FILE-POSITION" "STREAM-FINISH-OUTPUT" "STREAM-FORCE-OUTPUT"
968                "STREAM-FRESH-LINE" "STREAM-LINE-COLUMN" "STREAM-LINE-LENGTH"
969                "STREAM-LISTEN" "STREAM-PEEK-CHAR" "STREAM-READ-BYTE"
970                "STREAM-READ-CHAR" "STREAM-READ-CHAR-NO-HANG" "STREAM-READ-LINE"
971                "STREAM-READ-SEQUENCE" "STREAM-START-LINE-P" "STREAM-TERPRI"
972                "STREAM-UNREAD-CHAR"
973                "STREAM-WRITE-BYTE" "STREAM-WRITE-CHAR" "STREAM-WRITE-SEQUENCE"
974                "STREAM-WRITE-STRING"))
976    #s(sb-cold:package-data
977       :name "SB!INT"
978       :doc
979       "private: miscellaneous unsupported extensions to the ANSI spec. Much of
980 the stuff in here originated in CMU CL's EXTENSIONS package and is retained,
981 possibly temporarily, because it might be used internally."
982       :use ("CL" "SB!ALIEN" "SB!GRAY" "SB!FASL" "SB!SYS")
983       :export (;; lambda list keyword extensions
984                "&MORE"
986                ;; utilities for floating point zero handling
987                "FP-ZERO-P"
988                "NEG-FP-ZERO"
990                ;; Advice to the compiler that it doesn't need to assert types.
991                "EXPLICIT-CHECK"
992                ;; Stack allocation without any questions asked
993                "TRULY-DYNAMIC-EXTENT"
995                ;; Like WITH-LOCKED-HASH-TABLE, but disabled interrupts
996                "WITH-LOCKED-SYSTEM-TABLE"
998                ;; generic set implementation backed by a list that upgrades
999                ;; to a hashtable if a certain size is exceeded.
1000                "ADD-TO-XSET"
1001                "ALLOC-XSET"
1002                "MAP-XSET"
1003                "XSET"
1004                "XSET-COUNT"
1005                "XSET-EMPTY-P"
1006                "XSET-INTERSECTION"
1007                "XSET-MEMBER-P"
1008                "XSET-MEMBERS"
1009                "XSET-SUBSET-P"
1010                "XSET-UNION"
1012                ;; sparse set implementation backed by a lightweight hashtable
1013                "COPY-SSET"
1014                "DO-SSET-ELEMENTS"
1015                "MAKE-SSET"
1016                "SSET"
1017                "SSET-ADJOIN" "SSET-DELETE" "SSET-ELEMENT" "SSET-EMPTY"
1018                "SSET-MEMBER"
1019                "OSET" "MAKE-OSET" "OSET-MEMBERS" "OSET-COUNT"
1020                "OSET-ADJOIN" "OSET-DELETE" "OSET-MEMBER"
1021                "DO-OSET-ELEMENTS"
1023                ;; communication between the runtime and Lisp
1024                "*CORE-STRING*"
1026                ;; INFO stuff doesn't belong in a user-visible package, we
1027                ;; should be able to change it without apology.
1028                "*INFO-ENVIRONMENT*"
1029                "*RECOGNIZED-DECLARATIONS*"
1030                "+INFOS-PER-WORD+"
1031                "+FDEFN-INFO-NUM+"
1032                "+NIL-PACKED-INFOS+"
1033                "ATOMIC-SET-INFO-VALUE"
1034                "CALL-WITH-EACH-GLOBALDB-NAME"
1035                "CLEAR-INFO"
1036                "CLEAR-INFO-VALUES"
1037                "DEFINE-INFO-TYPE"
1038                "FIND-FDEFN"
1039                "SYMBOL-FDEFN"
1040                "GET-INFO-VALUE-INITIALIZING"
1041                "GLOBALDB-SXHASHOID"
1042                "INFO"
1043                "INFO-FIND-AUX-KEY/PACKED"
1044                "INFO-GETHASH"
1045                "INFO-MAPHASH"
1046                "INFO-NUMBER"
1047                "INFO-NUMBER-BITS"
1048                "INFO-VECTOR-FDEFN"
1049                "MAKE-INFO-HASHTABLE"
1050                "META-INFO"
1051                "META-INFO-NUMBER"
1052                "PACKED-INFO-FIELD"
1053                "PACKED-INFO-INSERT"
1054                "PROCLAIMED-FTYPE"
1055                "SET-INFO-VALUE"
1056                "SHOW-INFO"
1057                "UPDATE-SYMBOL-INFO"
1058                "WITH-GLOBALDB-NAME"
1060                ;; Calling a list of hook functions, plus error handling.
1061                "CALL-HOOKS"
1062                ;; Constant form evaluation
1063                "CONSTANT-FORM-VALUE"
1064                "CONSTANT-TYPEP"
1066                ;; stepping control
1067                "*STEPPING*"
1069                ;; packages grabbed once and for all
1070                "*KEYWORD-PACKAGE*" "*CL-PACKAGE*"
1072                ;; hash mixing operations
1073                "MIX" "MIXF"
1075                ;; Macroexpansion that doesn't touch special forms
1076                "%MACROEXPAND"
1077                "%MACROEXPAND-1"
1079                "*SETF-FDEFINITION-HOOK*"
1081                ;; error-reporting facilities
1082                "ARGUMENTS-OUT-OF-DOMAIN-ERROR"
1083                "BAD-TYPE"
1084                "CLOSED-STREAM-ERROR"
1085                "COMPILED-PROGRAM-ERROR"
1086                "COMPILER-MACRO-KEYWORD-PROBLEM"
1087                "ENCAPSULATED-CONDITION"
1088                "INTERPRETED-PROGRAM-ERROR"
1089                "INVALID-ARRAY-ERROR"
1090                "INVALID-ARRAY-INDEX-ERROR"
1091                "INVALID-ARRAY-P"
1092                "SIMPLE-CONTROL-ERROR" "SIMPLE-FILE-ERROR"
1093                "SIMPLE-PARSE-ERROR"
1094                "SIMPLE-PROGRAM-ERROR" "%PROGRAM-ERROR"
1095                "SIMPLE-READER-ERROR"
1096                "SIMPLE-READER-PACKAGE-ERROR"
1097                "SIMPLE-REFERENCE-ERROR"
1098                "SIMPLE-REFERENCE-WARNING"
1099                "SIMPLE-STREAM-ERROR"
1100                "SIMPLE-STORAGE-CONDITION"
1101                "SIMPLE-STYLE-WARNING"
1102                "STREAM-ERROR-POSITION-INFO"
1103                "TRY-RESTART"
1105                ;; error-signalling facilities
1106                "STANDARD-READTABLE-MODIFIED-ERROR"
1107                "STANDARD-PPRINT-DISPATCH-TABLE-MODIFIED-ERROR"
1108                "ARRAY-BOUNDING-INDICES-BAD-ERROR"
1109                "CIRCULAR-LIST-ERROR"
1110                "SEQUENCE-BOUNDING-INDICES-BAD-ERROR"
1111                "SPECIAL-FORM-FUNCTION"
1112                "STYLE-WARN" "SIMPLE-COMPILER-NOTE"
1113                "TWO-ARG-CHAR-EQUAL" "TWO-ARG-CHAR-NOT-EQUAL"
1114                "TWO-ARG-CHAR-LESSP" "TWO-ARG-CHAR-NOT-LESSP"
1115                "TWO-ARG-CHAR-GREATERP" "TWO-ARG-CHAR-NOT-GREATERP"
1116                "CHAR-EQUAL-CONSTANT" "CHAR-CASE-INFO"
1117                ;; FIXME: potential SB!EXT exports
1118                "CHARACTER-CODING-ERROR"
1119                "CHARACTER-DECODING-ERROR" "CHARACTER-DECODING-ERROR-OCTETS"
1120                "CHARACTER-ENCODING-ERROR" "CHARACTER-ENCODING-ERROR-CODE"
1121                "STREAM-DECODING-ERROR" "STREAM-ENCODING-ERROR"
1122                "C-STRING-ENCODING-ERROR"
1123                "C-STRING-DECODING-ERROR"
1124                "ATTEMPT-RESYNC" "FORCE-END-OF-FILE"
1126                ;; bug workaround. Or not. I don't know if it's a bug
1127                "!POSSIBLY-DEFCONSTANT-EQX"
1129                ;; bootstrapping magic, to make things happen both in
1130                ;; the cross-compilation host compiler's environment and
1131                ;; in the cross-compiler's environment
1132                "DEF!CONSTANT" "DEF!STRUCT" "DEF!TYPE"
1133                ;; bootstrapping magic of a different kind, wherein things happen
1134                ;; as they ordinarily do, plus during second genesis.
1135                "!DEFGLOBAL" "!DEFPARAMETER" "!DEFVAR"
1136                "!DEFINE-THREAD-LOCAL"
1138                ;; bootstrapping macro whose effect is to delay until warm load.
1139                "DEF*METHOD"
1140                "!SET-LOAD-FORM-METHOD"
1142                ;; stuff for hinting to the compiler
1143                "NAMED-DS-BIND"
1144                "NAMED-LAMBDA"
1146                ;; other variations on DEFFOO stuff useful for bootstrapping
1147                ;; and cross-compiling
1148                "DEFCONSTANT-EQX"
1149                "DEFINE-UNSUPPORTED-FUN"
1151                ;; messing with PATHNAMEs
1152                "MAKE-TRIVIAL-DEFAULT-PATHNAME"
1153                "PHYSICALIZE-PATHNAME"
1154                "SANE-DEFAULT-PATHNAME-DEFAULTS"
1155                "SBCL-HOMEDIR-PATHNAME"
1156                "SIMPLIFY-NAMESTRING"
1158                "*N-BYTES-FREED-OR-PURIFIED*"
1160                ;; Deprecating stuff
1161                "DEFINE-DEPRECATED-FUNCTION"
1162                "DEFINE-DEPRECATED-VARIABLE"
1163                "DEPRECATION-STATE"
1164                "DEPRECATION-INFO" "MAKE-DEPRECATION-INFO"
1165                "DEPRECATION-INFO-STATE"
1166                "DEPRECATION-INFO-SOFTWARE"
1167                "DEPRECATION-INFO-VERSION"
1168                "DEPRECATION-INFO-REPLACEMENTS"
1169                "PRINT-DEPRECATION-MESSAGE"
1170                "CHECK-DEPRECATED-THING" "CHECK-DEPRECATED-TYPE"
1171                "DEPRECATED-THING-P"
1172                "DEPRECATION-WARN"
1173                "LOADER-DEPRECATION-WARN"
1175                ;; miscellaneous non-standard but handy user-level functions..
1176                "ASSQ" "DELQ" "MEMQ" "POSQ" "NEQ"
1177                "ADJUST-LIST"
1178                "%FIND-PACKAGE-OR-LOSE" "FIND-UNDELETED-PACKAGE-OR-LOSE"
1179                "SANE-PACKAGE"
1180                "COALESCE-TREE-P"
1181                "COMPOUND-OBJECT-P"
1182                "SWAPPED-ARGS-FUN"
1183                "AND/TYPE" "NOT/TYPE"
1184                "ANY/TYPE" "EVERY/TYPE"
1185                "EQUAL-BUT-NO-CAR-RECURSION"
1186                "TYPE-BOUND-NUMBER"
1187                "CONSTANTLY-T" "CONSTANTLY-NIL" "CONSTANTLY-0"
1188                "PSXHASH"
1189                "%BREAK"
1190                "BIT-VECTOR-="
1191                "PATHNAME="
1192                "%HASH-TABLE-ALIST"
1193                "HASH-TABLE-EQUALP"
1194                "READ-EVALUATED-FORM"
1195                "MAKE-UNPRINTABLE-OBJECT"
1196                "POSSIBLY-BASE-STRINGIZE"
1197                "POWER-OF-TWO-CEILING"
1198                "PRINT-NOT-READABLE-ERROR"
1199                "REPLACE/EQL-HASH-TABLE"
1200                "RECONS"
1201                "SET-CLOSURE-NAME"
1203                ;; ..and macros..
1204                "COLLECT"
1205                "DO-ANONYMOUS" "DOVECTOR" "DOHASH" "DOPLIST"
1206                "ENSURE-GETHASH"
1207                "NAMED-LET"
1208                "ONCE-ONLY"
1209                "DEFENUM"
1210                "DEFPRINTER"
1211                "AVER"
1212                "DX-FLET" "DX-LET"
1213                "AWHEN" "ACOND" "IT"
1214                "BINDING*" "EXTRACT-VAR-DECLS"
1215                "!DEF-BOOLEAN-ATTRIBUTE"
1216                "FUNARG-BIND/CALL-FORMS"
1217                "QUASIQUOTE"
1218                "COMMA-P"
1219                "COMMA-EXPR"
1220                "COMMA-KIND"
1221                "UNQUOTE"
1222                "PACKAGE-HASHTABLE"
1223                "PACKAGE-ITER-STEP"
1224                "WITH-REBOUND-IO-SYNTAX"
1225                "WITH-SANE-IO-SYNTAX"
1226                "WITH-PROGRESSIVE-TIMEOUT"
1228                ;; ..and CONDITIONs..
1229                "BUG"
1230                "UNSUPPORTED-OPERATOR"
1232                "BOOTSTRAP-PACKAGE-NAME"
1233                "BOOTSTRAP-PACKAGE-NOT-FOUND"
1234                "DEBOOTSTRAP-PACKAGE"
1236                "REFERENCE-CONDITION" "REFERENCE-CONDITION-REFERENCES"
1237                "*PRINT-CONDITION-REFERENCES*"
1239                "DUPLICATE-DEFINITION" "DUPLICATE-DEFINITION-NAME"
1240                "SAME-FILE-REDEFINITION-WARNING"
1241                "PACKAGE-AT-VARIANCE"
1242                "PACKAGE-AT-VARIANCE-ERROR"
1243                "ARRAY-INITIAL-ELEMENT-MISMATCH"
1244                "TYPE-WARNING" "TYPE-STYLE-WARNING"
1245                "LOCAL-ARGUMENT-MISMATCH"
1246                "FORMAT-ARGS-MISMATCH" "FORMAT-TOO-FEW-ARGS-WARNING"
1247                "FORMAT-TOO-MANY-ARGS-WARNING" "EXTENSION-FAILURE"
1248                "STRUCTURE-INITARG-NOT-KEYWORD" "CONSTANT-MODIFIED"
1250                ;; ..and DEFTYPEs..
1251                "MAX-HASH" "HASH"
1252                "INDEX" "LOAD/STORE-INDEX"
1253                "SIGNED-BYTE-WITH-A-BITE-OUT"
1254                "UNSIGNED-BYTE-WITH-A-BITE-OUT"
1255                "SFUNCTION" "UNSIGNED-BYTE*"
1256                "CONSTANT-DISPLACEMENT"
1257                ;; ..and type predicates
1258                "DOUBLE-FLOAT-P"
1259                "LOGICAL-PATHNAME-P"
1260                "LONG-FLOAT-P"
1261                "SHORT-FLOAT-P"
1262                "SINGLE-FLOAT-P"
1263                "FIXNUMP"
1264                "BIGNUMP"
1265                "RATIOP"
1266                "UNBOUND-MARKER-P"
1268                ;; encapsulation
1269                "ENCAPSULATE" "ENCAPSULATED-P"
1270                "UNENCAPSULATE"
1272                ;; various CHAR-CODEs
1273                "BACKSPACE-CHAR-CODE" "BELL-CHAR-CODE" "ESCAPE-CHAR-CODE"
1274                "FORM-FEED-CHAR-CODE" "LINE-FEED-CHAR-CODE"
1275                "RETURN-CHAR-CODE" "RUBOUT-CHAR-CODE" "TAB-CHAR-CODE"
1277                ;; symbol-hacking idioms
1278                "GENSYMIFY" "GENSYMIFY*" "KEYWORDICATE" "SYMBOLICATE"
1279                "INTERNED-SYMBOL-P" "PACKAGE-SYMBOLICATE"
1280                "LOGICALLY-READONLYIZE"
1282                ;; certainly doesn't belong in public extensions
1283                ;; FIXME: maybe belongs in %KERNEL with other typesystem stuff?
1284                "CONSTANT-ARG"
1286                ;; various internal defaults
1287                "*DEFAULT-INIT-CHAR-FORM*"
1288                "*LOAD-SOURCE-DEFAULT-TYPE*" "BASE-CHAR-CODE-LIMIT"
1290                ;; hash caches
1291                "DEFUN-CACHED"
1292                "DROP-ALL-HASH-CACHES"
1294                ;; time
1295                "FORMAT-DECODED-TIME"
1296                "FORMAT-UNIVERSAL-TIME"
1298                ;; used for FORMAT tilde paren
1299                "MAKE-CASE-FROB-STREAM"
1301                ;; helpers for C library calls
1302                "STRERROR" "SIMPLE-PERROR"
1304                ;; debuggers' little helpers
1305                #!+sb-show("*/SHOW*"
1306                           "HEXSTR")
1307                "/SHOW"  "/NOSHOW"
1308                "/XHOW"  "/NOXHOW"
1309                "/SHOW0" "/NOSHOW0"
1310                "/HEXSTR" "/NOHEXSTR"
1311                "/PRIMITIVE-PRINT"
1313                ;; cross-compilation bootstrap hacks which turn into
1314                ;; placeholders in a target system
1315                "UNCROSS"
1316                "!UNCROSS-FORMAT-CONTROL"
1318                ;; might as well be shared among the various files which
1319                ;; need it:
1320                "*EOF-OBJECT*"
1322                ;; allocation to static space
1323                "MAKE-STATIC-VECTOR"
1325                ;; alien interface utilities
1326                "C-STRINGS->STRING-LIST"
1328                ;; misc. utilities used internally
1329                "ADDRESS-BASED-COUNTER-VAL"
1330                "DEFINE-FUNCTION-NAME-SYNTAX" "VALID-FUNCTION-NAME-P" ; should be SB!EXT?
1331                "LEGAL-VARIABLE-NAME-P"
1332                "LEGAL-FUN-NAME-P" "LEGAL-FUN-NAME-OR-TYPE-ERROR"
1333                "FUN-NAME-BLOCK-NAME"
1334                "FUN-NAME-INLINE-EXPANSION"
1335                "LISTEN-SKIP-WHITESPACE"
1336                "PACKAGE-INTERNAL-SYMBOL-COUNT" "PACKAGE-EXTERNAL-SYMBOL-COUNT"
1337                "PARSE-BODY" "PARSE-LAMBDA-LIST" "MAKE-LAMBDA-LIST"
1338                "CHECK-LAMBDA-LIST-NAMES"
1339                "LAMBDA-LIST-KEYWORD-MASK"
1340                "PARSE-KEY-ARG-SPEC" "PARSE-OPTIONAL-ARG-SPEC"
1341                "LL-KWDS-RESTP" "LL-KWDS-KEYP" "LL-KWDS-ALLOWP"
1342                "MAKE-MACRO-LAMBDA"
1343                "PROPER-LIST-OF-LENGTH-P" "PROPER-LIST-P"
1344                "LIST-OF-LENGTH-AT-LEAST-P"
1345                "LIST-WITH-LENGTH-P"
1346                "SINGLETON-P" "ENSURE-LIST"
1347                "MISSING-ARG"
1348                "FEATUREP"
1349                "FLUSH-STANDARD-OUTPUT-STREAMS"
1350                "WITH-UNIQUE-NAMES" "MAKE-GENSYM-LIST"
1351                "ABOUT-TO-MODIFY-SYMBOL-VALUE"
1352                "SELF-EVALUATING-P"
1353                "PRINT-PRETTY-ON-STREAM-P"
1354                "ARRAY-READABLY-PRINTABLE-P"
1355                "LOOKS-LIKE-NAME-OF-SPECIAL-VAR-P"
1356                "POSITIVE-PRIMEP"
1357                "EVAL-IN-LEXENV"
1358                "SIMPLE-EVAL-IN-LEXENV"
1359                "FORCE" "DELAY" "PROMISE-READY-P"
1360                "FIND-RESTART-OR-CONTROL-ERROR"
1361                "LOAD-AS-SOURCE"
1362                "DESCRIPTOR-SAP"
1364                ;; These could be moved back into SB!EXT if someone has
1365                ;; compelling reasons, but hopefully we can get by
1366                ;; without supporting them, at least not as publicly
1367                ;; accessible things with fixed interfaces.
1368                "GET-FLOATING-POINT-MODES"
1369                "SET-FLOATING-POINT-MODES"
1370                "WITH-FLOAT-TRAPS-MASKED"
1372                ;; a sort of quasi-unbound tag for use in hash tables
1373                "+EMPTY-HT-SLOT+"
1375                ;; low-level i/o stuff
1376                "DONE-WITH-FAST-READ-CHAR"
1377                "FAST-READ-BYTE"
1378                "FAST-READ-BYTE-REFILL"
1379                "FAST-READ-CHAR"
1380                "FAST-READ-CHAR-REFILL"
1381                "FAST-READ-S-INTEGER"
1382                "FAST-READ-U-INTEGER"
1383                "FAST-READ-VAR-U-INTEGER"
1384                "FILE-NAME"
1385                "FORM-TRACKING-STREAM"
1386                "FORM-TRACKING-STREAM-OBSERVER"
1387                "FORM-TRACKING-STREAM-P"
1388                "FORM-TRACKING-STREAM-FORM-START-BYTE-POS"
1389                "FORM-TRACKING-STREAM-FORM-START-CHAR-POS"
1390                "LINE/COL-FROM-CHARPOS"
1391                "%INTERN"
1392                "WITH-FAST-READ-BYTE"
1393                "PREPARE-FOR-FAST-READ-CHAR"
1394                "OUT-STREAM-FROM-DESIGNATOR"
1395                "STRINGIFY-OBJECT"
1396                "%WRITE"
1398                ;; hackery to help set up for cold init
1399                "!BEGIN-COLLECTING-COLD-INIT-FORMS"
1400                "!COLD-INIT-FORMS"
1401                "!COLD-FSET"
1402                "!DEFUN-FROM-COLLECTED-COLD-INIT-FORMS"
1404                ;; catch tags
1405                "TOPLEVEL-CATCHER"
1407                ;; Constructors for arrays whose element-type is recoverable
1408                ;; even if the host Lisp upgrades it to something unexpected.
1409                "!MAKE-SPECIALIZED-ARRAY"
1410                "!COERCE-TO-SPECIALIZED"
1411                "!SPECIALIZED-ARRAY-ELEMENT-TYPE"
1413                ;; hooks for contrib/ stuff we're insufficiently sure
1414                ;; about to add to SB!EXT
1415                "*REPL-PROMPT-FUN*"
1416                "*REPL-READ-FORM-FUN*"
1418                ;; Character database
1419                "**CHARACTER-MISC-DATABASE**"
1420                "**CHARACTER-HIGH-PAGES**"
1421                "**CHARACTER-LOW-PAGES**"
1422                "**CHARACTER-DECOMPOSITIONS**"
1423                "**CHARACTER-PRIMARY-COMPOSITIONS**"
1424                "**CHARACTER-CASES**"
1425                "**CHARACTER-CASE-PAGES**"
1426                "**CHARACTER-COLLATIONS**"
1427                "**UNICODE-CHAR-NAME-DATABASE**"
1428                "**UNICODE-NAME-CHAR-DATABASE**"
1429                "**UNICODE-1-CHAR-NAME-DATABASE**"
1430                "**UNICODE-1-NAME-CHAR-DATABASE**"
1431                "**UNICODE-CHARACTER-NAME-HUFFMAN-TREE**"
1433                ;; Character database access
1434                "MISC-INDEX"
1435                "CLEAR-FLAG"
1436                "PACK-3-CODEPOINTS"
1438                ;; Huffman trees
1439                "HUFFMAN-ENCODE"
1440                "HUFFMAN-DECODE"
1441                "BINARY-SEARCH"
1442                "DOUBLE-VECTOR-BINARY-SEARCH"))
1444    ;; FIXME: This package is awfully huge. It'd probably be good to
1445    ;; split it. There's at least one natural way to split it: the
1446    ;; implementation of the Lisp type system (e.g. TYPE-INTERSECTION and
1447    ;; SPECIFIER-TYPE) could move to a separate package SB!TYPE. (There's
1448    ;; lots of stuff which currently uses the SB!KERNEL package which
1449    ;; doesn't actually use the type system stuff.) And maybe other
1450    ;; possible splits too:
1451    ;;   * Pull GC stuff (*GC-INHIBIT*, *GC-PENDING*, etc.)
1452    ;;     out into SB-GC.
1453    ;;   * Pull special case implementations of sequence functions (e.g.
1454    ;;     %MAP-TO-LIST-ARITY-1 and %FIND-POSITION-IF-NOT) and
1455    ;;     other sequence function implementation grot into SB-SEQ.
1456    ;;   * Pull all the math stuff (%ACOS, %COSH, WORD-LOGICAL-AND...)
1457    ;;     into SB-MATH.
1458    ;;   * Pull all the array stuff (%ARRAY-DATA,
1459    ;;     WITH-ARRAY-DATA, ALLOCATE-VECTOR, HAIRY-DATA-VECTOR-REF...)
1460    ;;     into SB-ARRAY.
1461    ;;   * Pull all the streams stuff out into SB-STREAM.
1462    ;;   * Pull all the OBJECT-NOT-FOO symbols out. Maybe we could even
1463    ;;     figure out a way to stop exporting them? Failing that,
1464    ;;     they could be in SB-INTERR.
1465    ;;     Or better still, since error names are basically meaningless except
1466    ;;     for the ~18 errors that are _not_ object-not-<x>, stop naming them.
1467    ;;     C just needs a map from number -> string-to-show.
1468    #s(sb-cold:package-data
1469       :name "SB!KERNEL"
1470       :doc
1471       "private: Theoretically this 'hides state and types used for package
1472 integration' (said CMU CL architecture.tex) and that probably was and
1473 is a good idea, but see SB-SYS re. blurring of boundaries."
1474       :use ("CL" "SB!ALIEN" "SB!ALIEN-INTERNALS" "SB!BIGNUM"
1475                  "SB!EXT" "SB!FASL" "SB!INT" "SB!SYS" "SB!GRAY")
1476       :reexport ("DEF!STRUCT"
1477                  #!+sb-simd-pack("SIMD-PACK"
1478                                  "SIMD-PACK-P"
1479                                  "%MAKE-SIMD-PACK-UB32"
1480                                  "%MAKE-SIMD-PACK-UB64"
1481                                  "%MAKE-SIMD-PACK-DOUBLE"
1482                                  "%MAKE-SIMD-PACK-SINGLE"
1483                                  "%SIMD-PACK-UB32S"
1484                                  "%SIMD-PACK-UB64S"
1485                                  "%SIMD-PACK-DOUBLES"
1486                                  "%SIMD-PACK-SINGLES"))
1487       :export ("%ACOS"
1488                "%ACOSH"
1489                "%ADJOIN"
1490                "%ADJOIN-EQ"
1491                "%ADJOIN-KEY"
1492                "%ADJOIN-KEY-EQ"
1493                "%ADJOIN-KEY-TEST"
1494                "%ADJOIN-KEY-TEST-NOT"
1495                "%ADJOIN-TEST"
1496                "%ADJOIN-TEST-NOT"
1497                "%ARRAY-AVAILABLE-ELEMENTS"
1498                "%ARRAY-DATA"
1499                "%ARRAY-DATA-VECTOR" ; DO NOT USE !!!
1500                "%ARRAY-DIMENSION" "%ARRAY-DISPLACED-P"
1501                "%ARRAY-DISPLACED-FROM"
1502                "%ARRAY-DISPLACEMENT" "%ARRAY-FILL-POINTER"
1503                "%ARRAY-FILL-POINTER-P" "%ARRAY-RANK"
1504                "%ARRAY-ATOMIC-INCF/WORD"
1505                #!+ash-right-vops "%ASH/RIGHT"
1506                "%ASSOC"
1507                "%ASSOC-EQ"
1508                "%ASSOC-IF"
1509                "%ASSOC-IF-KEY"
1510                "%ASSOC-IF-NOT"
1511                "%ASSOC-IF-NOT-KEY"
1512                "%ASSOC-KEY"
1513                "%ASSOC-KEY-EQ"
1514                "%ASSOC-KEY-TEST"
1515                "%ASSOC-KEY-TEST-NOT"
1516                "%ASSOC-TEST"
1517                "%ASSOC-TEST-NOT"
1518                "%ASIN" "%ASINH"
1519                "%ATAN" "%ATAN2" "%ATANH"
1520                "%ATOMIC-DEC-CAR" "%ATOMIC-INC-CAR"
1521                "%ATOMIC-DEC-CDR" "%ATOMIC-INC-CDR"
1522                "%ATOMIC-DEC-SYMBOL-GLOBAL-VALUE"
1523                "%ATOMIC-INC-SYMBOL-GLOBAL-VALUE"
1524                "%CALLER-FRAME"
1525                "%CALLER-PC"
1526                "%CHECK-BOUND" "CHECK-BOUND"
1527                "%CHECK-GENERIC-SEQUENCE-BOUNDS"
1528                "%CHECK-VECTOR-SEQUENCE-BOUNDS"
1529                "%CAS-SYMBOL-GLOBAL-VALUE"
1530                "%COMPARE-AND-SWAP-CAR"
1531                "%COMPARE-AND-SWAP-CDR"
1532                "%COMPARE-AND-SWAP-SVREF"
1533                "%COMPARE-AND-SWAP-SYMBOL-INFO"
1534                "%COMPARE-AND-SWAP-SYMBOL-VALUE"
1535                "%CONCATENATE-TO-BASE-STRING"
1536                "%CONCATENATE-TO-STRING"
1537                "%CONCATENATE-TO-SIMPLE-VECTOR"
1538                "%CONCATENATE-TO-LIST" "%CONCATENATE-TO-VECTOR"
1539                "CONTAINS-UNKNOWN-TYPE-P"
1540                "%COS" "%COS-QUICK"
1541                "%COSH" "%DATA-VECTOR-AND-INDEX" "%DEPOSIT-FIELD"
1542                "%DOUBLE-FLOAT" "%DPB" "%EQL" "%EQL/INTEGER"
1543                "%EXIT"
1544                "%EXP" "%EXPM1"
1545                "%FIND-POSITION"
1546                "%FIND-POSITION-VECTOR-MACRO" "%FIND-POSITION-IF"
1547                "%FIND-POSITION-IF-VECTOR-MACRO" "%FIND-POSITION-IF-NOT"
1548                "%FIND-POSITION-IF-NOT-VECTOR-MACRO"
1549                "FIXNUM-MOD-P"
1550                "%HYPOT"
1551                "%INSTANCE-CAS"
1552                "%LDB" "%LOG" "%LOGB" "%LOG10"
1553                "%LAST0"
1554                "%LAST1"
1555                "%LASTN/FIXNUM"
1556                "%LASTN/BIGNUM"
1557                "%LOG1P"
1558                #!+long-float "%LONG-FLOAT"
1559                "%MAKE-ARRAY"
1560                "%MAKE-COMPLEX" "%MAKE-FUNCALLABLE-INSTANCE"
1561                "%MAKE-FUNCALLABLE-STRUCTURE-INSTANCE-ALLOCATOR"
1562                "%MAKE-INSTANCE"
1563                "%MAKE-LISP-OBJ"
1564                "%MAKE-LIST"
1565                "%MAKE-RATIO"
1566                #!+sb-simd-pack "%MAKE-SIMD-PACK"
1567                "%MAKE-STRUCTURE-INSTANCE"
1568                "%MAKE-STRUCTURE-INSTANCE-ALLOCATOR"
1569                "%MAP" "%MAP-FOR-EFFECT-ARITY-1"
1570                "%MAP-TO-LIST-ARITY-1" "%MAP-TO-SIMPLE-VECTOR-ARITY-1"
1571                "%MASK-FIELD"
1572                "%MEMBER"
1573                "%MEMBER-EQ"
1574                "%MEMBER-IF"
1575                "%MEMBER-IF-KEY"
1576                "%MEMBER-IF-NOT"
1577                "%MEMBER-IF-NOT-KEY"
1578                "%MEMBER-KEY"
1579                "%MEMBER-KEY-EQ"
1580                "%MEMBER-KEY-TEST"
1581                "%MEMBER-KEY-TEST-NOT"
1582                "%MEMBER-TEST"
1583                "%MEMBER-TEST-NOT"
1584                "%MULTIPLY-HIGH"
1585                "%NEGATE" "%POW"
1586                "%OTHER-POINTER-WIDETAG"
1587                "%PUTHASH"
1588                "%RASSOC"
1589                "%RASSOC-EQ"
1590                "%RASSOC-IF"
1591                "%RASSOC-IF-KEY"
1592                "%RASSOC-IF-NOT"
1593                "%RASSOC-IF-NOT-KEY"
1594                "%RASSOC-KEY"
1595                "%RASSOC-KEY-EQ"
1596                "%RASSOC-KEY-TEST"
1597                "%RASSOC-KEY-TEST-NOT"
1598                "%RASSOC-TEST"
1599                "%RASSOC-TEST-NOT"
1600                "%VECTOR-RAW-BITS"
1601                "%SCALB" "%SCALBN"
1602                "%RAW-INSTANCE-ATOMIC-INCF/WORD"
1603                "%RAW-INSTANCE-CAS/WORD"
1604                "%RAW-INSTANCE-REF/WORD" "%RAW-INSTANCE-SET/WORD"
1605                "%RAW-INSTANCE-REF/SIGNED-WORD" "%RAW-INSTANCE-SET/SIGNED-WORD"
1606                "%RAW-INSTANCE-REF/SINGLE" "%RAW-INSTANCE-SET/SINGLE"
1607                "%RAW-INSTANCE-REF/DOUBLE" "%RAW-INSTANCE-SET/DOUBLE"
1608                "%RAW-INSTANCE-REF/COMPLEX-SINGLE"
1609                "%RAW-INSTANCE-SET/COMPLEX-SINGLE"
1610                "%RAW-INSTANCE-REF/COMPLEX-DOUBLE"
1611                "%RAW-INSTANCE-SET/COMPLEX-DOUBLE"
1612                "%SET-ARRAY-DIMENSION" "%SET-FUNCALLABLE-INSTANCE-INFO"
1613                "%SET-VECTOR-RAW-BITS"
1614                "%SET-SAP-REF-16" "%SET-SAP-REF-32" "%SET-SAP-REF-64"
1615                "%SET-SAP-REF-WORD" "%SET-SAP-REF-8" "%SET-SAP-REF-DOUBLE"
1616                "%SET-SAP-REF-LISPOBJ" "%SET-SAP-REF-LONG" "%SET-SAP-REF-SAP"
1617                "%SET-SAP-REF-SINGLE" "%SET-SIGNED-SAP-REF-16"
1618                "%SET-SIGNED-SAP-REF-32" "%SET-SIGNED-SAP-REF-64"
1619                "%SET-SIGNED-SAP-REF-WORD"
1620                "%SET-SIGNED-SAP-REF-8" "%SET-STACK-REF"
1621                "%SET-SYMBOL-HASH"
1622                "%SIN" "%SIN-QUICK" "%SINGLE-FLOAT"
1623                "%SINH" "%SQRT" "%SXHASH-SIMPLE-STRING"
1624                #!+sb-simd-pack("%SIMD-PACK-TAG"
1625                                "%SIMD-PACK-LOW"
1626                                "%SIMD-PACK-HIGH")
1627                "%SXHASH-SIMPLE-SUBSTRING" "%TAN" "%TAN-QUICK" "%TANH"
1628                "THE*"
1629                "%UNARY-ROUND"
1630                "%UNARY-TRUNCATE"
1631                "%UNARY-TRUNCATE/SINGLE-FLOAT"
1632                "%UNARY-TRUNCATE/DOUBLE-FLOAT"
1633                "%UNARY-FTRUNCATE"
1634                "%WITH-ARRAY-DATA"
1635                "%WITH-ARRAY-DATA/FP"
1636                "%WITH-ARRAY-DATA-MACRO"
1637                "*APPROXIMATE-NUMERIC-UNIONS*"
1638                "*CURRENT-INTERNAL-ERROR-CONTEXT*"
1639                "*CURRENT-LEVEL-IN-PRINT*"
1640                "*EMPTY-TYPE*"
1641                "*EVAL-CALLS*"
1642                "*GC-INHIBIT*" "*GC-PENDING*"
1643                #!+sb-thread "*STOP-FOR-GC-PENDING*"
1644                "*IN-WITHOUT-GCING*"
1645                "*UNIVERSAL-TYPE*"
1646                "*UNIVERSAL-FUN-TYPE*" "*UNPARSE-FUN-TYPE-SIMPLIFY*"
1647                "*WILD-TYPE*" "WORD-LOGICAL-AND" "WORD-LOGICAL-ANDC1"
1648                "WORD-LOGICAL-ANDC2" "WORD-LOGICAL-EQV"
1649                "WORD-LOGICAL-NAND" "WORD-LOGICAL-NOR" "WORD-LOGICAL-NOT"
1650                "WORD-LOGICAL-OR" "WORD-LOGICAL-ORC1" "WORD-LOGICAL-ORC2"
1651                "WORD-LOGICAL-XOR"
1652                "ALLOW-NON-RETURNING-TAIL-CALL"
1653                "ALIEN-TYPE-TYPE" "ALIEN-TYPE-TYPE-ALIEN-TYPE" "ALIEN-TYPE-TYPE-P"
1654                "ALLOCATE-VECTOR" "ALLOCATE-STATIC-VECTOR"
1655                "ASSERT-SYMBOL-HOME-PACKAGE-UNLOCKED"
1656                "BUILD-RATIO"
1657                "PROGRAM-ASSERT-SYMBOL-HOME-PACKAGE-UNLOCKED"
1658                "DISABLED-PACKAGE-LOCKS"
1659                "WITH-SINGLE-PACKAGE-LOCKED-ERROR"
1660                "ALWAYS-SUBTYPEP"
1661                "ARGS-TYPE" "ARGS-TYPE-ALLOWP" "ARGS-TYPE-KEYP"
1662                "ARGS-TYPE-KEYWORDS" "ARGS-TYPE-OPTIONAL" "ARGS-TYPE-P"
1663                "ARGS-TYPE-REQUIRED" "ARGS-TYPE-REST" "ARRAY-HEADER-P"
1664                "ARRAY-TYPE" "ARRAY-TYPE-COMPLEXP"
1665                "ARRAY-TYPE-DIMENSIONS" "ARRAY-TYPE-ELEMENT-TYPE"
1666                "ARRAY-TYPE-P" "ARRAY-TYPE-SPECIALIZED-ELEMENT-TYPE"
1667                "ARRAY-UNDERLYING-WIDETAG"
1668                "ASSERT-ERROR"
1669                #!+sb-unicode "BASE-CHAR-P"
1670                "BASE-STRING-P"
1671                "BIND" "BINDING-STACK-POINTER-SAP" "BIT-INDEX" "BIT-LENGTH"
1672                "BOGUS-ARG-TO-VALUES-LIST-ERROR" "BOOLE-CODE"
1673                "BOUNDING-INDICES-BAD-ERROR" "BYTE-SPECIFIER" "%BYTE-BLT"
1674                "CALLABLE" "FUNCTION-DESIGNATOR"
1675                "CASE-BODY-ERROR"
1676                "CHARACTER-SET" "CHARACTER-SET-TYPE"
1677                "CHARACTER-SET-TYPE-PAIRS"
1678                #!+sb-unicode "CHARACTER-STRING-P"
1679                "CHARPOS"
1680                "CHECK-FOR-CIRCULARITY" "CHECK-TYPE-ERROR" "CLOSED-FLAME"
1681                "CODE-COMPONENT" "CODE-COMPONENT-P"
1682                "CODE-HEADER-REF" "CODE-HEADER-SET" "CODE-HEADER-WORDS"
1683                "CODE-INSTRUCTIONS" "CODE-N-UNBOXED-DATA-WORDS"
1684                "COERCE-SYMBOL-TO-FUN"
1685                "COERCE-TO-FUN" "COERCE-TO-LEXENV" "COERCE-TO-LIST"
1686                "COERCE-TO-VALUES" "COERCE-TO-VECTOR"
1687                "*COLD-INIT-COMPLETE-P*"
1688                "COMPLEX-DOUBLE-FLOAT" "COMPLEX-DOUBLE-FLOAT-P"
1689                "COMPLEX-FLOAT-P"
1690                #!+long-float ("COMPLEX-LONG-FLOAT" "COMPLEX-LONG-FLOAT-P")
1691                "COMPLEX-RATIONAL-P"
1692                "COMPLEX-SINGLE-FLOAT" "COMPLEX-SINGLE-FLOAT-P"
1693                "COMPLEX-VECTOR-P" "COMPOUND-TYPE" "COMPOUND-TYPE-P"
1694                "COMPOUND-TYPE-TYPES"
1695                "CONDITION-DESIGNATOR-HEAD"
1696                "CONS-TYPE" "CONS-TYPE-CAR-TYPE"
1697                "CONS-TYPE-CDR-TYPE" "CONS-TYPE-P" "CONSED-SEQUENCE"
1698                "CONSTANT" "CONSTANT-TYPE" "CONSTANT-TYPE-P"
1699                "CONSTANT-TYPE-TYPE" "CONTAINING-INTEGER-TYPE"
1700                "CONTROL-STACK-POINTER-SAP" "COPY-BYTE-VECTOR-TO-SYSTEM-AREA"
1701                "CSUBTYPEP" "CTYPE" "TYPE-HASH-VALUE" "CTYPE-OF"
1702                "CTYPE-P" "CTYPEP"
1703                "CTYPE-ARRAY-DIMENSIONS" "CTYPE-ARRAY-SPECIALIZED-ELEMENT-TYPES"
1704                "CURRENT-FP" "CURRENT-SP" "CURRENT-DYNAMIC-SPACE-START"
1705                "DATA-NIL-VECTOR-REF"
1706                "DATA-VECTOR-REF" "DATA-VECTOR-REF-WITH-OFFSET"
1707                "DATA-VECTOR-SET" "DATA-VECTOR-SET-WITH-OFFSET"
1708                "DECLARATION-TYPE-CONFLICT-ERROR"
1709                "DECODE-DOUBLE-FLOAT"
1710                #!+long-float "DECODE-LONG-FLOAT"
1711                "DECODE-SINGLE-FLOAT"
1712                "DEFINE-STRUCTURE-SLOT-ADDRESSOR"
1713                "DEFINED-FTYPE-MATCHES-DECLARED-FTYPE-P"
1714                "!DEFSTRUCT-WITH-ALTERNATE-METACLASS" "DESCEND-INTO"
1715                "DIVISION-BY-ZERO-ERROR"
1716                "DO-REST-ARG"
1717                "DO-INSTANCE-TAGGED-SLOT"
1718                "DOUBLE-FLOAT-EXPONENT"
1719                "DOUBLE-FLOAT-HIGH-BITS" "DOUBLE-FLOAT-INT-EXPONENT"
1720                "DOUBLE-FLOAT-LOW-BITS" "DOUBLE-FLOAT-SIGNIFICAND"
1721                "DYNBIND"
1722                "FLOAT-WAIT" "DYNAMIC-SPACE-FREE-POINTER" "DYNAMIC-USAGE"
1723                "EFFECTIVE-FIND-POSITION-TEST"
1724                "EFFECTIVE-FIND-POSITION-KEY"
1725                "ENSURE-SYMBOL-HASH"
1726                "ENSURE-SYMBOL-TLS-INDEX"
1727                "ERROR-NUMBER-OR-LOSE"
1728                "EVAL-WHEN-COMPILE-TOPLEVEL"
1729                "EXTENDED-CHAR-P" "EXTERNAL-FORMAT-DESIGNATOR"
1730                "FAST-&REST-NTH"
1731                "FDOCUMENTATION" "FILENAME"
1732                "FILL-ARRAY"
1733                "FILL-DATA-VECTOR"
1734                "FIND-AND-INIT-OR-CHECK-LAYOUT"
1735                "FIND-DEFSTRUCT-DESCRIPTION"
1736                "FIND-OR-CREATE-FDEFN"
1737                "FLOAT-EXPONENT"
1738                "FLOAT-FORMAT-DIGITS" "FLOAT-FORMAT-NAME"
1739                "FLOAT-FORMAT-MAX" "FLOAT-INT-EXPONENT"
1740                "FLOATING-POINT-EXCEPTION" "FORM" "FORMAT-CONTROL"
1741                "*FREE-INTERRUPT-CONTEXT-INDEX*" "FUNCALLABLE-INSTANCE-P"
1742                "FUN-CODE-HEADER"
1743                "FUN-DESIGNATOR-TYPE" "FUN-DESIGNATOR-TYPE-P"
1744                "FUN-TYPE" "FUN-TYPE-ALLOWP"
1745                "FUN-TYPE-KEYP" "FUN-TYPE-KEYWORDS" "FUN-TYPE-NARGS"
1746                "FUN-TYPE-OPTIONAL" "FUN-TYPE-P" "FUN-TYPE-REQUIRED"
1747                "FUN-TYPE-REST" "FUN-TYPE-RETURNS" "FUN-TYPE-WILD-ARGS"
1748                "FUN-WORD-OFFSET" "GENERALIZED-BOOLEAN"
1749                "GENERIC-ABSTRACT-TYPE-FUNCTION"
1750                "GET-CLOSURE-LENGTH" "GET-HEADER-DATA"
1751                "GET-LISP-OBJ-ADDRESS" "GENERATION-OF"
1752                "LOWTAG-OF" "WIDETAG-OF"
1753                "HAIRY-DATA-VECTOR-REF"
1754                "HAIRY-DATA-VECTOR-REF/CHECK-BOUNDS"  "HAIRY-DATA-VECTOR-SET"
1755                "HAIRY-DATA-VECTOR-SET/CHECK-BOUNDS"
1756                "HAIRY-TYPE" "HAIRY-TYPE-P" "HAIRY-TYPE-SPECIFIER"
1757                "HANDLE-CIRCULARITY" "HOST" "IGNORE-IT" "ILL-BIN"
1758                "ILL-BOUT" "ILL-IN" "ILL-OUT" "INDEX-OR-MINUS-1"
1759                "INDEX-TOO-LARGE-ERROR" "*!INITIAL-ASSEMBLER-ROUTINES*"
1760                "*!INITIAL-DEBUG-SOURCES*"
1761                "*!INITIAL-FDEFN-OBJECTS*" "*!INITIAL-FOREIGN-SYMBOLS*"
1762                "*!INITIAL-LAYOUTS*" "*!INITIAL-SYMBOLS*"
1763                "INTEGER-DECODE-DOUBLE-FLOAT"
1764                #!+long-float "INTEGER-DECODE-LONG-FLOAT"
1765                "INTEGER-DECODE-SINGLE-FLOAT" "INTERNAL-ERROR"
1766                #!+win32 "HANDLE-WIN32-EXCEPTION"
1767                "INTERNAL-TIME" "INTERNAL-SECONDS"
1768                "INTERNAL-SECONDS-LIMIT" "SAFE-INTERNAL-SECONDS-LIMIT"
1769                "INTERSECTION-TYPE" "INTERSECTION-TYPE-P"
1770                "INTERSECTION-TYPE-TYPES" "INVALID-ARG-COUNT-ERROR"
1771                "LOCAL-INVALID-ARG-COUNT-ERROR"
1772                "INVALID-UNWIND-ERROR"
1773                "IRRATIONAL" "JUST-DUMP-IT-NORMALLY" "KEY-INFO"
1774                "KEY-INFO-NAME" "KEY-INFO-P" "KEY-INFO-TYPE"
1775                "LAYOUT-DEPTHOID" "LAYOUT-EQUALP-TESTS" "LAYOUT-INVALID-ERROR"
1776                "LAYOUT-BITMAP"
1777                "LAYOUT-FOR-STD-CLASS-P"
1778                "LAYOUT-SLOT-LIST" "LAYOUT-SLOT-TABLE"
1779                #!+(or x86-64 x86) "%LEA"
1780                "LEXENV" "LEXENV-DESIGNATOR" "LINE-LENGTH"
1781                "LIST-ABSTRACT-TYPE-FUNCTION"
1782                "LIST-COPY-SEQ*"
1783                "LIST-FILL*"
1784                "LIST-SUBSEQ*"
1785                "ANSI-STREAM"
1786                "ANSI-STREAM-BIN" "ANSI-STREAM-BOUT" "ANSI-STREAM-CLOSE"
1787                "ANSI-STREAM-ELEMENT-TYPE"
1788                "ANSI-STREAM-FILE-POSITION"
1789                "ANSI-STREAM-IN"
1790                "ANSI-STREAM-IN-BUFFER" "ANSI-STREAM-IN-INDEX"
1791                "ANSI-STREAM-INPUT-STREAM-P" "ANSI-STREAM-MISC"
1792                "ANSI-STREAM-N-BIN" "ANSI-STREAM-OPEN-STREAM-P"
1793                "ANSI-STREAM-OUT" "ANSI-STREAM-SOUT"
1794                "ANSI-STREAM-OUTPUT-STREAM-P"
1795                "COMPLEX-VECTOR"
1796                "LIST-TO-VECTOR*"
1797                "LOGICAL-HOST" "LOGICAL-HOST-DESIGNATOR"
1798                #!+long-float ("LONG-FLOAT-EXPONENT" "LONG-FLOAT-EXP-BITS"
1799                               "LONG-FLOAT-HIGH-BITS""LONG-FLOAT-LOW-BITS"
1800                               "LONG-FLOAT-MID-BITS")
1801                "LRA" "LRA-CODE-HEADER" "LRA-P"
1802                "MAKE-ALIEN-TYPE-TYPE"
1803                "MAKE-ARRAY-HEADER" "MAKE-ARRAY-TYPE" "MAKE-CONS-TYPE"
1804                "MAKE-DOUBLE-FLOAT" "MAKE-FUN-TYPE" "MAKE-KEY-INFO"
1805                "MAKE-LISP-OBJ"
1806                #!+long-float "MAKE-LONG-FLOAT"
1807                "MAKE-MEMBER-TYPE" "MAKE-NAMED-TYPE" "MAKE-NULL-LEXENV"
1808                "MAKE-EQL-TYPE" "MEMBER-TYPE-FROM-LIST"
1809                "MAKE-NEGATION-TYPE"
1810                "MAKE-NUMERIC-TYPE"
1811                "MAKE-SINGLE-FLOAT"
1812                "MAKE-UNBOUND-MARKER"
1813                "MAKE-UNPORTABLE-FLOAT"
1814                "MAKE-SHORT-VALUES-TYPE" "MAKE-SINGLE-VALUE-TYPE"
1815                "MAKE-VALUE-CELL" "MAKE-VALUES-TYPE"
1816                "MAPC-MEMBER-TYPE-MEMBERS" "MAPCAR-MEMBER-TYPE-MEMBERS"
1817                "MAXIMUM-BIGNUM-LENGTH"
1818                "MEMBER-TYPE" "MEMBER-TYPE-MEMBERS" "MEMBER-TYPE-P"
1819                "MEMBER-TYPE-SIZE"
1820                "MODIFIED-NUMERIC-TYPE"
1821                "MOST-NEGATIVE-EXACTLY-DOUBLE-FLOAT-FIXNUM"
1822                "MOST-NEGATIVE-EXACTLY-SINGLE-FLOAT-FIXNUM"
1823                "MOST-POSITIVE-EXACTLY-DOUBLE-FLOAT-FIXNUM"
1824                "MOST-POSITIVE-EXACTLY-SINGLE-FLOAT-FIXNUM"
1825                "NAMED-TYPE" "NAMED-TYPE-NAME" "NAMED-TYPE-P"
1826                "NEGATE" "NEGATION-TYPE" "NEGATION-TYPE-TYPE"
1827                "NIL-ARRAY-ACCESSED-ERROR"
1828                "NIL-FUN-RETURNED-ERROR"
1829                "NUMERIC-CONTAGION" "NUMERIC-TYPE"
1830                "NUMERIC-TYPE-CLASS" "NUMERIC-TYPE-COMPLEXP"
1831                "NUMERIC-TYPE-EQUAL" "NUMERIC-TYPE-FORMAT"
1832                "NUMERIC-TYPE-HIGH" "NUMERIC-TYPE-LOW" "NUMERIC-TYPE-P"
1833                "OBJECT-NOT-ARRAY-ERROR" "OBJECT-NOT-CHARACTER-ERROR"
1834                "OBJECT-NOT-BASE-STRING-ERROR" "OBJECT-NOT-BIGNUM-ERROR"
1835                "OBJECT-NOT-BIT-VECTOR-ERROR"
1836                #!+sb-unicode "OBJECT-NOT-CHARACTER-STRING-ERROR"
1837                "OBJECT-NOT-COMPLEX-ERROR"
1838                "OBJECT-NOT-COMPLEX-FLOAT-ERROR"
1839                "OBJECT-NOT-COMPLEX-SINGLE-FLOAT-ERROR"
1840                #!+long-float "OBJECT-NOT-COMPLEX-LONG-FLOAT-ERROR"
1841                "OBJECT-NOT-COMPLEX-DOUBLE-FLOAT-ERROR"
1842                "OBJECT-NOT-COMPLEX-RATIONAL-ERROR"
1843                ;; FIXME: It's confusing using "complex" to mean both
1844                ;; "not on the real number line" and "not of a
1845                ;; SIMPLE-ARRAY nature". Perhaps we could rename all the
1846                ;; uses in the second sense as "hairy" instead?
1847                "OBJECT-NOT-COMPLEX-VECTOR-ERROR" "OBJECT-NOT-CONS-ERROR"
1848                "OBJECT-NOT-DOUBLE-FLOAT-ERROR" "OBJECT-NOT-FIXNUM-ERROR"
1849                "OBJECT-NOT-FLOAT-ERROR" "OBJECT-NOT-FUNCTION-ERROR"
1850                "OBJECT-NOT-INSTANCE-ERROR" "OBJECT-NOT-INTEGER-ERROR"
1851                "OBJECT-NOT-LIST-ERROR"
1852                #!+long-float "OBJECT-NOT-LONG-FLOAT-ERROR"
1853                "OBJECT-NOT-NUMBER-ERROR" "OBJECT-NOT-RATIO-ERROR"
1854                "OBJECT-NOT-RATIONAL-ERROR" "OBJECT-NOT-REAL-ERROR"
1855                "OBJECT-NOT-SAP-ERROR" "OBJECT-NOT-SIGNED-BYTE-32-ERROR"
1856                "OBJECT-NOT-SIGNED-BYTE-64-ERROR"
1857                "OBJECT-NOT-SIMPLE-ARRAY-COMPLEX-DOUBLE-FLOAT-ERROR"
1858                #!+long-float
1859                "OBJECT-NOT-SIMPLE-ARRAY-COMPLEX-LONG-FLOAT-ERROR"
1860                #!+sb-simd-pack
1861                "OBJECT-NOT-SIMD-PACK-ERROR"
1862                "OBJECT-NOT-SIMPLE-ARRAY-COMPLEX-SINGLE-FLOAT-ERROR"
1863                "OBJECT-NOT-SIMPLE-ARRAY-DOUBLE-FLOAT-ERROR"
1864                "OBJECT-NOT-SIMPLE-ARRAY-ERROR"
1865                #!+long-float "OBJECT-NOT-SIMPLE-ARRAY-LONG-FLOAT-ERROR"
1866                "OBJECT-NOT-SIMPLE-ARRAY-NIL-ERROR"
1867                "OBJECT-NOT-SIMPLE-ARRAY-SINGLE-FLOAT-ERROR"
1868                "OBJECT-NOT-SIMPLE-ARRAY-UNSIGNED-BYTE-15-ERROR"
1869                "OBJECT-NOT-SIMPLE-ARRAY-UNSIGNED-BYTE-16-ERROR"
1870                "OBJECT-NOT-SIMPLE-ARRAY-UNSIGNED-BYTE-2-ERROR"
1871                ;; KLUDGE: 32-bit and 64-bit ports implement a different
1872                ;; set of specialized array types.  Various bits of code
1873                ;; in SBCL assume that symbols connected to the
1874                ;; specialized array types are exported.  But there's not
1875                ;; a good way at this point to know whether the port for
1876                ;; which we're building is 32-bit or 64-bit.  Granted, we
1877                ;; could hardcode the particulars (or even come up with a
1878                ;; special :64BIT feature), but that seems a little
1879                ;; inelegant.  For now, we brute-force the issue by
1880                ;; always exporting all the names required for both
1881                ;; 32-bit and 64-bit ports.  Other bits connected to the
1882                ;; same issue are noted throughout the code below with
1883                ;; the tag "32/64-bit issues".  --njf, 2004-08-09
1884                "OBJECT-NOT-SIMPLE-ARRAY-UNSIGNED-FIXNUM-ERROR"
1885                "OBJECT-NOT-SIMPLE-ARRAY-UNSIGNED-BYTE-31-ERROR"
1886                "OBJECT-NOT-SIMPLE-ARRAY-UNSIGNED-BYTE-32-ERROR"
1887                "OBJECT-NOT-SIMPLE-ARRAY-UNSIGNED-BYTE-4-ERROR"
1888                "OBJECT-NOT-SIMPLE-ARRAY-UNSIGNED-BYTE-63-ERROR"
1889                "OBJECT-NOT-SIMPLE-ARRAY-UNSIGNED-BYTE-64-ERROR"
1890                "OBJECT-NOT-SIMPLE-ARRAY-UNSIGNED-BYTE-7-ERROR"
1891                "OBJECT-NOT-SIMPLE-ARRAY-UNSIGNED-BYTE-8-ERROR"
1892                "OBJECT-NOT-SIMPLE-ARRAY-SIGNED-BYTE-16-ERROR"
1893                "OBJECT-NOT-SIMPLE-ARRAY-FIXNUM-ERROR"
1894                "OBJECT-NOT-SIMPLE-ARRAY-SIGNED-BYTE-32-ERROR"
1895                "OBJECT-NOT-SIMPLE-ARRAY-SIGNED-BYTE-64-ERROR"
1896                "OBJECT-NOT-SIMPLE-ARRAY-SIGNED-BYTE-8-ERROR"
1897                "OBJECT-NOT-SIMPLE-BIT-VECTOR-ERROR"
1898                "OBJECT-NOT-SIMPLE-BASE-STRING-ERROR"
1899                #!+sb-unicode "OBJECT-NOT-SIMPLE-CHARACTER-STRING-ERROR"
1900                "OBJECT-NOT-SIMPLE-STRING-ERROR"
1901                "OBJECT-NOT-SIMPLE-VECTOR-ERROR"
1902                "OBJECT-NOT-SINGLE-FLOAT-ERROR" "OBJECT-NOT-STRING-ERROR"
1903                "OBJECT-NOT-INSTANCE-ERROR" "OBJECT-NOT-SYMBOL-ERROR"
1904                "OBJECT-NOT-TYPE-ERROR"
1905                "OBJECT-NOT-UNSIGNED-BYTE-32-ERROR"
1906                "OBJECT-NOT-UNSIGNED-BYTE-64-ERROR"
1907                "OBJECT-NOT-VECTOR-ERROR"
1908                "OBJECT-NOT-VECTOR-NIL-ERROR"
1909                "OBJECT-NOT-WEAK-POINTER-ERROR"
1910                "ODD-KEY-ARGS-ERROR" "OUTPUT-OBJECT" "OUTPUT-UGLY-OBJECT"
1911                "PACKAGE-DESIGNATOR" "PACKAGE-DOC-STRING"
1912                "PACKAGE-HASHTABLE-SIZE" "PACKAGE-HASHTABLE-FREE"
1913                "PACKAGE-INTERNAL-SYMBOLS" "PACKAGE-EXTERNAL-SYMBOLS"
1914                "PARSE-UNKNOWN-TYPE"
1915                "PARSE-UNKNOWN-TYPE-SPECIFIER"
1916                "PATHNAME-DESIGNATOR" "PATHNAME-COMPONENT-CASE"
1917                "POINTER-HASH"
1918                #!+(or x86 x86-64) "*PSEUDO-ATOMIC-BITS*"
1919                "PUNT-PRINT-IF-TOO-LONG"
1920                "RANDOM-DOCUMENTATION"
1921                "RAW-INSTANCE-SLOTS-EQUALP"
1922                "READER-IMPOSSIBLE-NUMBER-ERROR"
1923                "READER-EOF-ERROR"
1924                "RESTART-DESIGNATOR"
1925                "RUN-PENDING-FINALIZERS"
1926                "SCALE-DOUBLE-FLOAT"
1927                #!+long-float "SCALE-LONG-FLOAT"
1928                "SCALE-SINGLE-FLOAT"
1929                "SCHWARTZIAN-STABLE-SORT-LIST" "SCHWARTZIAN-STABLE-SORT-VECTOR"
1930                "SCRUB-POWER-CACHE"
1931                "SEQUENCEP" "SEQUENCE-COUNT" "SEQUENCE-END"
1932                "SEQUENCE-OF-CHECKED-LENGTH-GIVEN-TYPE"
1933                "SET-ARRAY-HEADER" "SET-HEADER-DATA" "SHIFT-TOWARDS-END"
1934                "SHIFT-TOWARDS-START" "SHRINK-VECTOR" "%SHRINK-VECTOR"
1935                "SIGNED-BYTE-32-P" "SIGNED-BYTE-64-P"
1936                "SIMPLE-RANK-1-ARRAY-*-P"
1937                "SIMPLE-ARRAY-COMPLEX-DOUBLE-FLOAT-P"
1938                #!+long-float "SIMPLE-ARRAY-COMPLEX-LONG-FLOAT-P"
1939                "SIMPLE-ARRAY-COMPLEX-SINGLE-FLOAT-P"
1940                "SIMPLE-ARRAY-DOUBLE-FLOAT-P"
1941                #!+long-float "SIMPLE-ARRAY-LONG-FLOAT-P"
1942                "SIMPLE-ARRAY-NIL-P" "SIMPLE-ARRAY-P"
1943                "SIMPLE-ARRAY-SINGLE-FLOAT-P"
1944                "SIMPLE-ARRAY-UNSIGNED-BYTE-15-P"
1945                "SIMPLE-ARRAY-UNSIGNED-BYTE-16-P"
1946                "SIMPLE-ARRAY-UNSIGNED-BYTE-2-P"
1947                "SIMPLE-ARRAY-UNSIGNED-FIXNUM-P"
1948                "SIMPLE-ARRAY-UNSIGNED-BYTE-31-P"
1949                "SIMPLE-ARRAY-UNSIGNED-BYTE-32-P"
1950                "SIMPLE-ARRAY-UNSIGNED-BYTE-4-P"
1951                "SIMPLE-ARRAY-UNSIGNED-BYTE-63-P"
1952                "SIMPLE-ARRAY-UNSIGNED-BYTE-64-P"
1953                "SIMPLE-ARRAY-UNSIGNED-BYTE-7-P"
1954                "SIMPLE-ARRAY-UNSIGNED-BYTE-8-P"
1955                "SIMPLE-ARRAY-SIGNED-BYTE-16-P"
1956                "SIMPLE-ARRAY-FIXNUM-P"
1957                "SIMPLE-ARRAY-SIGNED-BYTE-32-P"
1958                "SIMPLE-ARRAY-SIGNED-BYTE-64-P"
1959                "SIMPLE-ARRAY-SIGNED-BYTE-8-P" "SIMPLE-BASE-STRING-P"
1960                "SIMPLE-CHARACTER-STRING"
1961                #!+sb-unicode "SIMPLE-CHARACTER-STRING-P"
1962                "SIMPLE-PACKAGE-ERROR" "SIMPLE-UNBOXED-ARRAY"
1963                "SINGLE-FLOAT-BITS" "SINGLE-FLOAT-EXPONENT"
1964                "SINGLE-FLOAT-INT-EXPONENT" "SINGLE-FLOAT-SIGNIFICAND"
1965                "SINGLE-VALUE-TYPE" "SINGLE-VALUE-SPECIFIER-TYPE"
1966                "SPECIFIER-TYPE"
1967                #!+sb-simd-pack("SIMD-PACK-SINGLE"
1968                                "SIMD-PACK-DOUBLE"
1969                                "SIMD-PACK-INT"
1970                                "SIMD-PACK-TYPE"
1971                                "SIMD-PACK-TYPE-ELEMENT-TYPE"
1972                                "*SIMD-PACK-ELEMENT-TYPES*")
1973                "STACK-REF" "STREAM-DESIGNATOR" "STRING-DESIGNATOR"
1974                "STRING-FILL*"
1975                "STRUCTURE-CTOR-LAMBDA-PARTS"
1976                "STRUCTURE-INSTANCE-ACCESSOR-P"
1977                "SUB-GC"
1978                "SYMBOL-TLS-INDEX"
1979                "SYMBOLS-DESIGNATOR"
1980                "SYMEVAL"
1981                "SYM-GLOBAL-VAL"
1982                "%INSTANCE-LENGTH"
1983                "%INSTANCE-REF"
1984                "%INSTANCE-SET"
1985                "TESTABLE-TYPE-P"
1986                "TLS-EXHAUSTED-ERROR"
1987                "TWO-ARG-*" "TWO-ARG-+" "TWO-ARG--" "TWO-ARG-/"
1988                "TWO-ARG-/=" "TWO-ARG-<" "TWO-ARG-<=" "TWO-ARG-="
1989                "TWO-ARG->" "TWO-ARG->=" "TWO-ARG-AND" "TWO-ARG-EQV"
1990                "TWO-ARG-GCD" "TWO-ARG-IOR" "TWO-ARG-LCM" "TWO-ARG-XOR"
1991                "TWO-ARG-STRING=" "TWO-ARG-STRING-EQUAL" "TWO-ARG-STRING<"
1992                "TWO-ARG-STRING>" "TWO-ARG-STRING<=" "TWO-ARG-STRING>="
1993                "TWO-ARG-STRING/=" "TWO-ARG-STRING-LESSP" "TWO-ARG-STRING-GREATERP"
1994                "TWO-ARG-STRING-NOT-LESSP" "TWO-ARG-STRING-NOT-GREATERP" "TWO-ARG-STRING-NOT-EQUAL"
1995                "TYPE-*-TO-T"
1996                "TYPE-DIFFERENCE" "TYPE-INTERSECTION"
1997                "TYPE-INTERSECTION2" "TYPE-APPROX-INTERSECTION2"
1998                "TYPE-SINGLETON-P"
1999                "TYPE-SINGLE-VALUE-P" "TYPE-SPECIFIER" "TYPE-UNION"
2000                "TYPE/=" "TYPE=" "TYPES-EQUAL-OR-INTERSECT"
2001                "TYPE-OR-NIL-IF-UNKNOWN"
2002                "UNBOUND-SYMBOL-ERROR" "UNBOXED-ARRAY"
2003                "UNDEFINED-FUN-ERROR" "UNDEFINED-ALIEN-FUN-ERROR"
2004                "UNION-TYPE" "UNION-TYPE-P"
2005                "UNION-TYPE-TYPES" "UNKNOWN-ERROR"
2006                "UNKNOWN-KEY-ARG-ERROR" "UNKNOWN-TYPE" "UNKNOWN-TYPE-P"
2007                "UNKNOWN-TYPE-SPECIFIER" "UNSEEN-THROW-TAG-ERROR"
2008                "UNSIGNED-BYTE-32-P" "UNSIGNED-BYTE-64-P"
2009                "UPDATE-OBJECT-LAYOUT-OR-INVALID"
2010                "VALID-MACROEXPAND-HOOK"
2011                "VALUE-CELL-REF" "VALUE-CELL-SET" "VALUES-SPECIFIER-TYPE"
2012                "VALUES-SPECIFIER-TYPE-CACHE-CLEAR" "VALUES-SUBTYPEP"
2013                "VALUES-TYPE" "VALUES-TYPE-IN"
2014                "VALUES-TYPE-INTERSECTION"
2015                "VALUES-TYPE-MIN-VALUE-COUNT" "VALUES-TYPE-MAX-VALUE-COUNT"
2016                "VALUES-TYPE-MAY-BE-SINGLE-VALUE-P" "VALUES-TYPE-OPTIONAL"
2017                "VALUES-TYPE-OUT" "VALUES-TYPE-P" "VALUES-TYPE-REQUIRED"
2018                "VALUES-TYPE-REST" "VALUES-TYPE-UNION"
2019                "VALUES-TYPE-TYPES" "VALUES-TYPES"
2020                "VALUES-TYPES-EQUAL-OR-INTERSECT"
2022                "*VECTOR-WITHOUT-COMPLEX-TYPECODE-INFOS*"
2023                "VECTOR-SINGLE-FLOAT-P" "VECTOR-DOUBLE-FLOAT-P"
2024                "VECTOR-UNSIGNED-BYTE-2-P" "VECTOR-UNSIGNED-BYTE-4-P"
2025                "VECTOR-UNSIGNED-BYTE-7-P" "VECTOR-UNSIGNED-BYTE-8-P"
2026                "VECTOR-UNSIGNED-BYTE-15-P" "VECTOR-UNSIGNED-BYTE-16-P"
2027                "VECTOR-UNSIGNED-BYTE-31-P" "VECTOR-UNSIGNED-BYTE-32-P"
2028                "VECTOR-UNSIGNED-BYTE-63-P" "VECTOR-UNSIGNED-BYTE-64-P"
2029                "VECTOR-SIGNED-BYTE-8-P" "VECTOR-SIGNED-BYTE-16-P"
2030                "VECTOR-FIXNUM-P" "VECTOR-SIGNED-BYTE-32-P"
2031                "VECTOR-SIGNED-BYTE-64-P" "VECTOR-COMPLEX-SINGLE-FLOAT-P"
2032                "VECTOR-COMPLEX-DOUBLE-FLOAT-P" "VECTOR-T-P"
2034                "VECTOR-NIL-P"
2035                "VECTOR-FILL*"
2036                "VECTOR-SUBSEQ*"
2037                "VECTOR-TO-VECTOR*"
2038                "VECTOR-OF-CHECKED-LENGTH-GIVEN-LENGTH" "WITH-ARRAY-DATA"
2039                "WITH-CIRCULARITY-DETECTION"
2040                "WITH-WORLD-LOCK"
2042                ;; bit bash fillers
2043                "UB1-BASH-FILL" "SYSTEM-AREA-UB1-FILL"
2044                "UB2-BASH-FILL" "SYSTEM-AREA-UB2-FILL"
2045                "UB4-BASH-FILL" "SYSTEM-AREA-UB4-FILL"
2046                "UB8-BASH-FILL" "SYSTEM-AREA-UB8-FILL"
2047                "UB16-BASH-FILL" "SYSTEM-AREA-UB16-FILL"
2048                "UB32-BASH-FILL" "SYSTEM-AREA-UB32-FILL"
2049                "UB64-BASH-FILL" "SYSTEM-AREA-UB64-FILL"
2051                ;; bit bash copiers
2052                "UB1-BASH-COPY" "SYSTEM-AREA-UB1-COPY"
2053                "COPY-UB1-TO-SYSTEM-AREA" "COPY-UB1-FROM-SYSTEM-AREA"
2054                "UB2-BASH-COPY" "SYSTEM-AREA-UB2-COPY"
2055                "COPY-UB2-TO-SYSTEM-AREA" "COPY-UB2-FROM-SYSTEM-AREA"
2056                "UB4-BASH-COPY" "SYSTEM-AREA-UB4-COPY"
2057                "COPY-UB4-TO-SYSTEM-AREA" "COPY-UB4-FROM-SYSTEM-AREA"
2058                "UB8-BASH-COPY" "SYSTEM-AREA-UB8-COPY"
2059                "COPY-UB8-TO-SYSTEM-AREA" "COPY-UB8-FROM-SYSTEM-AREA"
2060                "UB16-BASH-COPY" "SYSTEM-AREA-UB16-COPY"
2061                "COPY-UB16-TO-SYSTEM-AREA" "COPY-UB16-FROM-SYSTEM-AREA"
2062                "UB32-BASH-COPY" "SYSTEM-AREA-UB32-COPY"
2063                "COPY-UB32-TO-SYSTEM-AREA" "COPY-UB32-FROM-SYSTEM-AREA"
2064                "UB64-BASH-COPY" "SYSTEM-AREA-UB64-COPY"
2065                "COPY-UB64-TO-SYSTEM-AREA" "COPY-UB64-FROM-SYSTEM-AREA"
2067                ;; Bit bashing position for bit-vectors
2068                "%BIT-POSITION"
2069                "%BIT-POSITION/0"
2070                "%BIT-POSITION/1"
2072                ;; SIMPLE-FUN type and accessors
2073                "SIMPLE-FUN"
2074                "SIMPLE-FUN-P"
2075                "%SIMPLE-FUN-ARGLIST"
2076                "%SIMPLE-FUN-DOC"
2077                "%SIMPLE-FUN-INFO"
2078                "%SIMPLE-FUN-NAME"
2079                "%SIMPLE-FUN-NEXT" ; FIXME: remove
2080                "%SIMPLE-FUN-SELF" ; FIXME: don't export
2081                "%SIMPLE-FUN-TYPE"
2082                "%SIMPLE-FUN-XREFS"
2084                ;; CLOSURE type and accessors
2085                "CLOSURE"
2086                "CLOSUREP"
2087                "DO-CLOSURE-VALUES"
2088                "%CLOSURE-FUN"
2089                "%CLOSURE-INDEX-REF"
2090                "%CLOSURE-VALUES"
2092                ;; Abstract function accessors
2093                "%FUN-DOC"
2094                "%FUN-FUN"
2095                "%FUN-LAMBDA-LIST"
2096                "%FUN-NAME"
2098                "FDEFN" "MAKE-FDEFN" "FDEFN-P" "FDEFN-NAME" "FDEFN-FUN"
2099                "FDEFN-MAKUNBOUND"
2100                "%COERCE-CALLABLE-TO-FUN" "FUN-SUBTYPE"
2101                "*MAXIMUM-ERROR-DEPTH*" "%SET-SYMBOL-PLIST"
2102                "INFINITE-ERROR-PROTECT"
2103                "FIND-CALLER-OF-NAMED-FRAME"
2104                "FIND-CALLER-FRAME"
2105                "FIND-INTERRUPTED-FRAME"
2106                "%SET-SYMBOL-VALUE" "%SET-SYMBOL-GLOBAL-VALUE" "%SET-SYMBOL-PACKAGE"
2107                "SET-SYMBOL-GLOBAL-VALUE"
2108                "OUTPUT-SYMBOL" "%COERCE-NAME-TO-FUN"
2109                "DEFAULT-STRUCTURE-PRINT"
2110                "LAYOUT" "LAYOUT-LENGTH" "LAYOUT-PURE" "DSD-RAW-TYPE"
2111                "DEFSTRUCT-DESCRIPTION" "UNDECLARE-STRUCTURE"
2112                "UNDEFINE-FUN-NAME" "DD-TYPE" "CLASSOID-STATE" "INSTANCE"
2113                "*TYPE-SYSTEM-INITIALIZED*" "FIND-LAYOUT" "DSD-NAME"
2114                "%TYPEP" "%%TYPEP" "DD-NAME" "CLASSOID-SUBCLASSES"
2115                "CLASSOID-LAYOUT" "CLASSOID-NAME" "CLASSOID-P"
2116                "DD-RAW-LENGTH" "NOTE-NAME-DEFINED" "%CODE-CODE-SIZE"
2117                "DD-SLOTS" "DD-INCLUDE" "SLOT-SETTER-LAMBDA-FORM"
2118                "SLOT-ACCESS-TRANSFORM"
2119                "%IMAGPART" "DSD-ACCESSOR-NAME" "%CODE-DEBUG-INFO"
2120                "LAYOUT-CLASSOID" "LAYOUT-INVALID" "LAYOUT-%FLAGS"
2121                "DSD-TYPE" "%INSTANCEP" "DEFSTRUCT-SLOT-DESCRIPTION"
2122                "DD-PREDICATE-NAME"
2123                "CLASSOID-PROPER-NAME" "%NOTE-TYPE-DEFINED" "LAYOUT-INFO"
2124                "%SET-INSTANCE-LAYOUT"
2125                "DD-CONSTRUCTORS" "DD-DEFAULT-CONSTRUCTOR"
2126                "LAYOUT-OF" "%REALPART"
2127                "STRUCTURE-CLASSOID-P" "DSD-INDEX" "STRUCTURE-CLASSOID"
2128                "%INSTANCE-LAYOUT" "LAYOUT-CLOS-HASH"
2129                "PROCLAIM-AS-FUN-NAME" "BECOME-DEFINED-FUN-NAME"
2130                "%NUMERATOR" "CLASSOID-TYPEP" "DSD-READ-ONLY"
2131                "DSD-DEFAULT" "LAYOUT-INHERITS" "DD-LENGTH"
2132                "%CODE-ENTRY-POINT"
2133                "CODE-ENTRY-POINTS" ; new accessor - returns a vector
2134                "CODE-N-ENTRIES"
2135                "%CODE-ENTRY-POINTS" ; prefer %CODE-ENTRY-POINT instead of this
2136                "%DENOMINATOR"
2137                "%OTHER-POINTER-P"
2138                "%OTHER-POINTER-SUBTYPE-P"
2139                "IMMOBILE-SPACE-ADDR-P"
2140                "IMMOBILE-SPACE-OBJ-P"
2142                "STANDARD-CLASSOID" "CLASSOID-OF"
2143                "MAKE-STANDARD-CLASSOID"
2144                "CLASSOID-CELL-CLASSOID"
2145                "CLASSOID-CELL-NAME"
2146                "CLASSOID-CELL-PCL-CLASS"
2147                "CLASSOID-CELL-TYPEP"
2148                "%CLEAR-CLASSOID"
2149                "FIND-CLASSOID-CELL"
2150                "%RANDOM-DOUBLE-FLOAT"
2151                #!+long-float "%RANDOM-LONG-FLOAT"
2152                "%RANDOM-SINGLE-FLOAT" "STATIC-CLASSOID"
2153                "%FUNCALLABLE-INSTANCE-INFO" "RANDOM-CHUNK" "BIG-RANDOM-CHUNK"
2154                "N-RANDOM-CHUNK-BITS"
2155                "LAYOUT-CLOS-HASH-LIMIT"
2156                "BUILT-IN-CLASSOID-DIRECT-SUPERCLASSES"
2157                "BUILT-IN-CLASSOID-TRANSLATION" "RANDOM-LAYOUT-CLOS-HASH"
2158                "CLASSOID-PCL-CLASS" "FUNCALLABLE-STRUCTURE"
2159                "FUNCALLABLE-INSTANCE-FUN" "%FUNCALLABLE-INSTANCE-LAYOUT"
2160                "%SET-FUNCALLABLE-INSTANCE-LAYOUT"
2161                "REGISTER-LAYOUT"
2162                "FUNCALLABLE-INSTANCE"
2163                "MAKE-STATIC-CLASSOID"
2164                "%MAKE-SYMBOL"
2165                "%FUNCALLABLE-INSTANCE-FUNCTION" "SYMBOL-HASH"
2166                "SYMBOL-INFO" "SYMBOL-INFO-VECTOR"
2168                "EXTENDED-SEQUENCE" "*EXTENDED-SEQUENCE-TYPE*"
2169                "EXTENDED-SEQUENCE-P"
2171                "BUILT-IN-CLASSOID" "CONDITION-CLASSOID-P"
2172                "CONDITION-CLASSOID-SLOTS" "MAKE-UNDEFINED-CLASSOID"
2173                "FIND-CLASSOID" "CLASSOID" "CLASSOID-DIRECT-SUPERCLASSES"
2174                "MAKE-LAYOUT" "REDEFINE-LAYOUT-WARNING"
2175                "INSURED-FIND-CLASSOID" "ORDER-LAYOUT-INHERITS"
2176                "STD-COMPUTE-CLASS-PRECEDENCE-LIST"
2177                "+STRUCTURE-LAYOUT-FLAG+"
2178                "+PCL-OBJECT-LAYOUT-FLAG+"
2179                "+CONDITION-LAYOUT-FLAG+"
2181                "*HANDLER-CLUSTERS*" "*RESTART-CLUSTERS*"
2182                "WITH-SIMPLE-CONDITION-RESTARTS"
2183                "CASE-FAILURE" "ECASE-FAILURE" "ETYPECASE-FAILURE"
2184                "NAMESTRING-PARSE-ERROR"
2185                "NAMESTRING-PARSE-ERROR-OFFSET"
2186                "NO-NAMESTRING-ERROR" "NO-NATIVE-NAMESTRING-ERROR"
2187                "MAKE-RESTART" "RESTART-ASSOCIATED-CONDITIONS"
2188                "COERCE-TO-CONDITION"
2190                "ALLOCATE-CONDITION"
2192                "CONDITION-SLOT-VALUE"
2193                "SET-CONDITION-SLOT-VALUE"
2195                "CONDITION-SLOT-ALLOCATION"
2196                "CONDITION-SLOT-DOCUMENTATION"
2197                "CONDITION-SLOT-INITARGS"
2198                "CONDITION-SLOT-INITFORM"
2199                "CONDITION-SLOT-INITFORM-P"
2200                "CONDITION-SLOT-INITFUNCTION"
2201                "CONDITION-SLOT-NAME" "CONDITION-SLOT-READERS"
2202                "CONDITION-SLOT-WRITERS"
2204                "REDEFINITION-WARNING"
2205                "REDEFINITION-WITH-DEFUN"
2206                "REDEFINITION-WITH-DEFMACRO"
2207                "REDEFINITION-WITH-DEFGENERIC"
2208                "REDEFINITION-WITH-DEFMETHOD"
2209                "UNINTERESTING-ORDINARY-FUNCTION-REDEFINITION-P"
2210                "UNINTERESTING-GENERIC-FUNCTION-REDEFINITION-P"
2211                "UNINTERESTING-METHOD-REDEFINITION-P"
2212                "UNINTERESTING-REDEFINITION"
2213                "REDEFINITION-WITH-DEFTRANSFORM"
2215                "DUBIOUS-ASTERISKS-AROUND-VARIABLE-NAME"
2216                "ASTERISKS-AROUND-LEXICAL-VARIABLE-NAME"
2217                "ASTERISKS-AROUND-CONSTANT-VARIABLE-NAME"
2218                "UNDEFINED-ALIEN-STYLE-WARNING"
2219                #!+(or sb-eval sb-fasteval)
2220                "LEXICAL-ENVIRONMENT-TOO-COMPLEX"
2221                "CHARACTER-DECODING-ERROR-IN-COMMENT"
2222                "DEPRECATED-EVAL-WHEN-SITUATIONS"
2223                "PROCLAMATION-MISMATCH"
2224                "PROCLAMATION-MISMATCH-NAME"
2225                "PROCLAMATION-MISMATCH-NEW"
2226                "PROCLAMATION-MISMATCH-OLD"
2227                "TYPE-PROCLAMATION-MISMATCH"
2228                "TYPE-PROCLAMATION-MISMATCH-WARNING"
2229                "TYPE-PROCLAMATION-MISMATCH-WARN"
2230                "FTYPE-PROCLAMATION-MISMATCH"
2231                "FTYPE-PROCLAMATION-MISMATCH-WARNING"
2232                "FTYPE-PROCLAMATION-MISMATCH-WARN"
2233                "FTYPE-PROCLAMATION-MISMATCH-ERROR"
2235                "!COLD-INIT"
2236                "!GLOBALDB-COLD-INIT"
2237                "!FOREIGN-COLD-INIT"
2238                "!TYPE-CLASS-COLD-INIT" "!TYPEDEFS-COLD-INIT"
2239                "!ALIEN-TYPE-COLD-INIT" "!CLASSES-COLD-INIT"
2240                "!DEADLINE-COLD-INIT"
2241                "!EARLY-TYPE-COLD-INIT" "!LATE-TYPE-COLD-INIT"
2242                "!FIXUP-TYPE-COLD-INIT" "!TARGET-TYPE-COLD-INIT"
2243                "!RANDOM-COLD-INIT" "!READER-COLD-INIT"
2244                "!PATHNAME-COLD-INIT" "!DEBUG-INFO-COLD-INIT"
2245                "!TYPECHECKFUNS-COLD-INIT" "!LOADER-COLD-INIT"
2246                "!EXHAUST-COLD-INIT" "!PACKAGE-COLD-INIT"
2247                "!POLICY-COLD-INIT-OR-RESANIFY"
2248                "!VM-TYPE-COLD-INIT" "!BACKQ-COLD-INIT"
2249                "!SHARPM-COLD-INIT" "!EARLY-PROCLAIM-COLD-INIT"
2250                "!LATE-PROCLAIM-COLD-INIT" "!CLASS-FINALIZE"
2251                "!CONSTANTP-COLD-INIT" "!CONSTANTP2-COLD-INIT"
2252                "!WORLD-LOCK-COLD-INIT"
2253                "!SPECIFIER-TYPE"
2255                "FLOAT-COLD-INIT-OR-REINIT"
2256                "GC-REINIT"
2257                "TIME-REINIT"
2258                "SIGNAL-COLD-INIT-OR-REINIT"
2259                "STREAM-COLD-INIT-OR-RESET"
2261                ;; Cleanups to run before saving a core
2262                "FLOAT-DEINIT"
2263                "FOREIGN-DEINIT"
2264                "PROFILE-DEINIT"
2266                ;; Note: These are out of lexicographical order
2267                ;; because in CMU CL they were defined as
2268                ;; internal symbols in package "CL" imported
2269                ;; into package "C", as opposed to what we're
2270                ;; doing here, defining them as external symbols
2271                ;; in a package which is used by both "SB!C" and
2272                ;; "SB!IMPL". (SBCL's "SB!C" is directly
2273                ;; analogous to CMU CL's "C"; and for this
2274                ;; purpose, SBCL's "SB!IMPL" is analogous to CMU
2275                ;; CL's "CL".) As far as I know there's nothing
2276                ;; special about them, so they could be merged
2277                ;; into the same order as everything else in the
2278                ;; in this package. -- WHN 19990911
2279                "STRING>=*" "STRING>*" "STRING=*" "STRING<=*"
2280                "STRING<*" "STRING/=*" "%SVSET"
2281                "%SP-STRING-COMPARE" "%SETNTH" "%SETELT"
2282                "%SET-ROW-MAJOR-AREF" "%SET-FILL-POINTER"
2283                "%SET-FDEFINITION" "%SCHARSET"
2284                "%RPLACD" "%RPLACA" "%PUT" "%CHARSET"
2285                "WITH-SIMPLE-OUTPUT-TO-STRING"))
2287    #s(sb-cold:package-data
2288       :name "SB!THREAD"
2289       :use ("CL" "SB!ALIEN" "SB!INT" "SB!SYS" "SB!KERNEL")
2290       :doc "public (but low-level): native thread support"
2291       :export ("*CURRENT-THREAD*"
2292                "DESTROY-THREAD"
2293                "INTERRUPT-THREAD"
2294                "INTERRUPT-THREAD-ERROR"
2295                "INTERRUPT-THREAD-ERROR-THREAD"
2296                "RETURN-FROM-THREAD"
2297                "ABORT-THREAD"
2298                "MAIN-THREAD-P"
2299                "MAIN-THREAD"
2300                "JOIN-THREAD"
2301                "JOIN-THREAD-ERROR"
2302                "JOIN-THREAD-ERROR-THREAD"
2303                "JOIN-THREAD-ERROR-PROBLEM"
2304                "LIST-ALL-THREADS"
2305                "MAKE-THREAD"
2306                "SYMBOL-VALUE-IN-THREAD"
2307                "SYMBOL-VALUE-IN-THREAD-ERROR"
2308                "TERMINATE-THREAD"
2309                "THREAD"
2310                "THREAD-DEADLOCK"
2311                "THREAD-DEADLOCK-CYCLE"
2312                "THREAD-ERROR"
2313                "THREAD-ERROR-THREAD"
2314                "THREAD-ALIVE-P"
2315                "THREAD-EPHEMERAL-P"
2316                "THREAD-NAME"
2317                "THREAD-YIELD"
2318                "FOREIGN-THREAD"
2319                #!+(and sb-safepoint-strictly (not win32))
2320                "SIGNAL-HANDLING-THREAD"
2321                ;; Memory barrier
2322                "BARRIER"
2323                ;; Mutexes
2324                "GET-MUTEX"
2325                "GRAB-MUTEX"
2326                "HOLDING-MUTEX-P"
2327                "MAKE-MUTEX"
2328                "MUTEX"
2329                "MUTEX-NAME"
2330                "MUTEX-OWNER"
2331                "MUTEX-VALUE"
2332                "RELEASE-MUTEX"
2333                "WITH-MUTEX"
2334                "WITH-RECURSIVE-LOCK"
2335                ;; Condition variables
2336                "CONDITION-BROADCAST"
2337                "CONDITION-NOTIFY"
2338                "CONDITION-WAIT"
2339                "MAKE-WAITQUEUE"
2340                "WAITQUEUE"
2341                "WAITQUEUE-NAME"
2342                ;; Sessions
2343                "MAKE-LISTENER-THREAD"
2344                "RELEASE-FOREGROUND"
2345                "WITH-NEW-SESSION"
2346                ;; Semaphores
2347                "MAKE-SEMAPHORE"
2348                "SEMAPHORE"
2349                "SEMAPHORE-NAME"
2350                "SEMAPHORE-COUNT"
2351                "SIGNAL-SEMAPHORE"
2352                "TRY-SEMAPHORE"
2353                "WAIT-ON-SEMAPHORE"
2354                ;; Semaphore notification objects
2355                "CLEAR-SEMAPHORE-NOTIFICATION"
2356                "MAKE-SEMAPHORE-NOTIFICATION"
2357                "SEMAPHORE-NOTIFICATION"
2358                "SEMAPHORE-NOTIFICATION-STATUS"))
2360    #s(sb-cold:package-data
2361       :name "SB!LOOP"
2362       :doc "private: implementation details of LOOP"
2363       :use ("CL" "SB!INT" "SB!KERNEL")
2364       :export ())
2366    #s(sb-cold:package-data
2367       :name "SB!MOP"
2368       :doc
2369       "public: the MetaObject Protocol interface, as defined by
2370 The Art of the Metaobject Protocol, by Kiczales, des Rivieres and Bobrow:
2371 ISBN 0-262-61074-4, with exceptions as noted in the User Manual."
2372       :use ("CL")
2373       :reexport ("ADD-METHOD"
2374                  "ALLOCATE-INSTANCE"
2375                  "CLASS-NAME" "COMPUTE-APPLICABLE-METHODS"
2376                  "ENSURE-GENERIC-FUNCTION" "MAKE-INSTANCE"
2377                  "METHOD-QUALIFIERS" "REMOVE-METHOD"
2378                  "BUILT-IN-CLASS" "CLASS"
2379                  "FUNCTION" "GENERIC-FUNCTION"
2380                  "METHOD" "METHOD-COMBINATION"
2381                  "STANDARD-CLASS" "STANDARD-GENERIC-FUNCTION"
2382                  "STANDARD-METHOD" "STANDARD-OBJECT" "T")
2383       :export ("ADD-DEPENDENT"
2384                "ADD-DIRECT-METHOD"
2385                "ADD-DIRECT-SUBCLASS"
2386                "CLASS-DEFAULT-INITARGS"
2387                "CLASS-DIRECT-DEFAULT-INITARGS"
2388                "CLASS-DIRECT-SLOTS"
2389                "CLASS-DIRECT-SUBCLASSES"
2390                "CLASS-DIRECT-SUPERCLASSES"
2391                "CLASS-FINALIZED-P"
2392                "CLASS-PRECEDENCE-LIST"
2393                "CLASS-PROTOTYPE"
2394                "CLASS-SLOTS"
2395                "COMPUTE-APPLICABLE-METHODS-USING-CLASSES"
2396                "COMPUTE-CLASS-PRECEDENCE-LIST"
2397                "COMPUTE-DEFAULT-INITARGS"
2398                "COMPUTE-DISCRIMINATING-FUNCTION"
2399                "COMPUTE-EFFECTIVE-METHOD"
2400                "COMPUTE-EFFECTIVE-SLOT-DEFINITION"
2401                "COMPUTE-SLOTS"
2402                "DIRECT-SLOT-DEFINITION"
2403                "DIRECT-SLOT-DEFINITION-CLASS"
2404                "EFFECTIVE-SLOT-DEFINITION"
2405                "EFFECTIVE-SLOT-DEFINITION-CLASS"
2406                "ENSURE-CLASS"
2407                "ENSURE-CLASS-USING-CLASS"
2408                "ENSURE-GENERIC-FUNCTION-USING-CLASS"
2409                "EQL-SPECIALIZER"
2410                "EQL-SPECIALIZER-OBJECT"
2411                "EXTRACT-LAMBDA-LIST"
2412                "EXTRACT-SPECIALIZER-NAMES"
2413                "FINALIZE-INHERITANCE"
2414                "FIND-METHOD-COMBINATION"
2415                "FORWARD-REFERENCED-CLASS"
2416                "FUNCALLABLE-STANDARD-CLASS"
2417                "FUNCALLABLE-STANDARD-INSTANCE-ACCESS"
2418                "FUNCALLABLE-STANDARD-OBJECT"
2419                "GENERIC-FUNCTION-ARGUMENT-PRECEDENCE-ORDER"
2420                "GENERIC-FUNCTION-DECLARATIONS"
2421                "GENERIC-FUNCTION-LAMBDA-LIST"
2422                "GENERIC-FUNCTION-METHOD-CLASS"
2423                "GENERIC-FUNCTION-METHOD-COMBINATION"
2424                "GENERIC-FUNCTION-METHODS"
2425                "GENERIC-FUNCTION-NAME"
2426                "INTERN-EQL-SPECIALIZER"
2427                "MAKE-METHOD-LAMBDA"
2428                "MAP-DEPENDENTS"
2429                "METAOBJECT"
2430                "METHOD-FUNCTION"
2431                "METHOD-GENERIC-FUNCTION"
2432                "METHOD-LAMBDA-LIST"
2433                "METHOD-SPECIALIZERS"
2434                "ACCESSOR-METHOD-SLOT-DEFINITION"
2435                "READER-METHOD-CLASS"
2436                "REMOVE-DEPENDENT"
2437                "REMOVE-DIRECT-METHOD"
2438                "REMOVE-DIRECT-SUBCLASS"
2439                "SET-FUNCALLABLE-INSTANCE-FUNCTION"
2440                "SLOT-BOUNDP-USING-CLASS"
2441                "SLOT-DEFINITION"
2442                "SLOT-DEFINITION-ALLOCATION"
2443                "SLOT-DEFINITION-INITARGS"
2444                "SLOT-DEFINITION-INITFORM"
2445                "SLOT-DEFINITION-INITFUNCTION"
2446                "SLOT-DEFINITION-LOCATION"
2447                "SLOT-DEFINITION-NAME"
2448                "SLOT-DEFINITION-READERS"
2449                "SLOT-DEFINITION-WRITERS"
2450                "SLOT-DEFINITION-TYPE"
2451                "SLOT-MAKUNBOUND-USING-CLASS"
2452                "SLOT-VALUE-USING-CLASS"
2453                "SPECIALIZER"
2454                "SPECIALIZER-DIRECT-GENERIC-FUNCTIONS"
2455                "SPECIALIZER-DIRECT-METHODS"
2456                "STANDARD-ACCESSOR-METHOD"
2457                "STANDARD-DIRECT-SLOT-DEFINITION"
2458                "STANDARD-EFFECTIVE-SLOT-DEFINITION"
2459                "STANDARD-INSTANCE-ACCESS"
2460                "STANDARD-READER-METHOD"
2461                "STANDARD-SLOT-DEFINITION"
2462                "STANDARD-WRITER-METHOD"
2463                "UPDATE-DEPENDENT"
2464                "VALIDATE-SUPERCLASS"
2465                "WRITER-METHOD-CLASS"))
2467    #s(sb-cold:package-data
2468       :name "SB!REGALLOC"
2469       :doc "private: implementation of the compiler's register allocator"
2470       :use ("CL" "SB!ALIEN-INTERNALS" "SB!ALIEN" "SB!ASSEM" "SB!BIGNUM"
2471                  #!+sb-dyncount "SB-DYNCOUNT" "SB!EXT" "SB!FASL" "SB!INT"
2472                  "SB!KERNEL" "SB!SYS"
2473                  "SB!C")
2474       :import-from (("SB!C"
2475                      "*LOOP-ANALYZE*"
2476                      "BLOCK-INFO" "BLOCK-LAST" "BLOCK-LOOP" "BLOCK-NEXT"
2477                      "CLEAR-BIT-VECTOR" "COMPONENT-HEAD" "COMPONENT-TAIL"
2478                      "DEFEVENT" "DELETE-VOP" "DO-IR2-BLOCKS" "DO-LIVE-TNS"
2479                      "EMIT-LOAD-TEMPLATE" "EVENT" "FIND-IN"
2480                      "FINITE-SB" "FINITE-SB-ALWAYS-LIVE"
2481                      "FINITE-SB-ALWAYS-LIVE-COUNT" "FINITE-SB-CONFLICTS"
2482                      "FINITE-SB-CURRENT-SIZE" "FINITE-SB-LAST-BLOCK-COUNT"
2483                      "FINITE-SB-LAST-OFFSET" "FINITE-SB-LIVE-TNS"
2484                      "FINITE-SB-SIZE-ALIGNMENT" "FINITE-SB-SIZE-INCREMENT"
2485                      "GET-OPERAND-INFO" "GLOBAL-CONFLICTS-BLOCK"
2486                      "GLOBAL-CONFLICTS-CONFLICTS" "GLOBAL-CONFLICTS-KIND"
2487                      "GLOBAL-CONFLICTS-NEXT-TNWISE" "GLOBAL-CONFLICTS-NUMBER"
2488                      "GLOBAL-CONFLICTS-NEXT-BLOCKWISE" "GLOBAL-CONFLICTS-TN"
2489                      "IR2-BLOCK" "IR2-BLOCK-COUNT" "IR2-BLOCK-GLOBAL-TNS"
2490                      "IR2-BLOCK-LAST-VOP" "IR2-BLOCK-LIVE-IN"
2491                      "IR2-BLOCK-LOCAL-TN-COUNT" "IR2-BLOCK-LOCAL-TNS"
2492                      "IR2-BLOCK-NEXT" "IR2-BLOCK-NUMBER" "IR2-BLOCK-PREV"
2493                      "IR2-BLOCK-START-VOP" "IR2-COMPONENT"
2494                      "IR2-COMPONENT-GLOBAL-TN-COUNTER"
2495                      "IR2-COMPONENT-NORMAL-TNS" "IR2-COMPONENT-RESTRICTED-TNS"
2496                      "IR2-COMPONENT-SPILLED-TNS" "IR2-COMPONENT-SPILLED-VOPS"
2497                      "IR2-COMPONENT-WIRED-TNS"
2498                      "LAMBDA-PARENT" "LEXENV-LAMBDA" "LISTIFY-RESTRICTIONS"
2499                      "LOCAL-TN-BIT-VECTOR" "LOCAL-TN-COUNT" "LOCAL-TN-LIMIT"
2500                      "LOCAL-TN-NUMBER" "LOCAL-TN-VECTOR"
2501                      "LOOP-DEPTH" "MAKE-TN" "MOVE-OPERAND" "NODE" "NODE-LEXENV"
2502                      "OPERAND-PARSE-NAME" "POSITION-IN"
2503                      "PRIMITIVE-TYPE-SCS" "PRINT-TN-GUTS"
2504                      "SB-KIND" "SB-SIZE"
2505                      "SC-ALIGNMENT" "SC-ALLOWED-BY-PRIMITIVE-TYPE"
2506                      "SC-ALTERNATE-SCS" "SC-CONSTANT-SCS" "SC-ELEMENT-SIZE"
2507                      "SC-LOCATIONS" "SC-MOVE-FUNS" "SC-RESERVE-LOCATIONS"
2508                      "SC-SAVE-P" "SC-VECTOR"
2509                      "SET-BIT-VECTOR"
2510                      "TEMPLATE-NAME"
2511                      "TN" "TN-COST" "TN-GLOBAL-CONFLICTS" "TN-KIND" "TN-LEAF"
2512                      "TN-LOCAL" "TN-LOCAL-CONFLICTS" "TN-LOCAL-NUMBER"
2513                      "TN-LOOP-DEPTH" "TN-NEXT" "TN-NUMBER" "TN-PRIMITIVE-TYPE"
2514                      "TN-READS" "TN-SAVE-TN" "TN-WRITES"
2515                      "TNS-CONFLICT" "TNS-CONFLICT-GLOBAL-GLOBAL"
2516                      "TNS-CONFLICT-LOCAL-GLOBAL"
2517                      "VOP" "VOP-ARGS" "VOP-INFO" "VOP-INFO-ARG-LOAD-SCS"
2518                      "VOP-INFO-MOVE-ARGS" "VOP-INFO-NAME"
2519                      "VOP-INFO-RESULT-LOAD-SCS" "VOP-INFO-SAVE-P"
2520                      "VOP-NEXT" "VOP-NODE"
2521                      "VOP-PARSE-OR-LOSE" "VOP-PARSE-TEMPS" "VOP-PREV"
2522                      "VOP-REFS" "VOP-RESULTS" "VOP-SAVE-SET" "VOP-TEMPS"))
2523       :export ("PACK" "TARGET-IF-DESIRABLE" "*REGISTER-ALLOCATION-METHOD*"
2524                "*PACK-ITERATIONS*"
2525                "*PACK-ASSIGN-COSTS*" "*PACK-OPTIMIZE-SAVES*"
2526                "*TN-WRITE-COST*" "*TN-LOOP-DEPTH-MULTIPLIER*"))
2528    #s(sb-cold:package-data
2529       :name "SB!PCL"
2530       :doc
2531       "semi-public: This package includes useful meta-object protocol
2532 extensions, but even they are not guaranteed to be present in later
2533 versions of SBCL, and the other stuff in here is definitely not
2534 guaranteed to be present in later versions of SBCL.  Use of this
2535 package is deprecated in favour of SB-MOP."
2536       :use ("CL" "SB!MOP" "SB!INT" "SB!EXT" "SB!WALKER" "SB!KERNEL")
2537       ;; experimental SBCL-only (for now) symbols
2538       :export ("SYSTEM-CLASS"
2540                "MAKE-METHOD-LAMBDA-USING-SPECIALIZERS"
2541                "MAKE-METHOD-SPECIALIZERS-FORM"
2543                "SPECIALIZER-TYPE-SPECIFIER"
2544                "MAKE-SPECIALIZER-FORM-USING-CLASS"
2545                "PARSE-SPECIALIZER-USING-CLASS"
2546                "UNPARSE-SPECIALIZER-USING-CLASS"
2548                "+SLOT-UNBOUND+"
2550                "ENSURE-CLASS-FINALIZED"
2552                "ILLEGAL-CLASS-NAME-ERROR"
2553                "CLASS-NOT-FOUND-ERROR")
2554       ;; FIXME: After a little while, these reexports can probably go
2555       ;; away, as they're superseded by the use of SB-MOP as the
2556       ;; publically-accessible package.
2557       :reexport ( ;; CL symbols
2558                  "ADD-METHOD"
2559                  "ALLOCATE-INSTANCE"
2560                  "CLASS-NAME" "COMPUTE-APPLICABLE-METHODS"
2561                  "ENSURE-GENERIC-FUNCTION" "MAKE-INSTANCE"
2562                  "METHOD-QUALIFIERS" "REMOVE-METHOD"
2563                  ;; MOP symbols
2564                  "ADD-DEPENDENT"
2565                  "ADD-DIRECT-METHOD"
2566                  "ADD-DIRECT-SUBCLASS"
2567                  "CLASS-DEFAULT-INITARGS"
2568                  "CLASS-DIRECT-DEFAULT-INITARGS"
2569                  "CLASS-DIRECT-SLOTS"
2570                  "CLASS-DIRECT-SUBCLASSES"
2571                  "CLASS-DIRECT-SUPERCLASSES"
2572                  "CLASS-FINALIZED-P"
2573                  "CLASS-PRECEDENCE-LIST"
2574                  "CLASS-PROTOTYPE"
2575                  "CLASS-SLOTS"
2576                  "COMPUTE-APPLICABLE-METHODS-USING-CLASSES"
2577                  "COMPUTE-CLASS-PRECEDENCE-LIST"
2578                  "COMPUTE-DEFAULT-INITARGS"
2579                  "COMPUTE-DISCRIMINATING-FUNCTION"
2580                  "COMPUTE-EFFECTIVE-METHOD"
2581                  "COMPUTE-EFFECTIVE-SLOT-DEFINITION"
2582                  "COMPUTE-SLOTS"
2583                  "DIRECT-SLOT-DEFINITION"
2584                  "DIRECT-SLOT-DEFINITION-CLASS"
2585                  "EFFECTIVE-SLOT-DEFINITION"
2586                  "EFFECTIVE-SLOT-DEFINITION-CLASS"
2587                  "ENSURE-CLASS"
2588                  "ENSURE-CLASS-USING-CLASS"
2589                  "ENSURE-GENERIC-FUNCTION-USING-CLASS"
2590                  "EQL-SPECIALIZER"
2591                  "EQL-SPECIALIZER-OBJECT"
2592                  "EXTRACT-LAMBDA-LIST"
2593                  "EXTRACT-SPECIALIZER-NAMES"
2594                  "FINALIZE-INHERITANCE"
2595                  "FIND-METHOD-COMBINATION"
2596                  "FORWARD-REFERENCED-CLASS"
2597                  "FUNCALLABLE-STANDARD-CLASS"
2598                  "FUNCALLABLE-STANDARD-INSTANCE-ACCESS"
2599                  "FUNCALLABLE-STANDARD-OBJECT"
2600                  "GENERIC-FUNCTION-ARGUMENT-PRECEDENCE-ORDER"
2601                  "GENERIC-FUNCTION-DECLARATIONS"
2602                  "GENERIC-FUNCTION-LAMBDA-LIST"
2603                  "GENERIC-FUNCTION-METHOD-CLASS"
2604                  "GENERIC-FUNCTION-METHOD-COMBINATION"
2605                  "GENERIC-FUNCTION-METHODS"
2606                  "GENERIC-FUNCTION-NAME"
2607                  "INTERN-EQL-SPECIALIZER"
2608                  "MAKE-METHOD-LAMBDA"
2609                  "MAP-DEPENDENTS"
2610                  "METHOD-FUNCTION"
2611                  "METHOD-GENERIC-FUNCTION"
2612                  "METHOD-LAMBDA-LIST"
2613                  "METHOD-SPECIALIZERS"
2614                  "ACCESSOR-METHOD-SLOT-DEFINITION"
2615                  "READER-METHOD-CLASS"
2616                  "REMOVE-DEPENDENT"
2617                  "REMOVE-DIRECT-METHOD"
2618                  "REMOVE-DIRECT-SUBCLASS"
2619                  "SET-FUNCALLABLE-INSTANCE-FUNCTION"
2620                  "SLOT-BOUNDP-USING-CLASS"
2621                  "SLOT-DEFINITION"
2622                  "SLOT-DEFINITION-ALLOCATION"
2623                  "SLOT-DEFINITION-INITARGS"
2624                  "SLOT-DEFINITION-INITFORM"
2625                  "SLOT-DEFINITION-INITFUNCTION"
2626                  "SLOT-DEFINITION-LOCATION"
2627                  "SLOT-DEFINITION-NAME"
2628                  "SLOT-DEFINITION-READERS"
2629                  "SLOT-DEFINITION-WRITERS"
2630                  "SLOT-DEFINITION-TYPE"
2631                  "SLOT-MAKUNBOUND-USING-CLASS"
2632                  "SLOT-VALUE-USING-CLASS"
2633                  "SPECIALIZER"
2634                  "SPECIALIZER-DIRECT-GENERIC-FUNCTIONS"
2635                  "SPECIALIZER-DIRECT-METHODS"
2636                  "STANDARD-ACCESSOR-METHOD"
2637                  "STANDARD-DIRECT-SLOT-DEFINITION"
2638                  "STANDARD-EFFECTIVE-SLOT-DEFINITION"
2639                  "STANDARD-INSTANCE-ACCESS"
2640                  "STANDARD-READER-METHOD"
2641                  "STANDARD-SLOT-DEFINITION"
2642                  "STANDARD-WRITER-METHOD"
2643                  "UPDATE-DEPENDENT"
2644                  "VALIDATE-SUPERCLASS"
2645                  "WRITER-METHOD-CLASS"))
2647    #s(sb-cold:package-data
2648       :name "SB!PRETTY"
2649       :doc "private: implementation of pretty-printing"
2650       :use ("CL" "SB!EXT" "SB!INT" "SB!KERNEL")
2651       :export ("OUTPUT-PRETTY-OBJECT"
2652                "PRETTY-STREAM" "PRETTY-STREAM-P"
2653                "PPRINT-DISPATCH-TABLE"
2654                "*PPRINT-QUOTE-WITH-SYNTACTIC-SUGAR*"
2655                "!PPRINT-COLD-INIT"))
2657    #s(sb-cold:package-data
2658       :name "SB!PROFILE"
2659       :doc "public: the interface to the profiler"
2660       :use ("CL" "SB!EXT" "SB!INT" "SB!KERNEL")
2661       :export ("PROFILE" "REPORT" "RESET" "UNPROFILE"))
2663    #s(sb-cold:package-data
2664       :name "SB!SEQUENCE"
2665       :doc "semi-public: implements something which might eventually
2666 be submitted as a CDR"
2667       :use ()
2668       :export ("PROTOCOL-UNIMPLEMENTED"
2669                "PROTOCOL-UNIMPLEMENTED-OPERATION"
2671                "DOSEQUENCE"
2673                "MAKE-SEQUENCE-ITERATOR" "MAKE-SIMPLE-SEQUENCE-ITERATOR"
2675                "ITERATOR-STEP" "ITERATOR-ENDP" "ITERATOR-ELEMENT"
2676                "ITERATOR-INDEX" "ITERATOR-COPY"
2678                "WITH-SEQUENCE-ITERATOR" "WITH-SEQUENCE-ITERATOR-FUNCTIONS"
2680                "CANONIZE-TEST" "CANONIZE-KEY"
2682                "EMPTYP" "LENGTH" "ELT"
2683                "MAKE-SEQUENCE-LIKE" "ADJUST-SEQUENCE"
2685                "MAP"
2686                "COUNT" "COUNT-IF" "COUNT-IF-NOT"
2687                "FIND" "FIND-IF" "FIND-IF-NOT"
2688                "POSITION" "POSITION-IF" "POSITION-IF-NOT"
2689                "SUBSEQ" "COPY-SEQ" "FILL"
2690                "NSUBSTITUTE" "NSUBSTITUTE-IF" "NSUBSTITUTE-IF-NOT"
2691                "SUBSTITUTE" "SUBSTITUTE-IF" "SUBSTITUTE-IF-NOT"
2692                "REPLACE" "REVERSE" "NREVERSE" "CONCATENATE" "REDUCE"
2693                "MISMATCH" "SEARCH"
2694                "DELETE" "DELETE-IF" "DELETE-IF-NOT"
2695                "REMOVE" "REMOVE-IF" "REMOVE-IF-NOT"
2696                "DELETE-DUPLICATES" "REMOVE-DUPLICATES"
2698                "SORT" "STABLE-SORT" "MERGE"))
2700    #s(sb-cold:package-data
2701       :name "SB!SYS"
2702       :doc
2703       "private: In theory, this \"contains functions and information
2704 necessary for system interfacing\" (said cmu-user.tex at the time
2705 of the SBCL code fork). That probably was and is a good idea, but in
2706 practice, the distinctions between this package and SB-KERNEL
2707 and even SB-VM seem to have become somewhat blurred over the years.
2708 Some anomalies (e.g. FIND-IF-IN-CLOSURE being in SB-SYS instead of
2709 SB-KERNEL) have been undone, but probably more remain."
2710       :use ("CL" "SB!EXT" "SB!INT")
2711       :export (;; FIXME: %PRIMITIVE shouldn't be here. (I now know that %SYS
2712                ;; is for OS-dependent stuff. %PRIMITIVE should probably be in
2713                ;; SB!KERNEL.)
2714                "%PRIMITIVE"
2715                "%STANDARD-CHAR-P"
2716                "*EXIT-ERROR-HANDLER*"
2717                "*EXIT-IN-PROCESS*"
2718                "*ALLOW-WITH-INTERRUPTS*"
2719                "*INTERRUPTS-ENABLED*"
2720                "*INTERRUPT-PENDING*"
2721                #!+sb-thruption "*THRUPTION-PENDING*"
2722                "*LINKAGE-INFO*"
2723                "*LONG-SITE-NAME*" "*SHORT-SITE-NAME*"
2724                "*MACHINE-VERSION*"
2725                "*PERIODIC-POLLING-FUNCTION*"
2726                "*PERIODIC-POLLING-PERIOD*"
2727                "*RUNTIME-DLHANDLE*"
2728                "*SHARED-OBJECTS*"
2729                #!-sb-dynamic-core
2730                "*STATIC-FOREIGN-SYMBOLS*"
2731                "*STDERR*" "*STDIN*"
2732                "*STDOUT*"
2733                "*TTY*"
2734                "ADD-FD-HANDLER"
2735                "ALLOCATE-SYSTEM-MEMORY"
2736                "ALLOW-WITH-INTERRUPTS"
2737                "BEEP"
2738                "BREAKPOINT-ERROR"
2739                "CANCEL-DEADLINE"
2740                "CLOSE-SHARED-OBJECTS"
2741                "DEADLINE-TIMEOUT"
2742                "DEALLOCATE-SYSTEM-MEMORY"
2743                "DECODE-TIMEOUT"
2744                "DECODE-INTERNAL-TIME"
2745                "DEFAULT-INTERRUPT"
2746                "DEFER-DEADLINE"
2747                "DYNAMIC-FOREIGN-SYMBOLS-P"
2748                "DLOPEN-OR-LOSE"
2749                "ENABLE-INTERRUPT"
2750                "ENSURE-DYNAMIC-FOREIGN-SYMBOL-ADDRESS"
2751                "EXTERN-ALIEN-NAME"
2752                "EXIT-CODE"
2753                "FD-STREAM" "FD-STREAM-FD" "FD-STREAM-P"
2754                "FIND-DYNAMIC-FOREIGN-SYMBOL-ADDRESS"
2755                "FIND-FOREIGN-SYMBOL-ADDRESS"
2756                "FIND-FOREIGN-SYMBOL-IN-TABLE"
2757                "FOREIGN-SYMBOL-SAP"
2758                "FOREIGN-SYMBOL-ADDRESS"
2759                "FOREIGN-SYMBOL-DATAREF-SAP"
2760                "GET-MACHINE-VERSION" "GET-PAGE-SIZE" "GET-SYSTEM-INFO"
2761                "IGNORE-INTERRUPT"
2762                "IN-INTERRUPTION"
2763                "INTERACTIVE-INTERRUPT"
2764                "INT-SAP"
2765                "INVALIDATE-DESCRIPTOR"
2766                "INVOKE-INTERRUPTION"
2767                "IO-TIMEOUT"
2768                "LIST-DYNAMIC-FOREIGN-SYMBOLS"
2769                "MACRO" "MAKE-FD-STREAM"
2770                "MEMORY-FAULT-ERROR"
2771                "MEMMOVE"
2772                "OS-EXIT"
2773                "OS-COLD-INIT-OR-REINIT" "OS-DEINIT"
2774                "OS-CONTEXT-T" "OUTPUT-RAW-BYTES"
2775                "READ-N-BYTES"
2776                "REMOVE-FD-HANDLER"
2777                "REOPEN-SHARED-OBJECTS"
2778                "SAP+" "SAP-"
2779                "SAP-FOREIGN-SYMBOL"
2780                "SAP-INT"
2781                "SAP-REF-16" "SAP-REF-32" "SAP-REF-64" "SAP-REF-WORD"
2782                "SAP-REF-8"
2783                "SAP-REF-DOUBLE" "SAP-REF-LISPOBJ" "SAP-REF-LONG"
2784                "SAP-REF-OCTETS"
2785                "SAP-REF-SAP" "SAP-REF-SINGLE"
2786                "SAP<" "SAP<=" "SAP=" "SAP>" "SAP>="
2787                "SCRUB-CONTROL-STACK" "SERVE-ALL-EVENTS"
2788                "SIGNAL-DEADLINE"
2789                "SERVE-EVENT"
2790                "SIGNED-SAP-REF-16" "SIGNED-SAP-REF-32"
2791                "SIGNED-SAP-REF-64" "SIGNED-SAP-REF-WORD" "SIGNED-SAP-REF-8"
2792                ;; FIXME: STRUCTURE!OBJECT stuff probably belongs in SB!KERNEL.
2793                "STRUCTURE!OBJECT" "STRUCTURE!OBJECT-MAKE-LOAD-FORM"
2794                "SYSTEM-AREA-POINTER" "SYSTEM-AREA-POINTER-P"
2795                "SYSTEM-CONDITION" "SYSTEM-CONDITION-ADDRESS"
2796                "SYSTEM-CONDITION-CONTEXT"
2797                "REINIT-INTERNAL-REAL-TIME"
2798                "SYSTEM-INTERNAL-RUN-TIME"
2799                "UNDEFINED-FOREIGN-SYMBOLS-P"
2800                "UPDATE-LINKAGE-TABLE" "VECTOR-SAP"
2801                "WAIT-UNTIL-FD-USABLE"
2802                "WITH-DEADLINE"
2803                "WITH-FD-HANDLER"
2804                "WITH-INTERRUPTS" "WITH-LOCAL-INTERRUPTS"
2805                "WITH-PINNED-OBJECTS" "WITHOUT-GCING"
2806                "WITHOUT-INTERRUPTS"
2807                "WITH-INTERRUPT-BINDINGS"))
2809    #s(sb-cold:package-data
2810       :name "SB!UNICODE"
2811       :doc "public: algorithms for Unicode data"
2812       :use ("CL" "SB!INT")
2813       :export ("GENERAL-CATEGORY"
2814                "BIDI-CLASS"
2815                "COMBINING-CLASS"
2816                "DECIMAL-VALUE"
2817                "DIGIT-VALUE"
2818                "NUMERIC-VALUE"
2819                "MIRRORED-P"
2820                "BIDI-MIRRORING-GLYPH"
2821                "AGE"
2822                "HANGUL-SYLLABLE-TYPE"
2823                "EAST-ASIAN-WIDTH"
2824                "SCRIPT"
2825                "CHAR-BLOCK"
2826                "UNICODE-1-NAME"
2827                "LINE-BREAK-CLASS"
2828                "PROPLIST-P"
2829                "UPPERCASE-P"
2830                "LOWERCASE-P"
2831                "CASED-P"
2832                "CASE-IGNORABLE-P"
2833                "ALPHABETIC-P"
2834                "IDEOGRAPHIC-P"
2835                "MATH-P"
2836                "WHITESPACE-P"
2837                "HEX-DIGIT-P"
2838                "SOFT-DOTTED-P"
2839                "DEFAULT-IGNORABLE-P"
2840                "NORMALIZE-STRING"
2841                "NORMALIZED-P"
2842                "UPPERCASE"
2843                "LOWERCASE"
2844                "TITLECASE"
2845                "CASEFOLD"
2846                "GRAPHEME-BREAK-CLASS"
2847                "WORD-BREAK-CLASS"
2848                "SENTENCE-BREAK-CLASS"
2849                "GRAPHEMES"
2850                "WORDS"
2851                "SENTENCES"
2852                "LINES"
2853                "UNICODE="
2854                "UNICODE-EQUAL"
2855                "UNICODE<"
2856                "UNICODE<="
2857                "UNICODE>"
2858                "UNICODE>="
2859                "CONFUSABLE-P"))
2861    #s(sb-cold:package-data
2862       :name "SB!UNIX"
2863       :doc
2864       "private: a wrapper layer for SBCL itself to use when talking
2865 with an underlying Unix-y operating system.
2866 This was a public package in CMU CL, but that was different.
2867 CMU CL's UNIX package tried to provide a comprehensive,
2868 stable Unix interface suitable for the end user.
2869 This package only tries to implement what happens to be
2870 needed by the current implementation of SBCL, and makes
2871 no guarantees of interface stability."
2872       :use ("CL" "SB!ALIEN" "SB!EXT" "SB!INT" "SB!SYS")
2873       :reexport ("OFF-T"
2874                  "SIZE-T")
2875       :export ( ;; wrappers around Unix stuff to give just what Lisp needs
2876                "NANOSLEEP"
2877                "UID-USERNAME"
2878                "UID-HOMEDIR"
2879                "USER-HOMEDIR"
2880                "WITH-RESTARTED-SYSCALL"
2881                "SB-MKSTEMP"
2882                "UNIX-OFFSET"
2883                "FD-TYPE"
2885                ;; Most of this is random detritus worthy of deletion,
2886                ;; and the ordering is not alphabetical or anything sane.
2888                ;; stuff with a one-to-one mapping to Unix constructs
2889                "D-INO" "D-NAME" "D-NAMLEN" "D-OFF" "D-RECLEN" "DEV-T" "DIRECT"
2890                "EXECGRP" "EXECOTH" "EXECOWN" "F-DUPFD" "F-GETFD" "F-GETFL"
2891                "F-GETOWN" "F-SETFD" "F-SETFL" "F-SETOWN" "FAPPEND" "FASYNC"
2892                "FCREAT" "FEXCL" "FIONREAD" "FNDELAY" "FTRUNC" "F_OK" "GID-T"
2893                "INO-T" "UNIX-ACCESS" "UNIX-SETITIMER" "UNIX-GETITIMER"
2894                "L_INCR" "L_SET" "L_XTND" "O_APPEND" "O_CREAT" "O_NOCTTY" "O_EXCL"
2895                "O_RDONLY" "O_RDWR" "O_TRUNC" "O_WRONLY" "POSIX-GETCWD"
2896                "POSIX-GETCWD/" "READGRP" "READOTH" "READOWN" "RLIM-CUR"
2897                "RLIM-MAX" "RU-IDRSS" "RU-INBLOCK" "RU-ISRSS" "RU-IXRSS"
2898                "RU-MAJFLT" "RU-MAXRSS" "RU-MINFLT" "RU-MSGRCV" "RU-MSGSND"
2899                "RU-NIVCSW" "RU-NSIGNALS" "RU-NSWAP" "RU-NVCSW" "RU-OUBLOCK"
2900                "RU-STIME" "RU-UTIME" "RUSAGE_CHILDREN" "RUSAGE_SELF" "RUSEAGE"
2901                "R_OK" "S-IEXEC" "S-IFBLK" "S-IFCHR" "S-IFDIR" "S-IFIFO" "S-IFLNK" "S-IFMT"
2902                "S-IFREG" "S-IFSOCK" "S-IREAD" "S-ISGID" "S-ISUID" "S-ISVTX"
2903                "S-IWRITE" "SAVETEXT" "SC-MASK" "SC-ONSTACK"
2904                "SETUIDEXEC" "ST-ATIME" "ST-BLKSIZE" "ST-BLOCKS"
2905                "ST-CTIME" "ST-DEV" "ST-GID" "ST-MODE" "ST-MTIME" "ST-NLINK"
2906                "ST-RDEV" "ST-SIZE" "ST-UID" "STAT" "TERMINAL-SPEEDS" "TIME-T"
2907                "TIMEVAL" "TIMEZONE" "TIOCFLUSH" "TIOCGETC" "TIOCGETP" "TIOCGLTC"
2908                "TIOCGPGRP" "TIOCGWINSZ" "TIOCNOTTY" "TIOCSETC" "TIOCSETP"
2909                "TIOCSLTC" "TIOCSPGRP" "TIOCSWINSZ" "TV-SEC" "TV-USEC"
2910                "TZ-DSTTIME" "TZ-MINUTESWEST" "UID-T" "UNIX-CLOSE"
2911                "UNIX-CLOSEDIR" "UNIX-DIRENT-NAME" "UNIX-DUP"
2912                "UNIX-FILE-MODE" "UNIX-FSTAT"
2913                "UNIX-GETHOSTNAME" "UNIX-GETPID" "UNIX-GETRUSAGE"
2914                "UNIX-GETTIMEOFDAY" "UNIX-GETUID" "UNIX-GID"
2915                "UNIX-EXIT"
2916                "UNIX-IOCTL"
2917                "UNIX-ISATTY" "UNIX-LSEEK" "UNIX-LSTAT" "UNIX-MKDIR"
2918                "UNIX-OPEN" "UNIX-OPENDIR" "UNIX-PATHNAME" "UNIX-PID"
2919                "UNIX-PIPE" "UNIX-POLL" "UNIX-SIMPLE-POLL"
2920                "UNIX-READ" "UNIX-READDIR" "UNIX-READLINK" "UNIX-REALPATH"
2921                "UNIX-RENAME" "UNIX-SELECT" "UNIX-STAT" "UNIX-UID"
2922                "UNIX-UNLINK" "UNIX-WRITE"
2923                "WINSIZE"
2924                "WRITEGRP" "WRITEOTH" "WRITEOWN" "WS-COL" "WS-ROW" "WS-XPIXEL"
2925                "WS-YPIXEL" "WCONTINUED" "WNOHANG" "WSTOPPED" "WUNTRACED"
2926                "W_OK" "X_OK"
2928                ;; signals
2929                "SIGALRM" "SIGBUS" "SIGCHLD" "SIGCONT" "SIGEMT" "SIGFPE"
2930                "SIGHUP" "SIGILL" "SIGINT" "SIGIO" "SIGIOT" "SIGKILL"
2931                "SIGPIPE" "SIGPROF" "SIGQUIT" "SIGSEGV" "SIGSTOP" "SIGSYS"
2932                "SIGTERM" "SIGTRAP" "SIGTSTP" "SIGTTIN" "SIGTTOU" "SIGURG"
2933                "SIGUSR1" "SIGUSR2" "SIGVTALRM" "SIGWAITING" "SIGWINCH"
2934                "SIGXCPU" "SIGXFSZ"
2936                ;; errors
2937                "E2BIG" "EADDRINUSE" "EADDRNOTAVAIL" "EAFNOSUPPORT"
2938                "EAGAIN" "EALREADY" "EBADF" "EBUSY" "ECHILD" "ECONNABORTED"
2939                "ECONNREFUSED" "ECONNRESET" "EDEADLK" "EDESTADDRREQ" "EDOM"
2940                "EDQUOT" "EEXIST" "EFAULT" "EFBIG" "EHOSTDOWN"
2941                "EHOSTUNREACH" "EINPROGRESS" "EINTR" "EINVAL" "EIO"
2942                "EISCONN" "EISDIR" "ELOCAL" "ELOOP" "EMFILE" "EMLINK"
2943                "EMSGSIZE" "ENAMETOOLONG" "ENETDOWN" "ENETRESET"
2944                "ENETUNREACH" "ENFILE" "ENOBUFS" "ENODEV" "ENOENT"
2945                "ENOEXEC" "ENOMEM" "ENOPROTOOPT" "ENOSPC" "ENOTBLK"
2946                "ENOTCONN" "ENOTEMPTY" "ENOTSOCK" "ENOTTY" "ENXIO"
2947                "EOPNOTSUPP" "EPERM" "EPFNOSUPPORT" "EPIPE" "EPROCLIM"
2948                "EPROTONOSUPPORT" "EPROTOTYPE" "ERANGE" "EREMOTE"
2949                "ERESTART" "EROFS" "ESHUTDOWN" "ESOCKTNOSUPPORT" "ESPIPE"
2950                "ESRCH" "ESUCCESS" "ETIMEDOUT" "ETOOMANYREFS" "ETXTBSY"
2951                "EUSERS" "EVICEERR" "EVICEOP" "EWOULDBLOCK" "EXDEV"
2953                "POLLFD" "POLLIN" "POLLOUT" "POLLHUP" "POLLNVAL" "POLLERR"
2954                "FD" "EVENTS" "REVENTS"
2955                "FD-ISSET" "FD-SET" "LTCHARS" "UNIX-FAST-SELECT"
2956                "UNIX-KILL" "CODESET"
2957                "FD-ZERO" "FD-CLR" "UNIX-RESOLVE-LINKS"
2958                "FD-SETSIZE" "UNIX-FAST-GETRUSAGE"
2959                "UNIX-KILLPG"
2960                #!+(or svr4 linux)
2961                ("EADDRINUSE"
2962                 "EADDRNOTAVAIL" "EADV"
2963                 "EAFNOSUPPORT" "EALREADY" "EBADE" "EBADFD"
2964                 "EBADMSG" "EBADR" "EBADRQC"
2965                 "EBADSLT" "EBFONT" #!+svr4 "ECANCELED"
2966                 "ECHRNG" "ECOMM" "ECONNABORTED"
2967                 "ECONNREFUSED" "ECONNRESET" "EDEADLK"
2968                 "EDEADLOCK" "EDESTADDRREQ" #!+linux "EDOTDOT"
2969                 #!+linux "EDQUOT" "EHOSTDOWN" "EHOSTUNREACH"
2970                 "EIDRM" "EILSEQ" "EINPROGRESS"
2971                 "EISCONN" #!+linux "EISNAM" "EL2HLT"
2972                 "EL2NSYNC" "EL3HLT" "EL3RST" "ELIBACC"
2973                 "ELIBBAD" "ELIBEXEC" "ELIBMAX" "ELIBSCN"
2974                 "ELNRNG" "ELOOP" "EMSGSIZE" "EMULTIHOP"
2975                 "ENAMETOOLONG" #!+linux "ENAVAIL"
2976                 "ENETDOWN" "ENETRESET" "ENETUNREACH" "ENOANO"
2977                 "ENOBUFS" "ENOCSI" "ENODATA" "ENOLCK"
2978                 "ENOLINK" "ENOMSG" "ENONET" "ENOPKG"
2979                 "ENOPROTOOPT" "ENOSR" "ENOSTR" "ENOSYS"
2980                 "ENOTCONN" "ENOTEMPTY" #!+linux "ENOTNAM"
2981                 "ENOTSOCK" #!+svr4 "ENOTSUP" "ENOTUNIQ"
2982                 "EOPNOTSUPP" "EOVERFLOW" "EPFNOSUPPORT"
2983                 "EPROTO" "EPROTONOSUPPORT" "EPROTOTYPE"
2984                 "EREMCHG" "EREMOTE" #!+linux "EREMOTEIO"
2985                 "ERESTART" "ESHUTDOWN" "ESOCKTNOSUPPORT"
2986                 "ESRMNT" "ESTALE" "ESTRPIPE" "ETIME"
2987                 "ETIMEDOUT" "ETOOMANYREFS" #!+linux "EUCLEAN"
2988                 "EUNATCH" "EUSERS" "EWOULDBLOCK" "EXFULL")))
2990    #s(sb-cold:package-data
2991       :name "SB!VM"
2992       :doc
2993       "internal: the default place to hide information about the hardware and data
2994 structure representations"
2995       :use ("CL" "SB!ALIEN" "SB!ALIEN-INTERNALS" "SB!ASSEM" "SB!C"
2996                  "SB!EXT" "SB!FASL" "SB!INT" "SB!KERNEL" "SB!SYS" "SB!UNIX")
2997       :reexport ("WORD")
2998       :export ("*ALLOC-SIGNAL*"
2999                "*PRIMITIVE-OBJECTS*"
3000                "+HIGHEST-NORMAL-GENERATION+"
3001                "+PSEUDO-STATIC-GENERATION+"
3002                "+VECTOR-SHAREABLE+"
3003                "+VECTOR-SHAREABLE-NONSTD+"
3004                "%COMPILER-BARRIER" "%DATA-DEPENDENCY-BARRIER"
3005                "%MEMORY-BARRIER" "%READ-BARRIER" "%WRITE-BARRIER"
3006                "AFTER-BREAKPOINT-TRAP"
3007                #!+(and gencgc sparc) "ALLOCATION-TRAP"
3008                "ANY-REG-SC-NUMBER" "ARRAY-DATA-SLOT" "ARRAY-DIMENSIONS-OFFSET"
3009                "ARRAY-DISPLACED-P-SLOT" "ARRAY-DISPLACEMENT-SLOT"
3010                "ARRAY-DISPLACED-FROM-SLOT"
3011                "ARRAY-ELEMENTS-SLOT" "ARRAY-FILL-POINTER-P-SLOT"
3012                "ARRAY-FILL-POINTER-SLOT" "ATOMIC-FLAG"
3013                "CHARACTER-REG-SC-NUMBER"
3014                "CHARACTER-STACK-SC-NUMBER" "CHARACTER-WIDETAG"
3015                "BIGNUM-DIGITS-OFFSET" "BIGNUM-WIDETAG" "BINDING-SIZE"
3016                "BINDING-SYMBOL-SLOT" "BINDING-VALUE-SLOT" "BREAKPOINT-TRAP"
3017                "N-BYTE-BITS" "BYTE-REG-SC-NUMBER"
3018                "CATCH-BLOCK-CODE-SLOT"
3019                "CATCH-BLOCK-CFP-SLOT" "CATCH-BLOCK-UWP-SLOT"
3020                "CATCH-BLOCK-ENTRY-PC-SLOT" "CATCH-BLOCK-PREVIOUS-CATCH-SLOT"
3021                "CATCH-BLOCK-SC-NUMBER" "CATCH-BLOCK-SIZE"
3022                "CATCH-BLOCK-TAG-SLOT" "CERROR-TRAP"
3023                "CLOSURE-FUN-SLOT"
3024                "CLOSURE-HEADER-WIDETAG" ; don't use
3025                "CLOSURE-WIDETAG"
3026                "CLOSURE-INFO-OFFSET"
3027                "CODE-COMPONENT-SIZE"
3028                "CODE-CODE-SIZE-SLOT" "CODE-CONSTANTS-OFFSET"
3029                "CODE-DEBUG-INFO-SLOT"
3030                "CODE-HEADER-WIDETAG" "COMPLEX-ARRAY-WIDETAG"
3031                "COMPLEX-BIT-VECTOR-WIDETAG" "COMPLEX-DOUBLE-FLOAT-FILLER-SLOT"
3032                "COMPLEX-DOUBLE-FLOAT-IMAG-SLOT" "COMPLEX-DOUBLE-FLOAT-REAL-SLOT"
3033                "COMPLEX-DOUBLE-FLOAT-SIZE" "COMPLEX-DOUBLE-FLOAT-WIDETAG"
3034                "COMPLEX-DOUBLE-REG-SC-NUMBER" "COMPLEX-DOUBLE-STACK-SC-NUMBER"
3035                "COMPLEX-IMAG-SLOT" "COMPLEX-REAL-SLOT"
3036                #!+long-float("COMPLEX-LONG-FLOAT-IMAG-SLOT"
3037                              "COMPLEX-LONG-FLOAT-REAL-SLOT"
3038                              "COMPLEX-LONG-FLOAT-SIZE"
3039                              "COMPLEX-LONG-FLOAT-WIDETAG"
3040                              "COMPLEX-LONG-REG-SC-NUMBER"
3041                              "COMPLEX-LONG-STACK-SC-NUMBER")
3042                #!+sb-simd-pack("SIMD-PACK-TAG-SLOT"
3043                                "SIMD-PACK-HI-VALUE-SLOT"
3044                                "SIMD-PACK-LO-VALUE-SLOT"
3045                                "SIMD-PACK-SIZE"
3046                                "SIMD-PACK-WIDETAG")
3047                #!-64-bit
3048                ("COMPLEX-SINGLE-FLOAT-IMAG-SLOT" "COMPLEX-SINGLE-FLOAT-REAL-SLOT")
3049                #!+64-bit
3050                "COMPLEX-SINGLE-FLOAT-DATA-SLOT"
3051                "COMPLEX-SINGLE-FLOAT-SIZE" "COMPLEX-SINGLE-FLOAT-WIDETAG"
3052                "COMPLEX-SINGLE-REG-SC-NUMBER" "COMPLEX-SINGLE-STACK-SC-NUMBER"
3053                "COMPLEX-SIZE" "COMPLEX-BASE-STRING-WIDETAG"
3054                #!+sb-unicode "COMPLEX-CHARACTER-STRING-WIDETAG"
3055                "COMPLEX-WIDETAG"
3056                "COMPLEX-VECTOR-NIL-WIDETAG"
3057                "COMPLEX-VECTOR-WIDETAG" "CONS-CAR-SLOT" "CONS-CDR-SLOT"
3058                "CONS-SIZE" "CONSTANT-SC-NUMBER"
3059                "CONTEXT-FLOATING-POINT-MODES" "CONTEXT-FLOAT-REGISTER"
3060                "CONTEXT-PC" "CONTEXT-REGISTER" "BOXED-CONTEXT-REGISTER"
3061                "CONTROL-STACK-SC-NUMBER" "COUNT-NO-OPS"
3062                #!+sb-safepoint "CSP-SAFEPOINT-TRAP"
3063                "*CURRENT-CATCH-BLOCK*"
3064                "CURRENT-FLOAT-TRAP"
3065                "DESCRIPTOR-REG-SC-NUMBER" "DESCRIPTOR-VS-NON-DESCRIPTOR-STORAGE"
3066                "DOUBLE-FLOAT-EXPONENT-BYTE" "DOUBLE-FLOAT-BIAS"
3067                "DOUBLE-FLOAT-DIGITS" "DOUBLE-FLOAT-EXPONENT-BYTE"
3068                "DOUBLE-FLOAT-HIDDEN-BIT"
3069                "DOUBLE-FLOAT-NORMAL-EXPONENT-MAX"
3070                "DOUBLE-FLOAT-NORMAL-EXPONENT-MIN" "DOUBLE-FLOAT-SIGNIFICAND-BYTE"
3071                "DOUBLE-FLOAT-SIZE" "DOUBLE-FLOAT-TRAPPING-NAN-BIT"
3072                "DOUBLE-FLOAT-WIDETAG" "DOUBLE-FLOAT-VALUE-SLOT"
3073                "DOUBLE-REG-SC-NUMBER"
3074                "DOUBLE-STACK-SC-NUMBER"
3075                "EMIT-LONG-NOP" "ERROR-TRAP" "EVEN-FIXNUM-LOWTAG"
3076                "FDEFN-FUN-SLOT" "FDEFN-NAME-SLOT" "FDEFN-RAW-ADDR-SLOT"
3077                "FDEFN-SIZE" "FDEFN-WIDETAG"
3078                "FILLER-WIDETAG"
3079                "FIXNUMIZE"
3080                "FIXNUM-TAG-MASK"
3081                "FIXUP-CODE-OBJECT" "FLOAT-DENORMAL-TRAP-BIT"
3082                "FLOAT-DIVIDE-BY-ZERO-TRAP-BIT"
3083                "FLOAT-INVALID-TRAP-BIT"
3084                "FLOAT-OVERFLOW-TRAP-BIT" "FLOAT-SIGN-SHIFT"
3085                "FLOAT-UNDERFLOW-TRAP-BIT" "FLOATING-POINT-MODES"
3086                "FLOAT-STICKY-BITS"
3087                "FLOAT-TRAPS-BYTE"
3088                "FP-CONSTANT-SC-NUMBER"
3089                "FP-DOUBLE-ZERO-SC-NUMBER" "FP-SINGLE-ZERO-SC-NUMBER"
3090                "FUNCALLABLE-INSTANCE-TRAMPOLINE-SLOT"
3091                "FUNCALLABLE-INSTANCE-WIDETAG"
3092                "FUNCALLABLE-INSTANCE-INFO-OFFSET"
3093                "SIMPLE-FUN-ARGLIST-SLOT" "SIMPLE-FUN-CODE-OFFSET"
3094                "FUN-END-BREAKPOINT-TRAP"
3095                "SIMPLE-FUN-HEADER-WIDETAG" ; don't use
3096                "SIMPLE-FUN-WIDETAG"
3097                "SIMPLE-FUN-NAME-SLOT"
3098                "FUN-POINTER-LOWTAG"
3099                "FUNCTION-LAYOUT"
3100                "SIMPLE-FUN-SELF-SLOT"
3101                "SIMPLE-FUN-TYPE-SLOT"
3102                "GENCGC-CARD-BYTES"
3103                "GENCGC-ALLOC-GRANULARITY"
3104                "GENCGC-RELEASE-GRANULARITY"
3105                #!+(or arm64 ppc sparc) "PSEUDO-ATOMIC-INTERRUPTED-FLAG"
3106                #!+(or arm64 ppc sparc) "PSEUDO-ATOMIC-FLAG"
3107                #!+sb-safepoint "GLOBAL-SAFEPOINT-TRAP"
3108                "HALT-TRAP" "IGNORE-ME-SC-NUMBER"
3109                "IMMEDIATE-SC-NUMBER"
3110                #!+inline-constants("CANONICALIZE-INLINE-CONSTANT"
3111                                    "INLINE-CONSTANT-VALUE"
3112                                    "EMIT-CONSTANT-SEGMENT-HEADER"
3113                                    "SORT-INLINE-CONSTANTS"
3114                                    "EMIT-INLINE-CONSTANT")
3115                "INSTANCE-DATA-START"
3116                "INSTANCE-WIDETAG" "INSTANCE-POINTER-LOWTAG"
3117                "INSTANCE-SLOTS-OFFSET" "INSTANCE-USAGE"
3118                "INTERIOR-REG-SC-NUMBER" "INTERNAL-ERROR-ARGS"
3119                "INTERRUPTED-FLAG"
3120                #!+gencgc "LARGE-OBJECT-SIZE"
3121                "LAYOUT-ALIGN"
3122                "LIST-ALLOCATED-OBJECTS" "LIST-POINTER-LOWTAG"
3123                ;; FIXME: Possibly these other parameters (see
3124                ;; compiler/{x86,sparc}/parms.lisp) should be defined
3125                ;; conditionally on #!+LONG-FLOAT)
3126                "LONG-FLOAT-BIAS" "LONG-FLOAT-DIGITS" "LONG-FLOAT-EXPONENT-BYTE"
3127                "LONG-FLOAT-HIDDEN-BIT" "LONG-FLOAT-NORMAL-EXPONENT-MAX"
3128                "LONG-FLOAT-NORMAL-EXPONENT-MIN" "LONG-FLOAT-SIGNIFICAND-BYTE"
3129                #!+long-float "LONG-FLOAT-SIZE"
3130                "LONG-FLOAT-TRAPPING-NAN-BIT"
3131                #!+long-float("LONG-FLOAT-WIDETAG"
3132                              "LONG-FLOAT-VALUE-SLOT"
3133                              "LONG-REG-SC-NUMBER"
3134                              "LONG-STACK-SC-NUMBER")
3135                "LOWTAG-LIMIT" "LOWTAG-MASK"
3136                "LRA-SAVE-OFFSET"
3137                "MAX-INTERRUPTS"
3138                #!+c-stack-is-control-stack "MEMORY-FAULT-EMULATION-TRAP"
3139                "MEMORY-USAGE"
3140                "N-LOWTAG-BITS"
3141                "N-FIXNUM-TAG-BITS"
3142                "N-FIXNUM-BITS"
3143                "N-POSITIVE-FIXNUM-BITS"
3144                "NFP-SAVE-OFFSET"
3145                "NON-DESCRIPTOR-REG-SC-NUMBER"
3146                "NULL-SC-NUMBER"
3147                "OCFP-SAVE-OFFSET"
3148                "ODD-FIXNUM-LOWTAG"
3149                "OTHER-IMMEDIATE-0-LOWTAG"
3150                "OTHER-IMMEDIATE-1-LOWTAG"
3151                "OTHER-IMMEDIATE-2-LOWTAG"
3152                "OTHER-IMMEDIATE-3-LOWTAG"
3153                "OTHER-POINTER-LOWTAG"
3154                "PAD0-LOWTAG" "PAD1-LOWTAG" "PAD2-LOWTAG"
3155                "PAD3-LOWTAG" "PAD4-LOWTAG" "PAD5-LOWTAG"
3156                "PAD-DATA-BLOCK" "PENDING-INTERRUPT-TRAP"
3157                "PRIMITIVE-OBJECT" "PRIMITIVE-OBJECT-WIDETAG"
3158                "PRIMITIVE-OBJECT-LOWTAG" "PRIMITIVE-OBJECT-NAME"
3159                "PRIMITIVE-OBJECT-OPTIONS" "PRIMITIVE-OBJECT-P"
3160                "PRIMITIVE-OBJECT-LENGTH" "PRIMITIVE-OBJECT-SLOTS"
3161                "PRIMITIVE-OBJECT-VARIABLE-LENGTH-P"
3162                "PRINT-ALLOCATED-OBJECTS"
3163                "RATIO-DENOMINATOR-SLOT" "RATIO-NUMERATOR-SLOT"
3164                "RATIO-SIZE" "RATIO-WIDETAG"
3165                "*READ-ONLY-SPACE-FREE-POINTER*"
3166                "RETURN-PC-WIDETAG"
3167                "RETURN-PC-RETURN-POINT-OFFSET" "RETURN-PC-SAVE-OFFSET"
3168                "SAETP-CTYPE" "SAETP-INITIAL-ELEMENT-DEFAULT"
3169                "SAETP-N-BITS" "SAETP-TYPECODE" "SAETP-PRIMITIVE-TYPE-NAME"
3170                "SAETP-N-PAD-ELEMENTS" "SAETP-N-BITS-SHIFT"
3171                "SAETP-SPECIFIER"
3172                "SAETP-COMPLEX-TYPECODE" "SAETP-IMPORTANCE"
3173                "SAETP-FIXNUM-P"
3174                "VALID-BIT-BASH-SAETP-P"
3175                "*SPECIALIZED-ARRAY-ELEMENT-TYPE-PROPERTIES*"
3176                "SANCTIFY-FOR-EXECUTION"
3177                "SAP-POINTER-SLOT" "SAP-REG-SC-NUMBER" "SAP-SIZE"
3178                "SAP-STACK-SC-NUMBER" "SAP-WIDETAG"
3179                "SHORT-HEADER-MAX-WORDS"
3180                "SIGFPE-HANDLER" "SIGNED-REG-SC-NUMBER" "SIGNED-STACK-SC-NUMBER"
3181                "SIGNED-WORD"
3182                "SIMPLE-ARRAY-COMPLEX-DOUBLE-FLOAT-WIDETAG"
3183                #!+long-float "SIMPLE-ARRAY-COMPLEX-LONG-FLOAT-WIDETAG"
3184                "SIMPLE-ARRAY-COMPLEX-SINGLE-FLOAT-WIDETAG"
3185                "SIMPLE-ARRAY-DOUBLE-FLOAT-WIDETAG"
3186                #!+long-float "SIMPLE-ARRAY-LONG-FLOAT-WIDETAG"
3187                "SIMPLE-ARRAY-NIL-WIDETAG"
3188                "SIMPLE-ARRAY-SINGLE-FLOAT-WIDETAG"
3189                "SIMPLE-ARRAY-WIDETAG"
3190                "SIMPLE-ARRAY-UNSIGNED-BYTE-15-WIDETAG"
3191                "SIMPLE-ARRAY-UNSIGNED-BYTE-16-WIDETAG"
3192                "SIMPLE-ARRAY-UNSIGNED-BYTE-2-WIDETAG"
3193                "SIMPLE-ARRAY-UNSIGNED-FIXNUM-WIDETAG"
3194                "SIMPLE-ARRAY-UNSIGNED-BYTE-31-WIDETAG"
3195                "SIMPLE-ARRAY-UNSIGNED-BYTE-32-WIDETAG"
3196                "SIMPLE-ARRAY-UNSIGNED-BYTE-63-WIDETAG"
3197                "SIMPLE-ARRAY-UNSIGNED-BYTE-64-WIDETAG"
3198                "SIMPLE-ARRAY-UNSIGNED-BYTE-4-WIDETAG"
3199                "SIMPLE-ARRAY-UNSIGNED-BYTE-7-WIDETAG"
3200                "SIMPLE-ARRAY-UNSIGNED-BYTE-8-WIDETAG"
3201                "SIMPLE-ARRAY-SIGNED-BYTE-16-WIDETAG"
3202                "SIMPLE-ARRAY-FIXNUM-WIDETAG"
3203                "SIMPLE-ARRAY-SIGNED-BYTE-32-WIDETAG"
3204                "SIMPLE-ARRAY-SIGNED-BYTE-64-WIDETAG"
3205                "SIMPLE-ARRAY-SIGNED-BYTE-8-WIDETAG"
3206                "SIMPLE-BIT-VECTOR-WIDETAG"
3207                "SIMPLE-BASE-STRING-WIDETAG"
3208                #!+sb-unicode "SIMPLE-CHARACTER-STRING-WIDETAG"
3209                "SIMPLE-VECTOR-WIDETAG" "SINGLE-FLOAT-BIAS"
3210                "SINGLE-FLOAT-DIGITS" "SINGLE-FLOAT-EXPONENT-BYTE"
3211                "SINGLE-FLOAT-HIDDEN-BIT" "SINGLE-FLOAT-NORMAL-EXPONENT-MAX"
3212                "SINGLE-FLOAT-NORMAL-EXPONENT-MIN" "SINGLE-FLOAT-SIGNIFICAND-BYTE"
3213                "SINGLE-FLOAT-SIZE" "SINGLE-FLOAT-TRAPPING-NAN-BIT"
3214                "SINGLE-FLOAT-WIDETAG"
3215                #!-64-bit "SINGLE-FLOAT-VALUE-SLOT"
3216                "SINGLE-REG-SC-NUMBER" "SINGLE-STACK-SC-NUMBER"
3217                "SINGLE-STEP-AROUND-TRAP"
3218                "SINGLE-STEP-BEFORE-TRAP"
3219                "SINGLE-STEP-BREAKPOINT-TRAP"
3220                "INVALID-ARG-COUNT-TRAP"
3221                "SINGLE-VALUE-RETURN-BYTE-OFFSET" "SLOT-DOCS"
3222                "SLOT-NAME" "SLOT-OFFSET" "SLOT-OPTIONS"
3223                "SLOT-SPECIAL"
3224                "SLOT-REST-P" "+STATIC-FDEFNS+" "STATIC-FUN-OFFSET"
3225                "%SPACE-BOUNDS" "SPACE-BYTES"
3226                "STATIC-SYMBOL-OFFSET" "STATIC-SYMBOL-P"
3227                "*STATIC-SPACE-FREE-POINTER*" "+STATIC-SYMBOLS+"
3228                "SYMBOL-HASH-SLOT" "SYMBOL-WIDETAG" "SYMBOL-NAME-SLOT"
3229                "SYMBOL-PACKAGE-SLOT" "SYMBOL-INFO-SLOT"
3230                "SYMBOL-SIZE" "SYMBOL-VALUE-SLOT" "SYMBOL-TLS-INDEX-SLOT"
3231                "*BINDING-STACK-START*"
3232                "*CONTROL-STACK-START*" "*CONTROL-STACK-END*"
3233                "CONTROL-STACK-POINTER-VALID-P"
3234                "DYNAMIC-SPACE-START" "DYNAMIC-SPACE-END"
3235                #!+gencgc("MAX-DYNAMIC-SPACE-END"
3236                          "PAGE-TABLE"
3237                          "FIND-PAGE-INDEX"
3238                          "LAST-FREE-PAGE")
3239                #!-gencgc("DYNAMIC-0-SPACE-START"
3240                          "DYNAMIC-0-SPACE-END")
3241                #!+immobile-space("IMMOBILE-CARD-BYTES"
3242                                  "FIXEDOBJ-SPACE-START" "FIXEDOBJ-SPACE-SIZE"
3243                                  "VARYOBJ-SPACE-START" "VARYOBJ-SPACE-SIZE"
3244                                  "*FIXEDOBJ-SPACE-FREE-POINTER*"
3245                                  "*VARYOBJ-SPACE-FREE-POINTER*")
3246                "READ-ONLY-SPACE-START" "READ-ONLY-SPACE-END"
3247                "STATIC-SPACE-START" "STATIC-SPACE-END"
3248                #!+linkage-table("LINKAGE-TABLE-SPACE-START"
3249                                 "LINKAGE-TABLE-SPACE-END"
3250                                 "LINKAGE-TABLE-ENTRY-SIZE")
3251                #!+sb-safepoint "GC-SAFEPOINT-PAGE-ADDR"
3252                #!+sb-safepoint "GC-SAFEPOINT-TRAP-OFFSET"
3253                "TLS-SIZE" "N-WIDETAG-BITS" "WIDETAG-MASK"
3254                "UNBOUND-MARKER-WIDETAG"
3255                "NO-TLS-VALUE-MARKER-WIDETAG"
3256                "UNSIGNED-REG-SC-NUMBER" "UNSIGNED-STACK-SC-NUMBER"
3257                "UNWIND-BLOCK-CODE-SLOT" "UNWIND-BLOCK-CFP-SLOT"
3258                "UNWIND-BLOCK-UWP-SLOT" "UNWIND-BLOCK-ENTRY-PC-SLOT"
3259                "UNWIND-BLOCK-SIZE" "VALUE-CELL-WIDETAG" "VALUE-CELL-SIZE"
3260                "VALUE-CELL-VALUE-SLOT" "VECTOR-DATA-OFFSET" "VECTOR-LENGTH-SLOT"
3261                "VECTOR-NORMAL-SUBTYPE"
3262                "VECTOR-VALID-HASHING-SUBTYPE"
3263                "WEAK-POINTER-NEXT-SLOT"
3264                "WEAK-POINTER-SIZE" "WEAK-POINTER-WIDETAG"
3265                "WEAK-POINTER-VALUE-SLOT"
3266                "N-WORD-BITS" "N-WORD-BYTES" "N-MACHINE-WORD-BITS" "N-MACHINE-WORD-BYTES"
3267                "WORD-REG-SC-NUMBER" "WORD-SHIFT"
3268                #!+win32 "CONTEXT-RESTORE-TRAP"
3269                "ZERO-SC-NUMBER"))
3271    #s(sb-cold:package-data
3272       :name "SB!WALKER"
3273       :doc "internal: a code walker used by PCL"
3274       :use ("CL" "SB!INT" "SB!EXT")
3275       :export ("DEFINE-WALKER-TEMPLATE"
3276                "WALK-FORM"
3277                "*WALK-FORM-EXPAND-MACROS-P*"
3278                "VAR-LEXICAL-P" "VAR-SPECIAL-P"
3279                "VAR-GLOBALLY-SPECIAL-P"
3280                "VAR-DECLARATION"
3282                ;; These were exported from the original PCL version of this
3283                ;; package, but aren't used in SBCL.
3284                ;;"NESTED-WALK-FORM" "MACROEXPAND-ALL"
3285                ))
3287    #!+sb-eval
3288    #s(sb-cold:package-data
3289       :name "SB!EVAL"
3290       :doc "internal: the evaluator implementation used to execute code without compiling it."
3291       :use ("CL" "SB!KERNEL" "SB!EXT")
3292       :reexport ("*EVAL-CALLS*")
3293       :export ("INTERPRETED-FUNCTION"
3294                "INTERPRETED-FUNCTION-P"
3295                "INTERPRETED-FUNCTION-NAME"
3296                "INTERPRETED-FUNCTION-DEBUG-NAME"
3297                "INTERPRETED-FUNCTION-LAMBDA-LIST"
3298                "INTERPRETED-FUNCTION-DEBUG-LAMBDA-LIST"
3299                "INTERPRETED-FUNCTION-DECLARATIONS"
3300                "INTERPRETED-FUNCTION-DOCUMENTATION"
3301                "INTERPRETED-FUNCTION-BODY"
3302                "INTERPRETED-FUNCTION-SOURCE-LOCATION"
3303                "EVAL-IN-ENVIRONMENT"
3304                "MAKE-NULL-ENVIRONMENT"
3305                "EVAL-IN-NATIVE-ENVIRONMENT"
3306                "PREPARE-FOR-COMPILE"
3307                "*EVAL-LEVEL*"))
3309    #!+sb-fasteval
3310    #s(sb-cold:package-data
3311       :name "SB!INTERPRETER"
3312       :doc "internal: a new EVAL implementation with semantic preprocessing."
3313       :use ("CL" "SB!KERNEL" "SB!EXT" "SB!INT")
3314       :export ("BASIC-ENV"
3315                "ENV-POLICY"
3316                "EVAL-IN-ENVIRONMENT"
3317                "INTERPRETED-FUNCTION"
3318                "INTERPRETED-FUNCTION-P"
3319                "FIND-LEXICAL-FUN"
3320                "FIND-LEXICAL-VAR"
3321                "FUN-LAMBDA-EXPRESSION"
3322                "FUN-LAMBDA-LIST"
3323                "FUN-PROTO-FN"
3324                "FUN-SOURCE-LOCATION"
3325                "%FUN-TYPE" ; to avoid conflict with SB-KERNEL:FUN-TYPE
3326                "LEXENV-FROM-ENV"
3327                "LIST-LOCALS"
3328                "PREPARE-FOR-COMPILE"
3329                "PROTO-FN-DOCSTRING"
3330                "PROTO-FN-NAME"
3331                "PROTO-FN-PRETTY-ARGLIST"
3332                "TYPE-CHECK")
3333       :import-from (("SB!C"
3334                      "PARSE-EVAL-WHEN-SITUATIONS"
3335                      "MAKE-GLOBAL-VAR" "MAKE-LAMBDA-VAR"
3336                      "*LEXENV*")
3337                     ("SB!ALIEN" "%HEAP-ALIEN" "ALIEN-VALUE")
3338                     ("SB!KERNEL" "%%TYPEP")))
3340    #!+win32
3341    #s(sb-cold:package-data
3342       :name "SB!WIN32"
3343       :doc "private: a wrapper layer for Win32 functions needed by
3344 SBCL itself"
3345       :use ("CL" "SB!ALIEN" "SB!EXT" "SB!INT" "SB!SYS")
3346       :export ("BOOL"
3347                "CLOSE-HANDLE"
3348                "CREATE-FILE"
3349                "CREATE-FILE-MAPPING"
3350                "CRYPT-GEN-RANDOM"
3351                "DWORD"
3352                "HANDLE-CLEAR-INPUT"
3353                "HANDLE-LISTEN"
3354                "FILE-CREATE-ALWAYS"
3355                "FILE-CREATE-NEW"
3356                "FILE-OPEN-ALWAYS"
3357                "FILE-OPEN-EXISTING"
3358                "FILE-TRUNCATE-EXISTING"
3359                "FLUSH-CONSOLE-INPUT-BUFFER"
3360                "FLUSH-VIEW-OF-FILE"
3361                "FORMAT-SYSTEM-MESSAGE"
3362                "GET-FILE-ATTRIBUTES"
3363                "GET-FILE-SIZE-EX"
3364                "GET-FILE-TYPE"
3365                "GET-LAST-ERROR"
3366                "GET-OSFHANDLE"
3367                "GET-VERSION-EX"
3368                "HANDLE"
3369                "HANDLE-CLEAR-INPUT"
3370                "HANDLE-LISTEN"
3371                "INT-PTR"
3372                "INVALID-HANDLE"
3373                "LSEEKI64"
3374                "MAP-VIEW-OF-FILE"
3375                "MILLISLEEP"
3376                "PEEK-CONSOLE-INPUT"
3377                "PEEK-NAMED-PIPE"
3378                "READ-FILE"
3379                "UNIXLIKE-CLOSE"
3380                "UNIXLIKE-OPEN"
3381                "UNMAP-VIEW-OF-FILE"
3382                "WAIT-OBJECT-OR-SIGNAL"
3383                "WRITE-FILE"
3384                "WITH-PROCESS-TIMES")))