X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=src%2Fcompiler%2Fgeneric%2Fcore.lisp;h=7ca43577f21a7f7d40089e4b8b5793e6103cc7b2;hb=7c07a6f965c51828d8f452b47e0620d8e6cf2959;hp=602dfc7107de81423fe80c6a36270d06a6d555e0;hpb=a530bbe337109d898d5b4a001fc8f1afa3b5dc39;p=sbcl.git diff --git a/src/compiler/generic/core.lisp b/src/compiler/generic/core.lisp index 602dfc7..7ca4357 100644 --- a/src/compiler/generic/core.lisp +++ b/src/compiler/generic/core.lisp @@ -11,16 +11,14 @@ (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) @@ -54,16 +52,16 @@ (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)))) @@ -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))