"INT"
"LOAD-1-FOREIGN" "LOAD-FOREIGN" "LOAD-SHARED-OBJECT" "LONG" "LONG-LONG"
"MAKE-ALIEN"
+ "MAKE-ALIEN-STRING"
"NULL-ALIEN"
- "SAP-ALIEN" "SHORT" "SIGNED" "SLOT" "STRUCT"
+ "OFF-T"
+ "SAP-ALIEN" "SHORT" "SIGNED"
+ "SIZE-T"
+ "SLOT" "STRUCT"
"UNDEFINED-ALIEN-ERROR"
"UNLOAD-SHARED-OBJECT"
"UNSIGNED"
"%BIGNUM-SET-LENGTH" "%DIGIT-0-OR-PLUSP"
"%DIGIT-LOGICAL-SHIFT-RIGHT"
"%FIXNUM-DIGIT-WITH-CORRECT-SIGN" "%FIXNUM-TO-DIGIT"
- "%FLOOR" "%LOGAND" "%LOGIOR" "%LOGNOT" "%LOGXOR"
+ "%BIGFLOOR" "%LOGAND" "%LOGIOR" "%LOGNOT" "%LOGXOR"
"%MULTIPLY" "%MULTIPLY-AND-ADD"
"%SUBTRACT-WITH-BORROW" "ADD-BIGNUMS"
"BIGNUM-ASHIFT-LEFT" "BIGNUM-ASHIFT-RIGHT"
#!+x86 "SET-FPU-WORD-FOR-C"
#!+x86 "SET-FPU-WORD-FOR-LISP"
"ALIGN-STACK-POINTER"
+ "ALIEN-FUNCALL-SAVES-FP-AND-PC"
"ALLOC-ALIEN-STACK-SPACE" "ALLOC-NUMBER-STACK-SPACE"
"ALLOCATE-CODE-OBJECT" "ALLOCATE-FRAME"
"ALLOCATE-DYNAMIC-CODE-OBJECT" "ALLOCATE-FULL-CALL-FRAME"
"DEFINE-STORAGE-CLASS" "DEFINE-VOP"
"DEFKNOWN" "DEFOPTIMIZER"
"DEFTRANSFORM" "DERIVE-TYPE"
+ "EMIT-BLOCK-HEADER"
"ENTRY-NODE-INFO-NLX-TAG" "ENTRY-NODE-INFO-ST-TOP"
"PHYSENV-DEBUG-LIVE-TN" "PHYSENV-LIVE-TN"
"FAST-SYMBOL-VALUE"
"%%POP-DX"
"PREDICATE" "PRIMITIVE-TYPE" "PRIMITIVE-TYPE-OF"
"PRIMITIVE-TYPE-OR-LOSE" "PRIMITIVE-TYPE-VOP"
- "PRIMITIVE-TYPE-NAME" "PUSH-VALUES"
+ "PRIMITIVE-TYPE-NAME"
+ "PRIMITIVE-TYPE-INDIRECT-CELL-TYPE"
+ "PUSH-VALUES"
"READ-PACKED-BIT-VECTOR" "READ-VAR-INTEGER" "READ-VAR-STRING"
#!+inline-constants "REGISTER-INLINE-CONSTANT"
"RESET-STACK-POINTER" "RESTORE-DYNAMIC-STATE"
"MAKE-FUNCALLABLE-INSTANCE-TRAMP"
"RETURN-SINGLE"
"NOTE-NEXT-INSTRUCTION"
- "SET-SLOT"
+ "SET-SLOT" "INIT-SLOT"
"LOCATION-NUMBER"
"*COMPONENT-BEING-COMPILED*"
"BLOCK-NUMBER"
"BUILD-ID-CORE-ENTRY-TYPE-CODE"
"*FASL-FILE-TYPE*"
"CLOSE-FASL-OUTPUT"
+ "DEFLATED-CORE-SPACE-ID-FLAG"
"DUMP-ASSEMBLER-ROUTINES"
"DUMP-OBJECT"
"DYNAMIC-CORE-SPACE-ID"
"*!LOAD-TIME-VALUES*"
"LOAD-TYPE-PREDICATE"
#!+(and sb-thread sb-lutex) "LUTEX-TABLE-CORE-ENTRY-TYPE-CODE"
+ "MAX-CORE-SPACE-ID"
"NEW-DIRECTORY-CORE-ENTRY-TYPE-CODE"
"OPEN-FASL-OUTPUT" "PAGE-TABLE-CORE-ENTRY-TYPE-CODE"
"READ-ONLY-CORE-SPACE-ID"
:name "SB!EXT"
:doc "public: miscellaneous supported extensions to the ANSI Lisp spec"
:use ("CL" "SB!ALIEN" "SB!INT" "SB!SYS" "SB!GRAY")
- :export ( ;; Information about how the program was invoked is
+ :export (;; Information about how the program was invoked is
;; nonstandard but very useful.
"*POSIX-ARGV*" "*CORE-PATHNAME*" "*RUNTIME-PATHNAME*"
"POSIX-GETENV" "POSIX-ENVIRON"
+ ;; Customizing initfile locations
+ "*USERINIT-PATHNAME-FUNCTION*"
+ "*SYSINIT-PATHNAME-FUNCTION*"
+
;; Atomic operations and types related to them
"COMPARE-AND-SWAP"
"ATOMIC-INCF"
"ATOMIC-DECF"
"WORD"
+ "MOST-POSITIVE-WORD"
+
+ ;; Not an atomic operation, but should be used with them
+ "SPIN-LOOP-HINT"
;; Time related things
"CALL-WITH-TIMING"
"GENERATION-MINIMUM-AGE-BEFORE-GC"
"GENERATION-NUMBER-OF-GCS"
"GENERATION-NUMBER-OF-GCS-BEFORE-PROMOTION"
+ "GC-LOGFILE"
;; Stack allocation control
"*STACK-ALLOCATE-DYNAMIC-EXTENT*"
"NAME-CONFLICT-DATUM" "NAME-CONFLICT-SYMBOLS"
"RESOLVE-CONFLICT"
+ "PRINT-UNREADABLY"
+
;; and a mechanism for controlling same at compile time
"MUFFLE-CONDITIONS" "UNMUFFLE-CONDITIONS"
;; to hide it from them..
"INTERACTIVE-EVAL"
+ ;; Used by LOAD and EVAL-WHEN to pass toplevel indexes
+ ;; to compiler.
+ "EVAL-TLF"
+
;; weak pointers and finalization
"CANCEL-FINALIZATION"
"FINALIZE"
;; Stack allocation without any questions asked
"TRULY-DYNAMIC-EXTENT"
+ ;; Like WITH-LOCKED-HASH-TABLE, but disabled interrupts
+ "WITH-LOCKED-SYSTEM-TABLE"
+
;; generic set implementation
"ADD-TO-XSET"
"ALLOC-XSET"
;; hash mixing operations
"MIX" "MIXF"
+ ;; Macroexpansion that doesn't touch special forms
+ "%MACROEXPAND"
+ "%MACROEXPAND-1"
+
;; I'm not convinced that FDEFINITIONs are the ideal
;; solution, so exposing ways to peek into the system
;; seems undesirable, since it makes it harder to get
"C-STRING-ENCODING-ERROR" "C-STRING-ENCODING-ERROR-EXTERNAL-FORMAT"
"C-STRING-DECODING-ERROR" "C-STRING-DECODING-ERROR-EXTERNAL-FORMAT"
"ATTEMPT-RESYNC" "FORCE-END-OF-FILE"
+ "READ-UNREADABLE-REPLACEMENT"
+
;; bootstrapping magic, to make things happen both in
;; the cross-compilation host compiler's environment and
"DEFINE-HASH-CACHE"
"DEFUN-CACHED"
"DEFINE-CACHED-SYNONYM"
+ "DROP-ALL-HASH-CACHES"
;; time
"FORMAT-DECODED-TIME"
"DEBUG-NAMIFY"
"FORCE" "DELAY" "PROMISE-READY-P"
"FIND-RESTART-OR-CONTROL-ERROR"
+ "LOAD-AS-SOURCE"
;; These could be moved back into SB!EXT if someone has
;; compelling reasons, but hopefully we can get by
"%ATAN" "%ATAN2" "%ATANH"
"%CALLER-FRAME"
"%CALLER-PC"
+ "%CEILING"
"%CHECK-BOUND"
"%CHECK-GENERIC-SEQUENCE-BOUNDS"
"%CHECK-VECTOR-SEQUENCE-BOUNDS"
"%CONCATENATE-TO-STRING"
"%COS" "%COS-QUICK"
"%COSH" "%DATA-VECTOR-AND-INDEX" "%DEPOSIT-FIELD"
- "%DOUBLE-FLOAT" "%DPB" "%EQL" "%EXP" "%EXPM1" "%FIND-POSITION"
+ "%DOUBLE-FLOAT" "%DPB" "%EQL" "%EXP" "%EXPM1"
+ "%FLOOR"
+ "%FIND-POSITION"
"%FIND-POSITION-VECTOR-MACRO" "%FIND-POSITION-IF"
"%FIND-POSITION-IF-VECTOR-MACRO" "%FIND-POSITION-IF-NOT"
"%FIND-POSITION-IF-NOT-VECTOR-MACRO"
"%MEMBER-KEY-TEST-NOT"
"%MEMBER-TEST"
"%MEMBER-TEST-NOT"
+ "%MULTIPLY-HIGH"
"%NEGATE" "%POW"
"%OTHER-POINTER-WIDETAG"
"%PUTHASH"
"%WITH-ARRAY-DATA"
"%WITH-ARRAY-DATA/FP"
"%WITH-ARRAY-DATA-MACRO"
+ "*APPROXIMATE-NUMERIC-UNIONS*"
"*CURRENT-LEVEL-IN-PRINT*"
"*EMPTY-TYPE*"
"*EVAL-CALLS*"
"UPDATE-OBJECT-LAYOUT-OR-INVALID"
"VALUE-CELL-REF" "VALUE-CELL-SET" "VALUES-SPECIFIER-TYPE"
"VALUES-SPECIFIER-TYPE-CACHE-CLEAR" "VALUES-SUBTYPEP"
- "VALUES-TYPE" "VALUES-TYPE-ERROR" "VALUES-TYPE-IN"
+ "VALUES-TYPE" "VALUES-TYPE-IN"
"VALUES-TYPE-INTERSECTION"
"VALUES-TYPE-MIN-VALUE-COUNT" "VALUES-TYPE-MAX-VALUE-COUNT"
"VALUES-TYPE-MAY-BE-SINGLE-VALUE-P" "VALUES-TYPE-OPTIONAL"
"BASIC-STRUCTURE-CLASSOID"
"REGISTER-LAYOUT"
"FUNCALLABLE-INSTANCE" "RANDOM-FIXNUM-MAX"
- "MAKE-STATIC-CLASSOID" "INSTANCE-LAMBDA"
+ "MAKE-STATIC-CLASSOID"
"%MAKE-SYMBOL"
"%FUNCALLABLE-INSTANCE-FUNCTION" "SYMBOL-HASH"
"REDEFINITION-WARNING"
"REDEFINITION-WITH-DEFUN"
+ "REDEFINITION-WITH-DEFMACRO"
"REDEFINITION-WITH-DEFGENERIC"
"REDEFINITION-WITH-DEFMETHOD"
"REDEFINITION-REPLACES-GENERIC-FUNCTION-P"
"!FOREIGN-COLD-INIT" "!FUNCTION-NAMES-COLD-INIT"
"!TYPE-CLASS-COLD-INIT" "!TYPEDEFS-COLD-INIT"
"!ALIEN-TYPE-COLD-INIT" "!CLASSES-COLD-INIT"
+ "!DEADLINE-COLD-INIT"
"!EARLY-TYPE-COLD-INIT" "!LATE-TYPE-COLD-INIT"
"!FIXUP-TYPE-COLD-INIT" "!TARGET-TYPE-COLD-INIT"
"!RANDOM-COLD-INIT" "!READER-COLD-INIT"
"SYMBOL-VALUE-IN-THREAD-ERROR"
"TERMINATE-THREAD"
"THREAD"
+ "THREAD-DEADLOCK"
+ "THREAD-DEADLOCK-CYCLE"
"THREAD-ERROR"
"THREAD-ERROR-THREAD"
"THREAD-ALIVE-P"
;; experimental SBCL-only (for now) symbols
:export ("MAKE-METHOD-SPECIALIZERS-FORM"
"PARSE-SPECIALIZER-USING-CLASS"
- "UNPARSE-SPECIALIZER-USING-CLASS")
+ "UNPARSE-SPECIALIZER-USING-CLASS"
+ "+SLOT-UNBOUND+")
;; FIXME: After a little while, these reexports can probably go
;; away, as they're superseded by the use of SB-MOP as the
;; publically-accessible package.
needed by the current implementation of SBCL, and makes
no guarantees of interface stability."
:use ("CL" "SB!ALIEN" "SB!EXT" "SB!INT" "SB!SYS")
+ :reexport ("OFF-T"
+ "SIZE-T")
:export ( ;; wrappers around Unix stuff to give just what Lisp needs
"NANOSLEEP"
"UID-USERNAME"
"USER-HOMEDIR"
"WITH-RESTARTED-SYSCALL"
"SB-MKSTEMP"
+ "FD-TYPE"
;; stuff with a one-to-one mapping to Unix constructs
"D-INO" "D-NAME" "D-NAMLEN" "D-OFF" "D-RECLEN" "DEV-T" "DIRECT"
"INO-T" "UNIX-ACCESS" "UNIX-SETITIMER" "UNIX-GETITIMER"
"KBDCGET" "KBDCRESET"
"KBDCRST" "KBDCSET" "KBDCSSTD" "KBDGCLICK" "KBDSCLICK" "KBDSGET"
- "L_INCR" "L_SET" "L_XTND" "OFF-T" "O_APPEND" "O_CREAT" "O_EXCL"
+ "L_INCR" "L_SET" "L_XTND" "O_APPEND" "O_CREAT" "O_EXCL"
"O_RDONLY" "O_RDWR" "O_TRUNC" "O_WRONLY" "POSIX-GETCWD"
"POSIX-GETCWD/" "READGRP" "READOTH" "READOWN" "RLIM-CUR"
"RLIM-MAX" "RU-IDRSS" "RU-INBLOCK" "RU-ISRSS" "RU-IXRSS"
"S-IFREG" "S-IFSOCK" "S-IREAD" "S-ISGID" "S-ISUID" "S-ISVTX"
"S-IWRITE" "SAVETEXT" "SB-MKSTEMP" "SC-MASK" "SC-ONSTACK"
"SETUIDEXEC" "SG-ERASE" "SG-FLAGS" "SG-ISPEED" "SG-KILL"
- "SG-OSPEED" "SGTTYB" "SIZE-T" "ST-ATIME" "ST-BLKSIZE" "ST-BLOCKS"
+ "SG-OSPEED" "SGTTYB" "ST-ATIME" "ST-BLKSIZE" "ST-BLOCKS"
"ST-CTIME" "ST-DEV" "ST-GID" "ST-MODE" "ST-MTIME" "ST-NLINK"
"ST-RDEV" "ST-SIZE" "ST-UID" "STAT" "TERMINAL-SPEEDS" "TIME-T"
"TIMEVAL" "TIMEZONE" "TIOCFLUSH" "TIOCGETC" "TIOCGETP" "TIOCGLTC"
"FUN-POINTER-LOWTAG"
"SIMPLE-FUN-SELF-SLOT"
"SIMPLE-FUN-TYPE-SLOT"
- "GENCGC-PAGE-BYTES"
+ "GENCGC-CARD-BYTES"
+ "GENCGC-ALLOC-GRANULARITY"
+ "GENCGC-RELEASE-GRANULARITY"
#!+ppc "PSEUDO-ATOMIC-INTERRUPTED-FLAG"
#!+ppc "PSEUDO-ATOMIC-FLAG"
"GENESIS" "HALT-TRAP" "IGNORE-ME-SC-NUMBER"
"PRIMITIVE-OBJECT-LOWTAG" "PRIMITIVE-OBJECT-NAME"
"PRIMITIVE-OBJECT-OPTIONS" "PRIMITIVE-OBJECT-P"
"PRIMITIVE-OBJECT-SIZE" "PRIMITIVE-OBJECT-SLOTS"
- "PRIMITIVE-OBJECT-VARIABLE-LENGTH-P" "PRINT-ALLOCATED-OBJECTS"
+ "PRIMITIVE-OBJECT-VARIABLE-LENGTH-P"
+ "PRINT-ALLOCATED-OBJECTS"
"RANDOM-IMMEDIATE-SC-NUMBER" "RATIO-DENOMINATOR-SLOT"
"RATIO-NUMERATOR-SLOT" "RATIO-SIZE" "RATIO-WIDETAG"
"*READ-ONLY-SPACE-FREE-POINTER*"
SBCL itself"
:use ("CL" "SB!ALIEN" "SB!EXT" "SB!INT" "SB!SYS")
:export ("BOOL"
- "DWORD" "FD-CLEAR-INPUT" "FD-LISTEN"
- "FLUSH-CONSOLE-INPUT-BUFFER" "FORMAT-MESSAGE"
- "GET-LAST-ERROR" "GET-OSFHANDLE" "HANDLE"
- "HANDLE-CLEAR-INPUT" "HANDLE-LISTEN" "INT-PTR"
- "INVALID-HANDLE" "MILLISLEEP" "PEEK-CONSOLE-INPUT"
- "PEEK-NAMED-PIPE" "READ-FILE" "WRITE-FILE"
- "WITH-PROCESS-TIMES" "GET-VERSION-EX")))
+ "CLOSE-HANDLE"
+ "CREATE-FILE"
+ "CREATE-FILE-MAPPING"
+ "DWORD"
+ "FD-CLEAR-INPUT"
+ "FD-LISTEN"
+ "FILE-CREATE-ALWAYS"
+ "FILE-CREATE-NEW"
+ "FILE-OPEN-ALWAYS"
+ "FILE-OPEN-EXISTING"
+ "FILE-TRUNCATE-EXISTING"
+ "FLUSH-CONSOLE-INPUT-BUFFER"
+ "FLUSH-VIEW-OF-FILE"
+ "FORMAT-MESSAGE"
+ "GET-FILE-ATTRIBUTES"
+ "GET-LAST-ERROR"
+ "GET-OSFHANDLE"
+ "GET-VERSION-EX"
+ "HANDLE"
+ "HANDLE-CLEAR-INPUT"
+ "HANDLE-LISTEN"
+ "INT-PTR"
+ "INVALID-HANDLE"
+ "MAP-VIEW-OF-FILE"
+ "MILLISLEEP"
+ "PEEK-CONSOLE-INPUT"
+ "PEEK-NAMED-PIPE"
+ "READ-FILE"
+ "UNMAP-VIEW-OF-FILE"
+ "WRITE-FILE"
+ "WITH-PROCESS-TIMES")))