#s(sb-cold:package-data
:name "SB!C"
:doc "private: implementation of the compiler"
+ ;; (It seems strange to have the compiler USE SB-ALIEN-INTERNALS,
+ ;; but the point seems to be to be able to express things like
+ ;; SB-C:DEFTRANSFORM SB-ALIEN-INTERNALS:MAKE-LOCAL-ALIEN without
+ ;; having to use a bunch of package prefixes, by putting them
+ ;; in the SB-C package. Maybe it'd be tidier to define an SB-ALIEN-COMP
+ ;; package for this? But it seems like a fairly low priority.)
+ ;; (Probably the same considerations also explain why BIGNUM is
+ ;;in the USE list.)
:use ("CL" "SB!ALIEN-INTERNALS" "SB!ALIEN" "SB!BIGNUM"
#!+sb-dyncount "SB-DYNCOUNT"
"SB!EXT" "SB!INT" "SB!KERNEL" "SB!ASSEM" "SB!SYS")
:doc "public: some types used with ALIENs"
:use ("CL" "SB!SYS" "SB!ALIEN-INTERNALS" "SB!ALIEN" "SB!INT" "SB!EXT")
:reexport ("FLOAT" "CHAR")
- :export ("C-STRING" "DOUBLE" "INT" "LONG"
+ :export ("C-STRING" "DOUBLE" "GET-ERRNO" "INT" "LONG"
"SHORT" "UNSIGNED-CHAR" "UNSIGNED-INT"
"UNSIGNED-LONG" "UNSIGNED-SHORT" "VOID"))
:use ("CL" "SB!ALIEN" "SB!BIGNUM" "SB!C-CALL" "SB!DEBUG" "SB!EXT"
"SB!GRAY" "SB!INT" "SB!KERNEL" "SB!SYS"))
- ;; FIXME: It seems to me that this could go away, with its contents moved
- ;; into SB!KERNEL, like the implementation of the rest of the class system.
-;; #s(sb-cold:package-data
-;; :name "SB!CONDITIONS"
-;; :doc "private: the implementation of the condition system"
-;; :use ("CL" "SB!EXT" "SB!INT" "SB!KERNEL"))
-
#s(sb-cold:package-data
:name "SB!DEBUG"
:doc
debugger interface mixed with various low-level implementation stuff
like *STACK-TOP-HINT*"
:use ("CL" "SB!EXT" "SB!INT" "SB!SYS")
- :export ("*AUTO-EVAL-IN-FRAME*" "*DEBUG-CONDITION*"
+ :export ("*AUTO-EVAL-IN-FRAME*" "*DEBUG-BEGINNER-HELP-P*"
+ "*DEBUG-CONDITION*"
"*DEBUG-PRINT-LENGTH*" "*DEBUG-PRINT-LEVEL*"
"*DEBUG-READTABLE*" "*DEBUG-HELP-STRING*"
"*FLUSH-DEBUG-ERRORS*" "*IN-THE-DEBUGGER*"
:doc "public: miscellaneous supported extensions to the ANSI Lisp spec"
;; FIXME: Why don't we just USE-PACKAGE %KERNEL here instead of importing?
:use ("CL" "SB!ALIEN" "SB!C-CALL" "SB!INT" "SB!SYS" "SB!GRAY")
- ;; FIXME: If we advertise these as extensions, they should be in the
- ;; SB!EXT package (and perhaps re-exported from the %KERNEL
- ;; package) rather than in some other package and reexported from
- ;; SB!EXT.
- :import-from (("SB!KERNEL" "WEAK-POINTER-P"))
- :reexport ("LOAD-FOREIGN" "LOAD-1-FOREIGN" "WEAK-POINTER-P")
+ :reexport ("LOAD-FOREIGN" "LOAD-1-FOREIGN")
:export (;; Information about how the program was invoked is
;; nonstandard but very useful.
"*POSIX-ARGV*" "POSIX-GETENV" "POSIX-ENVIRON"
;; People have various good reasons to mess with the GC.
"*AFTER-GC-HOOKS*" "*BEFORE-GC-HOOKS*"
"*GC-NOTIFY-AFTER*" "*GC-NOTIFY-BEFORE*" "*GC-NOTIFY-STREAM*"
- "*GC-VERBOSE*"
"BYTES-CONSED-BETWEEN-GCS"
"GC" "GC-OFF" "GC-ON" "GET-BYTES-CONSED"
"*GC-RUN-TIME*"
;; extended declarations..
"FREEZE-TYPE" "INHIBIT-WARNINGS"
- "MAYBE-INLINE" "OPTIMIZE-INTERFACE"
+ "MAYBE-INLINE"
;; ..and variables to control compiler policy
"*INLINE-EXPANSION-LIMIT*"
"INTERACTIVE-EVAL"
;; weak pointers and finalization
- "FINALIZE" "CANCEL-FINALIZATION"
- ;; FIXME: "WEAK-POINTER-P" here once it moves from SB!KERNEL
+ "CANCEL-FINALIZATION"
+ "FINALIZE"
"HASH-TABLE-WEAK-P" "MAKE-WEAK-POINTER"
- "WEAK-POINTER" "WEAK-POINTER-VALUE"
+ "WEAK-POINTER" "WEAK-POINTER-P" "WEAK-POINTER-VALUE"
;; If the user knows we're doing IEEE, he might reasonably
;; want to do this stuff.
"STREAM-START-LINE-P" "STREAM-TERPRI" "STREAM-UNREAD-CHAR"
"STREAM-WRITE-BYTE" "STREAM-WRITE-CHAR" "STREAM-WRITE-STRING"))
- ;; FIXME: It looks as though it's no longer important to have INSPECT be
- ;; a separate package. INSPECT functionality is in the ANSI spec, and we
- ;; might as well implement it with everything else.
- #s(sb-cold:package-data
- :name "SB!INSPECT"
- :doc "private: implementation of INSPECT"
- :use ("CL" "SB!KERNEL" "SB!EXT" "SB!INT")
- :export ("*INTERFACE-STYLE*" "REMOVE-ALL-DISPLAYS"
- "REMOVE-OBJECT-DISPLAY" "SHOW-OBJECT"))
-
#s(sb-cold:package-data
:name "SB!INT"
:doc
;; hash mixing operations
"MIX" "MIXF"
+
+ ;; optimization idioms
+ "*OPTIMIZE-BYTE-COMPILATION*"
+ "*OPTIMIZE-EXTERNAL-DESPITE-BYTE-COMPILATION*"
;; Arguably there's no one right value for the system
;; prompt. But Common Lisp makes it easy for you to write
;; error-reporting facilities
"SIMPLE-CONTROL-ERROR" "SIMPLE-FILE-ERROR"
- "SIMPLE-PROGRAM-ERROR" "SIMPLE-STYLE-WARNING"
+ "SIMPLE-PROGRAM-ERROR" "SIMPLE-STREAM-ERROR"
+ "SIMPLE-STYLE-WARNING"
"STYLE-WARN"
;; bootstrapping magic, to make things happen both in
"SWAPPED-ARGS-FUN"
"ANY/TYPE" "EVERY/TYPE"
"TYPE-BOUND-NUMBER"
+ "CONSTANTLY-T" "CONSTANTLY-NIL" "CONSTANTLY-0"
+ "PSXHASH"
+ "%BREAK"
;; ..and macros..
"COLLECT"
"ONCE-ONLY"
"DEFENUM"
"DEFPRINTER"
- "AVER"
+ "AVER" "AVER-TYPE" "ENFORCE-TYPE"
;; ..and DEFTYPEs..
"INDEX"
;; used for FORMAT tilde paren
"MAKE-CASE-FROB-STREAM"
+ ;; helpers for C library calls
+ "STRERROR" "SIMPLE-PERROR"
+
;; debuggers' little helpers
#!+sb-show "*/SHOW*"
#!+sb-show "HEXSTR"
;; need it:
"*EOF-OBJECT*"
+ ;; alien interface utilities
+ "C-STRINGS->STRING-LIST"
+
;; misc. utilities used internally
"LEGAL-FUNCTION-NAME-P"
"FUNCTION-NAME-BLOCK-NAME"
+ "WHITESPACE-CHAR-P"
"LISTEN-SKIP-WHITESPACE"
"PACKAGE-INTERNAL-SYMBOL-COUNT" "PACKAGE-EXTERNAL-SYMBOL-COUNT"
"PROPER-LIST-OF-LENGTH-P"
"READ-SEQUENCE-OR-DIE"
"RENAME-KEY-ARGS"
"REQUIRED-ARGUMENT"
- "UNIX-NAMESTRING" ; FIXME: perhaps belongs in package %UNIX
+ "UNIX-NAMESTRING" ; FIXME: perhaps belongs in package SB!UNIX
"FEATUREP"
"FLUSH-STANDARD-OUTPUT-STREAMS"
"MAKE-GENSYM-LIST"
:use ("CL" "SB!ALIEN" "SB!ALIEN-INTERNALS" "SB!BIGNUM"
"SB!EXT" "SB!INT" "SB!SYS" "SB!GRAY")
:import-from (("SB!C-CALL" "VOID"))
- :reexport ("DEF!STRUCT" "DEF!MACRO" "VOID")
+ :reexport ("DEF!STRUCT" "DEF!MACRO" "VOID" "WEAK-POINTER-P")
:export ("%ACOS" "%ACOSH" "%ARRAY-AVAILABLE-ELEMENTS"
"%ARRAY-DATA-VECTOR" "%ARRAY-DIMENSION"
"%ARRAY-DISPLACED-P"
"CSUBTYPEP" "CTYPE" "TYPE-HASH-VALUE"
"CTYPE-OF" "CTYPE-P" "CTYPEP" "CURRENT-FP" "CURRENT-SP"
"DATA-VECTOR-REF" "DATA-VECTOR-SET" "DECODE-DOUBLE-FLOAT"
- "DECODE-LONG-FLOAT" "DECODE-SINGLE-FLOAT" "DESCEND-INTO"
+ "DECODE-LONG-FLOAT" "DECODE-SINGLE-FLOAT"
+ "DEFINED-FTYPE-MATCHES-DECLARED-FTYPE-P"
+ "DESCEND-INTO"
"DIVISION-BY-ZERO-ERROR"
"DOUBLE-FLOAT-EXPONENT" "DOUBLE-FLOAT-HIGH-BITS"
"DOUBLE-FLOAT-INT-EXPONENT" "DOUBLE-FLOAT-LOW-BITS"
"TYPE-DIFFERENCE" "TYPE-EXPAND"
"TYPE-INTERSECTION" "TYPE-INTERSECTION2"
"TYPE-APPROX-INTERSECTION2"
- "TYPE-SPECIFIER"
- "TYPE-UNION" "TYPE/=" "TYPE="
- "TYPES-INTERSECT" "UNBOUND-SYMBOL-ERROR" "UNBOXED-ARRAY"
+ "TYPE-SPECIFIER" "TYPE-UNION" "TYPE/=" "TYPE="
+ "TYPES-EQUAL-OR-INTERSECT"
+ "UNBOUND-SYMBOL-ERROR" "UNBOXED-ARRAY"
"UNDEFINED-SYMBOL-ERROR" "UNION-TYPE" "UNION-TYPE-P"
"UNION-TYPE-TYPES" "UNKNOWN-ERROR"
"UNKNOWN-KEY-ARGUMENT-ERROR"
"VALUES-TYPE-KEYWORDS" "VALUES-TYPE-OPTIONAL"
"VALUES-TYPE-P" "VALUES-TYPE-REQUIRED"
"VALUES-TYPE-REST" "VALUES-TYPE-UNION"
- "VALUES-TYPES" "VALUES-TYPES-INTERSECT" "VECTOR-T-P"
+ "VALUES-TYPES" "VALUES-TYPES-EQUAL-OR-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"
"%COERCE-CALLABLE-TO-FUNCTION"
"FUNCTION-SUBTYPE" "*MAXIMUM-ERROR-DEPTH*"
"%SET-SYMBOL-PLIST" "INFINITE-ERROR-PROTECT"
- "FIND-CALLER-NAME"
+ "FIND-CALLER-NAME-AND-FRAME"
"%SET-SYMBOL-VALUE" "%SET-SYMBOL-PACKAGE"
"OUTPUT-SYMBOL-NAME"
"FSET" "RAW-DEFINITION"
"DEFSTRUCT-DESCRIPTION" "UNDEFINE-STRUCTURE"
"DD-COPIER" "UNDEFINE-FUNCTION-NAME" "DD-TYPE"
"CLASS-STATE" "INSTANCE"
- "*TYPE-SYSTEM-INITIALIZED*" "WEAK-POINTER-P" "FIND-LAYOUT"
+ "*TYPE-SYSTEM-INITIALIZED*" "FIND-LAYOUT"
"DSD-NAME" "%TYPEP" "DD-RAW-INDEX"
"DD-NAME" "CLASS-SUBCLASSES"
"CLASS-LAYOUT" "CLASS-%NAME"
"MAKE-UNDEFINED-CLASS" "CLASS-DIRECT-SUPERCLASSES" "MAKE-LAYOUT"
"BYTE-FUNCTION-TYPE"
"REDEFINE-LAYOUT-WARNING" "SLOT-CLASS"
- "INSURED-FIND-CLASS" "CONDITION-FUNCTION-NAME"
+ "INSURED-FIND-CLASS"
;; symbols from former SB!CONDITIONS
"*HANDLER-CLUSTERS*" "*RESTART-CLUSTERS*"
"%SP-FIND-CHARACTER-WITH-ATTRIBUTE"
"%SP-REVERSE-FIND-CHARACTER-WITH-ATTRIBUTE"
"%STANDARD-CHAR-P"
- "*BEEP-FUNCTION*"
"*LONG-SITE-NAME*" "*SHORT-SITE-NAME*"
"*STDERR*" "*STDIN*"
"*STDOUT*" "*TASK-DATA*"
"ADD-FD-HANDLER" "ADD-PORT-DEATH-HANDLER"
"ADD-PORT-OBJECT"
"ALLOCATE-SYSTEM-MEMORY"
- "BEEP" "BITS" "STRUCTURE!OBJECT"
- "STRUCTURE!OBJECT-MAKE-LOAD-FORM"
+ "BEEP" "BITS"
"BYTES" "C-PROCEDURE" "CHECK<=" "CHECK="
"COMPILER-VERSION"
"DEALLOCATE-SYSTEM-MEMORY"
"SHORT-FLOAT-RADIX"
"SIGNED-SAP-REF-16" "SIGNED-SAP-REF-32"
"SIGNED-SAP-REF-64" "SIGNED-SAP-REF-8"
- "SINGLE-FLOAT-RADIX" "SYMBOL-MACRO-LET"
+ "SINGLE-FLOAT-RADIX"
+ ;; FIXME: STRUCTURE!OBJECT stuff probably belongs in SB!KERNEL.
+ "STRUCTURE!OBJECT" "STRUCTURE!OBJECT-MAKE-LOAD-FORM"
+ "SYMBOL-MACRO-LET"
"SYSTEM-AREA-POINTER" "SYSTEM-AREA-POINTER-P" "VECTOR-SAP"
"WAIT-UNTIL-FD-USABLE" "WITH-ENABLED-INTERRUPTS"
"WITH-FD-HANDLER"
"DADDR-T" "DEV-T" "DIRECT" "EXECGRP" "EXECOTH" "EXECOWN" "F-DUPFD"
"F-GETFD" "F-GETFL" "F-GETOWN" "F-SETFD" "F-SETFL" "F-SETOWN"
"FAPPEND" "FASYNC" "FCREAT" "FEXCL" "FIONREAD" "FNDELAY" "FTRUNC"
- "F_OK" "GET-UNIX-ERROR-MSG" "GET-ERRNO" "GID-T"
+ "F_OK" "GID-T"
"INO-T" "UNIX-SETITIMER" "UNIX-GETITIMER"
"KBDCGET" "KBDCRESET" "KBDCRST" "KBDCSET"
"KBDCSSTD" "KBDGCLICK" "KBDSCLICK" "KBDSGET" "L_INCR" "L_SET"
"WRITEGRP" "WRITEOTH" "WRITEOWN" "WS-COL" "WS-ROW" "WS-XPIXEL"
"WS-YPIXEL" "W_OK" "X_OK" "SIGSYS" "TCSETPGRP" "FD-ZERO"
"SIGQUIT" "SIGCHLD" "SIGSEGV" "FD-CLR" "SIGUSR2"
- "EALREADY" "SIGPIPE" "EACCES" "CHECK" "SIGXCPU" "EOPNOTSUPP"
- "SIGFPE" "SIGHUP" "ENOTSOCK" "OPEN-DIR" "SIGMASK" "EINTR"
+ "EALREADY" "SIGPIPE" "CHECK" "SIGXCPU" "EOPNOTSUPP"
+ "SIGFPE" "SIGHUP" "ENOTSOCK" "SIGMASK" "EINTR"
"SIGCONT" "UNIX-RESOLVE-LINKS" "SIGKILL" "EMSGSIZE" "ERANGE"
"EPROTOTYPE" "UNIX-SIGNAL-NUMBER" "EPFNOSUPPORT" "SIGILL"
"EDOM" "UNIX-SIGPAUSE" "EDQUOT" "FD-SETSIZE" "SIGTSTP"
"EADDRINUSE" "SIGBUS" "ERESTART" "TTY-PROCESS-GROUP"
"UNIX-SIGNAL-NAME" "ETIMEDOUT" "ECHILD" "EFBIG" "SIGTRAP"
"UNIX-KILLPG" "ENOTBLK" "SIGIOT" "SIGUSR1" "ECONNABORTED"
- "EHOSTUNREACH" "EBADF" "EINVAL" "FD-SET" "CLOSE-DIR" "EISDIR"
- "SIGTTIN" "UNIX-KILL" "ENOTDIR" "EHOSTDOWN" "E2BIG" "ESPIPE"
+ "EHOSTUNREACH" "EBADF" "EINVAL" "FD-SET" "EISDIR"
+ "SIGTTIN" "UNIX-KILL" "EHOSTDOWN" "E2BIG" "ESPIPE"
"UNIX-FAST-SELECT" "ENXIO" "ENOTTY" "ELOOP" "LTCHARS"
"SIGXFSZ" "EINPROGRESS" "ENOENT"
"EPROTONOSUPPORT" "UNIX-SIGBLOCK" "SIGIO" "ENOMEM" "SIGEMT"
"EFAULT" "ENODEV" "EIO" "EVICEERR" "ETXTBSY" "EWOULDBLOCK"
"EAGAIN" "EDESTADDRREQ" "ENOEXEC" "ENETUNREACH" "ENOTEMPTY"
- "READ-DIR" "UNIX-MAYBE-PREPEND-CURRENT-DIRECTORY" "ENFILE"
+ "UNIX-MAYBE-PREPEND-CURRENT-DIRECTORY" "ENFILE"
"SIGTTOU" "EEXIST" "SIGPROF" "SIGSTOP" "ENETRESET" "SIGURG"
"ENOBUFS" "EPROCLIM" "EROFS" "ETOOMANYREFS" "UNIX-FILE-KIND"
"ELOCAL" "UNIX-SIGSETMASK" "EREMOTE" "ESOCKTNOSUPPORT"