(in-package "SB!C")
-(file-comment
- "$Header$")
-
;;; A CORE-OBJECT structure holds the state needed to resolve cross-component
;;; references during in-core compilation.
(defstruct (core-object
(:constructor make-core-object ())
#-no-ansi-print-object
(:print-object (lambda (x s)
- (print-unreadable-object (x s :type t)))))
+ (print-unreadable-object (x s :type t))))
+ (:copier nil))
;; A hashtable translating ENTRY-INFO structures to the corresponding actual
;; FUNCTIONs for functions in this compilation.
(entry-table (make-hash-table :test 'eq) :type hash-table)
(offset (third info))
(value (ecase flavor
(:assembly-routine
- (assert (symbolp name))
+ (aver (symbolp name))
(or (gethash name *assembler-routines*)
(error "undefined assembler routine: ~S" name)))
(:foreign
- (assert (stringp name))
+ (aver (stringp name))
(or (sb!impl::foreign-symbol-address-as-integer name)
(error "unknown foreign symbol: ~S")))
#!+x86
(:code-object
- (assert (null name))
+ (aver (null name))
(values (get-lisp-obj-address code) t)))))
(sb!vm:fixup-code-object code offset value kind))))
;;; references to functions.
(defun fix-core-source-info (info object source-info)
(declare (type source-info info) (type core-object object))
- (assert (zerop (hash-table-count (core-object-patch-table object))))
+ (aver (zerop (hash-table-count (core-object-patch-table object))))
(let ((res (debug-source-for-info info)))
(dolist (sinfo res)
(setf (debug-source-info sinfo) source-info))