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