0.pre7.76:
[sbcl.git] / src / compiler / dump.lisp
index e81d381..bc65fd8 100644 (file)
@@ -28,7 +28,7 @@
                                      s))))
            (:copier nil))
   ;; the stream we dump to
-  (stream (required-argument) :type stream)
+  (stream (missing-arg) :type stream)
   ;; hashtables we use to keep track of dumped constants so that we
   ;; can get them from the table rather than dumping them again. The
   ;; EQUAL-TABLE is used for lists and strings, and the EQ-TABLE is
 ;;; This structure holds information about a circularity.
 (defstruct (circularity (:copier nil))
   ;; the kind of modification to make to create circularity
-  (type (required-argument) :type (member :rplaca :rplacd :svset :struct-set))
+  (type (missing-arg) :type (member :rplaca :rplacd :svset :struct-set))
   ;; the object containing circularity
   object
   ;; index in object for circularity
-  (index (required-argument) :type index)
+  (index (missing-arg) :type index)
   ;; the object to be stored at INDEX in OBJECT. This is that the key
   ;; that we were using when we discovered the circularity.
   value
              ;;   take a little more care while dumping these.
              ;; So if better list coalescing is needed, start here.
              ;; -- WHN 2000-11-07
-              (if (circular-list-p x)
+              (if (cyclic-list-p x)
                  (progn
                    (dump-list x file)
                    (eq-save-object x file))
 ;;; We peek at the object type so that we only pay the circular
 ;;; detection overhead on types of objects that might be circular.
 (defun dump-object (x file)
-  (if (or (array-header-p x)
-         (simple-vector-p x)
-         (consp x)
-         (typep x 'instance))
+  (if (compound-object-p x)
       (let ((*circularities-detected* ())
            (circ (fasl-output-circularity-table file)))
        (clrhash circ)
     (dolist (entry (sb!c::ir2-component-entries 2comp))
       (let ((entry-handle (dump-one-entry entry code-handle file)))
        (setf (gethash entry (fasl-output-entry-table file)) entry-handle)
-
        (let ((old (gethash entry (fasl-output-patch-table file))))
-         ;; FIXME: All this code is shared with
-         ;; FASL-DUMP-BYTE-COMPONENT, and should probably be gathered
-         ;; up into a named function (DUMP-PATCHES?) called from both
-         ;; functions.
          (when old
            (dolist (patch old)
              (dump-alter-code-object (car patch)
 #+sb-xc-host
 (defun fasl-dump-cold-fset (fun-name fun-dump-handle fasl-output)
   (declare (type fixnum fun-dump-handle))
-  (aver (legal-function-name-p fun-name))
+  (aver (legal-fun-name-p fun-name))
   (dump-non-immediate-object fun-name fasl-output)
   (dump-push fun-dump-handle fasl-output)
   (dump-fop 'fop-fset fasl-output)