;;; 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)
;;; 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)
;; 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)
;; 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)
(declare (type function function)
(type core-object object))
(let ((patch-table (core-object-patch-table object)))
(declare (type function function)
(type core-object object))
(let ((patch-table (core-object-patch-table object)))
- (assert (stringp name))
- (or (sb!impl::foreign-symbol-address-as-integer name)
- (error "unknown foreign symbol: ~S")))
+ (aver (stringp name))
+ (or (foreign-symbol-address-as-integer name)
+ (error "unknown foreign symbol: ~S" name)))
-;;; Stick a reference to the function Fun in Code-Object at index I. If the
-;;; function hasn't been compiled yet, make a note in the Patch-Table.
-(defun reference-core-function (code-obj i fun object)
+;;; Stick a reference to the function FUN in CODE-OBJECT at index I. If the
+;;; function hasn't been compiled yet, make a note in the patch table.
+(defun reference-core-fun (code-obj i fun object)
-;;; 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))
(declare (type functional entry) (type core-object object))
(funcall (or (gethash (leaf-info entry)
(core-object-entry-table object))
;;; 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.
;;; 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.