#s(sb-cold:package-data
:name "SB!ASSEM"
:doc "private: the assembler, used by the compiler"
- :use ("CL")
+ :use ("CL" "SB!INT" "SB!EXT")
:export ("ASSEMBLY-UNIT"
"*ASSEM-SCHEDULER-P*"
"VARIABLE-LENGTH"
"SEGMENT-COLLECT-DYNAMIC-STATISTICS"
- ;; In classic CMU CL, these symbols were explicitly imported by
- ;; package C. Since package C uses package ASSEM (and no
- ;; other package does) it seems cleaner to export these symbols
- ;; from package ASSEM instead. I hope nothing breaks..
- ;; -- WHN 19990220
+ ;; FIXME: These are in the SB-ASSEM package now, but
+ ;; (left over from CMU CL) are defined in files which
+ ;; are IN-PACKAGE SB-C. It would probably be cleaner
+ ;; to move at least most of them to files which are
+ ;; IN-PACKAGE SB-ASSEM.
"BRANCH" "DO-SSET-ELEMENTS" "FLUSHABLE" "MAKE-SSET" "SSET"
"SSET-ADJOIN" "SSET-DELETE" "SSET-ELEMENT" "SSET-EMPTY"))
"*BACKEND-T-PRIMITIVE-TYPE*"
"*CODE-SEGMENT*"
- "*COMPILE-TIME-DEFINE-MACROS*"
"*COMPILING-FOR-INTERPRETER*" "*CONVERTING-FOR-INTERPRETER*"
"*COUNT-VOP-USAGES*" "*ELSEWHERE*"
"*FASL-HEADER-STRING-START-STRING*"
#s(sb-cold:package-data
:name "SB!DI"
:doc "private: primitives used to write debuggers"
- :use ("CL" "SB!EXT" "SB!INT" "SB!KERNEL" "SB!SYS")
+ :use ("CL" "SB!EXT" "SB!INT" "SB!KERNEL" "SB!SYS" "SB!VM")
:import-from (("SB!C"
"DEBUG-SOURCE-FROM" "DEBUG-SOURCE-NAME"
"DEBUG-SOURCE-CREATED" "DEBUG-SOURCE-COMPILED"
"LAMBDA-LIST-UNAVAILABLE" "MAKE-BREAKPOINT" "NO-DEBUG-BLOCKS"
"NO-DEBUG-FUNCTION-RETURNS" "NO-DEBUG-INFO" "PREPROCESS-FOR-EVAL"
"RETURN-FROM-FRAME" "SOURCE-PATH-CONTEXT"
- "TOP-FRAME" "UNHANDLED-CONDITION" "UNKNOWN-CODE-LOCATION"
+ "TOP-FRAME" "UNHANDLED-DEBUG-CONDITION" "UNKNOWN-CODE-LOCATION"
"UNKNOWN-CODE-LOCATION-P" "UNKNOWN-DEBUG-VAR"
"CODE-LOCATION-KIND" "FLUSH-FRAMES-ABOVE"))
;; miscellaneous useful supported extensions
"QUIT"
- ;; running a Unix program from Lisp, not quite working
- ;; in sbcl-0.6.6, but maybe soon..
- "RUN-PROGRAM"))
+ ;; RUN-PROGRAM is not only useful for users, but also
+ ;; useful to implement parts of SBCL itself, so we're
+ ;; going to have to implement it anyway, so we might
+ ;; as well support it. And then once we're committed
+ ;; to implementing RUN-PROGRAM, it's nice to have it
+ ;; return a PROCESS object with operations defined on
+ ;; that object.
+ "RUN-PROGRAM"
+ "PROCESS-ALIVE-P" "PROCESS-CLOSE"
+ "PROCESS-CORE-DUMPED" "PROCESS-ERROR" "PROCESS-EXIT-CODE"
+ "PROCESS-INPUT" "PROCESS-KILL" "PROCESS-OUTPUT" "PROCESS-P"
+ "PROCESS-PID" "PROCESS-PLIST" "PROCESS-PTY" "PROCESS-STATUS"
+ "PROCESS-STATUS-HOOK" "PROCESS-WAIT"))
#s(sb-cold:package-data
:name "SB!FORMAT"
;; useful but non-standard user-level functions..
"ASSQ" "DELQ" "MEMQ"
"%FIND-PACKAGE-OR-LOSE" "FIND-UNDELETED-PACKAGE-OR-LOSE"
+ "SANE-PACKAGE"
+ "CIRCULAR-LIST-P"
;; ..and macros
"COLLECT"
"ITERATE"
"LETF" "LETF*"
"ONCE-ONLY"
+ "DEFENUM"
"DEF!MACRO" "DEF!METHOD" "DEF!STRUCT" "DEF!TYPE"
;; encapsulation
"BELL-CHAR-CODE" "ESCAPE-CHAR-CODE" "FORM-FEED-CHAR-CODE"
"RETURN-CHAR-CODE" "RUBOUT-CHAR-CODE" "TAB-CHAR-CODE"
+ ;; handy user-level/basically-portable DEFTYPEs
+ "INDEX"
+
;; nonstandard type predicates
"INSTANCEP"
"DOUBLE-FLOATP"
;; FIXME: maybe belongs in %KERNEL with other typesystem stuff?
"CONSTANT-ARGUMENT"
- ;; not used any more? (and not appropriate in SB!EXT, since
- ;; SPECIAL things are so obnoxious in Common Lisp)
+ ;; FIXME: Maybe this isn't used any more? And if it is,
+ ;; it probably needs a better name, since SPECIAL things
+ ;; are so obnoxious in Common Lisp.
"E"
;; various internal defaults
"DEFUN-CACHED"
;; time
- "FORMAT-DECODED-TIME" "FORMAT-UNIVERSAL-TIME" "PARSE-TIME"
+ "FORMAT-DECODED-TIME"
+ "FORMAT-UNIVERSAL-TIME"
+ "PARSE-TIME"
;; indenting
"MAKE-INDENTING-STREAM"
;; used for FORMAT tilde paren
"MAKE-CASE-FROB-STREAM"
- ;; Some of these are probably still used for Unix-y processes.
- ;; -- WHN 19991206
- "PROCESS-CLOSE"
- "PROCESS-CORE-DUMPED" "PROCESS-ERROR" "PROCESS-EXIT-CODE"
- "PROCESS-INPUT" "PROCESS-KILL" "PROCESS-OUTPUT" "PROCESS-P"
- "PROCESS-PID" "PROCESS-PLIST" "PROCESS-PTY" "PROCESS-STATUS"
- "PROCESS-STATUS-HOOK" "PROCESS-WAIT"
-
;; debuggers' little helpers
#!+sb-show "*/SHOW*"
"/SHOW" "/NOSHOW"
;; placeholders in a target system
"UNCROSS"
+ ;; might as well be shared among the various files which
+ ;; need it:
+ "*EOF-OBJECT*"
+
;; misc. utilities used internally
"LEGAL-FUNCTION-NAME-P"
"FUNCTION-NAME-BLOCK-NAME"
"REQUIRED-ARGUMENT"
"UNIX-NAMESTRING" ; FIXME: perhaps belongs in package %UNIX
"FEATUREP"
- "FLUSH-STANDARD-OUTPUT"
-
- ;; These could be moved back into SB!EXT if someone has compelling
- ;; reasons, but hopefully we can get by without supporting them,
- ;; at least not as publicly accessible things with fixed
- ;; interfaces.
+ "FLUSH-STANDARD-OUTPUT-STREAMS"
+ "MAKE-GENSYM-LIST"
+ "DEFCONSTANT-EQX"
+ "ABOUT-TO-MODIFY"
+
+ ;; These could be moved back into SB!EXT if someone has
+ ;; compelling reasons, but hopefully we can get by
+ ;; without supporting them, at least not as publicly
+ ;; accessible things with fixed interfaces.
"DEFAULT-DIRECTORY"
"FILE-COMMENT"
"GET-FLOATING-POINT-MODES" "SET-FLOATING-POINT-MODES"
"%ARRAY-DATA-VECTOR" "%ARRAY-DIMENSION"
"%ARRAY-DISPLACED-P"
"%ARRAY-DISPLACEMENT" "%ARRAY-FILL-POINTER"
- "%ARRAY-FILL-POINTER-P" "%ASIN" "%ASINH"
+ "%ARRAY-FILL-POINTER-P"
+ "%ASIN" "%ASINH"
"%ATAN" "%ATAN2" "%ATANH"
"%CALLER-FRAME-AND-PC" "%CHECK-BOUND" "%CLOSURE-FUNCTION"
"%CLOSURE-INDEX-REF" "%COS" "%COS-QUICK"
"%HYPOT" "%INSTANCE-SET-CONDITIONAL" "%LDB"
"%LOG" "%LOGB" "%LOG10" "%LOG1P" "%LONG-FLOAT"
"%MAKE-COMPLEX" "%MAKE-FUNCALLABLE-INSTANCE" "%MAKE-RATIO"
- "%MAP-TO-SIMPLE-VECTOR-ARITY-1" "%MAP-TO-LIST-ARITY-1"
+ "%MAP" "%MAP-TO-SIMPLE-VECTOR-ARITY-1" "%MAP-TO-LIST-ARITY-1"
"%MAP-TO-NIL-ON-SEQUENCE" "%MAP-TO-NIL-ON-SIMPLE-VECTOR"
"%MAP-TO-NIL-ON-VECTOR" "%MASK-FIELD" "%NEGATE" "%POW"
- "%RAW-BITS" "%RAW-REF-COMPLEX-DOUBLE"
+ "%PUTHASH" "%RAW-BITS" "%RAW-REF-COMPLEX-DOUBLE"
"%RAW-REF-COMPLEX-LONG"
"%RAW-REF-COMPLEX-SINGLE" "%RAW-REF-DOUBLE"
"%RAW-REF-LONG"
"*COLD-INIT-COMPLETE-P*"
"!COLD-INIT-FORMS" "COMPLEX-DOUBLE-FLOAT-P"
"COMPLEX-FLOAT-P" "COMPLEX-LONG-FLOAT-P"
- "COMPLEX-RATIONAL-P" "COMPLEX-SINGLE-FLOAT-P"
- "COMPLEX-VECTOR-P" "CONSED-SEQUENCE" "CONSTANT" "CONSTANT-TYPE"
+ "COMPLEX-RATIONAL-P" "COMPLEX-SINGLE-FLOAT-P" "COMPLEX-VECTOR-P"
+ "CONS-TYPE" "CONS-TYPE-CAR-TYPE" "CONS-TYPE-CDR-TYPE"
+ "CONS-TYPE-P"
+ "CONSED-SEQUENCE" "CONSTANT" "CONSTANT-TYPE"
"CONSTANT-TYPE-P" "CONSTANT-TYPE-TYPE"
"CONTAINING-INTEGER-TYPE"
"CONTROL-STACK-POINTER-SAP" "COPY-FROM-SYSTEM-AREA"
"HAIRY-DATA-VECTOR-REF" "HAIRY-DATA-VECTOR-SET" "HAIRY-TYPE"
"HAIRY-TYPE-CHECK-TEMPLATE-NAME" "HAIRY-TYPE-SPECIFIER"
"HANDLE-CIRCULARITY" "IGNORE-IT"
- "INDEX" "INDEX-TOO-LARGE-ERROR" "INTEGER-DECODE-DOUBLE-FLOAT"
+ "INDEX-TOO-LARGE-ERROR" "INTEGER-DECODE-DOUBLE-FLOAT"
"INTEGER-DECODE-LONG-FLOAT" "INTEGER-DECODE-SINGLE-FLOAT"
"INTERNAL-ERROR" "INTERNAL-TIME"
"INVALID-ARGUMENT-COUNT-ERROR" "INVALID-ARRAY-INDEX-ERROR"
"LONG-FLOAT-LOW-BITS" "LONG-FLOAT-MID-BITS" "LONG-FLOAT-P"
"LRA" "LRA-CODE-HEADER" "LRA-P"
"MAKE-ALIEN-TYPE-TYPE" "MAKE-ARGS-TYPE"
- "MAKE-ARRAY-HEADER" "MAKE-ARRAY-TYPE" "MAKE-DOUBLE-FLOAT"
- "MAKE-FUNCTION-TYPE"
+ "MAKE-ARRAY-HEADER" "MAKE-ARRAY-TYPE" "MAKE-CONS-TYPE"
+ "MAKE-DOUBLE-FLOAT" "MAKE-FUNCTION-TYPE"
"MAKE-KEY-INFO" "MAKE-LISP-OBJ" "MAKE-LONG-FLOAT"
"MAKE-MEMBER-TYPE" "MAKE-NAMED-TYPE"
"MAKE-NULL-LEXENV" "MAKE-NUMERIC-TYPE"
#!+gengc "*SAVED-STATE-CHAIN*"
"SCALE-DOUBLE-FLOAT" "SCALE-LONG-FLOAT"
"SCALE-SINGLE-FLOAT"
- "SEQUENCE-END" "SET-HEADER-DATA" "SHIFT-TOWARDS-END"
+ "SEQUENCE-END" "SEQUENCE-OF-CHECKED-LENGTH-GIVEN-TYPE"
+ "SET-HEADER-DATA" "SHIFT-TOWARDS-END"
"SHIFT-TOWARDS-START" "SHRINK-VECTOR" "SIGNED-BYTE-32-P"
"SIMPLE-ARRAY-COMPLEX-DOUBLE-FLOAT-P"
"SIMPLE-ARRAY-COMPLEX-LONG-FLOAT-P"
"VALUES-TYPES" "VALUES-TYPES-INTERSECT" "VECTOR-T-P"
"VECTOR-TO-VECTOR*" "VECTOR-TO-SIMPLE-STRING*"
"VECTOR-TO-BIT-VECTOR*" "VECTOR-TO-SIMPLE-BIT-VECTOR*"
+ "VECTOR-OF-CHECKED-LENGTH-GIVEN-LENGTH"
"WITH-CIRCULARITY-DETECTION" "WITH-TYPE-CACHES"
"WRONG-NUMBER-OF-INDICES-ERROR"
"FDEFN" "MAKE-FDEFN" "FDEFN-P"
"FDEFN-NAME" "FDEFN-FUNCTION"
"FDEFN-MAKUNBOUND" "%COERCE-NAME-TO-FUNCTION"
+ "%COERCE-CALLABLE-TO-FUNCTION"
"FUNCTION-SUBTYPE" "*MAXIMUM-ERROR-DEPTH*"
"%SET-SYMBOL-PLIST" "INFINITE-ERROR-PROTECT"
"FIND-CALLER-NAME"
"%SETELT" "%SET-ROW-MAJOR-AREF" "%SET-FILL-POINTER"
"%SET-FDEFINITION" "%SCHARSET" "%SBITSET" "%RPLACD"
"%RPLACA" "%PUT" "%CHARSET" "%BITSET" "%ASET"
- "%ARRAY-TYPEP" "%SET-SAP-REF-DESCRIPTOR"
-
- ;; Note: These are out of lexicographical order only because
- ;; historically in CMU CL they were imported into package VM
- ;; from LISP instead of being exported from package VM. In
- ;; SBCL we achieve more or less the same effect by putting them
- ;; in SB!KERNEL, where they're visible both in SB!IMPL and in
- ;; SB!VM. But as far as I can tell, though, there's no
- ;; fundamental reason that they're different from the other
- ;; exports. -- WHN 19991020
- "STATIC-SPACE-START" "READ-ONLY-SPACE-START"
- "DYNAMIC-1-SPACE-START" "DYNAMIC-0-SPACE-START"
- "CURRENT-DYNAMIC-SPACE-START" "*STATIC-SPACE-FREE-POINTER*"
- "*READ-ONLY-SPACE-FREE-POINTER*"))
+ "%ARRAY-TYPEP" "%SET-SAP-REF-DESCRIPTOR"))
#s(sb-cold:package-data
:name "SB!LOOP"
"BYTES" "C-PROCEDURE" "CHECK<=" "CHECK="
"COMPILER-VERSION"
"DEALLOCATE-SYSTEM-MEMORY"
- "DEFAULT-INTERRUPT" "DEFENUMERATION"
- "DEFOPERATOR" "DEFRECORD"
+ "DEFAULT-INTERRUPT"
"DEPORT-BOOLEAN" "DEPORT-INTEGER"
"DO-DO-BODY" "DOUBLE-FLOAT-RADIX"
"ENABLE-INTERRUPT" "ENUMERATION"
"CONS-SIZE" "CONSTANT-SC-NUMBER"
"CONTEXT-FLOATING-POINT-MODES" "CONTEXT-FLOAT-REGISTER"
"CONTEXT-PC" "CONTEXT-REGISTER"
- "CONTROL-STACK-FORK" "CONTROL-STACK-RESUME"
- "CONTROL-STACK-RETURN" "CONTROL-STACK-SC-NUMBER" "COUNT-NO-OPS"
+ "CONTROL-STACK-SC-NUMBER" "COUNT-NO-OPS"
+ "CURRENT-DYNAMIC-SPACE-START"
"CURRENT-FLOAT-TRAP" "DEFINE-FOR-EACH-PRIMITIVE-OBJECT"
"DESCRIPTOR-REG-SC-NUMBER" "DESCRIPTOR-VS-NON-DESCRIPTOR-STORAGE"
"DOUBLE-FLOAT-EXPONENT-BYTE" "DOUBLE-FLOAT-BIAS"
"FUNCALLABLE-INSTANCE-LEXENV-SLOT"
"GENESIS" "HALT-TRAP" "IGNORE-ME-SC-NUMBER"
"IMMEDIATE-BASE-CHAR-SC-NUMBER" "IMMEDIATE-SAP-SC-NUMBER"
- "IMMEDIATE-SC-NUMBER"
+ "IMMEDIATE-SC-NUMBER" "*INITIAL-DYNAMIC-SPACE-FREE-POINTER*"
"INSTANCE-HEADER-TYPE" "INSTANCE-POINTER-TYPE"
"INSTANCE-SLOTS-OFFSET" "INSTANCE-USAGE"
"INTERIOR-REG-SC-NUMBER" "INTERNAL-ERROR-ARGUMENTS"
"PRIMITIVE-OBJECT-VARIABLE-LENGTH" "PRINT-ALLOCATED-OBJECTS"
"RANDOM-IMMEDIATE-SC-NUMBER" "RATIO-DENOMINATOR-SLOT"
"RATIO-NUMERATOR-SLOT" "RATIO-SIZE" "RATIO-TYPE"
+ "*READ-ONLY-SPACE-FREE-POINTER*"
"REGISTER-SAVE-PENALTY" "RETURN-PC-HEADER-TYPE"
"RETURN-PC-RETURN-POINT-OFFSET" "SANCTIFY-FOR-EXECUTION"
"SAP-POINTER-SLOT" "SAP-REG-SC-NUMBER" "SAP-SIZE"
"SINGLE-VALUE-RETURN-BYTE-OFFSET" "SLOT-DOCS"
"SLOT-LENGTH" "SLOT-NAME" "SLOT-OFFSET" "SLOT-OPTIONS"
"SLOT-REST-P" "*STATIC-FUNCTIONS*" "STATIC-FUNCTION-OFFSET"
- "STATIC-SYMBOL-OFFSET" "STATIC-SYMBOL-P" "*STATIC-SYMBOLS*"
+ "STATIC-SYMBOL-OFFSET" "STATIC-SYMBOL-P"
+ "*STATIC-SPACE-FREE-POINTER*" "*STATIC-SYMBOLS*"
"STRUCTURE-USAGE" "SYMBOL-FUNCTION-SLOT"
"SYMBOL-HASH-SLOT" "SYMBOL-HEADER-TYPE" "SYMBOL-NAME-SLOT"
"SYMBOL-PACKAGE-SLOT" "SYMBOL-PLIST-SLOT"
"SYMBOL-RAW-FUNCTION-ADDR-SLOT" "SYMBOL-SETF-FUNCTION-SLOT"
"SYMBOL-SIZE" "SYMBOL-UNUSED-SLOT" "SYMBOL-VALUE-SLOT"
- "TARGET-BINDING-STACK-START" "TARGET-BYTE-ORDER"
- "TARGET-CONTROL-STACK-START" "*TARGET-DYNAMIC-SPACE-START*"
+ "BINDING-STACK-START" "BINDING-STACK-END"
+ "CONTROL-STACK-START" "CONTROL-STACK-END"
+ "DYNAMIC-SPACE-START" "DYNAMIC-SPACE-END"
+ "READ-ONLY-SPACE-START" "READ-ONLY-SPACE-END"
+ "TARGET-BYTE-ORDER"
"TARGET-FASL-CODE-FORMAT" "TARGET-FASL-FILE-TYPE"
"TARGET-HEAP-ADDRESS-SPACE" "*TARGET-MOST-NEGATIVE-FIXNUM*"
- "*TARGET-MOST-POSITIVE-FIXNUM*" "*TARGET-READ-ONLY-SPACE-START*"
- "*TARGET-STATIC-SPACE-START*" "TRACE-TABLE-CALL-SITE"
+ "*TARGET-MOST-POSITIVE-FIXNUM*"
+ "STATIC-SPACE-START" "STATIC-SPACE-END"
+ "TRACE-TABLE-CALL-SITE"
"TRACE-TABLE-FUNCTION-EPILOGUE" "TRACE-TABLE-FUNCTION-PROLOGUE"
"TRACE-TABLE-NORMAL" "TYPE-BITS" "TYPE-MASK" "UNBOUND-MARKER-TYPE"
"UNSIGNED-IMMEDIATE-SC-NUMBER"