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