;;; comparing the byte order of *BACKEND* to the byte order of
;;; *NATIVE-BACKEND*, a concept which doesn't exist in SBCL. Instead,
;;; in SBCL byte order swapping would need to be explicitly requested
;;; comparing the byte order of *BACKEND* to the byte order of
;;; *NATIVE-BACKEND*, a concept which doesn't exist in SBCL. Instead,
;;; in SBCL byte order swapping would need to be explicitly requested
;;;
;;; I'm not sure whether this is a problem or not, and I don't have a
;;; machine with different byte order to test to find out for sure.
;;;
;;; I'm not sure whether this is a problem or not, and I don't have a
;;; machine with different byte order to test to find out for sure.
;;; like SAP-REF-32, except that instead of a SAP we use a byte vector
(defun byte-vector-ref-32 (byte-vector byte-index)
;;; like SAP-REF-32, except that instead of a SAP we use a byte vector
(defun byte-vector-ref-32 (byte-vector byte-index)
(:big-endian
(error "stub: no big-endian ports of SBCL (yet?)"))))
(defun (setf byte-vector-ref-32) (new-value byte-vector byte-index)
(:big-endian
(error "stub: no big-endian ports of SBCL (yet?)"))))
(defun (setf byte-vector-ref-32) (new-value byte-vector byte-index)
(ecase sb!c:*backend-byte-order*
(:little-endian
(setf (aref byte-vector (+ byte-index 0)) (ldb (byte 8 0) new-value)
(ecase sb!c:*backend-byte-order*
(:little-endian
(setf (aref byte-vector (+ byte-index 0)) (ldb (byte 8 0) new-value)
;;; (2) stores its definition in the *COLD-FOP-FUNCTIONS* vector,
;;; instead of storing in the *FOP-FUNCTIONS* vector.
(defmacro define-cold-fop ((name &optional (pushp t)) &rest forms)
;;; (2) stores its definition in the *COLD-FOP-FUNCTIONS* vector,
;;; instead of storing in the *FOP-FUNCTIONS* vector.
(defmacro define-cold-fop ((name &optional (pushp t)) &rest forms)
(setf (svref *cold-fop-functions* ,code) #',fname))))
(defmacro clone-cold-fop ((name &optional (pushp t)) (small-name) &rest forms)
(setf (svref *cold-fop-functions* ,code) #',fname))))
(defmacro clone-cold-fop ((name &optional (pushp t)) (small-name) &rest forms)
`(progn
(macrolet ((clone-arg () '(read-arg 4)))
(define-cold-fop (,name ,pushp) ,@forms))
`(progn
(macrolet ((clone-arg () '(read-arg 4)))
(define-cold-fop (,name ,pushp) ,@forms))
(declare (type index old-length))
(declare (type fixnum old-depthoid))
(declare (type list old-inherits-list))
(declare (type index old-length))
(declare (type fixnum old-depthoid))
(declare (type list old-inherits-list))
(let ((length (descriptor-fixnum length-des))
(inherits-list (listify-cold-inherits cold-inherits))
(depthoid (descriptor-fixnum depthoid-des)))
(let ((length (descriptor-fixnum length-des))
(inherits-list (listify-cold-inherits cold-inherits))
(depthoid (descriptor-fixnum depthoid-des)))
;; less expensively (ERROR, not CERROR), and which reports
;; "internal error" on failure. Use it here and elsewhere in the
;; system.
;; less expensively (ERROR, not CERROR), and which reports
;; "internal error" on failure. Use it here and elsewhere in the
;; system.
;; much. (And the old CMU CL code is still useful for making
;; sure that the appropriate keywords and internal symbols end
;; up interned in the target Lisp, which is good, e.g. in order
;; much. (And the old CMU CL code is still useful for making
;; sure that the appropriate keywords and internal symbols end
;; up interned in the target Lisp, which is good, e.g. in order
;; BACKTRACEs into target Lisp system code be legible.)
(dolist (exported-name
(sb-cold:read-from-file "common-lisp-exports.lisp-expr"))
;; BACKTRACEs into target Lisp system code be legible.)
(dolist (exported-name
(sb-cold:read-from-file "common-lisp-exports.lisp-expr"))