:doc "private: stuff for implementing ALIENs and friends"
:use ("CL")
:export ("%CAST" "%DEREF-ADDR" "%HEAP-ALIEN" "%HEAP-ALIEN-ADDR"
+
"%LOCAL-ALIEN-ADDR" "%LOCAL-ALIEN-FORCED-TO-MEMORY-P" "%SAP-ALIEN"
"%SET-DEREF" "%SET-HEAP-ALIEN" "%SET-LOCAL-ALIEN" "%SET-SLOT"
"%SLOT-ADDR" "*VALUES-TYPE-OKAY*" "ALIEN-ARRAY-TYPE"
"*BACKEND-T-PRIMITIVE-TYPE*"
"*CODE-SEGMENT*"
- "*COMPILE-TIME-DEFINE-MACROS*"
- "*COMPILING-FOR-INTERPRETER*" "*CONVERTING-FOR-INTERPRETER*"
+ "*CONVERTING-FOR-INTERPRETER*"
"*COUNT-VOP-USAGES*" "*ELSEWHERE*"
"*FASL-HEADER-STRING-START-STRING*"
"*FASL-HEADER-STRING-STOP-CHAR-CODE*"
"DEALLOC-NUMBER-STACK-SPACE" "DEF-BOOLEAN-ATTRIBUTE"
"DEF-IR1-TRANSLATOR" "DEF-PRIMITIVE-TRANSLATOR"
"DEF-PRIMITIVE-TYPE" "DEF-PRIMITIVE-TYPE-ALIAS"
- "DEF-SOURCE-TRANSFORM" "DEF-VM-SUPPORT-ROUTINE"
+ "DEF-SOURCE-TRANSFORM" "!DEF-VM-SUPPORT-ROUTINE"
"DEFINE-ASSEMBLY-ROUTINE" "DEFINE-MOVE-FUNCTION"
"DEFINE-MOVE-VOP" "DEFINE-STORAGE-BASE"
"DEFINE-STORAGE-CLASS" "DEFINE-VOP"
"MAKE-OTHER-IMMEDIATE-TYPE" "MAKE-RANDOM-TN"
"MAKE-REPRESENTATION-TN" "MAKE-RESTRICTED-TN" "MAKE-SC-OFFSET"
"MAKE-STACK-POINTER-TN" "MAKE-TN-REF" "MAKE-UNWIND-BLOCK"
- "MAKE-VALUE-CELL" "MAKE-WIRED-TN" "META-PRIMITIVE-TYPE-OR-LOSE"
+ "MAKE-VALUE-CELL" "MAKE-WIRED-TN" "MAYBE-COMPILER-NOTE"
+ "META-PRIMITIVE-TYPE-OR-LOSE"
"META-SB-OR-LOSE" "META-SC-NUMBER-OR-LOSE" "META-SC-OR-LOSE"
"MORE-ARG-CONTEXT" "MOVABLE" "MOVE" "MULTIPLE-CALL"
"MULTIPLE-CALL-LOCAL" "MULTIPLE-CALL-NAMED"
"BLOCK-NUMBER"
"BACKEND"
"BACKEND-BYTE-FASL-FILE-IMPLEMENTATION"
- "BACKEND-BYTE-FASL-FILE-TYPE"
"IR2-BLOCK-BLOCK"
"DISASSEM-BYTE-COMPONENT"
"FUNCALLABLE-INSTANCE-LEXENV"
#s(sb-cold:package-data
:name "SB!IMPL"
:doc "private: a grab bag of implementation details"
- :use ("CL" "SB!EXT" "SB!INT" "SB!SYS" "SB!DEBUG" "SB!KERNEL" "SB!BIGNUM"))
+ :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!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"
like *STACK-TOP-HINT*"
:use ("CL" "SB!EXT" "SB!INT" "SB!SYS")
:export ("*AUTO-EVAL-IN-FRAME*" "*DEBUG-CONDITION*"
- "*DEBUG-PRINT-LENGTH*" "*DEBUG-PRINT-LEVEL*" "*DEBUG-READTABLE*"
- "*DEBUG-PROMPT*" "*DEBUG-HELP-STRING*" "*FLUSH-DEBUG-ERRORS*"
- "*IN-THE-DEBUGGER*"
+ "*DEBUG-PRINT-LENGTH*" "*DEBUG-PRINT-LEVEL*"
+ "*DEBUG-READTABLE*" "*DEBUG-HELP-STRING*"
+ "*FLUSH-DEBUG-ERRORS*" "*IN-THE-DEBUGGER*"
"*TRACE-INDENTATION-STEP*" "*MAX-TRACE-INDENTATION*"
"*TRACE-FRAME*" "*TRACE-PRINT-LENGTH*"
"*TRACE-PRINT-LEVEL*" "*TRACED-FUNCTION-LIST*"
#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"))
:name "SB!EXT"
: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")
+ :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
:reexport ("LOAD-FOREIGN" "LOAD-1-FOREIGN" "WEAK-POINTER-P")
:export (;; Information about how the program was invoked is
;; nonstandard but very useful.
- "*POSIX-ARGV*" "POSIX-GETENV"
+ "*POSIX-ARGV*" "POSIX-GETENV" "POSIX-ENVIRON"
;; People have various good reasons to mess with the GC.
"*AFTER-GC-HOOKS*" "*BEFORE-GC-HOOKS*"
;; now? -- WHN 19991206
;; extended declarations..
- "CONSTANT-FUNCTION" "END-BLOCK" "FREEZE-TYPE"
- "INHIBIT-WARNINGS"
- "MAYBE-INLINE" "OPTIMIZE-INTERFACE" "START-BLOCK"
+ "FREEZE-TYPE" "INHIBIT-WARNINGS"
+ "MAYBE-INLINE" "OPTIMIZE-INTERFACE"
;; ..and variables to control compiler policy
"*INLINE-EXPANSION-LIMIT*"
"private: miscellaneous unsupported extensions to the ANSI spec. Most of
the stuff in here originated in CMU CL's EXTENSIONS package and is
retained, possibly temporariliy, because it might be used internally."
- :use ("CL" "SB!ALIEN" "SB!C-CALL" "SB!SYS")
+ :use ("CL" "SB!ALIEN" "SB!C-CALL" "SB!SYS" "SB!GRAY")
;; FIXME: RATIOP should probably not go through this package but be
;; called directly from SB!KERNEL, unless it's implemented as
;; TYPEP X 'RATIO in which case it doesn't need to be in SB!KERNEL.
;; rid of FDEFINITIONs entirely later.
"*SETF-FDEFINITION-HOOK*"
- ;; useful but non-standard user-level functions..
+ ;; non-standard but widely useful user-level functions..
"ASSQ" "DELQ" "MEMQ"
"%FIND-PACKAGE-OR-LOSE" "FIND-UNDELETED-PACKAGE-OR-LOSE"
+ "SANE-PACKAGE"
+ "CIRCULAR-LIST-P"
- ;; ..and macros
+ ;; ..and macros..
"COLLECT"
"DO-ANONYMOUS" "DOHASH" "DOVECTOR"
"ITERATE"
"LETF" "LETF*"
"ONCE-ONLY"
+ "DEFENUM"
+ "DEFPRINTER"
"DEF!MACRO" "DEF!METHOD" "DEF!STRUCT" "DEF!TYPE"
+ ;; ..and DEFTYPEs..
+ "INDEX"
+
+ ;; ..and type predicates
+ "INSTANCEP"
+ "DOUBLE-FLOATP"
+ "LOGICAL-PATHNAME-P"
+ "LONG-FLOATP"
+ "SHORT-FLOATP"
+ "SINGLE-FLOATP"
+
;; encapsulation
"ARGUMENT-LIST"
"BASIC-DEFINITION"
"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"
- "LOGICAL-PATHNAME-P"
- "LONG-FLOATP"
- "SHORT-FLOATP"
- "SINGLE-FLOATP"
-
;; symbol-hacking idioms
"CONCAT-PNAMES" "KEYWORDICATE" "SYMBOLICATE"
;; 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.
+ ;; are such a nice source of sneaky bugs.
"E"
;; various internal defaults
"*DEFAULT-PACKAGE-USE-LIST*"
"DEFAULT-INIT-CHAR"
- "*LOAD-SOURCE-TYPES*" "*LOAD-OBJECT-TYPES*"
+ "*LOAD-SOURCE-DEFAULT-TYPE*"
;; hash caches
"DEFINE-HASH-CACHE"
;; 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"
"FEATUREP"
"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"
"WITH-FLOAT-TRAPS-MASKED"
"DEFINE-HASH-TABLE-TEST"
"*GC-INHIBIT-HOOK*"
+ ;; compatibility hacks for old-style CMU CL data formats
+ "UNIX-ENVIRONMENT-CMUCL-FROM-SBCL"
+ "UNIX-ENVIRONMENT-SBCL-FROM-CMUCL"
+
;; not used any more, I think -- WHN 19991206
#+nil
("SERVE-BUTTON-PRESS"
integration' (said CMU CL architecture.tex) and that probably was and
is a good idea, but see SB-SYS for blurring of boundaries."
:use ("CL" "SB!ALIEN" "SB!ALIEN-INTERNALS" "SB!BIGNUM"
- "SB!EXT" "SB!INT" "SB!SYS")
+ "SB!EXT" "SB!INT" "SB!SYS" "SB!GRAY")
:import-from (("SB!C-CALL" "VOID"))
:reexport ("DEF!STRUCT" "DEF!MACRO" "VOID")
:export ("%ACOS" "%ACOSH" "%ARRAY-AVAILABLE-ELEMENTS"
"%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"
"%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"
"BIT-INDEX" "BOGUS-ARGUMENT-TO-VALUES-LIST-ERROR"
"BOOLE-CODE"
"BYTE-SPECIFIER" "CALLABLE" "CASE-BODY-ERROR"
+ "CHARPOS"
"CHECK-FOR-CIRCULARITY" "CHECK-TYPE-ERROR"
+ "CLOSED-FLAME"
"CODE-COMPONENT" "CODE-COMPONENT-P"
"CODE-DEBUG-INFO" "CODE-HEADER-REF" "CODE-HEADER-SET"
"CODE-INSTRUCTIONS" "COERCE-TO-BIT-VECTOR" "COERCE-TO-FUNCTION"
"*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"
"FLOAT-EXPONENT" "FLOAT-FORMAT-DIGITS" "FLOAT-FORMAT-NAME"
"FLOAT-FORMAT-MAX" "FLOATING-POINT-EXCEPTION"
"FORM" "FUNCALLABLE-INSTANCE-P"
- "FUNCTION-CODE-HEADER" "FUNCTION-TYPE"
+ "FUNCTION-CODE-HEADER" "FUNCTION-DOC"
+ "FUNCTION-TYPE"
"FUNCTION-TYPE-ALLOWP"
"FUNCTION-TYPE-KEYP" "FUNCTION-TYPE-KEYWORDS"
"FUNCTION-TYPE-NARGS" "FUNCTION-TYPE-OPTIONAL"
"HAIRY-DATA-VECTOR-REF" "HAIRY-DATA-VECTOR-SET" "HAIRY-TYPE"
"HAIRY-TYPE-CHECK-TEMPLATE-NAME" "HAIRY-TYPE-SPECIFIER"
"HANDLE-CIRCULARITY" "IGNORE-IT"
+ "ILL-BIN" "ILL-BOUT" "ILL-IN" "ILL-OUT"
"INDEX-TOO-LARGE-ERROR" "INTEGER-DECODE-DOUBLE-FLOAT"
"INTEGER-DECODE-LONG-FLOAT" "INTEGER-DECODE-SINGLE-FLOAT"
"INTERNAL-ERROR" "INTERNAL-TIME"
"KEY-INFO-P" "KEY-INFO-TYPE"
"LAYOUT-DEPTHOID"
"LAYOUT-INVALID-ERROR" "LEXENV"
+ "LINE-LENGTH"
+ "LISP-STREAM"
+ "LISP-STREAM-BIN" "LISP-STREAM-BOUT"
+ "LISP-STREAM-IN" "LISP-STREAM-IN-BUFFER"
+ "LISP-STREAM-IN-INDEX"
+ "LISP-STREAM-MISC" "LISP-STREAM-N-BIN"
+ "LISP-STREAM-OUT" "LISP-STREAM-SOUT"
"LIST-TO-SIMPLE-STRING*" "LIST-TO-BIT-VECTOR*"
"LIST-TO-VECTOR*"
"LONG-FLOAT-EXPONENT" "LONG-FLOAT-EXP-BITS"
"LONG-FLOAT-HIGH-BITS"
"LONG-FLOAT-LOW-BITS" "LONG-FLOAT-MID-BITS" "LONG-FLOAT-P"
+ "LONG-FLOAT-RADIX" "LONG-WORDS"
"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"
"OBJECT-NOT-VECTOR-ERROR" "OBJECT-NOT-WEAK-POINTER-ERROR"
"ODD-KEYWORD-ARGUMENTS-ERROR"
"OUTPUT-OBJECT" "OUTPUT-UGLY-OBJECT"
+ "PACKAGE-DOC-STRING"
+ "PACKAGE-HASHTABLE-SIZE" "PACKAGE-HASHTABLE-FREE"
+ "PACKAGE-INTERNAL-SYMBOLS" "PACKAGE-EXTERNAL-SYMBOLS"
"PARSE-DEFMACRO" "PARSE-LAMBDA-LIST" "PARSE-UNKNOWN-TYPE"
"PARSE-UNKNOWN-TYPE-SPECIFIER"
- "PATHNAME-DESIGNATOR" "PUNT-IF-TOO-LONG"
+ "PATHNAME-DESIGNATOR" "PUNT-PRINT-IF-TOO-LONG"
"READER-PACKAGE-ERROR"
#!+gengc "*SAVED-STATE-CHAIN*"
"SCALE-DOUBLE-FLOAT" "SCALE-LONG-FLOAT"
"TYPE-DIFFERENCE" "TYPE-EXPAND"
"TYPE-INTERSECT"
"TYPE-INTERSECTION" "TYPE-SPECIFIER"
- "*STANDARD-TYPE-NAMES*" "TYPE-UNION" "TYPE/=" "TYPE="
+ "TYPE-UNION" "TYPE/=" "TYPE="
"TYPES-INTERSECT" "UNBOUND-SYMBOL-ERROR" "UNBOXED-ARRAY"
"UNDEFINED-SYMBOL-ERROR" "UNION-TYPE" "UNION-TYPE-P"
"UNION-TYPE-TYPES" "UNKNOWN-ERROR"
"SIMPLE-CONTROL-ERROR" "SIMPLE-FILE-ERROR"
"SIMPLE-PROGRAM-ERROR" "SIMPLE-STYLE-WARNING" "STYLE-WARN"
- "!COLD-INIT"
+ ;; symbols from former SB!CONDITIONS
+ "*HANDLER-CLUSTERS*" "*RESTART-CLUSTERS*"
+ "SHOW-CONDITION" "CASE-FAILURE"
+ "NAMESTRING-PARSE-ERROR" "NAMESTRING-PARSE-ERROR-OFFSET"
+ "DESCRIBE-CONDITION"
+
+ "!COLD-INIT" "!UNINTERN-INIT-ONLY-STUFF"
"!GLOBALDB-COLD-INIT" "!FDEFN-COLD-INIT"
"!TYPE-CLASS-COLD-INIT" "!TYPEDEFS-COLD-INIT"
"!ALIEN-TYPE-COLD-INIT" "!CLASSES-COLD-INIT"
"!EARLY-TYPE-COLD-INIT" "!LATE-TYPE-COLD-INIT"
"!TARGET-TYPE-COLD-INIT" "!RANDOM-COLD-INIT"
- "!FILESYS-COLD-INIT" "!READER-COLD-INIT"
+ "!READER-COLD-INIT"
"STREAM-COLD-INIT-OR-RESET" "!LOADER-COLD-INIT"
"!PACKAGE-COLD-INIT" "SIGNAL-COLD-INIT-OR-REINIT"
- "!SET-SANE-COOKIE-DEFAULTS" "!VM-TYPE-COLD-INIT"
+ "!POLICY-COLD-INIT-OR-RESANIFY" "!VM-TYPE-COLD-INIT"
"!BACKQ-COLD-INIT" "!SHARPM-COLD-INIT"
"!CLASS-FINALIZE" "GC-COLD-INIT-OR-REINIT"
"%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"
later versions of SBCL, and the other stuff in here is
definitely not guaranteed to be present in later versions of SBCL."
:use ("CL" "SB!ITERATE" "SB!WALKER")
- :import-from (("SB!KERNEL" "FUNCALLABLE-INSTANCE-P" "SB!INT" "SB!EXT"))
+ :import-from (("SB!KERNEL" "FUNCALLABLE-INSTANCE-P" "FUNCTION-DOC"
+ "PACKAGE-DOC-STRING"
+ "PACKAGE-HASHTABLE-SIZE" "PACKAGE-HASHTABLE-FREE"
+ "PACKAGE-INTERNAL-SYMBOLS" "PACKAGE-EXTERNAL-SYMBOLS"
+ "SB!INT" "SB!EXT"))
:reexport ("ADD-METHOD" "ALLOCATE-INSTANCE"
"COMPUTE-APPLICABLE-METHODS"
"ENSURE-GENERIC-FUNCTION"
"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"
"GET-PAGE-SIZE" "GET-SYSTEM-INFO"
"IGNORE-INTERRUPT"
"INT-SAP" "INVALIDATE-DESCRIPTOR" "IO-TIMEOUT"
- "LISP-STREAM" "LONG-FLOAT-RADIX" "LONG-WORDS"
"MACRO" "MAKE-FD-STREAM" "MAKE-OBJECT-SET" "MAP-PORT"
"NATURALIZE-BOOLEAN" "NATURALIZE-INTEGER"
"NULL-TERMINATED-STRING" "OBJECT-SET-OPERATION"
This package only tries to implement what happens to be
needed by the current implementation of SBCL, and makes
no guarantees of interface stability."
- :use ("CL" "SB!ALIEN" "SB!C-CALL" "SB!SYS" "SB!EXT" "SB!INT")
+ :use ("CL" "SB!ALIEN" "SB!C-CALL" "SB!EXT" "SB!INT" "SB!SYS")
:export ("CADDR-T" "D-INO" "D-NAME" "D-NAMLEN" "D-OFF" "D-RECLEN"
"DADDR-T" "DEV-T" "DIRECT" "EXECGRP" "EXECOTH" "EXECOWN" "F-DUPFD"
"F-GETFD" "F-GETFL" "F-GETOWN" "F-SETFD" "F-SETFL" "F-SETOWN"
"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"
:doc "internal: a code walker used by PCL"
:use ("CL")
:export ("DEFINE-WALKER-TEMPLATE" "WALK-FORM"
- "*WALK-FORM-EXPAND-MACROS-P*" "NESTED-WALK-FORM"
+ "*WALK-FORM-EXPAND-MACROS-P*"
"VARIABLE-LEXICAL-P" "VARIABLE-SPECIAL-P"
"VARIABLE-GLOBALLY-SPECIAL-P"
"*VARIABLE-DECLARATIONS*" "VARIABLE-DECLARATION"
- "MACROEXPAND-ALL")))
+
+ ;; These were exported from the original PCL version of this
+ ;; package, but aren't used in SBCL.
+ ;;"NESTED-WALK-FORM" "MACROEXPAND-ALL"
+ )))