X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;ds=sidebyside;f=src%2Fcompiler%2Fdump.lisp;h=bb1aacf11dbf13597f1c25e7d1b0db71e3c713c5;hb=c1aeac123df223746249567a9c0d2f656d1222cb;hp=62e6a9a72d9fc836c1aa6115b674b92bb15f930c;hpb=667ec9d494530079bef28e8589dd0d3274b935ec;p=sbcl.git diff --git a/src/compiler/dump.lisp b/src/compiler/dump.lisp index 62e6a9a..bb1aacf 100644 --- a/src/compiler/dump.lisp +++ b/src/compiler/dump.lisp @@ -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 @@ -72,11 +72,11 @@ ;;; 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 @@ -86,7 +86,7 @@ enclosing-object) ;;; a list of the CIRCULARITY structures for all of the circularities -;;; detected in the current top-level call to DUMP-OBJECT. Setting +;;; detected in the current top level call to DUMP-OBJECT. Setting ;;; this lobotomizes circularity detection as well, since circular ;;; dumping uses the table. (defvar *circularities-detected*) @@ -338,7 +338,7 @@ ;; 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)) @@ -380,7 +380,7 @@ ;;; ;;; This is the function used for recursive calls to the fasl dumper. ;;; We don't worry about creating circularities here, since it is -;;; assumed that there is a top-level call to DUMP-OBJECT. +;;; assumed that there is a top level call to DUMP-OBJECT. (defun sub-dump-object (x file) (cond ((listp x) (if x @@ -431,10 +431,7 @@ ;;; 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) @@ -901,7 +898,7 @@ ;; argument and the number of bytes actually written. I added this ;; assertion while trying to debug portable genesis. -- WHN 19990902 (unless (= code-length nwritten) - (error "internal error, code-length=~D, nwritten=~D" + (error "internal error, code-length=~W, nwritten=~W" code-length nwritten))) (values)) @@ -1151,9 +1148,9 @@ (dump-push handle fasl-output)) (values)) -;;; Dump a FOP-FUNCALL to call an already-dumped top-level lambda at +;;; Dump a FOP-FUNCALL to call an already-dumped top level lambda at ;;; load time. -(defun fasl-dump-top-level-lambda-call (fun fasl-output) +(defun fasl-dump-toplevel-lambda-call (fun fasl-output) (declare (type sb!c::clambda fun)) (dump-push-previously-dumped-fun fun fasl-output) (dump-fop 'fop-funcall-for-effect fasl-output) @@ -1166,7 +1163,7 @@ #+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)