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