0.pre7.86.flaky7.5:
[sbcl.git] / src / compiler / generic / core.lisp
index 602dfc7..3d29e19 100644 (file)
 
 (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))
-                    (or (sb!impl::foreign-symbol-address-as-integer name)
+                    (aver (stringp name))
+                    (or (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))))
 
@@ -80,9 +78,9 @@
              (gethash info (core-object-patch-table object)))))
   (values))
 
-;;; Call the top-level lambda function dumped for Entry, returning the
-;;; values. Entry may be a :TOP-LEVEL-XEP functional.
-(defun core-call-top-level-lambda (entry object)
+;;; Call the top level lambda function dumped for ENTRY, returning the
+;;; values. ENTRY may be a :TOPLEVEL-XEP functional.
+(defun core-call-toplevel-lambda (entry object)
   (declare (type functional entry) (type core-object object))
   (funcall (or (gethash (leaf-info entry)
                        (core-object-entry-table object))
@@ -91,9 +89,9 @@
 ;;; Backpatch all the DEBUG-INFOs dumped so far with the specified
 ;;; SOURCE-INFO list. We also check that there are no outstanding forward
 ;;; references to functions.
-(defun fix-core-source-info (info object source-info)
+(defun fix-core-source-info (info object &optional 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))