- (do-external-symbols (symbol (find-package "SB!VM"))
- (when (constantp symbol)
- (let ((name (symbol-name symbol)))
- (labels (;; shared machinery
- (record (string priority)
- (push (list string
- priority
- (symbol-value symbol)
- (documentation symbol 'variable))
- constants))
- ;; machinery for old-style CMU CL Lisp-to-C
- ;; arbitrary renaming, being phased out in favor of
- ;; the newer systematic RECORD-WITH-TRANSLATED-NAME
- ;; renaming
- (record-with-munged-name (prefix string priority)
- (record (concatenate
- 'simple-string
- prefix
- (delete #\- (string-capitalize string)))
- priority))
- (maybe-record-with-munged-name (tail prefix priority)
- (when (tailwise-equal name tail)
- (record-with-munged-name prefix
- (subseq name 0
- (- (length name)
- (length tail)))
- priority)))
- ;; machinery for new-style SBCL Lisp-to-C naming
- (record-with-translated-name (priority)
- (record (substitute #\_ #\- name)
- priority))
- (maybe-record-with-translated-name (suffixes priority)
- (when (some (lambda (suffix)
- (tailwise-equal name suffix))
- suffixes)
- (record-with-translated-name priority))))
-
- (maybe-record-with-translated-name '("-LOWTAG") 0)
- (maybe-record-with-translated-name '("-WIDETAG") 1)
- (maybe-record-with-munged-name "-FLAG" "flag_" 2)
- (maybe-record-with-munged-name "-TRAP" "trap_" 3)
- (maybe-record-with-munged-name "-SUBTYPE" "subtype_" 4)
- (maybe-record-with-munged-name "-SC-NUMBER" "sc_" 5)
- (maybe-record-with-translated-name '("-START" "-END") 6)))))
+ (dolist (package-name '(;; Even in CMU CL, constants from VM
+ ;; were automatically propagated
+ ;; into the runtime.
+ "SB!VM"
+ ;; In SBCL, we also propagate various
+ ;; magic numbers related to file format,
+ ;; which live here instead of SB!VM.
+ "SB!FASL"))
+ (do-external-symbols (symbol (find-package package-name))
+ (when (constantp symbol)
+ (let ((name (symbol-name symbol)))
+ (labels (;; shared machinery
+ (record (string priority)
+ (push (list string
+ priority
+ (symbol-value symbol)
+ (documentation symbol 'variable))
+ constants))
+ ;; machinery for old-style CMU CL Lisp-to-C
+ ;; arbitrary renaming, being phased out in favor of
+ ;; the newer systematic RECORD-WITH-TRANSLATED-NAME
+ ;; renaming
+ (record-with-munged-name (prefix string priority)
+ (record (concatenate
+ 'simple-string
+ prefix
+ (delete #\- (string-capitalize string)))
+ priority))
+ (maybe-record-with-munged-name (tail prefix priority)
+ (when (tailwise-equal name tail)
+ (record-with-munged-name prefix
+ (subseq name 0
+ (- (length name)
+ (length tail)))
+ priority)))
+ ;; machinery for new-style SBCL Lisp-to-C naming
+ (record-with-translated-name (priority)
+ (record (substitute #\_ #\- name)
+ priority))
+ (maybe-record-with-translated-name (suffixes priority)
+ (when (some (lambda (suffix)
+ (tailwise-equal name suffix))
+ suffixes)
+ (record-with-translated-name priority))))
+
+ (maybe-record-with-translated-name '("-LOWTAG") 0)
+ (maybe-record-with-translated-name '("-WIDETAG") 1)
+ (maybe-record-with-munged-name "-FLAG" "flag_" 2)
+ (maybe-record-with-munged-name "-TRAP" "trap_" 3)
+ (maybe-record-with-munged-name "-SUBTYPE" "subtype_" 4)
+ (maybe-record-with-munged-name "-SC-NUMBER" "sc_" 5)
+ (maybe-record-with-translated-name '("-START" "-END") 6)
+ (maybe-record-with-translated-name '("-CORE-ENTRY-TYPE-CODE") 7)
+ (maybe-record-with-translated-name '("-CORE-SPACE-ID") 8))))))